VerilogHDL编码规范

  • 格式:doc
  • 大小:1.17 MB
  • 文档页数:43

1 VerilogHDL编码规范

1 目的

为了FPGA、芯片IP核开发设计和验证人员之间更好地进行交流,提高代码的可读性,可维护性,特制定本规范,作为程序编写的指导文件。本规范包括强制性规范和推荐性规范。

2 适用范围

FPGA、芯片IP核逻辑设计和仿真验证。

编程语言采用Verilog语言。

3 相关规定

1. 本规范内容为逻辑设计岗位、仿真验证岗位员工必备基础知识,新员工入职时必须通过参加相关培训掌握本规范。

2. 本规范的掌握、执行情况是新员工转正考核的重要内容。在新员工见习阶段,其内部导师每月须抽查代码并将审核结果填入代码审查表。

3. 项目经理应不定期抽查项目成员的代码,并将编程规范执行情况填入代码审查表作为项目成员考核依据。

4. 本规范为内部职称晋升考试内容。

2 目录

1. 严格级别定义........................................................................................................... 4

2. 工程规则................................................................................................................... 5

2.1. 工程规则表..................................................................................................... 5

2.2. 工程规则详细说明......................................................................................... 5

3. 命名规则................................................................................................................... 6

3.1. 命名规则表..................................................................................................... 6

3.2. 命名规则详细说明......................................................................................... 6

4. 文件头规则............................................................................................................. 10

4.1. 文件头规则表............................................................................................... 10

4.2. 文件头示例................................................................................................... 10

4.3. 结构头示例................................................................................................... 12

5. 注释规则................................................................................................................. 14

5.1. 注释规则表................................................................................................... 14

5.2. 注释规则详细说明....................................................................................... 14

6. 编码规则................................................................................................................. 16

6.1. 编码规则表................................................................................................... 16

6.2. 编码规则详细说明....................................................................................... 16

7. 综合规则................................................................................................................. 23

7.1. 综合规则表................................................................................................... 23

7.2. 综合规则详细说明....................................................................................... 23

8. 静态时序分析规则................................................................................................. 27

8.1. 静态时序分析规则表................................................................................... 27

8.2. 静态时序分析规则详细说明....................................................................... 27

9. 仿真规则................................................................................................................. 31

9.1. 仿真规则表................................................................................................... 31

9.2. 仿真规则详细说明....................................................................................... 31

10. 设计风格规则....................................................................................................... 34

3 10.1. 设计风格规则表......................................................................................... 34

10.2. 设计风格规则详细说明............................................................................. 34

11. 重用化设计........................................................................................................... 38

11.1. 层次设计和模块划分 ................................................................................. 38

11.2. 参数化 ......................................................................................................... 40

12. 常用缩写表........................................................................................................... 42

4 1. 严格级别定义

 Mandatory 1(M1)——必须遵守。若不能遵守,则修改设计。对于违背其中任何一条的设计,都不予认可。

 Mandatory 2(M2)——应该遵守。若不能遵守,必须提供说明文档。此类规则影响设计的性能,尽可能遵守。

 Recommended(R)——建议遵守。此类规则影响代码的可读性和可维护性,允许出现个别例外。对于出现例外的代码,若影响到了代码的可读性,要求重新编写。

5 2. 工程规则