您的位置 首页 FPGA

根据FPGA的DSP运算技能完成流水线使用体系的规划

基于FPGA的DSP运算技术实现流水线应用系统的设计-在数字信号处理(DSP)领域,需要处理的数据量很大,并且实时性要求很高。传统的DSP设计方法主要有采用固定功能的DSP器件和采用DSP处理器两种,由于它们灵活性差以及软件算法在执行时的顺序性,限制了它们在高速和实时系统中的应用。随着深亚微米半导体制造工艺的不断创新,百万门可编程器件的不断推出,为DSP提供了第3种有效的解决方案,即利用FPGA实现DSP运算硬件化。它能够在集成度、速度和系统功能方面满足DSP应用的需要。

在数字信号处理(DSP)领域,需求处理的数据量很大,并且实时性要求很高。传统的DSP规划办法首要有选用固定功用的DSP器材和选用DSP处理器两种,因为它们灵敏性差以及软件算法在执行时的次序性,束缚了它们在高速和实时体系中的运用。跟着深亚微米半导体制作工艺的不断创新,百万门可编程器件的不断推出,为DSP供给了第3种有用的解决方案,即运用FPGA完结DSP运算硬件化。它能够在集成度、速度和体系功用方面满意DSP运用的需求。

然而在运用FPGA进行体系规划归纳进程中,挑选芯片的运转速度优化和资源运用优化常常是彼此对立的,对速度目标要求高的规划优化常常要占用较大的芯片资源,而减小芯片面积的规划又需求以下降体系速度为价值。从FPGA发展趋势和DSP运算要求看,体系速度目标的含义比面积目标更趋重要,需求咱们进一步深入研究进步芯片的最高作业速度的规划战略。本文评论在根据FPGA的DSP体系规划中选用流水线技能,充分运用硬件内部的并行性,在FPGA有限资源芯片面积上进步单位时刻里的数据处理才干即数据吞吐率(throughput),进步体系的作业速度的详细做法。

流水线技能底子原理和FPGA结构特征

流水线是一种在时刻上串行,在空间上并行的技能,其底子原理如图1所示。将整个电路区分为若干个流水线级,流水线每级之间设置存放器锁存上一级输出的数据;每一级只完结数据处理的一部分;一个时钟周期完结一级数据处理,然后鄙人一个时钟到来时将处理后的数据传递给下一级;榜首组数据进入流水线后,经过一个时钟周期传到第二级,一起第二组数据进入榜首级,数据行列顺次行进。每组数据都要经过一切的流水级后才干得到最终的核算成果,可是对整个流水线而言,每个时钟都能核算出一组成果,所以均匀核算一组数据只需求一个时钟周期的时刻,这样就大大进步了数据处理速度,电路在单位时刻内处理的数据量就愈大,即电路的吞吐量就越大,确保整个体系以较高的频率作业。

根据FPGA的DSP运算技能完结流水线运用体系的规划

FPGA的结构特色很适宜选用流水线规划,以Altera低本钱系列Cyclone II为例,不只有最多达68416个逻辑单元(LE),并且供给嵌入式存储资源支撑各种存储运用和低本钱DSP运用(如乘法器模块、PLL)。每个LE均含有一个四输入查找表LUT、一个可编程触发器等。一般规划中,这个触发器或许没有用到,或许用来存储布线资源。规划中可将一个算术操作分解成一些小规模的底子操作装备到LUT中,将进位和中心值存储在存放器中,鄙人一个时钟内持续运算。因而,在FPGA中选用流水线技能,只需求很少或许底子不需求额定的资源本钱。特别是在需求进行大批量重复运算的场合,如数字信号处理中的卷积操作、FFT或FIR滤波器规划,选用流水线技能,能够大大进步体系运转速度。

1 、FPGA中底子DSP运算的流水线规划与功能剖析

加法器和乘法器是DSP中最底子的运算部件。在Quartus软件平台上规划加法器或乘法器能够选用原理图法和VHDL言语两种底子办法。考虑到参数可设置宏模块(Library of Parameterrized Modtlles-LPM)经过严厉测验和优化,能够发挥最佳功能,所以,咱们选用原理图规划办法,经过MegaWizard P1ug-In Manager东西引进1pm add sub和1pm mult两种可设置流水线的LPM模块,完结了不同位宽、不同流水线级数的加法器和乘法器规划,并选用CycloneII系列EP2C5Q208C7器材进行了归纳、布局布线、时序剖析和仿真规划,以比较其功能的改动特征。

1.1 不同流水线级数的运算器功能比较

对16位加法器和8位乘法器别离选用不同的流水线级数进行规划,比较成果如表1、2所示。

由比较成果可见:

(1)选用流水线技能遍及比不必流水线作业速度明显进步,表现流水线技能在高速DSP运算上的优势。

(2)选用流水线技能在资源耗用(逻辑单元与存放器个数、存储器位数)上有所添加。

(3)选用不同的流水线级数在速度目标和资源耗用率上有所不同,流水线级数添加,速度目标不一定添加,但资源耗用大大添加,所以应留意速度和资源耗用目标的权衡。如对16位加法器,如不必M4K(专用存储器资源),以选用2级流水线最佳;如选用M4K,则取6级流水最佳。8位乘法器则以2级或6级流水最佳。关于其他DSP运算,在设计时有必要经过重复比较、规划,挑选契合体系功能要求的流水线级数。

1.2 不同位宽运算器相同流水线级数的功能比较

对选用6级流水的加法器和乘法器的数据位宽加以改动,经过归纳仿真,剖析其功能目标的改动,见表3。

由比较成果可见:选用相同的流水线级数时,作业速度底子相同,但耗用资源随输入位数的添加而急剧添加,加法器首要是逻辑单元LE个数的添加;乘法器则是存储器位和嵌入式乘法器个数的添加。因而,关于不同的运算器电路,应根据需求选用不同类型的FPGA器材以满意对不同资源的需求。如,仅作加法运算时,能够选用逻辑单元丰厚的FPGA器材女HACEX系列、FLEX等系列;乘加运算则需求挑选内嵌乘法器模块和存储器模块的Cyclone、CycloneII等系列。

2 、根据FPGA完结DSP流水线规划中应留意的其他问题

2.1 流水线规划办法的挑选

流水线规划可分为原理图和VHDL两种底子办法。

如前所述,用原理图输入法规划时,为进步规划功率,应充分运用带有LPM_PIPELINE的LPM模块,并运用QuartusII(供给了40多种LPM函数)编译器给出的LPM PIPELINE最佳数值(即最佳流水线级数),设定最佳LPM_PIPEINE值。

在无适宜的I PM模块可用时,需求用VHDL作为规划输入。

流水线技能的本质便是在恰当的当地参加存放器,将前面的运算成果或输入数据暂存,并鄙人一个时钟到来时,将存放值作为后一级运算的输入。因而在用VHDL描绘流水线时,只需对不含流水线的运算器描绘代码作恰当改写,施加必要的规划束缚即可完结。一般经过在进程中参加WAIT句子或IF_THEN句子来测验灵敏信号边缘,完结存放器或锁存器。

如运用WAIT句子,常用的描绘方法为:

PROCESS

BEGIN

wait until clk’event and clk=’1’; (上升沿触发)

reg《=x;

END PROCESS;

其间的x是指输入到所加流水线存放器reg中的数据。

运用IF_THEN句子,常用描绘办法为:

IF(clk’event and clk=’1’) THEN…

别的,用VHDL规划输入时也能够运用Altera所供给的LPM函数,但有必要在规划实体前使LPM库可现,即参加以下句子:

LIBRARY lpm;

USE lpm.lpm_components.ALL;

2.2 流水线的初次延时和存放器的触发时刻

对图1所示体系进行延时剖析,图中组合逻辑的推迟包含两级,合理规划的流水线结构中,其推迟时刻应大致持平,设为2Tpd,刺进每级存放器组的触发时刻为Tco。因而,从输入到输出总的等候时延为:TDl=2(Tpd+Tco),称为流水线规划的初次延时(First Latency)。关于接连的运算,因为加上存放器组后,每级核算后的中心成果都能暂时保存,下一个时钟到来时,能够直接参与下一级逻辑运算,无需等候从体系的输入端传来数据。因而,第二个成果及今后的运算成果的取得只需求一个时钟周期,等候的时延为:TD2=Tpd+TCO。

可见,流水线规划的初次延时与流水线正常延时比较要长得多。所以在挑选是否选用流水线技能时,要剖析DSP运算的频率。当需求进行接连运算(即流水线一直是满负荷)时,选用流水线能够大大进步数据吞吐率;但假如仅仅偶然需求加、乘运算,因为初次延时大于非流水线办法下的pin to pin延时,流水线运用作用变差,并且还献身了额定的芯片资源,所以不引荐运用流水线。在FPGA/CPLD中,器材的延时Tpd要比存放器的触发时刻TCO长得多,一般剖析流水线吞吐延时能够疏忽TCO。可是在高速运算场合或流水线技能较多时(如视频信号处理或无线通信中的数据处理),TCO与Tpd比较已不行疏忽,有必要细心挑选流水线的级数,避免TCO的影响形成流水线的瓶颈。

2.3 嵌入式存储器块资源的充分运用

在FPGA器材中,嵌入式存储器块(Embedded Memory)是为支撑各种存储器运用和DSP运用供给的专门资源。如Altera公司FLEX10K系列器材供给了3个嵌入式阵列块EAB,每个EAB供给可灵敏设置的2048位RAM,Cyclone系列供给了数十个M4K资源,每个M4K供给4608位RAM,可独自运用,也可组合运用。运用EAB或M4K构建运算器如乘法器,本质是构成乘法查找表,其运算速度比选用LPM的乘法器速度更快,仅仅因为资源有限,只能完结小型乘法器。如能把根据嵌入式阵列块的小型乘法器和流水线技能相结合,则能够完结运算量和速度的进一步进步。

2.4 操控流水线和数据流水线的区分

因为数字信号处理体系复杂性的不断进步,在运用流水线技能完结DSP运算规划时,还有一个需求考虑的问题便是操控流水线和数据流水线的区分问题。如在高速数据收集与处理体系中,采样数据的处理首要触及DSP运算,能够归入数据流水线。各输入通道传感器与信号调度电路的选通操控、模数转化、数据缓冲与传送、数据运算操控则需求主控芯片完结,如图2所示。高速主控芯片能够选用FPGA器材,选用流水线技能,将数据收集与处理进程中的通道挑选、模数转化、数据缓冲与发送、数据运算四部分的操控进程规划为四级流水线进程,以削减数据收集与处理的均匀作业时刻,完结高速率的数据收集。主控芯片的流水线技能能够归入操控流水线领域。

3 、定论

经过试验比照,验证了运用流水线技能能够完结根据FPGA器材的高速DSP运算。在详细运算器规划中要经过归纳进程,比较和优选流水线级数以满意速度和资源优化的需求。DSP体系在进行流水线规划时要根据运算频率清晰用否流水线,合理区分操控流水线和数据流水线,还要留意合理选用原理图和VHDL描绘,充分运用带有LPM_PIPELINE的LPM和EAB(M4K)等资源,最大极限进步体系数据吞吐率和规划功率。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/86268.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部