1.4.2 FPGA的特点及优势
作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既克服了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以毫不夸张地讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法或硬件描述语言,自由设计一个数字系统。通过软件仿真,可以事先验证设计的正确性。在完成PCB以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。使用FPGA开发数字电路,可以大大缩短设计时间,减小PCB面积,提高系统的可靠性。当需要修改FPGA功能时,只需更换EPROM中的程序数据即可。这样,用同一片FPGA,用不同的编程数据可以产生不同的电路功能,因此FPGA的使用非常灵活。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前,FPGA的品种很多,有Xilinx的XC系列产品、TI公司的TPC系列产品、Altera公司的FIEX系列产品等。
DSP主要是用来计算的,如进行加密解密、调制解调等,优势是具有强大的数据处理能力和较高的运行速度。ARM具有较强的事务管理功能,可以用来运行界面和应用程序等,其优势主要体现在控制方面。FPGA可以用VHDL或Verilog HDL来编程,灵活性高,由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,因为这种能力可以用来进行系统升级或除错。
任何信号处理器性能的鉴定都必须包括该器件是否能在指定的时间内完成所需的功能。其中一种最基本的鉴定方法就是多个乘加运算处理时间的测量。考虑一个具有16个抽头的简单FIR滤波器,要求其在每次采样中都完成16次乘积和累加(MAC)操作。德州仪器公司的TMS320C6203 DSP具有300MHz的时钟频率,在合理的优化设计中,每秒可完成4亿至5亿次MAC操作。这意味着C6203系列器件的FIR滤波器具有最高为3100万次采样每秒的输入速率。在FPGA中,所有16次MAC操作均可并行执行。对于Xilinx的Virtex器件,16位MAC操作大约需要配置160个结构可重置的逻辑块(CLB),因此16个并发MAC操作的设计实现将需要大约2560个CLB。XCV300E可轻松地实现上述配置,并允许FIR滤波器工作在1亿次采样每秒的输入速率。
无线通信技术发展的理论基础之一是软件无线电技术,而数字信号处理技术无疑是实现软件无线电技术的基础。无线通信一方面正向语音和数据综合的方向发展;另一方面,在手持PDA产品中越来越多地需要综合移动技术,这对应用于无线通信中的FPGA芯片提出了严峻的挑战,其中最重要的三个方面是功耗、性能和成本。为适应无线通信的发展需要,FPGA系统芯片(System on a Chip, SoC)的概念、技术、芯片应运而生。利用系统芯片技术将尽可能多的功能集成在一片FPGA芯片上,使其具有速率高、功耗低的性能特点,不仅价格低廉,还可以降低复杂性,便于使用。
实际上,FPGA器件的功能早已超越了传统意义上的胶合逻辑功能。随着各种技术的相互融合,为了同时满足运算速度、复杂度,以及降低开发难度的需求,目前在数字信号处理领域及嵌入式技术领域,“FPGA+DSP+ARM”的配置模式已浮出水面,并逐渐成为标准的配置模式。