- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VerilogHDL 编程规范
目的
本规范的目的是提高书写代码的可读性、可修改性、可重复性,优化代码综合和仿真
的结果,规范化公司的ASIC设计输入。从而做到:①逻辑功能正确,②可快速仿真,③综合结果最优,④可读性较好。
范围
本规范涉及VerilogHDL编码风格,编码中应注意的问题,Testbench的编码等。
本规范适用于Verilog model的任何一级(RTL,behavioral,gate_level),也适用于出于仿
真、综合或二者结合的目的而设计的模块。
定义
FSM: 有限状态机
伪路径::静态时序分析(STA)认为是时序失败,而设计者认为是正确的路径。
规范内容
4.1 VerilogHDL编码风格
本规范适用于Verilog model的任何一级(RTL,behavioral,gate_level),也适用于出于仿
真、综合或二者结合的目的而设计的模块。
命名的习惯
命名包含信号或变量出处、有效状态等基本含义。
有效而有意义的名字
有效的命名并不一定要求将功能描述出来。如
For (I=0;I1024;I=I+1)
指针I就没有必要用loop_index作为指针名。
用连贯的缩写
例如: Addr address;Patr poiter;Clk clock ; Rst reset
用最右边的字符下划线表示低电平有效,高电平有效的信号不得用下划线表示。
如:Rst_, Trdy_, Irdy, Idel
大小写原则
名字的首字符大写,其余小写(但是parameter, integer 定义的数值名要全部大写,例如 parameter CYCCLE=10.),两个词之间要用下划线。例如:Data_in
全局信号的名字中应包含信号来源的一些信息。如:
D_addr[7:2]中的”D”指明了地址是解码模块(Decoder module)中的地址。
同一信号在不同层次上应保持一致性。
避免使用保留字。如:in、out、x、z等不能作为变量、端口或模块名。添加有意义的后缀,使信号更加明确。如表1所示。
表 1
Modules
1 .顶层模块应只是内部模块间的互连。
在没有被调用的(顶层)模块中,除了内部的互连和模块的调用外,尽量再做中间逻辑,如不能再出现对reg变量的赋值等。目的是为了更有效的综合,因为顶层模块中出现了中间逻辑,Synopsys的design compoler 就不能把子模块中的逻辑综合到最优。
2. 模块应在开始处注明文件名、功能描述、引用模块、设计者、设计时间及版权信息等。
例如:/*= = = = = = = = = = = = = = = = = = = = = *\
Filename: RX_MUX.v
Author : DongSheng Liu
Description:
Called by: Top module
Revision History : 2005-4-4 Revision 1.0
Company : whicc
\*= = = = = = = = = = = = = = = = = = = = = */
3.不要对Input进行驱动,在module内不要存在没有驱动的信号,更不能在模块端口中出现没有驱动的输出信号,避免在elaborate 和 compile时产生warning,干扰错误定位。!!!
4. 每行限制在80个字符以内。
5. 用一个时钟的上升沿或下降沿采样信号,不能一会用上升沿,一会用下降沿。如果既要用上升沿,又要用下降沿,则应分成两个模块设计。建议在顶层模块中对Clock做一非门,在层次模块中如果要用时钟下降沿可以用非门产生的Posedge Clk_,这样做的好处使得在整个设计中采用同一种时钟沿触发,有利于综合。
6. 在模块中要用明了的注释。对信号、参量、引脚、模块、函数及进程等加以说明,便于阅读和维护。
7. Module 名要大写,且应与文件名一致。如:Module CRC(
);
模块输出寄存器化(如图1所示),使得输出的驱动强度和输入的延迟可以预测,从而使得模块额综合过程简单。
图 1
输出驱动强度都等于平均的触发器驱动强度;
输入延迟始终等于通过触发器的路径,近于相等。
将关键路径逻辑和非关键路径逻辑放在不同模块。保证DC可以对关键路径模块实现速度优化,而对非关键路径模块实施面积优化。在同一模块DC无法实现不同的策略。
将相关的组合逻辑放在同一模块。有助于DC对其进行优化,因为DC通常不能越过模块的边界来优化逻辑。
电路中调用的module名用TRxx标示。
Net and Register
一个reg变量只能在一个always语句中赋值。
对任何一个Reg
您可能关注的文档
最近下载
- designer在双质量飞轮曲轴系扭振分析中的应用_江淮汽车等.pdf VIP
- 腹腔感染的治疗(共49张PPT).pptx
- 2025年心理健康蓝皮书:中国国民心理健康发展报告.pdf VIP
- 120个文言文常考实词及记忆口诀.docx VIP
- 2024国家医保谈判药品落地现状和地方实践经验研究报告.pdf VIP
- 2024年统编版七年级道德与法制上册全册(大单元教学设计)汇编(含四个大单元).docx VIP
- 项目七:凉拌蔬菜(课件)五年级上册劳动人教版 .pptx
- 车务系统防寒安全知识.docx VIP
- 日本语能力考试N2文法课件8.(基准类语法)~を基準にして.pptx VIP
- 《智能变电站工程应用技术》全套教学课件.pptx
原创力文档


文档评论(0)