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%。

原文地址:https://www.cnblogs.com/spartan/p/2185753.html