RTL设计中的Verilog代码风格

RTL设计中的Verilog代码风格

ID:38235438

大小:163.61 KB

页数:3页

时间:2019-05-27

RTL设计中的Verilog代码风格_第1页
RTL设计中的Verilog代码风格_第2页
RTL设计中的Verilog代码风格_第3页
资源描述:

《RTL设计中的Verilog代码风格》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、NO.2微处理机第2期Apr.,2013MICR0PR0CESS0RS2013年4月RTL设计中的Verilog代码风格冯海涛,王爽,周刚(中国电子科技集团公司第四十七研究所,沈阳110032)摘要:RTL设计中的Verilog代码风格对综合后的硬件结构起至关重要的作用,相同功能不同风格的代码在综合后可能会产生不同的结构,具有不同的timing和area。关键词:综合;触发器;锁存器DOI编码:10.3969/j.issn.1002—2279.2013.02.05中图分类号:TN4文献标识码iB文章编号:1002—2279(2013)02—0014一

2、O3VerilogCodingStyleofRTLDesignFENGHai—tao,WANGShuang,ZHOUGang(The47thResearch胁eofChinaElectronicsTechnologyGroupCorporation,Shenyang110032,China)Abstract:VerilogcodingstyleofRTLdesignissignificantforsynthesizedhardwarestructure.Thecode,withthesamefunctionbutdiferentstyle,maybe

3、generatesthecircuitwithdifferentstructure,timingandareaaftersynthesizing.Keywords:Synthesis;Flip—Flop;LatchelseDOut=1’b0:1引言—(2)if语句优先级由下向上,越靠近下面的输人每个代码编写者都有自己的编写习惯,而且都在综合时越靠近输出,如下例和图1所示。喜欢按照自己的习惯去编写代码。代码风格对综合Always@()后的硬件结构起至关重要的作用,相同功能不同风begin格的代码在综合后可能会产生不同的结构,具有不Data—Out=Da

4、ta—D;同的timing和area。这就是RTL设计工程师重视代if(Sel—A)Data—Out=Data—A;码风格的原因所在。在这里主要讲述一下组合电路if(Sel—B)Data—Out=Data—B;和时序电路中比较常用并需要特别注意的语句。if(Sel—C)Data—Out=Data—C;End2设计组合电路的代码风格DataD2.1if语句(1)if语句的比较条件不可以用“X”,仿真时DalaA“x”被看做unkown而产生错误的仿真结果;综合时“x”被看做false,产生与仿真相同的错误。例如:SelAif(In[7:O]=:8’b0

5、0xxllxx)D—Out=1’DataBSetBbl;DataCelseDOut=1’b0;—SeIC解决方法:If((In—A[7:6]==2’bOO)&&(In—图1if语句优先级由下向上A[3:2]==2’bl1))D—Out=1’bl;(3)if..·else⋯if语句优先级由上向下,越靠近作者简介:冯海涛(1980一),女,甘肃人,学士,工程师,主研方向:集成电路设计及验证。收稿13期:2012—10—082期冯海涛等:RTL设计中的Verilog代码风格·l5·上面的输入在综合时越靠近输出,如下例和图2所由于每次循环k都被看做一个常数,

6、所以不会示。综合出减法器。综合时循环链会被打开。上面的循Always@()环相当于下面的程序:beginWhen(k==3)Out—B[3]=In—A[0];if(Sel—A)Data_Out=Data_A;When(k==2)Out~B[3]=In—A[1];elseif(Sel—B)Data_Out=Data_B;When(k==1)Out~B[3]=In—A[2];elseif(SeI_C)Data—Out=Data—C;When(k==0)OutB[3]:In—A[3]:elseDataOut=DataD;—_3设计时序电路时的代码风格End

7、3.1非阻塞赋值在时钟沿触发电路中DataD由时钟沿触发的电路分为时钟上升沿触发DataC(posedgeCLK)和时钟下降沿触发(negedgeCLK);同时在时钟沿触发的电路中,赋值语句应该使用非SetC阻塞型。如下例所示:DataBregD;SelBregIntermediaVariable;—DataAalways@(posedgeCLK)SelAbegin图2if⋯else⋯if语句优先级由上向FIntermedia~Variable<=In—A&In—B;2.2case语句D<=IntermediaVariable;—无优先级,case的

8、条件必须列全(fullcase),如End果不能列全就写default值,否则同样会产生latch。3.2时

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

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

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