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. 工程规则