FPGA编码规范(verilog版)1.0.doc
- f8r9t5c个人认证 |
- 2018-05-05 发布|
- 244 KB|
- 26页
FPGA编码规范(verilog版)修订记录:
修订 日期 修订者 修订内容 1.0 2009-7-9 曹艳平
安丰军 产生此文件
目的
FPGA设计更多是一种工程,而不是一种个人艺术。由于大型产品的开发通常由很多的人协同作战,如果不统一编程规范,最终合到一起的程序,其可读性将较差,这不仅给代码的理解带来障碍,增加维护阶段的工作量,同时不规范的代码隐含错误的可能性也比较大。本文从、、、阐述了规范强制执行项目强制在系统设计阶段应该为每个模块进行命名。命名的方法是将模块英文名称的各个单词首字母组合起来,形成3到5个字符的缩写。若模块的英文名只有一个单词,可取该单词的前3个字母。Arithmatic Logical Unit命名为alu;
一级模块Data Memory Interface命名为dmi;
一级模块Decoder命名为dec;
一级模块CPU里面的二级模块,功能是完成flash的控制功能,命名为:cpu_flash_ctl;
规则3.3:信号命名
1.信号由几个单词连接而成,’_’)来分隔名字中的不同部分;
2.尽量使用缩写,缩写要求能基本表明本单词的含义;单词除常用的方法外(如:->clk, write->wr, read->rd等),一律取该单词的前个字母( 如:requency->freq, variable->var 等);”reg”作为最后的后缀名,因为综合工具会给寄存器加上reg,如果命名里就用reg作为后缀,则扰乱了网表的可读性。
常用单词的缩写方法见附录1。
说明:
这样可以增强程序的可读性,并能避免标示符过于冗长。
示例:
不好的 好的
wire [9:0] addresscontrolenable; wire[9:0] addr_ctl_en
reg [15:0] i,q; reg[15:0] fir_out_da