第7章Verilog设计的优化课件.ppt
《第7章Verilog设计的优化课件.ppt》由会员分享,可在线阅读,更多相关《第7章Verilog设计的优化课件.ppt(36页珍藏版)》请在第壹文秘上搜索。
1、第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语言描述的
2、行为级或功语言描述的行为级或功能级电路模型转化为能级电路模型转化为RTL级功能块或门级电路级功能块或门级电路网表的过程网表的过程.综合过程综合过程 第7章Verilog设计的优化3n 不使用初始化语句;不使用带有延时的描述;不使用初始化语句;不使用带有延时的描述;不使用循环次数不确定的循环语句,如不使用循环次数不确定的循环语句,如forever,while等。等。n 应尽量采用应尽量采用同步方式同步方式设计电路。除非是关键设计电路。除非是关键路径的设计,一般路径的设计,一般不采用调用门级元件来描述不采用调用门级元件来描述设计的方法,建议采用行为语句来完成设计。设计的方法,建议采用行为语句来完成
3、设计。n 用用always过程块描述组合逻辑,应在敏感信过程块描述组合逻辑,应在敏感信号列表中号列表中列出块中出现的所有输入信号列出块中出现的所有输入信号。第7章Verilog设计的优化4n 所有的内部寄存器都应该能够被复位,在使所有的内部寄存器都应该能够被复位,在使用用FPGA实现设计时,应尽量使用器件的全局实现设计时,应尽量使用器件的全局复位端作为系统总的复位,用器件的全局时钟复位端作为系统总的复位,用器件的全局时钟端作为系统外部时钟输入端。端作为系统外部时钟输入端。n 在在Verilog模块中,模块中,任务任务(task)通常被综)通常被综合成组合逻辑的形式;每个合成组合逻辑的形式;每个
4、函数函数(function)在调用时通常也被综合为一个独立的在调用时通常也被综合为一个独立的组合电路组合电路模块。模块。第7章Verilog设计的优化5o 流水线设计是经常用于提高所设计系统运行速度的流水线设计是经常用于提高所设计系统运行速度的一种有效的方法。为了保障数据的快速传输,必须一种有效的方法。为了保障数据的快速传输,必须使系统运行在尽可能高的频率上,但如果某些复杂使系统运行在尽可能高的频率上,但如果某些复杂逻辑功能的完成需要较长的延时,就会使系统难以逻辑功能的完成需要较长的延时,就会使系统难以运行在高的频率上,在这种情况下,可使用流水线运行在高的频率上,在这种情况下,可使用流水线技术
5、,即在长延时的逻辑功能块中插入触发器,使技术,即在长延时的逻辑功能块中插入触发器,使复杂的逻辑操作分步完成,减小每个部分的延时,复杂的逻辑操作分步完成,减小每个部分的延时,从而使系统的从而使系统的运行频率得以提高运行频率得以提高。流水线设计的代流水线设计的代价是增加了寄存器逻辑,增加了芯片资源的耗用。价是增加了寄存器逻辑,增加了芯片资源的耗用。第7章Verilog设计的优化6o 如某个复杂逻辑功能的实现需较长的延时,可如某个复杂逻辑功能的实现需较长的延时,可将其分解为几个(如将其分解为几个(如3个)步骤来实现,每一步个)步骤来实现,每一步的延时变小,在各步间加入寄存器,以暂存中的延时变小,在各
6、步间加入寄存器,以暂存中间结果,这样可大大提高整个系统的最高工作间结果,这样可大大提高整个系统的最高工作频率。频率。第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)b
7、egin 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(
8、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,cou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Verilog 设计 优化 课件