FPGA基础结构

FPGA主要由以下六部分构成

  1. IOB(输入输出块):就是芯片与外界电路的接口,这些接口可以有不同的电气特性,可以改变驱动的电压,并确定是输入还是输出,上拉还是下拉电阻。
    关于管脚:
    PIN指芯片封装好后的管脚,即用户看到的管脚;
    PAD是硅片的管脚,是封装在芯片内部的,用户看不到。
    PAD到PIN之间还有一段导线连接的。

  2. CLB(可配置逻辑单元):可配置逻辑块FPGA 的基本单元。CLB 包括函数生成器(查找表或 LUT)、寄存器(触发器或锁存器)和可重新编程的路由控件(多路复用器)。CLB 可实现宏以及其他设计函数。它们为实现的设计和下载的设计提供了物理支持。CLB 在每一端都具有输入,并且这种多样性可使它们灵活地执行逻辑映射和分区操作。每个可配置逻辑模块 (CLB) 都具有两个 slice,尽管 slice 的具体内容可能会因器件系列不同而有所差异。目前提供了三种 Slice 类型:SLICEM、SLICEL 和 SLICEX.每个Slice内部包含4个LUT(查找表)、4个触发器、多路开关及进位链等资源。部分Slice还包括分布式RAM和32bit移位寄存器,这种Slice称为SLICEM,其他Slice称为SLICEL。CLB内部的两个Slice是相互独立的,各自分别连接开关阵列(Switch Matrix),以便与通用布线阵列(General routing Matrix)相连。MUX是二选一多路选择器。Carry是快速进位链,由MUX和与非门组成。再后面就是D触发器。
    FPGA基础结构_第1张图片

  3. RAM(随机访问内存):可以配置为单端口RAM,双端口RAM,内容地址存储器(CAM)以及FIFO等常用存储结构。

  4. 布线资源:FPGA的线的资源可以分为:1、全局资源:比如全局时钟,全局复位/置位;2、长线资源,芯片bank间的高速信号和第二全局时钟的布线;3、短线资源:用于完成基本逻辑单元之间的逻辑互联和布线;4、用于分布式的布线资源,用于专有时钟、复位等控制信号。

  5. 底层内嵌功能单元:DLL(delay locked loop),PLL(phase locked loop),DSP等软处理核。其实就是已经用代码编好的封装好的verilog代码,调用它就可以实现所需的功能,比如PLL,调用它的话就可以为你配置好一个PLL。我觉得这个东西很像c语言中的库。

  6. 嵌入式专用硬核:就是相比软核而言已经为你配置好的的单片机。比如power PC和一些dsp。

你可能感兴趣的:(FPGA基础结构)