第十二章 VHDL代码规范.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录 1 命名惯例3 1.1 文件命名3 1.1.1 每个文件最多一个模块3 1.1.2 文件名惯例4 1.2 代码内项目的命名4 1.2.1 名字的首个符号为字母5 1.2.2 由多个单词组成的名字用下划线隔开或者用驼峰式5 1.2.3 常数名大写,和信号、变量区分5 1.2.4 对于下划线式,除常数之外,全部小写5 1.2.5 给重要语句块加上标签5 1.2.6 信号、变量的后缀使用5 1.2.7 变量使用v_前缀,以和信号区分6 1.2.8 模块实例化名中包括entity 的名称6 2 对齐与注释6 2.1.1 语句使用空格对齐,提高可读性6 2.1.2 Entity声明,端口映射等尽量对齐8 2.1.3 对实现重要功能的语句块加上注释10 2.1.4 注释不常见实现方式10 3 代码风格11 3.1 移植与可读性要求11 3.1.1 每行只写一个表达式,只定义一个信号11 3.1.2 Port map , generic map使用显式参数映射11 3.1.3 多使用constant,而不是在代码中直接使用数字、字符串等11 3.1.4 使用独立的package定义全局常数、子程序11 3.1.5 代码中一般不使用综合命令12 3.1.6 常数之间有确定的关系时,使用关系定义12 3.1.7 定义地址时,使用基址+偏移方式13 3.1.8 常数可能变动的情况下使用generic map方式传递,而不是在模块中定义13 3.1.9 表达式使用括号表示优先级13 3.2 语句使用13 3.2.1 信号与变量的使用13 3.2.2 信号,变量不赋初值,否则可能造成前仿与后仿结果不一15 3.2.3 Integer和natrual等类型的信号定义时,必须指定范围16 3.2.4 使用总线16 3.2.5 模块实例化时输入管脚不悬空17 3.2.6 模块实例化时输出管脚连接于_nc信号,显式表明空置18 3.2.7 除Testbench外信号赋值不使用 X ,U ,W 18 3.2.8 常用的process类型18 3.2.9 不使用组合逻辑反馈,尽量不使用latch19 3.2.10 防止综合latch 的方法20 3.2.11 process检查敏感列表的完整性21 3.2.12 对组合逻辑选择语句,分支必须完备22 3.2.13 循环语句中尽量不用exit或者next语句23 3.2.14 Case与if 的使用23 3.2.15 循环语句的使用25 3.2.16 寄存器复位26 3.2.17 设计完备的状态机26 3.2.18 健壮的分支语句27 3.2.19 推荐模块输出寄存28 注: 蓝色为推荐做法 棕色为强制要求 1 命名惯例 1.1 文件命名 1.1.1每个文件最多一个模块 例外:一个文件可以包含一个entity 及多个architecture 或者包含一个package 及其package body. 1.1.2文件名惯例 文件名结构为:design unit name.descr

文档评论(0)

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

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

1亿VIP精品文档

相关文档