FPGA的特点及优势,与ASIC、DSP与ARM有何不同?
1、ASIC、DSP 及 ARM 的特点
ASIC 是 Application Specific Integrated Circuit 的英文缩写,是一种为专门目的而设计的集成电路。ASIC 设计主要有全定制(full-custom)设计方法和半定制(semi-custom)设计方法。半定制设计又可分为门阵列设计、标准单元设计、可编程逻辑设计等等。全定制方法是完全由设计师根据工艺,以尽可能高的速度和尽可能小的面积以及完全满意的封装、独立地进行芯片设计。这种方法虽然灵活性高,而且可以达到最优的设计性能,但是需要花费大量的时间与人力来进行人工的布局布线,而且一旦需要修改内部设计,将不得不影响到其它部分的布局。所以,它的设计成本相对较高,适合于大批量的 ASIC 芯片设计,如存储芯片的设计等等。相比之下,半定制方法是一种基于库元件的约束性设计。约束的主要目的是简化设计、缩短设计周期,并提高芯片的成品率。它更多地利用了 EDA 系统来完成布局布线等工作,可以大大地减少设计工程师的工作量,因此它比较适合于小规模设计生产和实验。
DSP(DigitalSingnalProcessor,数字信号处理器)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP 采用的是哈佛结构设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为“0”或“1”的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。当然,与通用微处理器相比,DSP 芯片的其他通用功能相对较弱些。
ARM(Advanced RISC Machines/microprocessor)嵌入式处理器是一种 32 位高性能、低功耗的 RISC(Reduced Instruction Se tComputing,精简指令集)芯片,它由英国 ARM芯片 公司设计,世界上几乎所有的主要半导体厂商都生产基于 ARM 体系结构的通用芯片,或在其专用芯片中嵌入 ARM 的相关技术,如 TI、Motorola、Intel、Atmel、Samsung、Philips、Altera、Nec、Sharp、NS 等公司都有相应的产品。ARM 只是一个核,ARM 公司自己不生产芯片,采用授权方式给半导体生产商。目前,全球几乎所有的半导体厂家都向 ARM 公司购买了 各种 ARM 核,配上多种不同的控制器(如 LCD 控制器、SDRAM 控制器、DMA 控制器等)和外设、接口,生产各种基于 ARM 核的芯片。目前,基于 ARM 核的各种处理器型号有好几百种,在国内市场上,常见的有 ST、TI、NXP、Atmel、Samsung、OKI、Sharp、Hynix、Crystal 等厂家的芯片。用户可以根据各自的应用需求,从性能、功能等方面考察,在许多具体型号中选择最合适的芯片来设计自己的应用系统。由于 ARM 核采用向上兼容的指令系统,用户开发的软件可以非常方便地移植到更高的 ARM 平台。ARM 微处理器一般都具有体积小、功耗低、成本低、性能高、速度快的特点,目前 ARM 芯片广泛应用于工业控制、无线通信、网络产品、消费类电子产品、安全产品等领域,如交换机、路由器、数控设备、机顶盒、STB 及智能卡都采用了 ARM 技术,并在将来取得更广泛的应用。
图片来源网络
2、FPGA 的特点及优势
FPGA 是英文 Field Programmable Gate Array(现场可编程门阵列)的缩写,它是在 PAL、GAL、PLD 等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。FPGA 采用了逻辑单元阵列 LCA(Logic CellArray)这样一个 新概念,内部包括可配置逻辑模块 CLB(Configurable Logic Block)、输出输入模块 IOB (InputOutputBlock)和内部连线(Interconnect)三个部分。用户可对 FPGA 内部的逻辑模块和 I/O 模块重新配置,以实现用户的逻辑。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA 既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以毫不夸张的讲,FPGA 能完成任何数字器件的功能,上至高性能 CPU,下至简单的 74 电路,都可以用 FPGA 来实现。FPGA 如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在 PCB 完成以后,还可以利用 FPGA 的在线修改能力,随时修改设计而不必改动硬件电路。使用 FPGA 来开发数字电路,可以大大缩短设计时间,减少 PCB 面积,提高系统的可靠性。FPGA 是由存放在片内 RAM 中的程序来设置其工作状态的,因此工作时需要对片内的 RAM 进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA 芯片将 EPROM 中数据读入片内编程 RAM 中,配置完成后,FPGA 进入工作状态。掉电后,FPGA 恢复成白片,内部逻辑关系消失,因此,FPGA 能够反复使用。FPGA 的编程无须专用的 FPGA 编程器,只须用通用的 EPROM、PROM 编程器即可。当需要修改 FPGA 功能时,只需换一片 EPROM 即可。这样,同一片 FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA 的使用非常灵活。可以说,FPGA 芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前 FPGA 的品种很多,有 XILINX 的 XC 系列、TI 公司的 TPC 系列、ALTERA 公司的 FIEX 系列等。
3、他们的区别是什么呢?
DSP 主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。ARM 具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,而 FPGA 可以用 VHDL 或 verilogHDL 来编程,灵活性强,由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出 FPGA 的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。
任何信号处理器件性能的鉴定必须包括衡量该器件是否能在指定的时间内完成所需的功能。这类评估中一种最基本的测量方法就是 1024 点快速傅立叶变换(FFT)处理时间的测量。考虑一个具有 16 个抽头的简单 FIR 滤波器。该滤波器要求在每次采样中完成 16 次乘积和累加(MAC)操作。德州仪器公司的 TMS320C6203DSP 具有 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 加 CPU 的配置模式已浮出水面,并逐渐成为标准的配置模式。
ARM 具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,而 DSP 主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。FPGA 可以用 VHDL 或 verilogHDL 来编程,灵活性强,由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出 FPGA 的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。
广义的嵌入式无非几种:传统的什么 51、AVR、PIC 称做嵌入式微控制器;ARM 是嵌入式微处理器;DSP;FPGA。
客观的讲,工作需求量上 DSP 的需求比 ARM 要多,而 ARM 和 FPGA 差不多。
DSP 因为数字处理与通信领域的空前发展而火暴,小到 MP3 射像头,大到军品里的控制器,应用面很广。
FPGA 的兄弟一般做 ASIC,sopc. 而 ARM 单纯说来并不比一个单片机强多少,但是它的独特就在于不断下降的价格和提升的性能。