FPGA基本结构
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、
GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路
(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服
了原有可编程器件门电路数有限的缺点。
FPGA工作原理
FPGA采用了逻辑单元阵列LCA(Logic Ce羊排的功效与作用 ll Array)这样一个概念,内部
包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input
Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)
是可编程器件。与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA
具有不同的结构,FPGA利用小型 查找表(161RAM)来实现组合逻辑,每个查
找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,
由此构成了即可实现组合逻辑 功能又可实现时序逻辑功能的基本逻辑单元模
块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过
向内部静态存储单元加载编程数据 来实现的,存储在存储器单元中的值决定了
逻辑单元的逻辑功能以及个模块之间或模块与I/O间的连接方式,并最终决定了
逻辑单元的逻辑功能以及各模块之间或 模块与I/O间的联接方式,并最终决定
了FPGA所能实现的功能, FPGA允许无限次的编程.
FPGA芯片结构
目前主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本
性能,并且整合了常用功能(如RAM、时钟管理和DSP)的硬核(ASIC型) 模
块。如图1-1所示(注:图1-1只是一个示意图,实际上每一个系列的FPGA都
有其相应的内部结构),FPGA芯片主 要由7部分完成,分别为:可编程输入输
出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资
源、内嵌的底层功能单元和内嵌专用硬件 模块。
图1-1 FPGA芯片的内部结构
FPGA芯片的内部结构
每个模块的功能如下:
1. 可编程输入输出单元(IOB)
可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成
不同电气特性下对输入 /输出信号的驱动与匹配要求,其示意结构如图1-2所
示。 FPGA内的I/O按组分类,每组都能够独立地支持不同的I/O标准。通过软
件的灵活配置,可适配不同的电气标准与I/O物理特性,可以调整驱动电流的大
小,可以改变上、下拉电阻。目前,I/O口的频率也越来越高,一些高端的FPGA
通过DDR寄存器技术可以支持高达2Gbps的数据速率。
图1-2 典型的IOB内部结构示意图
典型的IOB内部结构示意图
外部输入信号可以通过IOB模块的存储单元输入到FPGA的内部,也可以直接输
入FPGA 内部。当外部输入信号经过IOB模块的存储单元输入到FPGA内部时,
其保持时间(Hold Time)的要求可以降低,通常默认为0。
为了便于管理和适应多种电器标准,FPGA的IOB被划分为若干个组(bank),
每个 bank的接口标准由其接口电压VCCO决定,一个bank只能有 一种VCCO,
但不同bank的VCCO可以不同。只有相同电气标准的端口才能连接在一起,VCCO
电压相同是接口标准的基本条件。
2. 可配置逻辑块(CLB)
CLB是FPGA内的初一下册古诗 基本逻辑单元。CLB的实际数量和特性会依器件的不同而不
同,但是每个 CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些 选
型电路(多路复用器等)和触发器组成。 开关矩阵是高度灵活的,可以对其进
行配置以便处理组合逻辑、移位寄存器或RAM。在Xilinx公司的FPGA器件中,
CLB由多个(一般为4个或2历史唯物主义 个) 相同的Slice和附加逻辑构成,如图1-3所
示。每个CLB模块不仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布式
RAM和分布式ROM。
图1-3 典型的CLB结构示意图
典型的CLB结构示意图
Slice 是Xilinx公司定义的基本逻辑单位,其内部结构如图1-4所示,一个
Slice由两个4输入的函数、进位逻辑、算术逻辑、存储逻辑和函数复用器组成。
算术逻辑包括一个异或门(XORG)和一个专用与门(MULTAND),一个异或门可
以使一个Slice实现 2bit全加操作,专用与门用于提高乘法器的效率;进位逻
辑由专用进位信号和函数复用器(MUXC)组成,用于实现快速的算术加减法操作;
4输入函数发生 器用于实现4输入LUT、分布式RAM或16比特移位寄存器
(Virtex-5系列芯片的Slice中的两个输入函数为6输入,可以实现6输入LUT
或 64比特移位寄存器);进位逻辑包括两条快速进位链,用于提高CLB模块的
处理速度。
图1-4 典型的4输入Slice结构示意图
典型的4输入Slice结构示意图
3. 数字时钟管理模块(DCM)
业内大多数FPGA均提供数字时钟管理(Xilinx的全部FPGA均具有这种特
性)。Xilinx推出最先进的FPGA提供数字时钟管理和相位环路锁定。相位环路
锁定能够提供精确的时钟综合,且能够降低抖动,并实现过滤功能。
4. 嵌入式块RAM(BRAM)
大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范围和灵活性。
块RAM可被 配置为单端口RAM、双端口RAM、内容地址存储器 (CAM)以及FIFO
等常用存储结构。RAM、FIFO是比较普及的概念,在此就不冗述。CAM存储器在
其内部的每个存储单元中都有一个比较逻辑,写入 CAM中的数据会和内部的每
一个数据进行比较,并返回与端口数据相同的所有数据的地址,因而在路由的地
址交换器中有广泛的应用。除了块RAM,还可以将 FPGA中的LUT灵活地配置成
RAM、ROM和FIFO等结构。在实际应用中,芯片内部块RAM的数量也是选择芯片
的一个重要因素。
单片块RAM的容量为18k比特,即位宽为18比特、深度为1024,可以根据
需要改变其位宽 和深度,但要满足两个原则:首先,修改后的容量(位宽 深度)
不能大于18k比特;其次,位宽最大不能超过36比特。当然,可以将多片块RAM
级联起来形成更大的RAM,此时只受限于芯片内块RAM的数量,而 不再受上面
两条原则约束。
5. 丰富的布线资源
布线资源连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连
线上的驱动能力和传输 速度。FPGA芯片内部有着丰富的布线资源,根据工艺、
长度、宽度和分布位置的不同而划分为4类不同的类别。第一类是全局布线资源,
用于芯片内部全局时钟 和全局复位/置位的布线;第二类是长线资源,用以完成
芯片 Bank间的高速信号和第二全局时钟信号的布线;第三类是短线资源,用于
完成基本逻辑单元之间的逻辑互连技术作品 和布线;第四类是分布式的布线资源,用于专
有时 钟、复位等控制信号线。
在实际中设计者不需要直接选择布线资源,布局布线器可自动地根据输入逻
辑网表的拓扑结构和约束条件选择布线资源来连通各个模块单元。从本质上讲,
布线资源的使用方法和设计的结果有密切、直接的关系。
6. 底层内嵌功能单元
内嵌功能模块主要指DLL(Delay Locked Loop)、PLL(Pha Locked Loop)、
DSP和CPU等软处理核(SoftCore)。现在越来越丰富的内嵌功能单元,使得单
片FPGA成为了系统级的设计工具八年级下册历史第一单元思维导图 ,使其具备了软硬件 联合设计的能力,逐步向
SOC平台过渡。
DLL和PLL具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,
以及占空比调整和移 相等功能。Xilinx公司生产的芯片上集成了 DLL,Altera
公司的芯片集成了PLL,Lattice公司的新型芯片上同时集成了PLL和DLL。PLL
和DLL可以通过IP核生成的工具方便地进行管理和配置。DLL的结构如图1-5
所示。
图1-5 典型的DLL模块示意图
典型的DLL模块示意图
7. 内嵌专用硬核
内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核
(Hard Core),等效于ASIC电路。为了提高FPGA性能,微信群艾特所有人怎么弄 芯片生产商在芯片内
部集成了一些专用的硬核。例如:为了提高FPGA的乘法速度,主流的FPGA 中
都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的FPGA内部都
集成了串并收发器(SERDES),可以达到数十Gbps的收发速度。
Xilinx公司的高端产品不仅集成了Power PC系列CPU,还内嵌了DSP Core
模块,其相应的系统级设计工具是EDK和Platform Studio,并依此提出了片上
系统(System on Chip)的概念。通过PowerPC、Miroblaze、Picoblaze等平台,
能够开发标准的DSP处理器及其相关应用,达到SOC的开发目 的。
FPGA的基本特点
1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能
得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之
一。
5) FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需
要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA
进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能
够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM
编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片
FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵
活。
本文发布于:2023-04-26 05:07:40,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/fan/89/848541.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |