- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基本运算逻辑和它们的Verilog HDL模型 ;加法器 ;表中Xi 、Yi 表示两个加数,Si 表示和,Ci-1 表示来自低位的进位、Ci 表示向高位的进位。 ;图5.1 由4个1位全加器组成的超前进位4位加法器;图5.2 由4个4位全加器组成的超前进位16位加法器;在实现算法时(如卷积运算和快速傅立叶变换),常常用到加法运算,由于多位并行加法器是由多层组合逻辑构成,加上超前进位形成逻辑虽然减少了延迟,但还是有多级门和布线的延迟,而且随着位数的增加延迟还会积累。
由于加法器的延迟,使加法器的使用频率受到限制,这是指计算的节拍(即时钟)必须要大于运算电路的延迟,只有在输出稳定后才能输入新的数进行下一次运算。
如果设计的是32位或64位的加法器,延迟就会更大。为了加快计算的节拍,可以在运算电路的组合逻辑层中加入多个寄存器组来暂存中间结果。
也就是采用数字逻辑设计中常用的流水线(pipe-line)办法,来提高运算速度,以便更有效地利用该运算电路。 ;module add_4( X, Y, sum, C);
input [3 : 0] X, Y;
output [3: 0] sum;
output C;
assign {C, Sum } = X + Y;
endmodule ;设计者可以考虑提高电路的速度,也可以考虑节省电路元件以减少电路占用硅片的面积。
综合器会自动根据选项为你挑选一种基本加法器的结构。有的高性能综合器还可以根据用户对运算速度的要求插入流水线结构,来提高运算器的性能。
可见在综合工具的资源库中存有许多种基本的电路结构,通过编译系统的分析,自动为设计者选择一种电路结构,随着综合器的日益成熟它的功能将越来越强。
然后设计者还需通过布局布线工具生成具有布线延迟的电路,再进行后仿真,便可知道该加法器的实际延时。
根据实际的延迟便可以确定使用该运算逻辑的最高频率。若需要重复使用该运算器,则需要在控制数据流动的状态机中为其安排必要的时序。 ;乘法电路 ;两个4位二进制数X和Y相乘 ;; 与 门;与门;module mult_4( X, Y, Product);
input [3 : 0] X, Y;
output [7 : 0] Product;
assign Product = X * Y;
endmodule ;流水线(pipeline) ;流水线设计的概念;把组合逻辑设计转换为流水线设计 ;流水线设计需要2个时钟周期来获取第一个计算结果,而只需???1个时钟周期来获取随后的计算结果。
开始时用来获取第一个计算结果的2个时钟周期被称为采用流水线设计的首次延迟(latency)。
对于CPLD来说,器件的延迟(如T1、T2和T3)相对于触发器的Tco要长得多,并且寄存器的建立时间Tsu也要比器件的延迟快得多。
只有在上述关于硬件时延的假设为真的情况下,流水线设计才能获得比同功能的组合逻辑设计更高的性能。
采用流水线设计的优势在于它能提高吞吐量(throughput)。
假设T1、T2和T3具有同样的传递延迟Tpd。
对于组合逻辑设计而言,总的延迟为2*Tpd。
对于流水线设计来说,计算周期为(Tpd+Tco)。;前面提及的首次延迟(latency)的概念实际上就是将(从输入到输出)最长的路径进行初始化所需要的时间总量;吞吐延迟则是执行一次重复性操作所需要的时间总量。
在组合逻辑设计中,首次延迟和吞吐延迟同为2*Tpd。
在流水线设计中,首次延迟是2*(Tpd+Tco), 而吞吐延迟是Tpd+Tco。;流水线设计在性能上的提高是以消耗较多的寄存器资源为代价的。
对于非常简单的用于数据传输的组合逻辑设计,例如上述例子,将它们转换成流水线设计可能只需增加很少的寄存器单元。
随着组合逻辑变得复杂,为了保证中间的计算结果都在同一时钟周期内得到,必须在各级之间加入更多的寄存器。
如果需要在CPLD中实现复杂的流水线设计,以获取更优良的性能,具有丰富寄存器资源的CPLD结构并且具有可预测的延迟这两大特点的FPGA是一个很有吸引力的选择。;流水线加法器与组合逻辑加法器的比较 ;22;;;若用拥有840个宏单元和312个有寄存能力I/O单元的Lattice ispLSI8840分别来实现16位组合逻辑全加器和16位流水线全加器并比较它们的运行速度, 对于16位组合逻辑全加器, 共用了34个宏单元。
执行一次计算需经过3个GLB层,每次计算总延迟为45.6ns。
而16位流水线全加器共用了81个宏单元。执行一次计算只需经过1个GLB层,每次计算总延迟为15.10ns(但第一次计算需要多用三个时钟周期),吞吐量约增加了三倍。 ;Li10.1 非流水线方式实现8位全加器; 4级流水线方式实现8位全加器;比较器
文档评论(0)