欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    第7章Verilog设计的优化课件.ppt

    • 资源ID:615168       资源大小:346.50KB        全文页数:36页
    • 资源格式: PPT        下载积分:7金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要7金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第7章Verilog设计的优化课件.ppt

    第7章Verilog设计的优化1主要主要内容内容7.1 7.1 设计的可综合性设计的可综合性7.2 7.2 流水线设计(流水线设计(Pipeline DesignPipeline Design)技术)技术7.3 7.3 资源共享(资源共享(Resource SharingResource Sharing)7.4 7.4 过程过程7.5 7.5 阻塞赋值与非阻塞赋值阻塞赋值与非阻塞赋值7.6 FPGA7.6 FPGA设计中毛刺的消除设计中毛刺的消除第7章Verilog设计的优化2o 用用FPGA/CPLD器件实现的设计中,综合就器件实现的设计中,综合就是将是将Verilog或或VHDL语言描述的行为级或功语言描述的行为级或功能级电路模型转化为能级电路模型转化为RTL级功能块或门级电路级功能块或门级电路网表的过程网表的过程.综合过程综合过程 第7章Verilog设计的优化3n 不使用初始化语句;不使用带有延时的描述;不使用初始化语句;不使用带有延时的描述;不使用循环次数不确定的循环语句,如不使用循环次数不确定的循环语句,如forever,while等。等。n 应尽量采用应尽量采用同步方式同步方式设计电路。除非是关键设计电路。除非是关键路径的设计,一般路径的设计,一般不采用调用门级元件来描述不采用调用门级元件来描述设计的方法,建议采用行为语句来完成设计。设计的方法,建议采用行为语句来完成设计。n 用用always过程块描述组合逻辑,应在敏感信过程块描述组合逻辑,应在敏感信号列表中号列表中列出块中出现的所有输入信号列出块中出现的所有输入信号。第7章Verilog设计的优化4n 所有的内部寄存器都应该能够被复位,在使所有的内部寄存器都应该能够被复位,在使用用FPGA实现设计时,应尽量使用器件的全局实现设计时,应尽量使用器件的全局复位端作为系统总的复位,用器件的全局时钟复位端作为系统总的复位,用器件的全局时钟端作为系统外部时钟输入端。端作为系统外部时钟输入端。n 在在Verilog模块中,模块中,任务任务(task)通常被综)通常被综合成组合逻辑的形式;每个合成组合逻辑的形式;每个函数函数(function)在调用时通常也被综合为一个独立的在调用时通常也被综合为一个独立的组合电路组合电路模块。模块。第7章Verilog设计的优化5o 流水线设计是经常用于提高所设计系统运行速度的流水线设计是经常用于提高所设计系统运行速度的一种有效的方法。为了保障数据的快速传输,必须一种有效的方法。为了保障数据的快速传输,必须使系统运行在尽可能高的频率上,但如果某些复杂使系统运行在尽可能高的频率上,但如果某些复杂逻辑功能的完成需要较长的延时,就会使系统难以逻辑功能的完成需要较长的延时,就会使系统难以运行在高的频率上,在这种情况下,可使用流水线运行在高的频率上,在这种情况下,可使用流水线技术,即在长延时的逻辑功能块中插入触发器,使技术,即在长延时的逻辑功能块中插入触发器,使复杂的逻辑操作分步完成,减小每个部分的延时,复杂的逻辑操作分步完成,减小每个部分的延时,从而使系统的从而使系统的运行频率得以提高运行频率得以提高。流水线设计的代流水线设计的代价是增加了寄存器逻辑,增加了芯片资源的耗用。价是增加了寄存器逻辑,增加了芯片资源的耗用。第7章Verilog设计的优化6o 如某个复杂逻辑功能的实现需较长的延时,可如某个复杂逻辑功能的实现需较长的延时,可将其分解为几个(如将其分解为几个(如3个)步骤来实现,每一步个)步骤来实现,每一步的延时变小,在各步间加入寄存器,以暂存中的延时变小,在各步间加入寄存器,以暂存中间结果,这样可大大提高整个系统的最高工作间结果,这样可大大提高整个系统的最高工作频率。频率。第7章Verilog设计的优化7module adder8(cout,sum,ina,inb,cin,clk);input7:0 ina,inb;input cin,clk;output7:0 sum;output cout;reg7:0 tempa,tempb,sum;reg cout,tempc;always(posedge clk)begin tempa=ina;tempb=inb;tempc=cin;end/输入数据锁存输入数据锁存always(posedge clk)begin cout,sum=tempa+tempb+tempc;endendmodule第7章Verilog设计的优化8module adder_pipe2(cout,sum,ina,inb,cin,clk);input7:0 ina,inb;input cin,clk;output reg7:0 sum;output reg cout;reg3:0 tempa,tempb,firsts;reg firstc;always(posedge clk)begin firstc,firsts=ina3:0+inb3:0+cin;tempa=ina7:4;tempb=inb7:4;endalways(posedge clk)begin cout,sum7:4=tempa+tempb+firstc;sum3:0=firsts;endendmodule将将8位数每四位分位数每四位分2次相加,形成两级流水线运算过程。次相加,形成两级流水线运算过程。第7章Verilog设计的优化9module pipeline(cout,sum,ina,inb,cin,clk);output7:0 sum;output cout;input7:0 ina,inb;input cin,clk;reg7:0 tempa,tempb,sum;reg tempci,firstco,secondco,thirdco,cout;reg1:0 firsts,thirda,thirdb;reg3:0 seconda,secondb,seconds;reg5:0 firsta,firstb,thirds;always(posedge clk)begin tempa=ina;tempb=inb;tempci=cin;end /输入数据缓存输入数据缓存always(posedge clk)begin firstco,firsts=tempa1:0+tempb1:0+tempci;/第一级加(低第一级加(低2位)位)firsta=tempa7:2;firstb=tempb7:2;/未参加计算的数据缓存未参加计算的数据缓存endalways(posedge clk)begin secondco,seconds=firsta1:0+firstb1:0+firstco,firsts;seconda=firsta5:2;secondb=firstb5:2;/数据缓存数据缓存endalways(posedge clk)begin thirdco,thirds=seconda1:0+secondb1:0+secondco,seconds;thirda=seconda3:2;thirdb=secondb3:2;/数据缓存数据缓存endalways(posedge clk)begin cout,sum=thirda1:0+thirdb1:0+thirdco,thirds;/第四级加(高两位相加)第四级加(高两位相加)end endmodule将将8位数每两位分位数每两位分4次相加,形成四级流水线运算过程。次相加,形成四级流水线运算过程。第7章Verilog设计的优化10第7章Verilog设计的优化11 module resource1(sum,a,b,c,d,sel);parameter SIZE=4;input sel;inputSIZE-1:0 a,b,c,d;output regSIZE:0 sum;always(*)/使用通配符使用通配符begin if(sel)sum=a+b;else sum=c+d;end endmodule资源共享可用来减少系统所耗用的器件资源,尤其是将一些资源共享可用来减少系统所耗用的器件资源,尤其是将一些耗用资源较多的模块进行共享,能有效降低整个系统耗用的耗用资源较多的模块进行共享,能有效降低整个系统耗用的资源。资源。第7章Verilog设计的优化12module resource2(sum,a,b,c,d,sel);parameter SIZE=4;input sel;inputSIZE-1:0 a,b,c,d;output regSIZE:0 sum;regSIZE-1:0 atemp,btemp;always(*)/使用通配符使用通配符begin if(sel)begin atemp=a;btemp=b;endelse begin atemp=c;btemp=d;endsum=atemp+btemp;endendmodule 第7章Verilog设计的优化13 器件资源的消耗对比器件资源的消耗对比第7章Verilog设计的优化14方式一需要方式一需要2个加法器,而方式二通过增加一个个加法器,而方式二通过增加一个MUX,共享,共享一个加法器,由于加法器耗用的资源比一个加法器,由于加法器耗用的资源比MUX更多,因此方式更多,因此方式二更节省资源。所以在电路设计中,二更节省资源。所以在电路设计中,应尽可能使硬件代价高的应尽可能使硬件代价高的功能模块资源共享,从而降低整个系统的成本。计算位数越多,功能模块资源共享,从而降低整个系统的成本。计算位数越多,耗用的资源差别越大。耗用的资源差别越大。结结 论论第7章Verilog设计的优化15o在在Verilog语言中,过程语句包括语言中,过程语句包括always和和initial。always过程反复执行其中的块语句,而过程反复执行其中的块语句,而initial过程中的语过程中的语句块只执行一次。句块只执行一次。always过程可综合,过程可综合,initial语句只能用语句只能用于仿真。于仿真。oalways过程语句与过程语句与VHDL语言的进程语句语言的进程语句Process非常相非常相像,像,它既可以用来描述时序电路,也可以用来描述组合电路它既可以用来描述时序电路,也可以用来描述组合电路。一个一个Verilog模块中的模块中的不同不同always过程语句是并行运行过程语句是并行运行的。的。oassign赋值语句、实例元件的调用也都是并行运行的,我赋值语句、实例元件的调用也都是并行运行的,我们可以这样理解:这些语句最终都综合或翻译成为具体的电们可以这样理解:这些语句最终都综合或翻译成为具体的电路结构,而这些电路结构是同时在运行或动作的。路结构,而这些电路结构是同时在运行或动作的。第7章Verilog设计的优化16o 将组合逻辑实现的电路和用时序逻辑实现的电将组合逻辑实现的电路和用时序逻辑实现的电路应尽量分配到不同的路应尽量分配到不同的always过程中。过程中。o 一个一个always过程中过程中只允许描述对应于一个时只允许描述对应于一个时钟信号的同步时序逻辑。钟信号的同步时序逻辑。o always过程必须由过程必须由敏感信号的变化来启动敏感信号的变化来启动,因此应精心选择进程敏感表达式中的敏感变量。因此应精心选择进程敏感表达式中的敏感变量。o 多个多个always过程间可通过过程间可通过信号线信号线进行通信和进行通信和协调。协调。第7章Verilog设计的优化17o 在可综合的硬件设计中,使用阻塞和非阻塞赋值在可综合的硬件设计中,使用阻塞和非阻塞赋值语句时,应注意以下原则语句时,应注意以下原则(1)当用)当用“always”块来块来描述组合逻辑描述组合逻辑时,既可以用阻塞时,既可以用阻塞赋值,也可以采用非阻塞赋值,应尽量使用阻塞赋值。赋值,也可以采用非阻塞赋值,应尽量使用阻塞赋值。(2)对时序逻辑描述和建模,使用非阻塞赋值方式对时序逻辑描述和建模,使用非阻塞赋值方式。(3)为)为锁存器(锁存器(Latch)建模,应使用非阻塞赋值)建模,应使用非阻塞赋值。(4)若在同

    注意事项

    本文(第7章Verilog设计的优化课件.ppt)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开