赞
踩
(1)ASIC:即专用集成电路(Application Specific Integrated Circuit)的简称。电子产品中,它们无所不在,还真是比 FPGA 普及得多得多。但是 ASIC 的功能相对固定,它是为了专一功能或专一应用领域而生,希望对它进行任何的功能和性能的改善往往是无济于事的。
ASIC 是布满铅字的印刷品,那么 FPGA 就是可以自由发挥的白纸一张。
(2)FPGA:使用了 FPGA 器件的电子产品,在产品发布后仍然可以对产品设计作出修改,大大方便了产品的更新以及针对新的协议标准作出的相应改进,从而可以加速产品的上市时间,并降低产品的失败风险和维护成本。相对于无法对售后产品设计进行修改的 ASIC 来说,这是 FPGA特有的一个优势。由于 FPGA 可编程的灵活性以及近年来电子技术领域的快速发展,FPGA 也正在向高集成、高性能、低功耗、低价格的方向发展,并且逐渐具备了与 ASIC 相当的性能,使其被广泛地应用在各行各业的电子及通信设备中。
(3)相同点:当然,FPGA 与 ASIC 的开发过程有一些共通之处(当然并不完全一样,区别也是有的),例如它们都可以使用硬件编程语言 Verilog 或 VHDL,它们在时序设计、仿真验证方面的基本原理、方法或优化技巧基本是相通的。ASIC 开发通常分为前端和后端,前端是后端的输入,前端最终的产出是一个能够描述所实现功能的逻辑门电路及其连接的网表,FPGA 在综合后也是得到一个类似的网表;ASIC 设计后端的任务是把前端得到的网表通过布局布线(需要人工参与)映射到具体的物理结构上,而 FPGA 上与此类似的映射过程通常完全由开发工具包办了,它并不需要设计者太多的参与。当然了,从这样简单的开发对比也可以多少体会到 ASIC 和 FPGA 在成本、功耗或性能上为何存在差异。
1、在考虑是否使用 FPGA 技术来实现目标产品时,我们需要重点从以下几个方面进行评估。
● 可升级性——产生在设计过程中,甚至将来产品发布后,是否有较大的功能升级需求?是否应该选择具有易于更换的同等级、不同规模的 FPGA 器件?
● 开发周期——产品开发周期是否非常紧迫?若使用 FPGA 开发,是否比其他方案具有更高的开发难度,能否面对必须在最短的时间内开发出产品的挑战?
● 产品性能——产品的数据速率、吞吐量或处理能力上是否有特殊要求?是否应该选择性能更好或速度等级更快的 FPGA 器件?
● 实现成本——是否有基于其它 ASIC、ARM 或 DSP 的方案,能够以更低的成本实现设计?FPGA 开发所需的工具、技术支持、培训等额外的成本有哪些?通过开发可复用的设计,是否可以将开发成本分摊到多个项目中?是否有已经实现的参考设计或者IP 核可供使用?
● 可用性——器件的性能和尺寸的实现,是否可以赶上量产?是否有固定功能的器件可以代替?在产品及其衍生品的开发过程中,是否实现了固定功能? ● 其它限制因素——产品是否要求低功耗设计?电路板面积是否大大受限?工程实现中是否还有其它的特殊限制?
2、基于以上的这些考虑因素,我们可以从如下三大方面总结出在产品的开发或产品的生命周期中,使用 FPGA 技术实现所能够带来的潜在优势。
● 灵活性:
可重编程,可定制。
易于维护,方便移植、升级或扩展。
降低 NRE 成本,加速产品上市时间。
支持丰富的外设接口,可根据需求配置。
● 并行性
更快的速度、更高的带宽。
满足实时处理的要求。
● 集成性
更多的接口和协议支持。
可将各种端接匹配元件整合到器件内部,有效降低 BOM 成本。
单片解决方案,可以替代很多数字芯片。
减少板级走线,有效降低布局布线难度。
3、以下这些方面看,选择 FPGA 技术来实现产品的开发设计有时并不是明智的决定。
● 在某些性能上,FPGA 可能比不上专用芯片;或者至少在稳定性方面,FPGA 可能要逊色一些。
● 如果设计不需要太多的灵活性,FPGA 的灵活性反而是一种浪费,会潜在的增加产品的成本。
● 相比特定功能、应用集中的 ASIC,使用 FPGA 实现相同功能可能产生更高的功耗。
● 在 FPGA 中除了实现专用标准器件(ASSP)所具有的复杂功能,还得添加一些额外的功能,实属一大挑战。FPGA 的设计复杂性和难度可能会给产品的开发带来一场噩梦。
1、从技术角度来看,主要是有以下需求的应用场合。
● 逻辑粘合,如一些嵌入式处理常常需要地址或外设扩展,CPLD 器件尤其适合。今天已经少有项目会选择一颗 FPGA 器件专门用于逻辑粘合的应用,但是在已经使用的FPGA 器件中顺便做些逻辑粘合的工作倒是非常普遍。
● 实时控制,如液晶屏或电机等设备的驱动控制,此类应用也以 CPLD 或低端 FPGA 为主。
● 高速信号采集和处理,如高速 AD 前端或图像前端的采集和预处理,近年来持续升温的机器视觉应用也几乎是无一例外的都使用了 FPGA 器件。
● 协议实现,如更新较快的各种有线和无线通信标准、广播视频及其编解码算法、各种加密算法等,诸如此类小批量、定制化、更新换代频繁的应用使用FPGA 比 ASIC更有竞争力。
● 各种原型验证系统。由于工艺的提升,流片成本也不断攀升,而在流片前使用 FPGA做前期的验证已成为非常流行的做法。
● 并行计算。过去传统的 CPU 计算受限于其串行顺序处理的架构,已经很难适应今天的云计算和数据中心对大数据运算的需求了;而 GPU 虽然在并行处理以及所使用的高级编程语言上有不小的优势,也在过去一段时间内成为了此类应用的主流方案,但也受限于极高的成本和功耗代价;相比之下,单位功耗性能是 GPU的 3~4 倍的 FPGA则大有取而代之之势。
● 片上系统,如 Altera 公司的 Soc FPGA 和 Xilinx 公司的 Zynq,这类 FPGA 器件,既有成熟的 ARM 硬核处理器,又有丰富的 FPGA 资源,大有单芯片一统天下的架势。
2、若从具体的行业细分来看,
FPGA 开发流程是三个阶段,
第一个阶段是概念阶段,或者也可以称之为架构阶段,这个阶段的任务是项目前期的立项准备,如需求的定义和分析、各个设计模块的划分;
第二个阶段是设计实现阶段,这个阶段包括编写 RTL代码、并对其进行初步的功能验证、逻辑综合和布局布线、时序验证,这一阶段是详细设计阶段;
第三个阶段是 FPGA 器件实现,除了器件烧录和板级调试外,其实这个阶段也应该包括第二个阶段的布局布线和时序验证,因为这两个步骤都是和FPGA 器件紧密相关的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。