使用FPGA解决DSP设计难题
时间:10-08
来源:互联网
点击:
在传统DSP和FPGA之间选择
传统的数字处理器已经有多年的应用历史,当然有为特定问题提供最佳解决方案的实例。如果系统采样率低于数kHz且为单通道方案,DSP可能是不二之选。但是,当采样率增加到数MHz以上,或者如果系统要求多通道,FPGA就越来越有优势。在高数据率条件下,DSP可能只能勉为其难地在不造成任何损耗的情况下采集、处理和输出数据。这是因为在处理器中存在大量的共享资源、总线乃至内核。然而,FPGA却能够为每项功能提供专门的资源。
DSP是基于指令而非基于时钟的器件。一般来讲,对单个样本上的任何数学运算需要三到四条指令。数据必须首先经输入端采集,再发送到处理内核,每完成一次运算后再循环通过内核,然后发送到输出端。相比之下,FPGA基于时钟,所以每个时钟周期都有可能在输入数据流上进行一次数学运算。
由于DSP的运算以指令或代码为基础,编程机制为标准C语言,或者在需要更高性能的情况下,采用低级汇编语言。这种代码可能包含高级的决策树或者转移操作,而难以在FPGA中实现。例如,存在大量的用于执行如音频和电话编解码器之类的预定义功能或标准的遗留代码。
FPGA厂商和第三方合作伙伴已经意识到将FPGA用于高性能DSP系统的优势,并且如今已有许多IP核广泛应用于视频、图像处理、通信、汽车、医疗和军用等大部分垂直应用市场。与将高级系统框图映射成为C语言代码的DSP设计相比,将高级系统框图分解为FPGA模块和IP核会更加简便易行。
从DSP转向FPGA
研究一些主要标准将有利于在传统DSP和FPGA之间作出选择(请参见表1)。
表1: 传统DSP和FPGA之间的比较
软件编程人员的数量远远超过硬件设计人员的数量,这已是不争的事实。DSP编程人员的数量与FPGA设计人员的数量之间的关系也是如此。不过,让系统架构师或者DSP设计人员转为使用FPGA的难度,并不像让软件编程人员转为从事硬件设计那么大。有大量的资源可以大大简化DSP算法开发和FPGA设计工作的学习过程。
主要的障碍是从基于样本和事件的方法转向基于时钟的问题描述和解决方案。如果能够在设计流程的系统架构和定义阶段就能够完成,对这种转换的理解和应用就会简单得多。由不同的工程师和数学专家来定义系统架构(DSP算法和FPGA设计在某种程度上相互孤立)是很寻常的事情。当然,如果每个成员对其他小组成员面临的难题有一定程度认识的话,这个过程会顺利得多。要掌握FPGA方案,架构师不需要精通FPGA设计。只需对器件、资源和工具有基本的了解就够了。
DSP 电子 FPGA 电路 VHDL Verilog 滤波器 C语言 Xilinx 总线 解码器 相关文章:
- F1aSh存储器在TMS320C3X系统中的应用(11-11)
- 基于PIC18F系列单片机的嵌入式系统设计(11-19)
- DSP在卫星测控多波束系统中的应用(01-25)
- 基于PCI总线的双DSP系统及WDM驱动程序设计(01-26)
- 利用Virtex-5 FPGA实现更高性能的方法(03-08)
- DSP与单片机通信的多种方案设计(03-08)