FPGA内部结构

1. 可编程逻辑单元(LABS)

  • FPGA的基本可编程逻辑单元是由查找表(LUT)和寄存器(Register)组成的,查找表完成纯组合逻辑功能。FPGA内部寄存器可配置为带同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。FPGA一般依赖寄存器完成同步时序逻辑设计。
    展开查看
    
    - 【包含逻辑单元(LEs),自适逻辑模块(ALMs),查找表(LUT),进位逻辑,输出寄存器逻辑】lut dff辅助逻辑  
    - LE和ALM是同级的,有些LAB里是LE,有些是ALM。ALM比LE复杂一些。 
    

2.可编程连线(丰富的布线资源)

  • 布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。布线资源的划分:

    (1)全局性的专用布线资源:以完成器件内部的全局时钟和全局复位/置位的布线;

    (2)长线资源:用以完成器件Bank间的一些高速信号和一些第二全局时钟信号的布线;

    (3)短线资源:用来完成基本逻辑单元间的逻辑互连与布线;

    (4)其他:在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线。

3.可编程输入输出单元(I/O单元)

展开查看

-    (多个I/O标准,差分信号输出,电流驱动强度/速度调节,片上终端/上拉电阻,开漏/三态) 
- 
  • 目前大多数FPGA的I/O单元被设计为可编程模式,即通过软件的灵活配置,可适应不同的电器标准与I/O物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱动电流的大小等。

4.时钟资源

展开查看

-    (PLL,专用输入时钟引脚,时钟控制模块,时钟布线网络) 
- 
  • 专用输入时钟引脚、锁相环(PLL)、时钟控制模块(选择时钟以提供时钟布线网、可启用/禁用时钟以节能)、时钟布线网络(全局时钟网络驱动整个设备、局部时钟网络驱动特定的设备区域)

5.嵌入式块RAM

  • 目前大多数FPGA都有内嵌的块RAM。嵌入式块RAM可以配置为单端口RAM、双端口RAM、伪双端口RAM、CAM、FIFO等存储结构。CAM,即为内容地址存储器。写入CAM的数据会和其内部存储的每一个数据进行比较,并返回与端口数据相同的所有内部数据的地址。简单的说,RAM是一种写地址,读数据的存储单元;CAM与RAM恰恰相反。

6.底层嵌入功能单元

展开查看

-    (DSP模块,高速收发器,硬IP模块)
- 
  • 底层嵌入功能单元是指通用程度较高的嵌入式功能模块。如锁相环(Phase Locked Loop,PLL)、DLL(Delay Locked Loop)、DSP(Digital Signal Processing)和CPU等。
展开查看


FPGA→LAB(逻辑阵列块)→LE(ALM)(自适应逻辑模块)【最小逻辑单元】→LUT+触发器+辅助逻辑