Xilinx FPGA数字信号处理设计:基础版
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4 FPGA与其他处理平台的比较

目前,用于数字信号处理的平台主要有ASIC、DSP、ARM和FPGA。随着半导体芯片生产工艺的不断发展,这几种平台的应用领域出现了相互融合的趋势,但因各自侧重点的不同,依然有各自的优势及鲜明的特点。关于这几种平台的性能、特点、应用领域等方面的比较分析,一直都是广大技术人员讨论的热点之一。相对而言,ASIC只提供可以接受的可编程性和集成水平,通常可为指定的功能提供最佳解决方案;DSP可为涉及复杂分析或决策分析的功能提供最佳可编程解决方案;ARM在需要嵌入式操作系统、可视化显示等的领域得到广泛的应用;FPGA可为高度并行或涉及线性处理的高速信号处理功能提供最佳的可编程解决方案。

1.4.1 ASIC、DSP、ARM的特点

ASIC是Application Specific Integrated Circuit的英文缩写,是一种为专门目的而设计的集成电路。ASIC设计主要有全定制(Full-Custom)设计和半定制(Semi-Custom)设计。半定制设计又可分为门阵列设计、标准单元设计、可编程逻辑设计等。全定制设计完全由工程师根据工艺,以尽可能高的速度和尽可能小的面积,独立地进行芯片设计。全定制设计虽然灵活性不高,但可以达到最优的设计性能,缺点是需要花费大量的时间与人力来进行人工布局布线,而且一旦需要修改内部设计,将会影响到其他部分的布局,所以这种设计方式的成本相对较高,适合大批量的ASIC芯片设计,如存储芯片的设计等。相比之下,半定制设计是一种基于库元件的约束性设计,约束的主要目的是简化设计、缩短设计周期,并提高芯片的成品率。半定制设计更多地利用EDA(Electronics Design Automation,电子设计自动化)系统来完成布局布线等工作,可以大大减少工作量,因此半定制设计比较适合小规模的生产和实验。

DSP(Digital Signal Processor,数字信号处理器)是一种独特的微处理器,有自己完整的指令系统,是以数字信号来处理大量信息的器件。DSP内包括控制单元、运算单元、各种寄存器,以及一定数量的存储单元等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的功能,本身就是一个微型计算机系统。DSP采用的是哈佛结构,即数据总线和地址总线分开,将程序和数据分别存储在两个独立的空间,允许取指令和执行指令完全重叠。也就是说,在执行上一条指令的同时就可取出下一条指令,并进行译码,这就大大提高了DSP的速度。另外,DSP还允许在程序存储空间和数据存储空间之间进行数据传输,从而增加了其灵活性。DSP的工作原理是将接收到的模拟信号转换为数字信号(0或1),再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字信号转换成模拟信号。DSP不仅具有可编程性,还能以每秒数千万条复杂指令来运行程序,其速率远远超过了通用微处理器,是数字信号处理领域中重要的芯片。DSP具有强大的数据处理能力和较高的运算速度,是其两大特色。DSP具有运算能力强、速度快、体积小、灵活性高(采用软件编程)等特点,适合各种复杂的应用。当然,与通用微处理器相比,DSP的其他通用功能相对较弱。

ARM(Advanced RISC Machines,高级精简指令集计算机)是一种32位高性能、低功耗的精简指令集(Reduced Instruction Set Computing,RISC)芯片,它由ARM公司设计,几乎所有的半导体厂商都在生产基于ARM体系结构的通用芯片,或在其专用芯片中嵌入ARM的相关技术。ARM只是一个微处理器核,ARM公司自己不生产芯片,半导体厂商向ARM公司购买各种微处理器核,通过配置不同的控制器(如LCD控制器、SDRAM控制器、DMA控制器等)和外设,生产各种基于ARM核的微处理器。目前,基于ARM体系结构微处理器的型号有数百种,在国内市场上,常见的有ST、TI、NXP、Atmel、Samsung、OKI、Sharp、Hynix、Crystal等半导体厂商的芯片。用户可以根据各自的需求,从性能和功能等方面选择最合适的微处理器来设计自己的应用系统。由于ARM采用向上兼容的指令系统,用户开发的软件可以非常方便地移植到更高版本的ARM平台。基于ARM体系结构的微处理器通常都具有体积小、功耗低、成本低、性能高、速度快等特点,广泛应用于工业控制、无线通信、网络产品、消费类电子产品、安全产品等领域。

1.4.2 FPGA的特点及优势

作为专用集成电路领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有PLD门电路数量有限的缺点。可以毫不夸张地讲,FPGA可以完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。FPGA如同一张白纸或一堆积木,工程师可以通过传统的原理图输入法或硬件描述语言设计一个数字系统。通过软件仿真,可以验证设计的正确性。在完成PCB设计后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。使用FPGA来开发数字电路,可以大大缩短设计的时间、减少PCB的面积、提高系统的可靠性。当需要修改FPGA的功能时,只需修改EPROM中的程序即可。同一片FPGA,通过不同的程序就可以实现不同的电路功能,因此,FPGA的使用非常灵活。可以说,FPGA是小批量系统提高系统集成度、可靠性的最佳选择之一。目前,FPGA的品种很多,如Xilinx的XC系列、TI公司的TPC系列、Altera公司的FIEX系列等。

FPGA和DSP、ARM的区别是什么呢?DSP主要是用来“计算”的,如进行加/解密、调制/解调等,其优势是具有强大的数据处理能力和较高的运算速度。ARM具有比较强的事务管理功能,可以用来运行界面和应用程序等,其优势主要在控制方面。FPGA可以通过VHDL或Verilog HDL来编程,灵活性强,可以充分地进行设计、开发和验证。当电路有少量改动时,更能凸显FPGA的优势,其现场编程能力既可以延长产品的寿命,也可以用来进行系统升级或除错。

在评估信号处理器件的性能时,必须考虑该器件是否能在规定的时间内实现所需的功能。在这类评估中,最基本的方法就是测量多个乘、加运算的处理时间。例如,一个具有16个抽头的FIR滤波器,该滤波器要求在每次采样中完成16次乘积和累加(MAC)运算。TMS320C6203的时钟信号频率为300 MHz,在合理的优化设计中,每秒可完成4亿至5亿次的MAC运算。这意味着基于TMS320C6203的FIR滤波器具有每秒3100万次的采样输入速率。但使用FPGA时,所有的16次MAC运算均可并行执行,对于Xilinx公司的Virtex系列FPGA来说,16次的MAC操作大约需要160个CLB,因此并行执行的16次MAC运算大约需要2560个CLB。在XCV300E上可以轻松地实现上述设置,并允许FIR滤波器在每秒1亿次的采样输入速率下工作。

目前,无线通信技术的发展十分迅速。无线通信技术的理论基础之一是软件无线电技术,而数字信号处理技术无疑是实现软件无线电技术的基础。无线通信一方面向语音和数据综合的方向发展;另一方面,在手持PDA产品中越来越多地需要无线通信技术。这一要求对应用于无线通信中的FPGA提出了严峻的挑战,其中最重要的三个要求是功耗、性能和成本。为了适应无线通信的发展需要,系统芯片(System on a Chip,SoC)的概念、技术和芯片应运而生。利用系统芯片可以将尽可能多的功能集成在一片FPGA上,使其具有高速率、低功耗的特点,不仅价格低廉,还可以降低复杂性,易于使用。

实际上,FPGA的功能早已超越了传统意义上的胶合逻辑功能。随着各种技术的相互融合,为了同时满足运算速度、复杂度,以及降低开发难度的需求,在数字信号处理领域及嵌入式系统领域,“FPGA+DSP+ARM”的配置模式已浮出水面,并逐渐成为标准的配置模式。