欢迎来到天天文库
浏览记录
ID:36345806
大小:405.00 KB
页数:16页
时间:2019-05-09
《SOC平台verilog代码风格规范V》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、大规模数字逻辑电路设计培训指导(V1.0)文档类型开发文档保密级别机技术报告名称:Verilog代码风格规范编号:版本号:V0.3作者项目部门产品中心日期2006-6-92制度规范目录II制度规范前言21总则32职责33目的34内容44.1基本原则44.1.1RTL级代码风格44.1.2组合时序电路分开原则44.1.3复位54.2命名规则54.2.1基本命名标准54.2.2命名准则64.3VERILOGHDL源代码文件结构104.3.1VERILOGHDL代码文件文件头104.3.2VERILOGHDL代码文件宏定义134.3.3V
2、ERILOGHDL代码文件模块名及端口信号134.3.4VERILOGHDL代码文件信号、变量及参数134.3.5VERILOGHDL代码文件设计主体144.3.6VERILOGHDL代码文件注释行164.3.7VERILOGHDL代码文件独立Include.v175VERILOGHDL代码范例185.1复用器表达方式18IIVerilog代码风格规范前言为了更好地规范团队成员在研发项目时VERILOG硬件描述语言的撰写,以达到代码规范化和标准化的目的,特制定本规范。修订日期版本修订人修订项目16Verilog代码风格规
3、范1总则本规范规定了IC设计项目开发过程中VERILOGHDL源代码的编写总则、要求及模板文件。本规范适用于信息安全团队及IPTV项目各IC产品在设计开发过程中源代码的编写。2职责各模块设计成员负责根据本规范的要求编写VERILOGHDL源代码。系统组成员负责本规范对各项目的VERILOGHDL源代码进行规范化格式审查及管理。3目的制定本规范的目的:3.1便于项目组成员之间对源代码的理解、交流及相互检查;3.2便于设计者本人在项目开发之后或产品升级过程中利用源代码很快理解原有设计;3.3便于模块开发过程中不同版本源代码的
4、管理;3.4便于模块仿真过程中很快发现问题的出处;3.5便于模块整合时各子模块的链接。4内容4.1基本原则4.1.1RTL级代码风格RTL是指RegisterTransferLevel,即寄存器传输级,代码显式定义每一个DFF,组合电路描述每个DFF之间的信号传输过程。当前的主流工具对RTL级的综合、优化及仿真非常成熟。不建议采用行为级甚至更高级的语言来描述硬件,代码的可控性,可跟踪性及可移植性难以保证。16Verilog代码风格规范1.1.1组合时序电路分开原则图41数字逻辑电路模型(a)currentstatebi
5、ts=↑(nextstatebits);(b)nextstatebits=f1(inputs,currentstatebits);(c)outputs=f2(inputs,currentstatebits);DFF和组合逻辑描述分开,DFF在always块中完成,组合逻辑通常采用assign语句完成。例如图41中的电路可以描述如下://------------------------------------------------------------------------//通用的数字电路模型描述方式//组合与时序电路分开描
6、述//时序电路在always块中,//组合电路采用assign赋值语句//本代码中的组合电路部分的函数f1,f2均代表任意的与或表达式。//------------------------------------------------------------------------//时序电路部分,异步复位always@(posedgeClkornegedgeResetn)beginif(!Resetn)current_state_bits<=0;elsecurrent_state_bits<=next_state_bits;en
7、d//组合电路部分16Verilog代码风格规范assignnext_state_bits=f1(inputs,current_state_bits);assignoutputs=f2(inputs,current_state_bits);1.1.1复位所有DFF必须加异步低电平有效复位信号,同步复位根据实际情况决定是否添加。1.2命名规则1.2.1基本命名标准1)全局异步复位输入信号命名为Resetn/Rstn,多复位域则命名为ResetnXxx/Rstn,Xxx代表复位域含义缩写且首字母大写;同步复位输入信号命名为S
8、Reset;2)时钟输入信号:单一时钟域则命名为Clk;多时钟域则命名为Clkxxx,xxx代表时钟域含义且首字母大写。1.2.2命名准则1.2.2.1模块名命名规则1.模块名命名规则:硬件系统负责人先划分好项目模块,并根据此规则命名
此文档下载收益归作者所有