信号命名规范(转发)
信号命名规范良好的命名习惯有利于代码的可维护性,也有利于检测错误,特别是在一些大型的设
计中,命名规范尤为重要,以下是一些逻辑设计中的命名要求。
1.总则
除常量及用户自宣言类型使用大写外,其它命名(包括模块命名及信号命名)一律小写,不
能出现首字大写的情况。
2.模块命名
a.模块命名要求能准确反映该模块的功能,比如配置寄存器模块可命名为config_registers
,这样项目组的其他人在进行代码走读时一看就知道这个模块是用于存放配置寄存器组的。
b.顶层模块建议用项目编号命名,比如某项目编号为abcd001,顶层模块名则命名为abcd001
。
c.对于testbench的命名,如果是testbench的顶层文件的话,建议命名为tb_abcd001,其中
abcd001为RTL级代码的顶层文件;如果是总线功能模型(BFM)的话,则建议命名成bfm_xxx
(比如9056的本地总线的BFM则可命名为bfm_9056)。
3.信号命名
a.对跨模块的信号,在整个设计中的命名要尽量保持一致,避免对同一信号在a模块命名为s
ib_a、在b模块又命名为sig_b的情况。因为这种命名方式很容易让人的思维在后期验证检错
时变的混乱,分不清该信号的来源及走向。
b.信号名称若包含了多个单词,各单词间用下划线分隔,如sdram_addr;
c.低电平有效的信号后缀加”_n”,如低有效的复位信号rst_n。
d.对芯片来说是输入的信号后缀加”_xi”,如地址输入addr_xi;对芯片来说是非三态输输
出的信号后缀加”xo”,如中断int_xo;对芯片来说是三态输出的信号后缀加”_xz”,如l
_ta_xz;对芯片来说是双向口的信号后缀加”_xio”,如数据线data_xio;时钟输入及全局
复位信号输入可不这样命名。
e.在描述多个总线时,使用一致的位排列顺序,推荐采用的排列方式。
f.信号命名要采用有意义的名称,以下是常用信号的命名:时钟信号命名为clk;低电平有
效的复位信号命名为rst_n;数据总线信号后缀命名为data,如l_data;地址相关的信号后
缀命名为addr,如sdram_addr;计数器信号的后缀加cnt,如reflesh_cnt;写使能信号后缀
用wren,如fifo_wren;读使能信号后缀用rden,如fifo_rden;请求信号后缀用req,如dma
_req;应答信号后缀用ack,如dma_ack 可以参考Motorola/Free Scale的文档 太简单了吧 原帖由 chenmi1999 于 2006-8-5 21:01 发表<br>
可以参考Motorola/Free Scale的文档 恩,这个文档不错 这对于一个大的设计是必要的,谢谢 的确很重要,最好参照大公司的 不错的东西就该支持撒 不够专业,有没有大公司的 好东西啊,厉害,厉害,佩服,佩服 我觉得很好。