FPGA是什么(超级详细)

fpga 是一种以数字电路为主的集成芯片,于 1985 年由 xilinx 创始人之一 ross freeman 发明,属于可编程逻辑器件(programmable logic device,pld)的一种。这个时间比著名的摩尔定律出现的时间晚 20 年左右,但是 fpga 一经发明,后续的发展速度之快,超出大多数人的想象。图 1 中给出了 fpga 芯片的实物图:
图 1 fpga芯片实物图
fpga 发展历程
在 pld 未发明之前,工程师使用包含若干个逻辑门的离散逻辑芯片进行电路系统的搭建,复杂的逻辑功能实现起来较为困难。为了解决这一问题,20 世纪 70 年代,可编程逻辑阵列(programmable logic array,pla)问世,pla 中包含了一些固定数量的与门、非门,分别组成了“与平面”和“或平面”,即“与连接矩阵”和“或连接矩阵”,以及仅可编程一次的连接矩阵(因为此处编程是基于熔丝工艺的),因此可以实现一些相对复杂的与、或多项表达式的逻辑功能,pla 内部结构如图 2 所示:
图 2 pla内部结构
与 pla 同时问世的还有可编程只读存储器(programmable read-only memory,prom),其内部结构如图 3 所示。与 pla 相同,prom 内部包含“与连接矩阵”和“或连接矩阵”,但是与门的连接矩阵是硬件固定的,只有或门的连接矩阵可编程。
图 3 prom内部结构
若只有与门的连接矩阵可编程,而或门的连接矩阵是硬件固定的,那么这种芯片叫作可编程阵列逻辑器件(programmable array logic,pal),根据输出电路工作模式的不同,pal 可分为三态输出、寄存器输出、互补输出,但 pal 仍使用熔丝工艺,只可编程一次。pal 的结构图如图 4 所示。
图 4 pal结构图
在 pal 的基础上,又发展出了通用阵列逻辑器件(generic array logic,gal),相比于 pal,gal 有两点改进:
采用了电可擦除的 cmos 工艺,可多次编译,增强了器件的可重配置性和灵活性;
采用了可编程的输出逻辑宏单元(output logic macro cell,olmc),通过编程 olmc 可将 gal 的输出设置成不同状态,仅用一个型号的gal就可以实现所有pal器件输出电路的工作模式,增强了器件的通用性。
gal 的结构图如图 5 所示:
图 5 gal结构图
早期的 pld 主要由上述四种类型的芯片组成,即 prom、pla、pal 和 gal。它们的共同特点是可以实现速度特性较好的逻辑功能,但由于其结构过于简单,所以只能实现规模较小的数字电路。随着科技的发展、社会的进步,人们对芯片的集成度要求越来越高。早期的 pld 产品不能满足人们的需求,复杂可编程逻辑器件(complex programmable logic device,cpld)诞生。可以把 cpld 看作 pla 器件结构的延续,一个 cpld 器件也可以看作若干个 pla 和一个可编程连接矩阵的集合。cpld 的内部结构图如图 6 所示。
图 6 cpld结构图
fpga 比 cpld 早几年问世,与 cpld 并称为高密度可编程逻辑器件,但它们有着本质的区别。fpga 芯片的内部架构并没有沿用类似 pla 的结构,而是采用了逻辑单元阵列(logic cell array,lca)这样一个概念,改变了以往 pld 器件大量使用与门、非门的思想,主要使用查找表和寄存器。除此之外,fpga 和 cpld 在资源类型、速度等方面也存在差异,如下表所示。  
表:fpga与cpld的性能比较 器件种类/特性 fpga cpld
内部结构 查找表(look up table) 乘积项(product term)
程序存储 内部为 sram 结构,外挂 eeprom 或 flash 存储程序 内部为 eeprom 或 flash
资源类型 触发器资源丰富 组合逻辑资源丰富
集成度 高 低
使用场合 完成比较复杂的算法 完成控制逻辑
速度 快 慢
其他资源 ram、pll、dsp 等 ——
保密性 一般不能保密(可以使用加密核) 可加密
fpga 的类型从内部实现机理来讲,可以分为基于 sram 技术、基于反熔丝技术、基于 eeprom/flash 技术。就电路结构来讲,fpga 可编程是指三个方面的可编程:可编程逻辑块、可编程 i/o、可编程布线资源。可编程逻辑块是 fpga 可编程的核心,我们上面提到的三种技术也是针对可编程逻辑块的技术。fpga 的结构图如图 8 所示。
图 8 fpga结构图
fpga 的技术优势 许多读者都知道 fpga 功能强大,但它强大在哪儿?以单片机举例说明,我们都知道,单片机功能强大,几乎无所不能,而 fpga 与之相比只强不弱。因为只要单片机能实现的功能,fpga 就一定能实现,当然这需要加一个大前提——在 fpga 资源足够多的情况下。但是 fpga 能实现的功能,单片机却不一定能够轻松实现,这是不争的事实,如果你不相信,那只能说明你还不了解 fpga。说到这里,读者不禁要问,既然 fpga 这么厉害,为什么单片机的使用范围更广?那是因为在商业中,价格往往是影响产品的重要因素之一。单片机的价格要远远低于 fpga,而且根据性能和资源的不同,fpga 的价格也存在很大差异,单枚 fpga 芯片的价格从几十元到几十万元不等。与之相比,单片机的价格要便宜很多,同样的功能我们如果可以用价格低廉的单片机实现,就不会选择相对昂贵的 fpga 了,除非单片机满足不了功能需求。所以公司自己进行开发时,为了节约成本,可能会选择更加便宜的单片机,而不会选择相对昂贵的 fpga,因为单片机、arm 这种微处理器的需求量很大,所以价格上更有优势。但无论是单片机、arm 还是 fpga,它们都只是一种帮助我们实现功能的工具,具体如何选择,需要根据具体问题具体分析。总之,没有万能的工具,只有符合生产需求的工具。我们不应对某种工具存在偏见,要综合考虑。同样,当你了解得更多的时候,你会发现这些工具都需要掌握。fpga 的应用场景远没有单片机和 arm 这么多,主要针对单片机和 arm 无法解决的问题。比如要求灵活高效、高吞吐量、低批量延时、快速并行运算、可重构、可重复编程、可实现定制性能和定制功耗的情况,这些工作只能由fpga承担。而相对于出于专门目的而设计的集成电路(application specific integrated circuit,asic),fpga 具有 3 点优势:
1) 灵活性 通过对 fpga 编程,fpga 可以执行 asic 能够执行的任何逻辑功能。fpga 的独特优势在于其灵活性,即随时可以改变芯片功能,在技术还未成熟的阶段,这种特性能够降低产品的成本与风险,在 5g 技术普及初期,这种特性尤为重要。
2) 上市时间缩短 对 fpga 编程后即可直接使用,fpga 方案无须经历三个月至一年的芯片流片周期,为企业争取了产品上市时间。
3) 有一定成本优势 fpga 与 asic 的主要区别在于 asic 方案有固定成本而 fpga 方案几乎没有,在使用量小的时候,采用 fpga 方案无须一次性支付几百万美元的流片成本,同时也不用承担流片失败的风险,此时 fpga 方案的成本低于 asic 的,随着使用量增加,fpga 方案在成本上的优势逐渐减少,超过某一使用量后,由于大量流片产生了规模经济,因此 asic 方案在成本上更有优势,如下图所示:
图 9 fpga方案和asic方案的成本比较
因此,fpga 通常在数字信号处理、视频处理、图像处理、5g 通信领域、医疗领域、工业控制、云服务、加速计算、人工智能、数据中心、自动驾驶、芯片验证等领域发挥着不可替代的作用。只有掌握了通用的 fpga 设计方法,才能在 fpga 独领风骚的领域中大展宏图。
fpga的应用方向 fpga 介于软件和硬件之间,用它做接口、做通信,它就偏向硬件;用它做算法、做控制,它就偏向软件。随着人工智能、机器视觉的崛起,fpga 更加偏向软件算法的异构,有和 gpu 一争高下的潜力。fpga 与 gpu 性能对比图如图 10 所示:
图 10 fpga与gpu的性能对比图
fpga 软件方向:以软件开发为主,开发 fpga 在数据分析、人工智能、机器视觉等领域的加速应用能力,主要采用 opencl 和 hls 技术实现软硬件协同开发。fpga 硬件方向:以逻辑设计为主,针对fpga特定领域的应用设计、集成电路设计以及芯片验证能力。fpga 最初的应用领域是通信领域,但是随着信息产业和微电子技术的发展,fpga 技术已经成为信息产业最热门的技术之一,应用范围扩大,遍及航空航天、汽车、医疗、广播、测试测量、消费电子、工业控制等热门领域,而且随着工艺的发展和技术的进步,从各个角度开始渗透到生活当中。
有你想看的精彩          利用fpga开发板进行asic原型开发的技巧 基于fpga实现通用异步收发器基本功能的应用设计 使用fpga实现高效并行实时上采样
扫码加微信邀请您加入fpga学习交流群
欢迎加入至芯科技fpga微信学习交流群,这里有一群优秀的fpga工程师、学生、老师、这里fpga技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!
原文标题:fpga是什么(超级详细)
文章出处:【微信公众号:fpga设计论坛】欢迎添加关注!文章转载请注明出处。

那么问题来了 移动芯片进入烧钱淘汰战?
国芯思辰 |铁电存储器PB85RS128用于ETC读卡器,电压为2.7V-3.6V
努比亚Z17mini怎么样?努比亚Z17mini配置和价格介绍
确定性体验带来商业溢价,全光自动驾驶网络使能确定性体验
CD4040中文资料汇总(CD4040引脚图及功能_工作原理及应用电路)
FPGA是什么(超级详细)
美国的移动通信
维科技术与韩国株式会社LG化学达成了最新的战略合作
因汽车芯片缺货,奥迪超1万名员工休假
三星、OPPO毫米波功能测试该在中国信通院MTNet实验室内顺利完成
在机器人和自动化世界里,增强流程和体验才能适应未来发展
LTQ系列全封密气密性检测仪
三星今年将在中国市场推出三星Galaxy A90弹出式拍照手机
一加6T迈凯伦定制版搭载10GB运行内存支持全新Warp闪充30
爆料大神:华为P11或配3个4000万像素后置镜头
4.65寸高清屏 三星两款双核WP8新机泄露
NXP车载UWB精确定位应用方案在线研讨会
有了无线充电不再担心手机没有电了
欧盟研发新款电动汽车,锂硫电池的能量密度高达310Wh/kg
基于FPGA的高效灵活数字上变频实现设计