当前位置: 代码迷 >> 综合 >> 不可不知的PLD/CPLD/FPGA/ASIC
  详细解决方案

不可不知的PLD/CPLD/FPGA/ASIC

热度:102   发布时间:2023-09-13 00:25:30.0

ASIC

ASIC即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。 目前用CPLD(复杂可编程逻辑器件)和 FPGA(现场可编程逻辑阵列)来进行ASIC设计是最为流行的方式之一,它们的共性是都具有用户现场可编程特性,都支持边界扫描技术,但两者在集成度、速度以及编程方式上具有各自的特点

CPLD(复杂可编程逻辑器件)采用CMOS EPROM、EEPROM、快闪存储器和SRAM等编程技术,从而构成了高密度、高速度和低功耗的可编程逻辑器件。

可编程逻辑器件PLD(Programmable Logic Device)是ASIC的一个重要分支,是厂家作为一种通用性器件生产的半定制电路,用户可通过对器件编程实现所需要的功能。可编程逻辑阵列PLA(Programmable Logic Array),与20世纪70年代中期出现,它是由可编程的与阵列和可编程的或阵列组成。可编程阵列逻辑PAL(Programmable Array Logic)器件是1977年美国MMI公司率先推出的,它由于输出结构种类很多,设计灵活,因而得到普遍使用。通用阵列逻辑器件GAL(Generic Array Logic www.husoon.com)器件是1985年LATTICE公司最先发明的可电擦除、可编程、可设置加密位的PLD。具有代表性的GAL芯片有GAL16V8、GAL20,这两种GAL几乎能够仿真所有类型的PAL器件。实际应用中,GAL器件对PAL器件仿真具有100%的兼容性,所以GAL几乎可以全代替PAL器件,并可取代大部分SSI、MSI数字集成电路,因而获得广泛应用。

GAL和PAL的最大差别在于GAL的输出结构可由用户定义,是一种可编程的输出结构。GAL的两种基本型号GAL16V8(20引脚)GAL20V8(24引脚)可代替树十种PAL器件,因而称为痛用可编程电路。而PAL的输出是由厂家定义好的,芯片选定后就固定了,用户无法改变。

FPGA

不可不知的PLD/CPLD/FPGA/ASIC

不可不知的PLD/CPLD/FPGA/ASIC

FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点

FPGA 器件属于专用集成电路中的一种半定制电路,是可编程的逻辑列阵,能够有效的解决原有的器件门电路数较少的问题。FPGA 的基本结构包括可编程输入输出单元,可配置逻辑块,数字时钟管理模块,嵌入式块RAM,布线资源,内嵌专用硬核,底层内嵌功能单元。由于FPGA具有布线资源丰富,可重复编程和集成度高,投资较低的特点,在数字电路设计领域得到了广泛的应用。FPGA的设计流程包括算法设计、代码仿真以及设计、板机调试,设计者以及实际需求建立算法架构,利用EDA建立设计方案或HD编写设计代码,通过代码仿真保证设计方案符合实际要求,最后进行板级调试,利用配置电路将相关文件下载至FPGA芯片中,验证实际运行效果。 [2]

FPGA是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以毫不夸张的讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。

FPGA是可编程芯片,算法烧录更加灵活。目前来看,深度学习算法还未完全成熟,算法还在迭代衍化过程中,若深度学习算法发生大的变化,FPGA是软件定义硬件,可以灵活切换算法,快速切入市场。

未来至少95%的机器学习计算都是用于推断,只有不到5%是用于模型训练,而FPGA正是强在推断。大幅提升推断效率的同时,还能最小限度损失精确性,这正是FPGA的强项。与CPU和GPU不同,FPGA是一种典型的非诺依曼架构,是硬件适配软件的模式,它能够根据系统资源和算法特征灵活的调整并行度,达到最优的适配,因此能效比高于CPU和GPU

试数据显示,在语音识别应用下,浪潮F10A较CPU性能加速2.87倍,而功耗相当于CPU的15.7%,性能功耗比提升18倍。传统的FPGA的开发类似于芯片的开发,采用硬件描述语言(HDL)开发,HDL开发带来的问题就会像芯片设计一样周期会比较长,从架构设计、到仿真验证、再到最终完成,需要一年左右的开发时间。

或许你还是有些顾虑,即时开发效率大幅提升、开发周期大大缩短,但是对于技术和团队储备不足的中小型AI企业来说,FPGA仍是“高不可攀”的AI加速部件。如果,有一种方案能够将软件、算法和硬件板卡整合,以软硬一体化的形式,提供FaaS(FPGAasaService)服务

其他应用

  • 视频分割系统

近年来,大型的总控系统得到了日益广泛的应用,与之相关的视频分割技术水平也在逐步提高,该技术是把用多屏拼接显示的方式来显示一路视频信号,在一些需要使用大屏幕显示的场景应用广泛。 [2]

  • 数据延迟器和存储设计

FPGA具有可编程的延迟数字单元,在通信系统和各类电子设备中有着比较广泛的应用,比如同步通信系统,时间数值化系统等,主要的设计方法包括数控延迟线法,存储器法,计数器法等,其中存储器法主要是利用 FPGA的RAM或者FIFO实现的。 [2]

利用 FPGA 对SD卡相关数据进行读写可以依据具体算法的需求低FPGA芯片开展编程,更加实际情况的变化实现读写操作的不断更新。这种模式之下只需要利用原有的芯片便可以实现对SD卡的有效控制,明显降低了系统的成本。 [2]

  • 通信行业

通常情况下,通信行业综合考虑成本以及运营等各方面的因素,在终端设备数量比较多的位置,FPGA的用量比较大,基站最适合使用FPGA,基站几乎每一块板子都需要使用FPGA芯片,而且型号比较高端,可以处理复杂的物理协议,实现逻辑控制。同时,由于基站的逻辑链路层,物理层的协议部分需要定期更新,也比较适合采用FPGA技术。目前,FPGA主要在通信行业的建设初期和中期应用,后期逐步被ASIC替代。 [2]

  • 其它应用

FPGA在安防,工业等领域也有着比较广泛的应用,比如安防领域的视频编码解码等协议在前端数据采集和逻辑控制的过程中可以利用FPGA处理。工业领域主要采用规模较小的FPGA,满足灵活性的需求。另外,由于 FPGA具有比较高的可靠性,因此在军工以及航天领域也有比较广泛的应用。未来,随着技术的不断完善,相关工艺将会完成升级改造, 在诸多新型行业比如大数据等,FPGA将会有更为广泛的应用前景。伴随5G网络的建设, 初期会大量应用FPGA,人工智能等新型的领域也会更多的用到FPGA。 [2]

DSP

DSP是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器, 并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度 。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体 积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径

在DSP里,你是一个软件设计者,硬件已经完全固化,你所要做的,就是在这个固定的硬件平台实现其功能的最优化,一般TI的DSP涉及最多的是一些基本的BIOS操作系统之间的任务调度,以及算法改进与优化等待, DSP的关键优势包括其对于新型及复杂算法时的更短的开发时间,以及能够运行多种算法的灵活性。

FPGA与DSP优缺点十分明显,所以现在音视频处理,移动通信或者整个通信行业等大量信号处理的工程项目中,流行的解决方案都是FPGA+DSP,FPGA做逻辑控制,DSP做浮点算法,如果算法不是很占资源的,也有直接用FPGA来做的,但两大FPGA厂商都最近都推出了带DSP平台的FPGA产品,以后FPGA与DSP的界限将越来越模糊,会慢慢的合二为一, 总之,目前而言,由DSP和FPGA结合而成的混合式方案常常能够为高性能多处理应用提供最好的方案,让每个器件都发挥其作用。FPGA和DSP是两项互补的技术,而不是互相竞争的对手
参考:
1,百度百科
2,新浪博客
3,电子发烧友