嵌入式系统嵌入式系统/ARM技术中的插值查找表对技术中的插值查找表对FPGA的的DSP功能的实功能的实
现现
我们是否能够提供一款其功能可满足客户所有独特设计要求的DSP内核。有时候内核会太大,太小或者不够
快。有时,我们会开发一款能确切满足客户需求的内核,并迅速以CORE GeneratorTM商标推出。不过即便在
这种情况下,客户仍然想要一套特定的DSP功能,而且刻不容缓。在这些情况下,我常常建议他们使用我们器
件中的插值查找表来定制他们的DSP功能。 查找表 (LUT) 实质上是一个存储元件,能够根据任何给定的输
入状态组合,“查找”输出,以确保每个输入都有确切的输出。采用LUT来实现 DSP功能具有一些重大优势:
您可用诸如MATLAB?或Simulink?等高抽象层编程语言改变LUT内容。
我们是否能够提供一款其功能可满足客户所有独特设计要求的DSP内核。有时候内核会太大,太小或者不够快。有时,我们
会开发一款能确切满足客户需求的内核,并迅速以CORE GeneratorTM商标推出。不过即便在这种情况下,客户仍然想要一
套特定的DSP功能,而且刻不容缓。在这些情况下,我常常建议他们使用我们器件中的插值查找表来定制他们的DSP功能。
查找表 (LUT) 实质上是一个存储元件,能够根据任何给定的输入状态组合,“查找”输出,以确保每个输入都有确切的输
出。采用LUT来实现 DSP功能具有一些重大优势:
您可用诸如MATLAB?或Simulink?等高抽象层编程语言改变LUT内容。
您可以设计一项DSP功能来运行那些采用离散逻辑运算将极度困难的数学函数,比如l y="log"(x)、y=exp(x)、y=1/x、
y=sin(x) 等。
LUT还可轻松执行在可配置逻辑块 (CLB)l 芯片,以及嵌入式乘法单元或DSP48可编程乘法累加 (MAC) 单元方面可能要求
过多FPGA资源的复杂数学函数。
不过,以这种方式使用LUT当然也会存在一些弊端。当您使用LUT来实现DSP功能时,您必须使用块RAM (BRAM) 元
件。或者您有太多的运算需要执行,无法为每个变量省出64个BRAM单元,建议您放弃这种需要如此大量BRAM单元的方法,
从系统架构的角度来看,这种方法代价太大。
插值LUT方法不仅具有LUT方法在实现DSP功能时所带来的各种优势,而且无需使用太多BRAM单元。采用这种方法,您
可以使用来自容量较小的 LUT (比如,1000字 LUT)的连续输出,线性地对其内插,以模拟更大容量的LUT。这样,您就可以
实现比1000 字 LUT 更高的数值分辨率。此外,通过这种方法,仅需 1 个 BRAM、1 个嵌入式乘法器(或DSP48),以及少数几
个CLB芯片便可实施控制逻辑,因此LUT的使用成本变得更加合理化。而且,从信噪比的角度来看,其数值精度也是非常让人
满意。
当然,应用插值LUT (ILUT) 方法需要一定的技巧。举例来说,采用该方法执行y=sqrt(x) 函数时,可以清楚地显示ILUT在
面积占用、时序和数值精度方面的性能。我们先大致看一下这个示例,然后我再讲解部分实例,说明如何使用这种方法来满足
客户截然不同的需求,比如让传递函数呈非线性的传感器实现线性化。
使用 使用System Generator for DSP进行设计进行设计
MathWorks 与 Xilinx 合作开发而成,DSP 设计人员可使用 MATLAB 和 Simulink 工具在 FPGA 内进行开发和仿真来完善
DSP 设计。System Generator使DSP系统和算法开发商—不用写VHDL或Verilog编程—就能够利用来自MathWorks的
MATLAB 及 Simulink 来开发他们的设计。
一旦浮点建模完成,设计工程师采用赛灵思的比特及周期精确工具箱对其进行量化并自动生成HDL/RTL,用于赛灵思
FPGA的网表或完整的比特流,包括新的Virtex-5 LX 和 LXT器件。最后,设计工程师在Simulink环境内采用高带宽硬件在环仿
真来验证并调试实际FPGA上的设计。
随着FPGA技术愈加成熟,可以满足现今信号处理挑战的多数苛刻需求,FPGA设计方法必须使设计过程变得更加容易。
System Generator for DSP已经成为首选的结构,用于使用业界最先进的FPGA开发和调试的高性能DSP系统。这一工具提供
了高水平的提取,在按动按钮后可以自动编译进FPGA,在用低级程序语言例如VHDL实现设计时也不会损失性能。
System Generator是Xilinx XtremeDSP解决方案的一部分,这一解决方案结合了最先进的FPGA、设计工具、IP核和设计
教育服务。这一强有力的组合,为你提供了设计、验证和配置DSP算法以及FPGA中的系统的最快工具。关键特性 性能 - 轻松
构建并生成高性能DSP系统 - 利用Virtex-4 FPGA实现超高性能、复杂的DSP系统(例如500 MSPS并行过滤器 ) 高带宽硬件
系统仿真用于加速仿真业界仅有的FPGA硬件回路协同仿真接口支持Simulink和硬件平台的脉冲DMA传输,提高仿真速度上百
倍或上千倍。
嵌入式系统设计 – 构建针对Xilinx MicroBlaze 处理器的DSP协处理器。通过使用硬件协同仿真,System Generator
MicroBlaze块为设计DSP协处理器提供了接口、编译固件和Simulink中的系统调试。
混合语言设计- 引入HDL模块并利用ModelSim对它们进行协同仿真。在您的基于Simulink的设计中直接引入HDL模块并利
用ModelSim对它们进行协同仿真。 以系统速度进行在系统调试从System Generator内部插入Chipscope Pro探针来调试飞快
运行的系统检查和修改嵌入式存储器中的内容。
为在赛灵思FPGA上实施DPS算法,我借助了采用MathWorks Simulink基于模型设计方法的System Generator for DSP设
计与综合工具。System Generator得益于赛灵思在Simulink 环境中的DSP模块组,可自动调用CORE Generator为DSP构建块