FPGA设计流程指南 – Verilog HDL设计

来源:本站
导读:目前正在解读《FPGA设计流程指南 – Verilog HDL设计》的相关信息,《FPGA设计流程指南 – Verilog HDL设计》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《FPGA设计流程指南 – Verilog HDL设计》的详细说明。
简介:1 编程风格(Coding Style)要求 2 可综合设计 3 设计目录

Verilog HDL设计

基于将来设计转向ASIC的方便,本部门的设计统一采用Verilog HDL,但针对混合设计和混合仿真的趋势,所有开发人员也应能读懂VHDL。

Verilog HDL的学习可参考[1][2]。

2.1 编程风格(Coding Style)要求

2.1.1 文件

(1)每个模块(module)一般应存在于单独的源文件中,通常源文件名与所包含模块名相同。

(2)每个设计文件开头应包含如下注释内容:

年份及公司名称。

作者。

文件名。

所属项目。

顶层模块。

模块名称及其描述。

修改纪录。

请参考标准示例程序[3]。

2.1.2 大小写

(1) 如无特别需要,模块名和信号名一律采用小写字母。

(2) 为醒目起见,常数(`define定义)/参数(parameter定义)采用大写字母。

2.1.3 标识符

(1)标识符采用传统C语言的命名方法,即在单词之间以“”分开,如:maxdelay、data_size等等。

(2)采用有意义的、能反映对象特征、作用和性质的单词命名标识符,以增强程序的可读性。

(3)为避免标识符过于冗长,对较长单词的应当采用适当的缩写形式,如用‘buff’代替‘buffer’,‘ena’代替‘enable’,‘addr’代替‘address’等。

2.1.4 参数化设计

为了源代码的可读性和可移植性起见,不要在程序中直接写特定数值,尽可能采用`define语句或paramater语句定义常数或参数。

2.1.5 空行和空格

(1)适当地在代码的不同部分中插入空行,避免因程序拥挤不利阅读。

(2)在表达式中插入空格,避免代码拥挤,包括:

赋值符号两边要有空格;

双目运算符两边要有空格;

单目运算符和操作数之间可没有空格

示例如下:

a <= b;

c <= a + b;

if (a == b) then ...

a <= ~a & c;

2.1.6 对齐和缩进

(1)不要使用连续的空格来进行语句的对齐。

(2)采用制表符Tab对语句对齐和缩进,Tab键采用4个字符宽度,可在编辑器中设置。

(3)各种嵌套语句尤其是if...else语句,必须严格的逐层缩进对齐。

2.1.7 注释

必须加入详细、清晰的注释行以增强代码的可读性和可移植性,注释内容占代码篇幅不应少于30%。

2.1.8 参考C语言的资料

要形成良好的编程风格,有许多细节需要注意,可以参考资料[4],虽然它是针对C语言的讨论,但由于Verilog HDL和C语言的形式非常近似,所以里面提到的很多原则都是可以借鉴的。

2.1.9 可视化设计方法

为提高设计效率和适应协同设计的方式,可采用可视化的设计方法,Mentor Grahpics的Renoir软件提供了非常好的设计模式。

2.2 可综合设计

用HDL实现电路,设计人员对可综合风格的RTL描述的掌握不仅会影响到仿真和综合的一致性,也是逻辑综合后电路可靠性和质量好坏最主要的因素,对此应当予以充分的重视。

学习可综合的HDL请参考 [5][6] [7]。

学习设计的模块划分请参考[8]。

2.3 设计目录

采用合理、条理清晰的设计目录结构有助于提高设计的效率、可维护性。建议采用类似下面的目录结构:

(1)

FPGA设计流程指南 – Verilog HDL设计

(2)

FPGA设计流程指南 – Verilog HDL设计

提醒:《FPGA设计流程指南 – Verilog HDL设计》最后刷新时间 2024-03-14 00:54:01,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《FPGA设计流程指南 – Verilog HDL设计》该内容的真实性请自行鉴别。