现场可编程门阵列(FPGA) 以其先进的特性,正在使越来越多的嵌入式控制系统设计人员能够更迅速、更容易适应创建基于FPGA的应用。预计2010 年全世界 FPGA 市场的产值,将达到 27 亿 5 千万美金。
什么是FPGA?
FPGA 是在 1984 年由 Xilinx 公司所发明,是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
在制造业和自动化背景,FPGA是非常适合在机器人和机床应用,以及风机,泵,压缩机和输送机的控制。 FPGA还经常被用来重新配置的I / O模块的功能。
最笼统来说,FPGAs 即为可再程序化的芯片。透过预先建立的逻辑区块与可程序化路由资源,不需更改面包板或焊锡部分,即可设定这些芯片以建置客制硬件功能。用户可于软件中开发数字运算系统 (Computing task) 并将之编译为组态档案或比特流 (Bitstream),可包含组件接线的相关信息。
此外,FPGA 完全为可重设性质,当使用者重新编译不同的电路设定时,可立刻拥有不同的特性。在过去,工程师必须深入了解数字硬件设计,才能够使用 FPGA 技术。然而,高阶设计工具的新技术可针对图形化程序区或 C 程序代码,转换为数字硬件电路,即变更了 FPGA 程序设计的规则。
FPGA的独特优势
FPGA 整合了 ASIC 与处理器架构系统的最佳部分,使 FPGA 芯片可应用于所有产业。FPGA 具有硬件频率的速度与可靠性CONTROL ENGINEERING China版权所有,且其仅需少量即可进行作业;可降低客制化 ASIC 设计的费用。可重新程序设计的芯片,具有与软件相同的弹性,却不受限于处理核心的数量。与处理器不同的是,FPGA 为实际的平行架构,因此不同的处理作业并不需要占用相同资源。每个独立的处理作业均将指派至专属的芯片区块,不需影响其他逻辑区块即可自动产生功能。因此,当新增其他处理作业时,应用某部分的效能亦不会受到影响。
效能 - 透过硬件的平行机制,FPGA 可突破依序执行 (Sequential execution) 的固定运算,并于每频率循环完成更多作业,以超越数字信号处理器 (DSP) 的计算功能。BDTI 为著名的分析公司,并于某些应用中使用 DSP 解决方案,以计算 FPGA 的处理效能2。于硬件层级控制 I/O 可缩短响应时间并特定化某些功能,以更符合应用需求。
上市时间 - 针对上市时间而言,FPGA 技术具有弹性与快速原型制作的功能。使用者不需进行客制化 ASIC 设计的冗长建构过程,即可于硬件中测试或验证某个观念3。并仅需数个小时即可建置其他变更作业,或替换 FPGA 设计。现成的 (COTS) 硬件亦可搭配使用不同种类的 I/O,并连接至用户设定的 FPGA 芯片。高阶软件工具正不断提升其适用性,缩短了抽象层 (Layer of abstraction) 的学习时间,并针对进阶控制与讯号处理使用 IP cores (预先建立的函式)。
成本 - 客制化 ASIC 设计的非重置研发 (NRE) 费用,远远超过 FPGA 架构硬件解决方案的费用。ASIC 的大型初始投资,可简单认列于 OEM 每年所出货的数千组芯片,但是许多末端用户更需要客制硬件功能,以用于开发过程中的数百组系统。而可程序化芯片的特性,即代表低成本的架构作业,或组装作业的长前置时间。由于系统需求随时在变化,因此若与 ASIC 的庞大修改费用相较,FPGA 设计的成本实在微不足道。
可靠性 - 正如软件工具提供程序设计的环境,FPGA 电路亦为程序执行的「坚强」建置方式。处理器架构的系统往往具有多个抽象层,以协助多重处理程序之间的作业排程与资源共享。驱动层 (Driver layer) 控制硬件资源,而操作系统则管理内存与处理器带宽。针对任何现有的处理器核心来说,每次仅可执行 1 组脚本;而处理器架构的系统则可连续处理重要作业。FPGA 不需使用操作系统,并将产生问题的机会降至最低,以平行执行功能与专属精密硬件执行作业。
长期维护 - 如稍早所提,FPGA 芯片为实时升级 (Field-upgradable) 特性,不需如 ASIC 重新设计的时间与费用。举例来说,数字通讯协议的规格可随时间而改变,而 ASIC 架构的接口却可能产生维护与向下兼容的问题。FPGA 具有可重设性质,可随时因应未来的需要而进行修改。当产品或系统趋于成熟时,不需耗时重新设计或修改机板配置,即可提升相关功能。
随着现代芯片工艺的改进,FPGA的等效系统门达到到几百万门,而且工作频率也随之提高。FPGA也就大量的在电子产品中出现。在通信行业,传输网,医疗仪器,各种电子仪器,安防监控,电力系统,汽车电子,消费类电子中都大面积的使用。随产品研发周期的逐步缩短,定制型产品的开发使FPGA在后面的应用面越来越广。例如在2G通信,3G通信,以后的4G通信控制工程网版权所有,wimax等等通信类的设备中它与DSP,MPU一起大量出现在其中。尤其是通信的数字化,软件无线电等概念涌现到电子行业的各个领域,芯片设计的工艺的改进,45nm工艺的出现,使得FPGA成为必不可少的流行的实惠的器件。
设计难点
在目前的电子行业中真正懂得FPGA设计的工程师是非常紧缺的,很多公司要找到合适的FPGA工程师还是要费一番周折。那么FPGA设计的难点在什么地方呢?FPGA设计的第一条就是要设计者做到:你虽然写的是软件,但是你是地地道道的硬件工程师!很多工程师都在用软件的思想在做www.cechina.cn,忽略了硬件本身。所以第一难点就是缺乏硬件思想的软件设计者。第二难点就是对时序电路概念不清晰,很多时候都知道程序运行中的实际时序问题。第三个难点就是对多时钟域的处理。第四个难点就是不清楚自己所应用的FPGA芯片的内部结构。第五个难点对开发软件没有真正吃透CONTROL ENGINEERING China版权所有,只是简单的应用,常常忽略了其中很中的一些属性设置和各个设计阶段的报告。第六个难点缺乏对FPGA周边硬件和所在系统的认识,使设计很被动。第七个难点程序设计没有问题,仿真也没有问题,综合也没有问题CONTROL ENGINEERING China版权所有,但是最后不一定布线通过,布线通过时序不合格,即使合格在不同环境下出现不稳定状态。