zoukankan      html  css  js  c++  java
  • Verilog设计编程规范(HuaWei)

    2.1 编程风格(Coding Style)要求

    2.1.1 文件

    (1) 每个模块(module)一般应存在于单独的源文件中,通常源文件名与所包含模块名相同。

    (2) 每个设计文件开头应包含如下注释内容:

    年份及公司名称。

    作者。

    文件名。

    所属项目。

    顶层模块。

    模块名称及其描述。

    修改纪录。

    请参考标准示例程序[3]

    2.1.2 大小写

    (1) 如无特别需要,模块名和信号名一律采用小写字母

    (2) 为醒目起见,常数(`define定义)/参数(parameter定义)采用大写字母

    2.1.3 标识符

    (1) 标识符采用传统C语言的命名方法,即在单词之间以“_”分开,如:max_delaydata_size等等。

    (2) 采用有意义的、能反映对象特征、作用和性质的单词命名标识符,以增强程序的可读性

    (3) 为避免标识符过于冗长,对较长单词的应当采用适当的缩写形式,如用‘buff’代替‘buffer,‘ena’代替‘enable,‘addr’代替‘address等。

    2.1.4 参数化设计

    为了源代码的可读性和可移植性起见,不要在程序中直接写特定数值,尽可能采用`define语句或paramater语句定义常数或参数。

    2.1.5 空行和空格

    (1) 适当地在代码的不同部分中插入空行,避免因程序拥挤不利阅读。

    (2) 在表达式中插入空格,避免代码拥挤,包括:

    赋值符号两边要有空格;

    双目运算符两边要有空格;

    单目运算符和操作数之间可没有空格,

    示例如下:

     <=  b;

    c  <=  a  +  b;

    if (a  ==  b) then ...

     <=  ~a  &  c;

    2.1.6 对齐和缩进

    (1) 不要使用连续的空格来进行语句的对齐。

    (2) 采用制表符Tab对语句对齐和缩进,Tab键采用4个字符宽度,可在编辑器中设置。

    (3) 各种嵌套语句尤其是if...else语句,必须严格的逐层缩进对齐。

    2.1.7 注释

    必须加入详细、清晰的注释行以增强代码的可读性和可移植性,注释内容占代码篇幅不应少于30%。

  • 相关阅读:
    RHEL6中LVM逻辑卷管理
    Linux配置iSCSI存储
    Linux中FTP服务器配置
    360浏览器兼容模式下IE内核版本
    Ocelot + Consul + Registrator 基于Docker 实现服务发现、服务自动注册
    电视接入系统页面、监控页面
    Registrator中文文档
    关于Skyline沿对象画boundingbox的探讨
    EntityFramework实体默认值遇到Oracle自增主键
    C# 6.0 11个新特性
  • 原文地址:https://www.cnblogs.com/spartan/p/2185753.html
Copyright © 2011-2022 走看看