1 / 9
文档名称:

FPGA流水线个人总结.doc

格式:doc   大小:416KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

FPGA流水线个人总结.doc

上传人:cx545616 2019/12/7 文件大小:416 KB

下载得到文件列表

FPGA流水线个人总结.doc

相关文档

文档介绍

文档介绍:之前一篇博文(流水线加法器设计(Verilog))介绍了2级流水线4位全加器,本来目的是和之前不运用流水线的加法器延时进行比较,不过结果程序写得不太好,也被codeman大侠指出了错误的地方,于是尝试一下从新改写,于是有了这篇博文。流水线设计是用于提高所设计系统运行速度的一种有效的方法。为了保障数据的快速传输,必须使系统运行在尽可能高的频率上,但如果某些复杂逻辑功能的完成需要较长的延时,就会使系统很难运行在高的频率上,在这种情况下,可使用流水线技术,即在长延时的逻辑功能快中插入触发器,使复杂的逻辑操作分步完成,减少每个部分的处理延时,从而使系统的运行频率得以提高。流水线设计的代价是增加了寄存器逻辑,即增加了芯片资源的耗用。流水线操作概念示意图流水线设计的概念: 所谓流水线设计实际上就是把规模较大、层次较多的组合逻辑电路分为几个级,在每一级插入寄存器组暂存中间数据。K级的流水线就是从组合逻辑的输入到输出恰好有K个寄存器组(分为K级,每一级都有一个寄存器组)上一级的输出是下一级的输入而又无反馈的电路。组合逻辑设计转化为流水线设计上图表示如何将把组合逻辑设计转换为相同组合逻辑功能的流水线设计。组合逻辑设计: 这个组合逻辑包括两级。第一级的延迟是T1和T3两个延迟中的最大值; 第二级的延迟等于T2的延迟。为了通过这个组合逻辑得到稳定的计算结果输出,需要等待的传播延迟为:[max(T1,T3)+T2] 流水线: 在从输入到输出的每一级插入寄存器后,流水线设计的第一级寄存器所具有的总的延迟为T1与T3时延中的最大值加上寄存器的Tco(触发时间)。同样,第二级寄存器延迟为T2的时延加上Tco。采用流水线设计为取得稳定的输出总体计算周期为:max(max(T1,T3)+Tco,(T2+Tco)) 流水线设计需要两个时钟周期来获取第一个计算结果,而只需要一个时钟周期来获取随后的计算结果。开始时用来获取第一个计算结果的两个时钟周期被称为采用流水线设计的首次延迟(latency)。但对于CPLD来说,器件的延迟如T1、T2和T3相对于触发器的Tco要长得多,并且寄存器的建立时间Tsu也要比器件的延迟快得多。因此流水线设计获得比同功能的组合逻辑设计更高的性能。采用流水线设计的优势在于它能提高吞吐量(throughput)。首次延迟(latency)——(从输入到输出)最长的路径进行初始化所需要的时间总量; 吞吐延迟——执行一次重复性操作所需要的时间总量。假设T1、T2和T3具有同样的传递延迟Tpd。组合逻辑设计: 首次延迟为2*Tpd 吞吐延迟为2*Tpd 流水线设计: 首次延迟为2*(Tpd+Tco) 吞吐延迟为Tpd+Tco 如果CPLD硬件能提供快速的Tco,则流水线设计相对于同样功能的组合逻辑设计能提供更大的吞吐量。如Xilinx的XC9572-,。点击看原图点击看原图点击看原图上图是上述4级流水线加法器的框图,从该图可以看出,上面的加法器采用5级缓存、4级加法,每一个加法器实现8位数据和一个进位的相加,整个加法器只受8位全加器的工作速度的限制。点击看原图例化后可以看到4个8位全加器和缓存。顶层测试程序: 布线布局后仿真(选择XC3S500E)点击看原图 4个时钟周期后获得计算结果。延时大概为5ns。注意: 要注意在加法的过程