OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 手把手教你学习FPGA系列教程_硬件描述语言篇之Verilog HDL代码规范

共11条 1/2 1 2 跳转至

手把手教你学习FPGA系列教程_硬件描述语言篇之Verilog HDL代码规范

高工
2013-11-11 13:59:24    评分

  1. 代码规范目的

  本规范的目的是提高书写代码的可读性、可修改性、可重用性,优化代码综合和仿真的结果,指导设计工程师使用VerilogHDL规范代码和优化电路,规范可编程技术的VerilogHDL设计输入,从而做到:1.逻辑功能正确,2.提高整洁度,3.便于跟踪、分析、调试,4.增强可读性,帮助阅读者理解,5.便于程序维护,6. 便于整理文档,7. 便于交流合作。

  2. 代码规范范围

  本规范涉及Verilog HDL编码风格,编码中应注意的问题,Testbench的编码等。本规范适用于Verilog model的任何一级(RTL,behavioral, gate_level),也适用于出于仿真、综合或二者结合的目的而设计的模块。

  3. 代码规范内容

  3.1标准的文件头

  在每一个版块的开头一定要使用统一的文件头,其中包括作者名,模块名,创建日期,所属项目,概要,更改记录,版权等必要信息。

  3.2标准的module 格式

  (1)module例化名用xx_u标示(多次例化用次序号0,1,2…)。

  (2)建议每个模块加timescale。

  (3)不要书写空的模块,即一个模块至少要有一个输入一个输出。

  (4)为了保持代码的清晰、美观和层次感,一条语句占用一行,每行限制在80个字符以内,如果较长则要换行。

  (5)采用基于名字(name_based)的调用而非基于顺序的(order_based)的调用。

  (6) 模块的接口信号按输入、双向、输出顺序定义。

  (7)使用降序定义向量有效位顺序,最低位是0。

  (8) 管脚和信号说明部分,一个管脚和一组总线占用一行,说明清晰。

  (9)在顶层模块中,除了内部的互联和module的例化外,避免再做其他逻辑。

  (10)为逻辑升级保留的无用端口以及信号要注释。

  (11)建议采用层次化设计,模块之间相对独立。

  3.3命名规则

  (1)每个文件只包含一个module,module名要小写,并且与文件名保持一致。

  (2)模块接口信号定义输入后缀“_i”,输出后缀“_o”。

  (3)模块接口信号定义在module()里直接声明信号类型 如module(input clk, input rst, input a, output reg b)。

  (4) 三态输出的寄存器信号应后缀"_z"。

  (5)除parameter外,信号名全部小写,名字中的两个词之间用用下划线连接。

  (6) 由parameter定义的常量要求全部字母大写,自己定义的参数、类型用大写标识。

  (7)推荐用parameter来定义有实际意义的常数,包括单位延时、版本号、板类型、单板在位信息、LED亮灯状态、电源状态、电扇状态等。

  (8)信号名长度不超过20字符。

  更多……请点击[手把手教你学习FPGA系列教程_硬件描述语言篇之Verilog HDL代码规范.pdf]

 


◆ 更多FPGA学习教程 >>手把手教你学习FPGA教学教程

 


菜鸟
2013-11-21 11:29:28    评分
2楼

可以下来看看 。。。。


菜鸟
2013-11-23 20:40:29    评分
3楼
可以下来看看

菜鸟
2013-12-20 16:14:02    评分
4楼
恩,看着不错呢

菜鸟
2014-01-05 22:23:18    评分
5楼
谢谢分享,支持一下!

高工
2014-01-17 21:04:57    评分
6楼

菜鸟
2014-02-17 21:28:56    评分
7楼

好课程,顶!


菜鸟
2014-04-17 21:42:12    评分
8楼
多谢指导~

院士
2014-04-26 23:07:38    评分
9楼
谢谢楼主的讲解。

菜鸟
2014-05-10 16:12:57    评分
10楼
转载写明自己独到的见解 比较好 可以 互相学习

共11条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]