您的位置 首页 传感器

FPGA组成、作业原理和开发流程

1. FPGA概述FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集

1. FPGA概述

FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器材的基础上进一步开展的产品。它是作为专用集成电路(ASIC)领域中的一种半定制电路而呈现的,既处理了定制电路的缺乏,又克服了原有可编程器材门电路数有限的缺陷

2. FPGA芯片结构

FPGA芯片首要由三部分组成,分别是IOE(input output element,输入输出单元)、LAB(logic array block,逻辑阵列块,关于Xilinx称之为可装备逻辑块CLB)和Interconnect(内部衔接线)。

2.1 IOE

IOE是芯片与外部电路的物理接口,首要完结不同电气特性下输入/输出信号的驱动与匹配要求,比如从根本的LVTTL/LVCMOS接口到PCI/LVDS/RSDS乃至各式各样的差分接口,从5V兼容到3.3V/2.5V/1.8V/1.5V的电平接口,下面是ALTERA公司的Cyclone IV EP4CE115F29设备的IOE结构

1.jpg

图1 EP4CE115F29设备的IOE结构图

FPGA的IOE按组分类,每组都能够独立地支撑不同的I/O规范,经过软件的灵敏装备,可匹配不同的电器规范与IO物理特性,而且能够调整驱动电流的巨细,能够改变上/下拉电阻,Cyclone IV设备有8个IO blank(组),见下图:

2.jpg

图2 Cyclone IV设备的IO组

2.2 LAB

LAB是FPGA的根本逻辑单元,其实践的数量和特性依据所选用的器材的不同而不同,EP4CE115F29设备的每个LAB的布局包含16个LE、LAB操控信号、LE carry chains、Register chains和Local interconnect,其LAB结构图如下:

3.jpg

图3 LAB结构图

LE是Cyclone IV设备最小的逻辑单元,每个LE首要有LUT和寄存器组成的,

4.jpg

图4 LE的结构图

查找表LUT(Look-Up-Table)其本质是一个静态存储器SRAM,现在FPGA多选用4输入的LUT,每个LUT能够看作一个有4位地址线的16×1的RAM。当咱们经过原理图或HDL言语描绘了一个逻辑电路后,FPGA开发软件会自动核算逻辑电路的一切或许的成果,并把成果事前写入RAM。这样,在FPGA作业时,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出。

5.jpg

图5 LUT的完成原理图

2.3 Interconnect

FPGA内部衔接线很丰厚,依据数据手册的描绘,首要有图3中的Row interconnect、column interconnect、Direct link interconnect、和Local interconnect和Register chain interconnect(寄存器之间衔接的衔接线)。

内部衔接线联通FPGA内部的一切单元,而连线的长度和工艺决议着信号再衔接线上的驱动才能和传输速度。在实践开发中,规划者不需求直接挑选衔接线,布局布线器可自动地依据输入逻辑网表(这由归纳生成)的拓扑结构和约束条件挑选衔接线来连通各个逻辑单元,所以,从本质上来说,布线资源的运用办法和规划的成果有亲近和直接、直接的联系。

3. FPGA作业原理

FPGA运用小型查找表(16×1RAM)来完成组合逻辑,每个查找表衔接到一个D触发器的输入端(见图4),触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可完成组合逻辑功用又可完成时序逻辑功用的根本逻辑单元模块,这些模块间运用金属连线相互衔接或衔接到I/O模块。FPGA的逻辑是经过向内部静态存储单元加载编程数据来完成的,存储在存储器单元中的值决议了逻辑单元的逻辑功用以及各模块之间或模块与I/O间的联接办法,并终究决议了FPGA所能完成的功用,FPGA答应无限次的编程。

4. FPGA开发流程

原理图和HDL(Hardware description language,硬件描绘言语)是两种最常用的数字硬件电路描绘办法,其间HDL规划法具有更好的可移植性、通用性和模块区分与重用性的特色,在现在的工程规划中被广泛运用,下面临FPGA规划了解电路时的开发流程是依据HDL的。

6.jpg

图6 FPGA的开发流程

1) 体系功用规划

在体系规划之前,首先要进行的是计划证明、体系规划和FPGA芯片挑选等准备作业。体系工程师依据使命要求,如体系的方针和复杂度,对作业速度和芯片自身的各种资源、本钱等方面进行权衡,挑选合理的规划计划和适宜的器材类型。一般都选用自顶向下的规划办法,把体系分红若干个根本单元,然后再把每个根本单元区分为下一层次的根本单元,一向这样做下去,直到能够直接运用EDA元件库停止。

2) RTL级HDL规划

RTL级(Register Transfer Level,寄存器传输级)指不重视寄存器和组合逻辑的细节(如运用了多少个逻辑门、逻辑门的衔接拓扑结构等),经过描绘数据在寄存器之间的活动和怎么处理、操控这些数据活动的模型的HDL规划办法。RTL级比门级更笼统,一起也更简略和高效。RTL级的最大特色是能够直接用归纳东西将其归纳成为门级网表,其间RTL级规划直接决议着体系的功用和功率。

3) RTL级仿真

也称为功用(行为)仿真,或是归纳前仿真,是在编译之前对用户所规划的电路进行逻辑功用验证,此刻的仿真没有推迟信息,仅对开始的功用进行检测。仿真前,要先运用波形编辑器和HDL等树立波形文件和测验向量(行将所关怀的输入信号组合成序列),仿真成果将会生成陈述文件和输出信号波形,从中便能够调查各个节点信号的改变。假如发现过错,则回来规划修正逻辑规划。常用的东西有Model Tech公司的ModelSim、Sysnopsys公司的VCS和Cadence公司的NC-Verilog以及NC-VHDL等软件。尽管功用仿真不是FPGA开发进程中的必需进程,但却是体系规划中最要害的一步。

为了进步功用仿真的功率,需求树立测验渠道testbench,其测验鼓励一般运用行为级HDL言语描绘,其间RTL级模块是可归纳的,它是行为级模块的一个子集合。

4) 归纳

所谓归纳便是将较高档笼统层次的描绘转化成较低层次的描绘。归纳优化依据方针与要求优化所生成的逻辑衔接,使层次规划平面化,供FPGA布局布线软件进行完成。就现在的层次来看,归纳优化(Synthesis)是指将规划输入编译成由与门、或门、非门、RAM、触发器等根本逻辑单元组成的逻辑衔接网表,而并非实在的门级电路。实在详细的门级电路需求运用FPGA制造商的布局布线功用,依据归纳后生成的规范门级结构网表来发生。为了能转换成规范的门级结构网表,HDL程序的编写有必要契合特定归纳器所要求的风格。因为门级结构、RTL级的HDL程序的归纳是很老练的技能,一切的归纳器都能够支撑到这一级其他归纳。常用的归纳东西有Synplicity公司的Synplify/Synplify Pro软件以及各个FPGA厂家自己推出的归纳开发东西。

5) 门级仿真

也称为归纳后仿真,归纳后仿真查看归纳成果是否和原规划共同。在仿真时,把归纳生成的规范延时文件反标注到归纳仿真模型中去,可估量门延时带来的影响。但这一进程不能估量线延时,因而和布线后的实践情况还有必定的距离,并不非常准确。现在的归纳东西较为老练,关于一般的规划能够省掉这一步,但假如在布局布线后发现电路结构和规划目的不符,则需求回溯到归纳后仿真来承认问题之地点。在功用仿真中介绍的软件东西一般都支撑归纳后仿真。

6) 布局布线

完成是将归纳生成的逻辑网表装备到详细的FPGA芯片上,将工程的逻辑和时序与器材的可用资源匹配。布局布线是其间最重要的进程,布局将逻辑网表中的硬件原语和底层单元合理地装备到芯片内部的固有硬件结构上,而且往往需求在速度最优和面积最优之间作出挑选。布线依据布局的拓扑结构,运用芯片内部的各种连线资源,合理正确地衔接各个元件。也能够简略地将布局布线了解为对FPGA内部查找表和寄存器资源的合理装备,布局能够被了解挑选可完成规划网表的最优的资源组合,而布线便是将这些查找表和寄存器资源以最优办法衔接起来。

现在,FPGA的结构非常复杂,特别是在有时序约束条件时,需求运用时序驱动的引擎进行布局布线。布线完毕后,软件东西会自动生成陈述,供给有关规划中各部分资源的运用情况。因为只要FPGA芯片出产商对芯片结构最为了解,所以布局布线有必要挑选芯片开发商供给的东西。

7) 时序仿真

是指将布局布线的延时信息反标注到规划网表中来检测有无时序违规(即不满足时序约束条件或器材固有的时序规矩,如树立时刻、坚持时刻等)现象。时序仿真包含的推迟信息最全,也最准确,能较好地反映芯片的实践作业情况。因为不同芯片的内部延时不一样,不同的布局布线计划也给延时带来不同的影响。因而在布局布线后,经过对体系和各个模块进行时序仿真,剖析其时序联系,估量体系功能,以及查看和消除竞赛冒险对错常有必要的。

8) FPGA板级调试

经过编程器将布局布线后的装备文件下载至FPGA中,对其硬件进行编程。装备文件一般为.pof或.sof文件格局,下载的办法包含AS(自动)、PS(被迫)、JTAG(鸿沟扫描)等办法。

逻辑剖析仪(Logic Analyzer,LA)是FPGA规划的首要调试东西,但需求引出很多的测验管脚,且LA价格昂贵。现在,干流的FPGA芯片出产商都供给了内嵌的在线逻辑剖析仪(如Xilinx ISE中的ChipScope、Altera QuartusII中的SignalTapII以及SignalProb)来处理上述对立,它们只需求占用芯片少数的逻辑资源,具有很高的实用价值。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/291424.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部