为什么利用FPGA来实现DSP系统,概括地说,因为FPGA是极高并行度的信号处理引擎,能够满足算法复杂度不断增加的应用要求,通过并行方式提供极高性能的信号处理能力。Xilinx的XtremeDSP模块,如图3所示,使得Virtex4/Sparten3
系列FPGA可以为高性能的数字信号处理提供理想的解决方案,达到传统上由ASIC或ASSP完成的高性能信号处理能力。可以针对数字通信和视频图象处理等应用开发高性能的DSP引擎,也可在可编程DSP系统中作为预处理器或协处理器等。Virtex4
SX系列中DSP48模块最多达到512个,工作频率达到500MHz,成为算术密集应用的理想器件。
DSP48模块是一个18x18位二进制补码乘法器,跟随一个48位符号扩展的加法器/减法器/累加器,适应DSP应用中的众多的功能。提高了操作数输入、中间积和累加器输出的可编程流水线操作,以及48位内部总线等的吞吐量和适应性,无需一般的结构布线就可以实现前一个DSP48的输出与后一个
DSP48输入的级联,增强了它的功能。
在复杂算法的数字处理系统中,系统要求的不断提高和集成规模的不断扩大,使得系统结构在设计的开始阶段是不明确的,不可能直接用RTL(寄存器转移级)设计方法进行描述,所以将系统集成到数字芯片中。
采用数字技术对复杂算法进行硬件实现时,首先遇到的问题是在结构上并没有预先的规定,因此需要首先对算法建模和仿真进行优化。与基于RTL针对结构清晰的设计方法不同,算法设计把焦点从针对结构的细节转移到对设计的整体要求和行为,在最高的算法层次上考虑如何进行设计,对系统的行为描述定义了设计要执行的算法,不涉及或很少涉及实现细节,因此行为描述比RTL描述要简洁的多。
Xilinx公司与MathWork和TI公司等许多技术上世界领先的公司合作,在设计技术上提供许多基于模型的系统设计新方法。
图4所示的DSP设计环境可以进行系统的数学建模,算法优化和改进,设计校验和诊断,以及
HDL产生和仿真等。涉及Xilinx的ISE硬件实现工具和嵌入系统开发包EDK,以及片内逻辑分析工具(ChipScope
Pro)等。第三方的工具包括MATLAB/SimuLink和ModelSim等,可以进行HDL协同仿真和硬件在环路的协同仿真等,一旦设计优化完成和仿真通过,可以直接利用IP核的网表文件进行硬件实现,设计的效率和可靠性大大提高。