您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

利用Spartan-3 FPGA实现高性能DSP成果

发布日期:2011-04-17

    Spartan-3 FPGA能以突破性的价位点实现嵌入式DSP成果。本文叙述了Spartan-3 FPGA针对DSP而优化的特性,并通过实现示例阐发了它们在性能和本钱上的上风。

     全部低本钱的FPGA都以颇具吸引力的代价提供根本的逻辑性能,并能餍足遍及的多用途计划需求。然而,当思量在FPGA布局中嵌入DSP成果时,必须选择高端FPGA以得到诸如嵌入式乘法器和散布式存储器等平台特性。

    Spartan-3 FPGA的面世变化了嵌入式DSP的应用远景。固然Spartan-3系列器件的价位大概较低,但它们同样具有DSP计划所需的平台特性。这些平台特性可以或许以较高的面积利用率实现信号处理惩罚成果,使计划到达更低价位点。

    Spartan-3器件用作协处理惩罚器或预/后处理惩罚器黑白常抱负的,它们将运算麋集型成果从可编程DSP上卸载下来以加强体系性能。

    针对DSP而优化

    赛灵思公司的Spartan-3器件采取90nm工艺技能以及300mm晶圆,大大低落了FPGA的本钱。与此同时,这些器件还包括诸如嵌入式18×18位乘法器、大块存储器(18kb)、散布式RAM以及移位寄存器等关键DSP资源。这些高级特性意味着采取Spartan-3 FPGA,能以比别的竞争FPGA低得多的价位实现DSP算法。

图1:加强型架构容许用
单个LUT代替16个寄存器。



























除增长体系的基天性能之外,这些嵌入式特性还能进步器件的利用率。比方,要是在逻辑布局中实现Spartan-3嵌入式乘法器,必要占用300~400个逻辑单位(LE)。别的,由于嵌入式乘法器紧邻逻辑布局,以是拓展其成果(比如创建加法器大概级联多个乘法器来支持巨大的算法成果)黑白常大略的。

为进步服从,很多DSP成果以时分复用的情势在管道中得以很好实现。如许做固然能创建带宽更高、速率更快的体系,但同时也将面对更多临时存储单位需求而带来的本钱增长。譬如,时分复用滤波器必要将各个乘法-累加单位的结果存储在移位寄存器里。这种计划将在用完FPGA的逻辑资源之前就大概耗尽寄存器或存储器资源。Spartan-3 FPGA系列的独特之处在于它们可提供如许一种模式:一个查找表(LUT)可以或许实行逻辑成果或配置成一个16位移位寄存器。

如图1所示,这种加强型的架构容许用单个LUT来代替16个寄存器,在实现时分复用DSP成果时能使面积利用率最大化。

很多DSP成果也需占用大量的存储器资源,它们必要便笺存储器来生存系数、实行FIFO以及得到较大的缓冲区。与如今利用的别的低本钱FPGA相比,Spartan-3器件可提供更多的存储位数。对付很多DSP计划而言,最紧张的资源是FPGA内的嵌入式存储器,而不是逻辑电路大概乘法器。由于存储资源不敷,采取竞争的低本钱器件的计划工程师不得不选用更大范围的器件或采取外部存储器来构建体系,而这些体系只需一片体积很小的Spartan-3 FPGA就可以得到实现。

常见的DSP成果实现

下面通过阐发有限打击相应(FIR)滤波器的两个实现示例来阐明这些特性是怎样影响器件的利用率。一个是基于乘法累加器(MAC)的实现,另一个是基于多通道散布式算法(DA)的实现。

FIR滤波器通常应用于基站、数字视频、无线局域网、xDSL以及有线调制解调器。测试基准是在Spartan-3 XC3S400 FPGA中实现频率为130MHz、数据和系数均为16位的64抽头MAC FIR滤波器。第一个实现仅用了一个MAC,第二个实现则用了四个MAC。

从采取单个MAC的实现到采取四个MAC的实现可明显增长FIR滤波器的性能,而LUT数量只增长一倍并仍仅占总可用逻辑资源的4%。四个MAC的实现利用了四块RAM和四个MAC,以最少的器件逻辑资源高效地实现了FIR滤波器。

另一个风趣的实现是多通道FIR成果的实现,在这里可以看到从单通道FIR滤波器到8通道FIR滤波器,器件利用率是怎样变革的。

实现单通道散布式算法FIR滤波器利用了XC3S1000 Spartan-3器件29%的逻辑资源和39%的寄存器资源。当实现同样的8通道滤波器时,通常将差别通道举行时分复用来生存逻辑,但这将占用很多寄存器大概大量的片内存储器来存放中间结果。

要是利用Spartan-3 FPGA,中间结果将被存放在由LUT配置成的16位移位寄存器(SRL-16)中。如许,实现同样的8通道滤波器只多利用10%的可用逻辑资源和7%的可用寄存器资源,也便是说,构建8个通道仅多占用25%的器件资源。

这种明显的资源节省与Spartan-3器件中SRL-16的利用有直接干系,在8通道实现中另有别的1,343个LUT被用作SRL-16模式。

要是在不支持SRL-16性能的FPGA中实现这种计划,将必要分外的10,744(1343×8)个触发器用作存储单位,这就必须选用大范围器件以提供数量巨大的寄存器,同时将也会斲丧相干的组合逻辑资源。