FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是做为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点 前端
FPGA设计不是简单的芯片研究,主要是利用 FPGA 的模式进行其余行业产品的设计。 与 ASIC 不一样,算法
FPGA在通讯行业的应用比较普遍。经过对全球FPGA产品市场以及相关供应商的分析,结合当前我国的实际状况以及国内领先的FPGA产品能够发现相关技术在将来的发展方向,对我国科技水平的全面提升具备很是重要的推进做用。 [2] 编程
与传统模式的芯片设计进行对比,FPGA 芯片并不是单纯局限于研究以及设计芯片,而是针对较多领域产品都能借助特定芯片模型予以优化设计。从芯片器件的角度讲,FPGA 自己构成 了半定制电路中的典型集成电路,其中含有数字管理模块、内嵌式单元、输出单元以及输入单元等。在此基础上,关于FPGA芯片有必要全面着眼于综合性的芯片优化设计,经过改进当前的芯片设计来增设全新的芯片功能,据此实现了芯片总体构造的简化与性能提高设计模式
FPGA 器件属于专用集成电路中的一种半定制电路,是可编程的逻辑列阵,可以有效的解决原有的器件门电路数较少的问题。FPGA 的基本结构包括可编程输入输出单元,可配置逻辑块,数字时钟管理模块,嵌入式块RAM,布线资源,内嵌专用硬核,底层内嵌功能单元。因为FPGA具备布线资源丰富,可重复编程和集成度高,投资较低的特色,在数字电路设计领域获得了普遍的应用。FPGA的设计流程包括算法设计、代码仿真以及设计、板机调试,设计者以及实际需求创建算法架构,利用EDA创建设计方案或HD编写设计代码,经过代码仿真保证设计方案符合实际要求,最后进行板级调试,利用配置电路将相关文件下载至FPGA芯片中,验证明际运行效果缓存
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块网络
CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具备不一样的结构。FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每一个查找表链接到一个D触发器的输入端,触发器再来驱动其余逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相链接或链接到I/O模块。FPGA的逻辑是经过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA容许无限次的编程。架构
相比于其余种类的芯片设计,关于 FPGA芯片一般须要设置较高门槛而且拟定严格性较强的基本设计流程。具体在设计时,应当紧密结合 FPGA 的有关原理图,据此实现了规模较大的专门芯片设计。经过运用Matlab以及C语言的特殊设计算法,应当能够实现全方位的顺利转化,从而确保其符合当前的主流芯片设计思路。在此前提下,若是选择了上述设计思路那么一般须要着眼于有序整合各种元器件以及相应的设计语言,据此保证了可用性与可读性较强的芯片程序设计。运用 FPGA能够实现板机调试、代码仿真与其余有关的设计操做,确保当前的代码编写方式以及设计方案都能符合特定的设计需求。 除此之外,关于设计算法应当将合理性置于首要性的位置, 据此实现了优化的项目设计效果,而且优化了芯片运行的实效性。所以做为设计人员来说,首先就是要构建特定的算法模块, 以此来完成与之有关的芯片代码设计。这是因为预先设计代码有助保证算法可靠性,对于总体上的芯片设计效果也能予以显著优化。在全面完成板机调试以及仿真测试的前提下,应当能够在根源上缩短设计整个芯片消耗的周期,同时也致力于优化当前现存的硬件总体结构。例如在涉及到开发非标准的某些硬件接口时,一般都会用到上述的新产品设计模式。 [3] 工具
FPGA设计的主要难点是熟悉硬件系统以及内部资源,保证设计的语言可以实现元器件之间的有效配合,提升程序的可读性以及利用率。这也对设计人员提出了比较高的要求,须要通过多个项目的经验积累才能够达到相关的要求。 [3] 性能
在算法设计时须要重点考虑合理性,保证项目最终完成的效果,依据项目的实际状况提出解决问题的方案,提升FPGA的运行效率。肯定算法后应当合理构建模块,方便后期进行代码设计。在代码设计时能够利用预先设计好的代码,提升工做效率,加强可靠性。编写测试平台,进行代码的仿真测试和班级调试,完成整个设计过程。FPGA同ASIC不一样,开发的周期比较短,能够结合设计要求改变硬件的结构,在通讯协议不成熟的状况下能够帮助企业迅速推出新产品,知足非标准接口开发的需求测试
优势
(1) FPGA由逻辑单元、RAM、乘法器等硬件资源组成,经过将这些硬件资源合理组织,可实现乘法器、寄存器、地址发生器等硬件电路。 [5]
(2) FPGA可经过使用框图或者Verilog HDL来设计,从简单的门电路到FIR或者FFT电路。 [5]
(3) FPGA可无限地从新编程,加载一个新的设计方案只需几百毫秒,利用重配置能够减小硬件的开销。 [5]
(4) FPGA的工做频率由FPGA芯片以及设计决定,能够经过修改设计或者更换更快的芯片来达到某些苛刻的要求(固然,工做频率也不是无限制的能够提升,而是受当前的IC工艺等因素制约)。 [5]
缺点
FPGA的缺点以下: [5]
(1) FPGA的全部功能均依靠硬件实现,没法实现分支条件跳转等操做。 [5]
(2) FPGA只能实现定点运算。 [5]
总结:FPGA依靠硬件来实现全部的功能,速度上能够和专用芯片相比,但设计的灵活度与通用处理器相比有很大的差距。
可编程逻辑器件是经过EDA技术将电子应用系统的既定功能和技术指标具体实现的硬件载体,FPGA做为实现这一途径的主流器件之一,具备直接面向用户,灵活性和通用性极大,使用方便,硬 件测试和实现快捷等特色。 [6]
硬件描述语言(HDL)是一种用来设计数字逻辑系统和描述数字电路的语言,经常使用的主要有VHDL、Verilog HDL、System Verilog 和 System C。 [6]
做为一种全方位的硬件描述语言,超高速集成电路硬件描述语言(VHDL)具备与具体硬件电路无关、与设计平台无关的特性,具备宽范围描述能力、不依赖于特定的器件、可将复杂控制逻辑的设计用严谨简洁的代码进行描述等优势,获得众多EDA公司的支持,在电子设计领域获得了普遍应用。 [6]
VHDL是一种用于电路设计的高级语言,与其余硬件描述语言相比,其具备语言简洁、灵活性强、不依赖于器件设计等特色,使其成为EDA技术通用的硬件描述语言,使EDA技术更便于设计者掌握。 [7]
Verilog HDL是普遍应用的硬件描述语言,能够用于硬件设计流 程的建模、综合、模拟等多个阶段。 [7]
Verilog HDL 优势:相似C语言,上手容易,灵活。大小写敏感。在写激励和建模方面有优点。缺点:不少错误在编译的时候不能被发现。 [7]
VHDL 优势:语法严谨,层次结构清晰。缺点:熟悉时间长,不够灵活。 [7]
Quartus_Ⅱ软件是由Altera公司开发的完整多平台设计环境,能知足各类FPGA,CPLD的设计须要,是片上可编程系统设计的综合性环境。 [8]
Vivado设计套件,是FPGA厂商赛灵思公司(Xilinx)2012年发布的集成设计环境。包括高度集成的设计环境和新一代从系统到IC级的工具,这些均创建在共享的可扩展数据模型和通用调试环境基础上。Xilinx Vivado设计套件中提供了FIFO IP核,可方便应用于设计中
视频分割系统
近年来,大型的总控系统获得了日益普遍的应用,与之相关的视频分割技术水平也在逐步提升,该技术是把用多屏拼接显示的方式来显示一路视频信号,在一些须要使用大屏幕显示的场景应用普遍。 [2]
随着技术水平的进步, 视频分割技术逐步成熟,知足了人们对于清晰视频图像的基本需求、 FPGA 芯片硬件结构比较特殊,能够利用事先编辑的逻辑结构文件调整内部结构,利用约束的文件来调整不一样逻辑单元的链接和位置,妥善处理好数据线路径,其自身具备的灵活性和适应性方便用户的开发和应用。在处理视频信号时,FPGA芯片能够充分利用自身的速度和结构优点,实现兵乓技术和流水线技术。在对外链接的过程当中,芯片采用数据并行链接的方式,使图像信息的位宽拓宽,利用内部的逻辑功能提升图像处理的速度。经过高速缓存结构以及时钟管理实现对图像处理以及其余设备的控制。在总体的设计结构中,FPGA芯片处于核心位置,复杂数据的插值处理以及提取和存储,还起到整体控制的做用,保证系统的稳定运行。另外,视频信息处理与其余数据处理不一样,须要芯片具备特殊的逻辑单元以及RAM或者FIFO单元,保证提升足够的数据传输速度。 [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。