采用FPGA解决DSP设计难题
理和输出数据。这是因为在处理器中存在大量的共享资源、总线乃至内核。然而,FPGA却能够为每项功能提供专门的资源。
DSP是基于指令而非基于时钟的器件。一般来说,对单个样本上的任何数学运算需要三到四条指令。数据必须首先经输入端采集,再发送到处理内核,每完成一次运算后再循环通过内核,然后发送到输出端。相比之下,FPGA基于时钟,故每个时钟周期都有可能在输入数据流上进行一次数学运算。
由于DSP的运算以指令或代码为基础,编程机制为标准C语言,或者在需要更高性能的情况下,采用低级汇编语言。这种代码可能包含高级的决策树或者转移操作,而难以在FPGA中实现。例如:存在大量的用于执行如音频和电话编解码器之类的预定义功能或标准的遗留代码。
FPGA厂商和第三方合作伙伴已经意识到将FPGA用于高性能DSP系统的优势,并且如今已有许多IP核广泛应用于视频、图像处理、通信、汽车、医疗和军用等大部分垂直应用市常与将高级系统方框图映射成为C语言代码的DSP设计相比,将高级系统方框图分解为FPGA模块和IP核会更加简便易行。
从DSP转向FPGA
考查一些主要标准将有利于在传统DSP和FPGA之间做出决策(表1)。
软件编程人员的数量远远超过硬件设计人员的数量,这已是不争的事实。DSP编程人员的数量与FPGA设计人员的数量之间的关系也是如此。不过,让系统架构师或者DSP设计人员转为使用FPGA的难度,并不像让软件编程人员转为从事硬件设计那么大。有大量的资源可以显著减轻对DSP算法开发和FPGA设计工作的学习过程。
主要的障碍是从基于样本和事件的方法转向基于时钟的问题描述和解决方案。如果能够在设计流程的系统架构和定义阶段就能够完成,对这种转换的理解和应用就会简单得多。由不同的工程师和数学专家来定义系统架构(DSP算法和FPGA设计在某种程度上相互孤立)是很寻常的事情。当然,如果每个成员对其他小组成员面临的难题有一定程度认识的话,这个过程会顺利得多。
FPGA IP 嵌入式 PLD CPLD SoC 数字信号处理 消费电子 相关文章:
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- FPGA的DSP性能揭秘(06-16)