官方论坛
官方淘宝
官方博客
微信公众号
点击联系吴工 点击联系周老师
您的当前位置:主页 > 教程中心 > 认识FPGA >

FPGA内部结构及工作原理

发布时间:2022-12-28   作者:fpga王子 浏览量:

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

FPGA芯片结构

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

 IOE

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

EP4CE115F29设备的IOE结构图

LAB

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

LAB结构图

查找表LUT(Look-Up-Table)其本质是一个静态存储器SRAM,目前FPGA多采用4输入的LUT,每个LUT可以看作一个有4位地址线的16x1的RAM。当我们通过原理图或HDL语言描述了一个逻辑电路后,FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM。这样,在FPGA工作时,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出。

LUT的实现原理图

Interconnect

FPGA内部连接线很丰富,根据数据手册的描述,主要有图3中的Row interconnect、column interconnect、Direct link interconnect、和Local interconnect和Register chain interconnect(寄存器之间连接的连接线)。

内部连接线联通FPGA内部的所有单元,而连线的长度和工艺决定着信号再连接线上的驱动能力和传输速度。在实际开发中,设计者不需要直接选择连接线,布局布线器可自动地根据输入逻辑网表(这由综合生成)的拓扑结构和约束条件选择连接线来连通各个逻辑单元,所以,从本质上来说,布线资源的使用方法和设计的结果有密切和直接、直接的关系。

FPGA工作原理

FPGA的内部结构主要包含可配置的逻辑块(CLB)、输入输出块、布线资源和可编程开关。其中可配置的控制块是FPGA的主要资源指标,在芯片内部以二维阵列的形式排布。在CLB中包含查找表和D触发器,查找表(LUT)负责给芯片提供组合逻辑,D触发器负责提供时序逻辑,为设计数字电子系统提供资源。其中的查找表是一个16*1的RAM,具有RAM的物理结构,但是在作用上是类似ROM,负责存储Quartus II综合生成的逻辑电路的各种可能的运行结果,在FPGA工作的时候,依据端口输入的数据流或者是逻辑流,在RAM中取出对应的数字逻辑运算,配合D触发器可以完成数字电子系统需要的组合逻辑和时序逻辑。设计者在进行软件设计的时候,依据设计目标,将电路功能以代码的形式描述出来,Quartus II负责对代买进行编译和综合,得到设计电路的各种可能结果,下载到FPGA的时候,这些数据都存储在CLB的查找表中。系统开始工作时,在数据流或者是逻辑流的驱动下,在查找表中取出对应的数字逻辑,然后和D触发器配合完成数字电子系统的组合逻辑设计和时序逻辑设计。

明德扬最近制作了FPGA知识点分享,欢迎进来一起学习交流

 打开抖音,扫码学习更多FPGA技巧!

下一篇:FPGA开发流程
   拓展阅读