verilog编程规范

verilog编程规范

ID:36318555

大小:1.85 MB

页数:25页

时间:2019-05-09

verilog编程规范_第1页
verilog编程规范_第2页
verilog编程规范_第3页
verilog编程规范_第4页
verilog编程规范_第5页
资源描述:

《verilog编程规范》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、作者:日期:2008-7-2http://www.embedcontrol.comVerilog规范1.良好的编程风格有利于减少消耗的硬件资源,提高设计的工作频率。2.提高系统的可移植性和可维护性。3.程序的格式化能体现程序员的基本素质和整个团队的风貌。简介规范的重要性:命名规则注释代码格式命名规则注释代码格式用于命名的字符集为:字母A~Z和a~z,数字0~9以及下划线组成。例如:data_busdata_widthclk48M48M_clkdata__busdata*bus命名字符集名称不能以数字开头数据总线48M时

2、钟信号数据位宽不能连续使用下划线不能包含非字母符号*使用有意义的名字,以利于望文生义参数(parameter)、常量(constant)和块标号(blocklabel)名必须一致采用大写;而信号,变量和结构名(construct)以及实例标号(instance)必须一致采用小写。有利于在仿真时,区分不变和变化的数据。大小写规则moduledisplay_led(clk_48M,//时钟ledout//LED输出);inputclk_48M;//48M系统时钟output[7:0]ledout;//LED输出控制reg[

3、22:0]count;//计数器reg[7:0]led_reg;//LED输出缓存区wireled_clk;//LED显示时钟控制parameterCOUNTER=100;assignled_clk=count[22];//LED显示时间控制模块标号小写变量小写常量大写在不区分大小写的情况下,名字必须唯一。例如,名字state和State不能同时出现在同一设计中,这是因为有的EDA工具不区分大小写。名字必须唯一modulecasestatement(a,State,state,dout);inputa;inputSta

4、te;input[2:0]state;outputdout;regdout;parameterSTATE=3'bx11;always@(aorborstate)case(state&State)3'b001:dout=a&b;3'b010:dout=a

5、b;endcaseendmodule输入信号参数输入信号不同类型的信号命名习惯如果一个名字由多个字组成,则使用下划线连接,用以增加名字的可读性。为了使信号的名字有意义,可以根据信号类型选取相应的后缀。命名信号类型实例*_r寄存器类型Data_out_r*_a异步信号Ad

6、dr_strobe_a*_clk时钟信号Sys_clk*_nc不连续信号Stata_nc*_n低电平有效信号Reset_n*_pn有n个相位的信号Enable_p2*_z三态信号Data_out_z*_next状态机信号Transmit_next*_test测试模式信号Parallel_clk_test对于包含多个后缀的信号,建议采用下面的优先权,从高到低。最高的优先权建议从信号名的最后一个后缀获得,多个后缀的信号名的优先权:1._n//低电平有效信号2._z//三态信号3._clk//时钟信号4._next//状态机

7、信号多个后缀的信号名的优先权ramdata1zn低电平有效信号三态信号数据类型操作对象文件名的格式为:<设计模块名>.<扩展名>,从而使文件与设计模块相对应。例如文件名为counter.v表明该文件中有一个用VerilogHDL语言描述的counter模块。以Libero8.0环境为例:文件名格式新建工程工程名工程路径点击HDLEditor文件编写窗口新建工程语言类型设计模块名点击HDLEditor文件名命名规则注释代码格式文件注释模板(英文版)用TAB键缩进对齐文件信息创建信息修改信息公司信息…………文件结束文件注释

8、模板(中文版)文件的中文注释模板和英文注释模板一样…………模块可以由一个或多个进程(always模块)/赋值语句组成,模块注释主要用分割功能模块,提高程序可读性,包括模块注释和模块结束。模块间如进程(always模块)的注释可直接在上面注释,可以多行,模块的英文注释模板可自行修改。模块注释模板模块注释模板模块注释模块结束进程注释要特别说明的就是,为了排版好看,我们采用首行缩进0.74厘米,字体小五,宋体(中),CourierNew(英),底纹使用-10%灰底,必须以“程序清单”为题注并置于程序上方。注释规则(文档版)命

9、名规则注释代码格式端口的申明及注释modulebuzzer(clk_48M,//时钟输入beep,//蜂鸣器控制输出key,//按键输入ledout//LED显示控制信号);inputclk_48M;input[3:0]key;outputbeep;output[7:0]ledout;...endmodule不使用:inputa,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。