verilog语言代码设计规范

verilog语言代码设计规范

ID:8968409

大小:269.00 KB

页数:30页

时间:2018-04-13

verilog语言代码设计规范_第1页
verilog语言代码设计规范_第2页
verilog语言代码设计规范_第3页
verilog语言代码设计规范_第4页
verilog语言代码设计规范_第5页
资源描述:

《verilog语言代码设计规范》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、代码设计规范verilog语言代码设计规范2011年12月30代码设计规范目录一、规范适用范围41.1项目适用范围41.2人员适用范围41.3编码设计的成果形式4二、代码书写规范52.1模块说明书写规范52.1模块注释书写规范52.3变量名称书写规范62.4代码结构书写规范7三、使用verilog语言的语法范围83.1设计RTL代码的语法范围83.2设计仿真代码的语法范围10四、使用verilog语言的结构范围114.1系统设计文件的形式与使用方法114.2模块结构划分的标准124.3组合逻辑的代码风格134.4时序

2、逻辑的代码风格214.5仿真代码的代码风格27五、使用受限范围内的语法或结构要进行的申请过程325.1受限的语法与结构325.2批准使用的程序3230代码设计规范二、代码书写规范2.1模块说明书写规范在开始子模块设计时,必须对子模块的基本信息给予说明。说明的位置一般在设计的开头,使用注释的形式用(/**/)说明该设计的作者、编写日期、版本号、在系统中的层次位置、基本功能描述等。其形式如下所示:/*********************************************************autho

3、r:abc**date:2005-5-12**version:1.0**hiberarchy:mcu-alu-adder**describe:16bitadder*********************************************************/说明的内容要简洁清晰。使用/**/对将说明部分括起来是为了与普通注释相区别。2.1模块注释书写规范注释对项目团队关于设计的交流至关重要,好的设计总是会在恰当的地方对语句或变量予以说明,没有注释的设计不是真正的工业级设计,通篇的注释同没有注释一样

4、糟糕,会将代码淹没在无用的注释之中。这一节给出书写注释的规范。如果设计中出现了一个新的变量,那么必须对这个新变量给予注释,对变量的注释应该放在变量的定义之前,注释应该说明变量的物理意义或作用。其形式如下:………//inputport//clearresetsingalofsystem//Accontrolsingalofaccumulationinputclear,Ac;………30代码设计规范如果设计中的某块结构属于作者的创新或设计中很关键的部分,作者应该对这种结构的物理含义予以简要说明。注释在语句或结构的前一行开始

5、写如:………//wallacetreemultiplication………2.3变量名称书写规范verilog语言规定了各种类型的标志符的格式,作为规范我们对用户自定义的各种变量的命名方法及书写格式加以约束。变量一般指模块(或设计)名、端口名、连线名、参照名、单元名以及内部寄存器名。首先变量名必须能表达实际的物理意义,如果需要几个单词来表示,那么单词之间用一个“_”分隔。变量名不宜过长,一般不要超过16个字符否则书写的效率会下降,因此变量名应该尽量使用单词的缩略写法,完整的含义应在注释中给予说明。我们规定常量参数一律使

6、用大写字母表示,变量的名称一律用小写字母a~z、数字0~9或下划线_表示,变量首字符一律用字母。模块名(或设计名)应该与文件名一致,一个文件只应包含一个模块。它是模块功能的缩略表达。端口名应与该端口实际的物理意义相一致。连线是对内部单元(实例)引脚间进行连接的物理线或是对组合逻辑输出端口、组合逻辑单元输出端进行赋值运算的输入线。连线名应该有确定的连接对象或是有确定的信号物理意义,所以针对单元引脚连接的连线它的名称应该表明所连接单元的名称,如timing_alu表示时序发生器发出的控制信号连接ALU部件的控制端。针对为

7、输出端做赋值运算的输入连线它的名字应该表达相应的物理意义,绝不要使用通用名如:a,b,c这样的名字。这类连线适当的名称如:add_a,add_b。参照名就是一个单元或实例参考的库标准单元或原始设计名,所以它的名字与库单元或模块名相同。单元与实例在synopsys的DC工具中是不加区分的,这里也等同看待,它的名字可以用参照名为头后加数字予以标识。如alu1、acc1等。如果设计的内部有中间级寄存器,那么寄存器以实际的物理意义进行命名,比如在乘法器中为分割关键路径引入的中间级寄存器可以命名为pipeline1_out等。

8、30代码设计规范2.4代码结构书写规范好的代码结构可以清晰的看出设计的层次关系,进而使结构与设计者所要表达的逻辑意图一致,方便纠错和交流。代码最基本的结构有平行结构和层次结构,他们反映了代码的隶属关系,我们规定注释语句与语句块是一个层次的,这意味着对模块的注释行(以//开头)必须在一行的顶头开始写。其他语句的层次低于模块定义和注释,那么其他语句

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。