verilg编写规范.docVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Verilog代码编写规范 2007-5-2 23:01:27 发表时间: 541 浏览次数: HYPERLINK /ShowCopyFrom.asp?ChannelID=1SourceName=网络 网络 文章来源: 佚名 作者: Verilog代码编写规范--打印文章 打印本文?? 关闭窗口?? ????? Verilog代码编写规范 ????? 作者:A0023? 文章来源:本站原创? 点击数108? 更新时间:2007-2-27 21:17:10? 文章录入:admin? ????? 责任编辑:admin ? ?????? ????? 一. 强调Verilog代码编写风格的必要性。 ????????? 强调Verilog代码编写规范,经常是一个不太受欢迎的话题,但却是非常有必要的。 ????? 每个代码编写者都有自己的编写习惯,而且都喜欢按照自己的习惯去编写代码。与自己编写风格相近的代码,阅读起来容易接受和理解。相反和自己编写风格差别较大的代码,阅读和接受起来就困难一些。 ????????? 曾有编程大师总结说,一个优秀的程序员,能维护的代码长度大约在1万行数量级。代码的整洁程度,很大程度上影响着代码的维护难度。 ????????? ????? 遵循代码编写规范书写的代码,很容易阅读、理解、维护、修改、 HYPERLINK /Soft/List_104.html 跟踪调试、整理文档。相反代码编写风格随意的代码,通常晦涩、凌乱,会给开发者本人的 HYPERLINK /Soft/List_104.html 调试、修改工作带来困难,也会给合作者带来很大麻烦。 ????????? (实际上英文Coding ????? Style有另一层涵义,更偏重的是,某一个电路,用那一种形式的语言描述,才能将电路描述得更准确,综合以后产生的电路更合理。本文更偏重的是,编写Verilog代码时的书写习惯。) ????? 二. 强调编写规范的宗旨。 ????? 缩小篇幅 ????? 提高整洁度 ????? 便于 HYPERLINK /Soft/List_104.html 跟踪、 HYPERLINK /Soft/List_95.html 分析、 HYPERLINK /Soft/List_104.html 调试 ????????? 增强可读性,帮助阅读者理解 ????????? 便于整理文档 ????????? 便于交流合作 ????? 三. 变量及信号命名规范。 ????? 1.???? 系统级信号的命名。 ????? 系统级信号指复位信号,置位信号,时钟信号等需要输送到各个模块的全局信号;系统信号以字符串Sys开头。 ????? 2.???? 低电平有效的信号后一律加下划线和字母n。如:SysRst_n;FifoFull_n; ????? 3.???? 经过锁存器锁存后的信号,后加下划线和字母r,与锁存前的信号区别。如CpuRamRd信号,经锁存后应命名为CpuRamRd_r。 ????? 低电平有效的信号经过锁存器锁存后,其命名应在_n后加r。如CpuRamRd_n信号,经锁存后应命名为CpuRamRd_nr ????? 多级锁存的信号,可多加r以标明。如CpuRamRd信号,经两级触发器锁存后,应命名为CpuRamRd_rr。 ????? 4.??? 模块的命名。 ????????? ????? 在系统设计阶段应该为每个模块进行命名。命名的方法是,将模块英文名称的各个单词首字母组合起来,形成3到5个字符的缩写。若模块的英文名只有一个单词,可取该单词的前3个字母。各模块的命名以3个字母为宜。例如: ????????? Arithmatic Logical Unit模块,命名为ALU。 ????????? Data Memory Interface模块,命名为DMI。 ????????? Decoder模块,命名为DEC。 ????? 5.??? 模块之间的接口信号的命名。 ????? 所有变量命名分为两个部分,第一部分表明数据方向,其中数据发出方在前,数据接收方在后,第二部分为数据名称。 ????? 两部分之间用下划线隔离开。 ????? 第一部分全部大写,第二部分所有具有明确意义的英文名全部拼写或缩写的第一个字母大写,其余部分小写。 ????? 举例:CPUMMU_WrReq,下划线左边是第一部分,代表数据方向是从CPU模块发向存储器管理单元模块(MMU)。下划线右边Wr为Write的缩写,Req是Request的缩写。两个缩写的第一个字母都大写,便于理解。整个变量连起来的意思就是CPU发送给MMU的写请求信号。 ????????????? 模块上下层次间信号的命名也遵循本规定。 ????????? 若

文档评论(0)

sd44055 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档