Verilog+HDL代码书写规范
1.目的
本规范的目的是提高书写代码的可读性、可修改性、可重用性,优化代码综合和仿真的结果,指导设计工程师使用VerilogHDL规范代码和优化电路,规范化可编程技术部的FPGA设计输入,从而做到:① 逻辑功能正确,②可快速仿真,③ 综合结果最优(如果是hardware model),④可读性较好。
2. 范围
本规范涉及Verilog HDL编码风格,编码中应注意的问题,Testbench的编码等。
本规范适用于Verilog model的任何一级(RTL,behavioral, gate_level),也适用于出于仿真、综合或二者结合的目的而设计的模块。
3. 定义
Verilog HDL : Verilog 硬件描述语言
FSM : 有限状态机
伪路径 : 静态时序分析(STA)认为是时序失败,而设计者认为是正确的路径。4. 规范内容
4.1.Verilog 编码风格
本章节中提到的Verilog编码规则和建议适应于 Verilog model的任何一级(RTL,behavioral,gate_level),也适用于出于仿真,综合或二者结合的目的而设计的模块。
4.1.1. 命名的习惯
选择有意义的信号和变量名,对设计是十分重要的。命名包含信号或变量诸如出处、有效状态等基本含义,下面给出一些命名的规则。
y 用有意义而有效的名字 有效的命名有时并不是要求将功能描述出来,如
For ( I = 0; I < 1024; I = I + 1 )
Mem[I] <= 32’b0;
For 语句中的循环指针I 就没必要用loop_index作为指针名。
y用连贯的缩写
长的名字对书写和记忆会带来不便,甚至带来错误。采用缩写时应注意同一信号在模块中的一致性。缩写的例子如下:
Addr address
Pntr pointer
Clk clock
reset
y 用最右边的字符下划线表示低电平有效,高电平有效的信号不得以下划线表示,短暂的引擎信号建议采用高有效。 如: Rst_ ,Trdy_, Irdy_, Idsel.
y大小写原则
名字一般首字符大写,其余小写(但parameter, integer 定义的数值名可全部用大写),两个词之间要用下划线连接。
如: Packet_addr, Data_in, Mem_wr Mem_ce_y全局信号名字中应包含信号来源的一些信息。
如:D_addr[7:2] ,这里的“D”指明了地址是解码模块(Decoder module)中的地址。
y同一信号在不同层次应保持一致性。
y自己定义的常数、类型等用大写标识
如:parameter CYCLE=100;
y避免使用保留字
如:in,out,x,z等不能够做为变量、端口或模块名
y添加有意义的后缀,使信号名更加明确,常用的后缀如下:
后缀
_Clk
_next
_z
_f
_xi
_xo
_xod
_xz
-xbio
_reg意义时钟信号寄存前的信号连到三态输出的信号下降沿有效的寄存器芯片原始输入信号芯片原始输出信号芯片的漏极开路输出芯片的三态输出芯片的双向信号寄存后的信号
y一个module一个文件,且文件名能与module名对应起来
4.1.2. Modules
y顶层模块应只是内部模块间的互连。
Verilog设计一般都是层次型的设计,也就是在设计中会出现一个或多个模块,模块间的调用在所难免。可把设计比喻成树,被调用的模块就是树叶,没被调用的模块就是树根,那么在这个树根模块中,除了内部的互连和模块的调用外,尽量避免再做逻辑,如不能再出现对reg变量赋值等。这样做的目的是为了更有效的综合,因为在顶层模块中出现中间逻辑,Synopsys 的designcompiler 就不能把子模块中的逻辑综合到最优。
y每一个模块应在开始处注明文件名、功能描述、引用模块、设计者、设计时间及版权信息等。代码中的所有说明、注释必须均为英文。需要特别说明的是,必须对Revision History要格外重视,必须将每次版本修改的信息按照时间一一详加叙述,以保持版本的可读性与继承性。
如: /* ======================== *\
Filename ﹕ RX_MUX.v
Author ﹕
Description ﹕
Called by ﹕Top module
Revision History ﹕99-08-01
Revision 1.0
Email ﹕ M@http://doc.guandang.net
Company ﹕ Huawei Technology .Inc
Copyright(c) 1999, Huawei Technology Inc, All right reserved
\* ========================= */y不要对Input进行驱动, 在module 内不要存在没有驱动的信号,更不能在模块端口中出现没有驱动的输出信号,避免在elaborate和compile时产生warning,干扰错误定位。
y每行应限制在80个字符以内,以保持代码的清晰、美观和层次感。一条语句占用一行,如果较长(超出80个字符)则要换行。y电路中调用的 module名用Uxx标示, Cell名用Vxx标识。向量大小表示要清晰,采用基于名字(name_based)的调用而非基于顺序的(order_based)。另外,调用模块时调用关系要写全,否则,在用synplify综合过程会出warning。
Instance UInstance2(
.DataOut
.DataIn
.Cs_
);
y用一个时钟的上沿或下沿采样信号,不能一会儿用上沿,一会儿用下沿。如果既要用上沿又要用下沿,则应分成两个模块设计。建议在顶层模块中对Clock做一非门,在层次模块中如果要用时钟下沿就可以用非门产生的Posedge Clk_, 这样的好处是在整个设计中采用同一种时钟沿触发,有利于综合。
y在模块中增加明了的英文注释。
对信号、参量、引脚、模块、函数及进程等加以说明,便于阅读与维护。
y Module 名要用大写标示,且应与文件名保持一致。
如:Module DFF_ASYNC_RST(
Reset,
Clk, Data, Qout );(DOUT(DIN (Cs_),),)
y严格芯片级模块的划分
只有顶层包括IO引脚(pads),中间层是时钟产生模块、JTAG、芯片的内核(CORE),这样便于对每个模块加以约束仿真,对时钟也可以仔细仿真。
y模块输出寄存器化
对所有模块的输出加以寄存(如图1),使得输出的驱动强度和输入的延迟可以预测,从而使得模块的综合过程更简单。
- 输出驱动的强度都等于平均的触发器驱动强度- 输入延迟始终等于通过触发器的路径,近于相等 (图 1)
y将关键路径逻辑和非关键路径逻辑放在不同模块 保证DC可以对关键路径模块实现速度优化,而对非关键路径模块实施面积优化。在同一模块DC无法实现不同的综合策略。y将相关的组合逻辑放在同一模块 有助于DC对其进行优化,因为DC通常不能越过模块的边界来优化逻辑
yultraedit中的tab键设置为4个空格键
y输入输出的端口定义分行写,一行定义一个输入输出,顶格对齐
ymodule头中的括号内的输入输出的定义按输入输出分开,与括号对齐
ymodule用到的变量统一在输入输出的定义之后,按wire和reg型分开定义,并对重要的信号加注释说明
ymodule主体以//module begin作为起始标识
y子模块的调用顶格对齐;子模块中的输入输出的端口信号的名字尽量与调用的名字一致yif...else一一对应,若无else时,加一个空语句
4.1.3. Net and Register
y 一个reg变量只能在一个always语句中赋值。
y向量有效位顺序的定义一般是从大数到小数 …… 此处隐藏:9859字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




