首页 » 互联网 » 统一这些RTL编码规则让项目治理更轻松_暗记_旗子

统一这些RTL编码规则让项目治理更轻松_暗记_旗子

神尊大人 2025-01-12 12:55:26 0

扫一扫用手机浏览

文章目录 [+]

由于Verilog HDL的语法相对开放,以是每个人开拓的Verilog HDL之间的差异也是非常的大。
但是一个设计团队之间,进行RTL模块的交叉review、相互调用是非常频繁的事情,所以为了增强RTL代码的可移植性,以及review的效率,我们常日在一个项目开始的时候,会统一整理一个RTL编码规则,里面的内容包括,命名的规则、单词的缩略原则,一些标准电路的常用写法等等。
每每这个编码规则会写的很详细,但是个人认为,这是非常有必要的。
在前面的两篇文章中,我们已经聊了一些,本日的文章,我就连续来聊一聊一样平常常见的规则。

RTL推举编码规则在一个自然行中,只写一条语句。
由于Verilog语法灵巧,以是在一行中写多条语句时没有问题,但是我还是建议只写一条,缘故原由是增强了可读性,进而使得掩护更加随意马虎。
当每行只有一条语句时,我们可以清楚的看清楚RTL块的起止,方便阅读,相反,如果有多条语句时,我们比较难去差异不同begin-end的语句块。
begin-end区分的RTL块,须要利用缩进来进行区分,同一级的begin-end缩进相同。
缩进与缩进之间,相差四个空格,依次递增。
不要利用TAB键,由于对付不同机器,编辑器,TAB对应的缩进值是不同的,以是防止涌如今进行RTL移植之后,涌现乱码的情形,以是统一利用空格进行缩进。

统一这些RTL编码规则让项目治理更轻松_暗记_旗子 统一这些RTL编码规则让项目治理更轻松_暗记_旗子 互联网

在取名字时,不能涌现Verilog HDL或者VHDL的关键字。
这条建议非常主要,在RTL中定义的输入端口、输出端口、变量、function、task、module等等,禁止利用关键字。
在定义输入、输出端口以及旗子暗记时,每行只定义一个。
这么做的目的,也是为了增强可读性,如果多个旗子暗记定义在一行,很随意马虎涌现遗漏,创造不了,一行只定义一个则可以很好地缓解这个问题。
并且建议端口进行定义时,按照clock、reset、input、output的顺序进行。
在进行实例化模块时候,该当利用显式的名字映射,而不是位置映射。
由于当旗子暗记增多之后,通过位置映射,随意马虎涌现旗子暗记的丢失,或者连线的缺点,而这种问题是很难去debug,并且可读性比较差。

统一这些RTL编码规则让项目治理更轻松_暗记_旗子 统一这些RTL编码规则让项目治理更轻松_暗记_旗子 互联网
(图片来自网络侵删)
小结

本日的文章,我们接着之前的文章,给出了一些编码的规范,看起来特殊噜苏,但是却是非常主要。
比如说,要利用几个空格进行缩进、每行写几条语句、每行定义几个旗子暗记等等。
如果您对内容有什么建议或者疑问,欢迎和我进行谈论。

标签:

相关文章