在采用FPGA设计DSP系统中仿真的重要性
仿真是所有系统成功开发的基础。通过在不同条件、参数值和输入情况下对系统进行高级
行为仿真,工程师可以迅速找到、分离并纠正系统的设计问题。因为在这一阶段,比较容易
区分设计问题和编程问题。通过在系统级工作,设计人员可以确定这一阶段的问题是来自设
计缺陷,而不是编程问题。此外,在信号处理系统设计中使用基于模型的方法大大缩短了“错
误诊断延迟”时间——从设计中出现错误到发现错误并分离错误的时间。
在电信领域,一直采用现场可编程门阵列(FPGA)做为预/后处理器或者协处理器。语音电信
应用中的数字信号处理(DSP)要求输入数据为正常语音速率,具有严格的时序约束,要求能
在连续的输入数据采样间完成计算。采用DSP处理器之后,在整个计算中可以执行数万条指
令。但是,无线通信中,一个DSP处理器无法实时实现中频(IF)和基带调制解调器中的高速
算法。利用某些DSP处理器的多个处理单元可以克服指令带宽限制。然而,创建专用的流水
线代码以真正发挥这种并行(同时执行)的优势需要手工优化汇编语言例程。
对这类代码进行维护、重用和实现会产生很多问题,成本比较高。而且,实际的并行能力也
相对较弱。用于实现高带宽计算的比较好的替代方案是采用FPGA做为预/后处理器或者协处
理器,将重复算法和算法中对速率要求严格的部分集成到 FPGA中。采用FPGA和自动设计
软件后,工程师能够采用单纯用DSP不可能实现的方式来优化系统性能。
图1显示了FPGA的速率优势。由于是并行算法,因此,计算吞吐量和时钟周期数之比非常
高。现在单个FPGA能够实现几百个千兆MAC区。为了发挥这种性能潜力,可以利用 Altera
DSP Builder模块组构成的Simulink结构图来建立一个系统。DSP Builder的好处在于可通过采
用标准信号处理模块,在PLD中建立一个高速信号处理系统,而不必通过HDL编程。
设计人员可以利用DSP Builder中的模块,为Simulink中的以采样时间建模的系统生成硬件实
现。具体工具包括比特和周期精度级的 Simulink模块,包含算法和存储功能等基本操作。
Altera DSP IP库支持的复杂功能和子系统,也可以采用提供的DSP Builder模块组来集成。
FPGA中的DSP系统设计需要高级算法和后端HDL开发工具,将自动生成的HDL综合到硬件
中。采用这两种集成工具,设计人员不需要成为VHDL或者Verilog程序员。这些程序包是自
动系统生成工具,在其中对硬件系统组件进行定义、互联、仿真和验证,不需要进行下层的
HDL的编程。采用真正的 “指向然后点击”设计方法,完全在PC中将系统结构生成一个完整
的系统,对其进行仿真和验证,并下载到FPGA中。
图1.一个算法的串行和并行实现对比
DSP Builder使用 MathWorks公司的MATLAB工具和Simulink环境来生成信号处理系统。这一
工具结合了MATLAB/Simulink的算法开发、仿真、验证功能以及FPGA设计软件的硬件综合
和仿真功能。DSP Builder集成到Simulink中,系统、算法和硬件设计人员利用这一工具可以
共享使用“拖放”结构的开发平台。从大菜单选项中选择DSP Builder模块组的组件,将其放置
到Simulink工作空间中,用鼠标点击把它们连接起来。通过下拉菜单来控制指定组件的参数。