FPGA是什么

小白QA2020-04-13 13:25:22阅读(...)

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

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

FPGA是什么

简介

FPGA 设计不是简单的芯片研究,主要是利用 FPGA 的模式进行其他行业产品的设计。 与 ASIC 不同,FPGA 在通信行业的应用比较广泛。通过对全球 FPGA 产品市场以及相关供应商的分析,结合当前我国的实际情况以及国内领先的 FPGA 产品可以发现相关技术在未来的发展方向,对我国科技水平的全面提高具有非常重要的推动作用。

与传统模式的芯片设计进行对比,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 可以实现板机调试、代码仿真与其他有关的设计操作,确保当前的代码编写方式以及设计方案都能符合特定的设计需求。 除此以外,关于设计算法应当将合理性置于首要性的位置, 据此实现了优化的项目设计效果,并且优化了芯片运行的实效性。因此作为设计人员来讲,首先就是要构建特定的算法模块, 以此来完成与之有关的芯片代码设计。这是由于预先设计代码有助保证算法可靠性,对于整体上的芯片设计效果也能予以显著优化。在全面完成板机调试以及仿真测试的前提下,应当可以在根源上缩短设计整个芯片消耗的周期,同时也致力于优化当前现存的硬件整体结构。例如在涉及到开发非标准的某些硬件接口时,通常都会用到上述的新产品设计模式。

FPGA 设计的主要难点是熟悉硬件系统以及内部资源,保证设计的语言能够实现元器件之间的有效配合,提高程序的可读性以及利用率。这也对设计人员提出了比较高的要求,需要经过多个项目的经验积累才可以达到相关的要求。

在算法设计时需要重点考虑合理性,保证项目最终完成的效果,依据项目的实际情况提出解决问题的方案,提高 FPGA 的运行效率。确定算法后应当合理构建模块,方便后期进行代码设计。在代码设计时可以利用预先设计好的代码,提高工作效率,增强可靠性。编写测试平台,进行代码的仿真测试和班级调试,完成整个设计过程。FPGA 同 ASIC 不同,开发的周期比较短,可以结合设计要求改变硬件的结构,在通信协议不成熟的情况下可以帮助企业迅速推出新产品,满足非标准接口开发的需求。

优缺点

优点

FPGA 的优点如下:

(1) FPGA 由逻辑单元、RAM、乘法器等硬件资源组成,通过将这些硬件资源合理组织,可实现乘法器、寄存器、地址发生器等硬件电路。

(2) FPGA 可通过使用框图或者 Verilog HDL 来设计,从简单的门电路到 FIR 或者 FFT 电路。

(3) FPGA 可无限地重新编程,加载一个新的设计方案只需几百毫秒,利用重配置可以减少硬件的开销。

(4) FPGA 的工作频率由 FPGA 芯片以及设计决定,可以通过修改设计或者更换更快的芯片来达到某些苛刻的要求(当然,工作频率也不是无限制的可以提高,而是受当前的 IC 工艺等因素制约)。

设计语言及平台

可编程逻辑器件是通过 EDA 技术将电子应用系统的既定功能和技术指标具体实现的硬件载体,FPGA 作为实现这一途径的主流器件之一,具有直接面向用户,灵活性和通用性极大,使用方便,硬 件测试和实现快捷等特点。

硬件描述语言(HDL)是一种用来设计数字逻辑系统和描述数字电路的语言,常用的主要有 VHDL、Verilog HDL、System Verilog 和 System C。

作为一种全方位的硬件描述语言,超高速集成电路硬件描述语言(VHDL)具有与具体硬件电路无关、与设计平台无关的特性,具有宽范围描述能力、不依赖于特定的器件、可将复杂控制逻辑的设计用严谨简洁的代码进行描述等优点,得到众多 EDA 公司的支持,在电子设计领域得到了广泛应用。

VHDL 是一种用于电路设计的高级语言,与其他硬件描述语言相比,其具有语言简洁、灵活性强、不依赖于器件设计等特点,使其成为 EDA 技术通用的硬件描述语言,使 EDA 技术更便于设计者掌握。

Verilog HDL 是广泛应用的硬件描述语言,可以用于硬件设计流 程的建模、综合、模拟等多个阶段。

Verilog HDL 优点:类似 C 语言,上手容易,灵活。大小写敏感。在写激励和建模方面有优势。缺点:很多错误在编译的时候不能被发现。

VHDL 优点:语法严谨,层次结构清晰。缺点:熟悉时间长,不够灵活。

Quartus_Ⅱ软件是由 Altera 公司开发的完整多平台设计环境,能满足各种 FPGA,CPLD 的设计需要,是片上可编程系统设计的综合性环境。

Vivado 设计套件,是 FPGA 厂商赛灵思公司(Xilinx)2012 年发布的集成设计环境。包括高度集成的设计环境和新一代从系统到 IC 级的工具,这些均建立在共享的可扩展数据模型和通用调试环境基础上。Xilinx Vivado 设计套件中提供了 FIFO IP 核,可方便应用于设计中。

行业应用

视频分割系统

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

随着技术水平的进步, 视频分割技术逐步成熟,满足了人们对于清晰视频图像的基本需求、 FPGA 芯片硬件结构比较特殊,可以利用事先编辑的逻辑结构文件调整内部结构,利用约束的文件来调整不同逻辑单元的连接和位置,妥善处理好数据线路径,其自身具有的灵活性和适应性方便用户的开发和应用。在处理视频信号时,FPGA 芯片可以充分利用自身的速度和结构优势,实现兵乓技术和流水线技术。在对外连接的过程中,芯片采用数据并行连接的方式,使图像信息的位宽拓宽,利用内部的逻辑功能提高图像处理的速度。通过高速缓存结构以及时钟管理实现对图像处理以及其他设备的控制。在整体的设计结构中,FPGA 芯片处于核心位置,复杂数据的插值处理以及提取和存储,还起到总体控制的作用,保证系统的稳定运行。另外,视频信息处理与其他数据处理不同,需要芯片具有特殊的逻辑单元以及 RAM 或者 FIFO 单元,保证提高足够的数据传输速度。

收藏0个人收藏
走进科技生活方式

评论交流

泪雪默认头像请「登录」后参与评论
  1. 加载中..