1 / 16
文档名称:

Verilog编码规范.docx

格式:docx   大小:44KB   页数:16页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Verilog编码规范.docx

上传人:飞行的优优 2022/5/6 文件大小:44 KB

下载得到文件列表

Verilog编码规范.docx

相关文档

文档介绍

文档介绍:Verilog

编码规范
(仅供内部使用)
拟制 :

xxx

日期:

xxx
审核 :

审核者

日期:

Module 名应与文件名保持一致(文件名是小写) ,假如不想在设
计后面遇到麻烦的话。
不要尝试使用任何保留字,因为他们已经被保留了。
不要重复使用同样的名字去命名不同的数据。
(建议)对 module 名加” _LVx”的后缀,增强 module 名称的结构层次含义
如:设计顶层为 TOP LEVEL,即 LEVEL1,命名为 QTRxxxx_LV1;
时钟模块, IO_PAD,CORE,为 LEVEL2,命名为 CLK_PROC_LV2等等;
CORE内子模块为 LEVEL3,然后以此类推。
对于来自同一驱动源的所有时钟信号使用相同的名字。
对于低电平有效的信号,应该以
_n 结尾。
模块间相连端口名称要一致。
(建议)使用下表所列的命名缩写方式。
全称
名称
clock
Clk
reset
rst
clear
clr
address
addr
data_in
din
data_out
dout
interrupt request
int
read enable
rden
write enable
wren
count
cnt
request
req
control
ctrl
arbiter
arb
全称

名称
pointer

ptr
segment

seg
memory

mem
register

reg
(建议)使用下列后缀命名方式
全称

添加后缀
active low

_n
enable

_en
select

_sel
flag

_flg
delay

_dly
信号命名的两个词之间用下划线间隔,如

ram_addr , cnt_ctrl
等等
信号命名尽量不要使用孤立的、小写的英文字母 L
代码编写规范
版面
语句独立成行,增加可读性和可维护性。
行的长度
保持每行小于或等于 72 个字符。因为有的终端或打印机每行不能超过 80 个字符。规定 72 个字符是为了留出边空, 提高可读性。还有一个原因是为象 vi 这样的编辑器留有显示行号的地方。
用回车来分割超过 72 个字符的行,并且在下一行用缩进来表示该行是前一行的继续。
缩进。
用缩进来提高续行和嵌套循环的可读性。
缩进采用 4 个空格。
避免使用 TAB键。不同的编辑器或用户环境使得 TAB的位置
差别很大,造成缩进的混乱。 有一些工具可以将 TAB替换成空格。
(建议)使用注释
使用注释来解释端口、信号、信号组、 always 块、函数等。注释应该放在它所描述的代码的附近。 注释应该简明扼要, 并足够说明问题。避免注释杂乱。显而易见的功能不用加注释。注释关键是说明设计意图。
编写代码规范
在源文件中要有文件头
在源文件、 script 文件的开始应包含一个文件头。 文件头至少应包含下列信息:文件名、作者、模块的功能描述和关键特征
的列表、文件产生的日期、更改记录(日期、更改者、更改的内
容)。(参见代码模板)
模块名称用大写,例如: module MEM_CTRL。
端口声明时每行声明一个端口,并有注释(最好在同一行) ,也可对同一类型的一组端口加注释。 对于时钟,复位以及其他控制信号,需要注释有效工作沿或者有效工作值
建议用下述顺序声明端口。
.)
if (...) d0 = A + B;
else d0 = C + D;
中, DC可能只会生成一个加法器。
条件算子中不存在资源