集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2237|回复: 1

FPGA快速入门-FPGA发展概述

[复制链接]
lxw 发表于 2019-6-22 17:56:19 | 显示全部楼层 |阅读模式
FPGA快速入门-FPGA发展概述
若要准确评估FPGA技术能否满足开发产品的功能、性能以及其它各方面的需求,深入理解FPGA技术是至关重要的。在产品的整个生命周期中,如果产品功能可能会有较大的升级或变更,那么使用FPGA技术来实现就会有很大的优势。
在考虑是否使用FPGA技术来实现目标产品时,我们需要重点从以下几个方面进行评估。
● 可升级性——产生在设计过程中,甚至将来产品发布后,是否有较大的功能升级需求?是否应该选择具有易于更换的同等级、不同规模的FPGA器件?
● 开发周期——产品开发周期是否非常紧迫?若使用FPGA开发,是否比其他方案具有更高的开发难度,能否面对必须在最短的时间内开发出产品的挑战?
● 产品性能——产品的数据速率、吞吐量或处理能力上是否有特殊要求?是否应该选择性能更好或速度等级更快的FPGA器件?
● 实现成本——是否有基于其它ASIC、ARM或DSP的方案,能够以更低的成本实现设计?FPGA开发所需的工具、技术支持、培训等额外的成本有哪些?通过开发可复用的设计,是否可以将开发成本分摊到多个项目中?是否有已经实现的参考设计或者IP核可供使用?
● 可用性——器件的性能和尺寸的实现,是否可以赶上量产?是否有固定功能的器件可以代替?在产品及其衍生品的开发过程中,是否实现了固定功能?
● 其它限制因素——产品是否要求低功耗设计?电路板面积是否大大受限?工程实现中是否还有其它的特殊限制?
基于以上的这些考虑因素,我们可以从如下三大方面总结出在产品的开发或产品的生命周期中,使用FPGA技术实现所能够带来的潜在优势。
● 灵活性:
可重编程,可定制。
易于维护,方便移植、升级或扩展。
降低NRE成本,加速产品上市时间。
支持丰富的外设接口,可根据需求配置。
● 并行性
更快的速度、更高的带宽。
满足实时处理的要求。
● 集成性
更多的接口和协议支持。
可将各种端接匹配元件整合到器件内部,有效降低BOM成本。
单片解决方案,可以替代很多数字芯片。
减少板级走线,有效降低布局布线难度。
当然了,在很多情况下,FPGA不是万能的。FPGA技术也存在着一些固有的局限性。从以下这些方面看,选择FPGA技术来实现产品的开发设计有时并不是明智的决定。
● 在某些性能上,FPGA可能比不上专用芯片;或者至少在稳定性方面,FPGA可能要逊色一些。
● 如果设计不需要太多的灵活性,FPGA的灵活性反而是一种浪费,会潜在的增加产品的成本。
● 相比特定功能、应用集中的ASIC,使用FPGA实现相同功能可能产生更高的功耗。
● 在FPGA中除了实现专用标准器件(ASSP)所具有的复杂功能,还得添加一些额外的功能,实属一大挑战。FPGA的设计复杂性和难度可能会给产品的开发带来一场噩梦。
上世纪60年代中期,TI公司设计制造了各式各样的实现基本逻辑门电路功能的芯片,相信今天很多的工程师仍然很熟悉这些主要面对军工应用的54XX和商业应用的74XX芯片。据说早期的工程师甚至能够单凭着这些芯片架构出一颗简单CPU的功能。还真别小瞧这些基本逻辑门电路,话说万丈高楼平地起,如果说今天在嵌入式领域呼风唤雨的各种功能强大的ARM7、ARM9、DSP是万丈高楼,那么称这些基本的逻辑门电路为一砖一瓦倒是一点也不为过。

图1 经典DIP封装的74芯片
         从1971年Intel公司的第一颗4位微处理器Intel 4004到上世纪80年代初被奉为经典的8051单片机,再到今天各大嵌入式处理器厂商竞相使用的由ARM公司推出的各种Cortex内核,嵌入式处理器的发展不可不说是翻天覆地。不过话又说回来,如果深入处理器的底层结构,你会发现他们最本质的东西并没有太大的改变。而处理器再强大,一颗芯片尽可以将各种外设嵌入其中,但对于任何一颗已经批量出货的芯片而言,它的功能是固定的,若想在既有外设功能的基础上有任何的扩展,或许不是遇到电气特性不支持就是遇到IO太少的尴尬,而这些问题也就催生了可编程逻辑器件的诞生。今天的CPU周围已很难看见54或74字样的ASIC了,取而代之的可能是管脚密集的CPLD或FPGA。的确,在系统的可扩展性和灵活性方面,FPGA/CPLD有着得天独厚的优势。当然了,今天动辄上百万门的FPGA器件可不是为干这点活而制造的,它更多的被应用到了通信、数据采集、网络、图像处理、算法实现等对数据传输吞吐量和处理速度有更高要求的场合。

图2 CPU的鼻祖Intel 4004
         今天大家熟知的FPGA/CPLD也不是一开始就有的,第一款可编程逻辑器件(PLD)最初是在1970年以PROM的形式进入人们的视野,这种PROM结构的可编程逻辑器件可以实现简单的逻辑功能,很容易便可替代当时流行的54或74系列逻辑门电路。
受限于PROM的结构,第一款可编程逻辑器件的输入接口相对较少。因此,可编程逻辑阵列(PAL)便孕育而生,PAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和EEPROM技术。PAL的问题在于其实现方式使得信号通过可编程连线的时间相对较长。在PAL的基础上,又发展了一种通用阵列逻辑GAL,它要比PAL速度快许多,它采用了EEPROM工艺,实现了电可擦除、电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人使用。

图3 如今已经绝迹的PAL/GAL
这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。电子领域的发展趋势总是朝着速度更快、功能更强、体积更小、成本更廉价的方向迈进。复杂可编程逻辑器件(CPLD)的诞生也就顺理成章了。Altera公司于1984年发明了基于CMOS和EPROM技术相结合的CPLD。CPLD可实现的逻辑功能相比PAL和GAL有了大幅度的提升,已经可以胜任设计中复杂性较高、速度也较快的逻辑功能,尤其在接口转换、总线控制和扩展方面有着较多的应用。经过几十年的发展,今天的CPLD功能和性能也得到了进一步的提升,其基本结构由可编程IO单元、基本逻辑单元、布线池以及其他相关辅助功能块组成。Altera、Xilinx和Lattice是主要的CPLD供应商。

图4 也是火过一时的CPLD
其实无论是前面提到的PAL、GAL或是CPLD,要实现大规模的复杂逻辑电路都显得无能为力。而ASIC的设计耗时又费钱,而且功能固定,在流片后很难随意更改。鉴于此,Xilinx创始人之一Ross Freeman发明了现场可编程门阵列(FPGA),Freeman先生发明的FPGA是一块全部由“开放式门”组成的计算机芯片。采用该芯片,工程师可以根据需要进行灵活编程,添加各种新功能,以满足不断发展的协议标准或规范,工程师们甚至可以在设计的最后阶段对它进行修改和升级。Freeman先生当时就推测低成本、高灵活性的FPGA将成为各种应用中定制芯片的替代品。也正是由于此项伟大的发明,让Freeman先生于2009年荣登美国发明家名人堂。

图5 FPGA发明人Ross Freeman
三十多年后的今天,伴随着制造工艺的不断进步,FPGA在深亚微米甚至深亚纳米时代一直走在了创新第一线。如今的FPGA器件,其组成不仅限于基本的可编程逻辑单元、可编程IO单元、丰富的布线资源,而且还拥有灵活的时钟管理单元、嵌入式块RAM以及各种通用的内嵌功能单元,很多器件还顺应市场需求内嵌专用的硬件模块。近些年来,可编程器件的龙头老大Xilinx和Altera更是相继推出了硬核CPU+FPGA的产品,此举大有单芯片横扫千军的架势。


图6 野心十足的ARM+FPGA
电子行业在继续挑战摩尔定律的征程中,无论是可编程器件继续大放光彩,还是ASIC能够重获新生。可编程器件,尤其是FPGA器件的发明和大量应用已经足够让我们竖然起敬。相信对于很多即将或者已经走上电子硬件设计的同仁们,对可编程器件的了解、熟悉甚至精

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
雷磊 发表于 2019-7-20 15:36:22 | 显示全部楼层
FPGA发展概述
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-5-19 22:37 , Processed in 0.068083 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表