FPGA芯片结构

2021-04-23 02:46:17 浏览:580

  目前主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、时钟管理和DSP)的硬核(ASIC型)模块。

如图1所示(注:图1只是一个示意图,实际上每一个系列的FPGA都有其相应的内部结构),FPGA芯片主要由6部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。


图1 FPGA芯片的内部结构
  每个模块的功能如下:
  1. 可编程输入输出单元(IOB)
  可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求,其示意结构如图2所示。

FPGA内的I/O按组分类,每组都能够独立地支持不同的I/O标准。

通过软件的灵活配置,可适配不同的电气标准与I/O物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。

目前,I/O口的频率也越来越高,一些高端的FPGA通过DDR寄存器技术可以支持高达2Gbps的数据速率。


图2 典型的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。


图3 典型的CLB结构示意图
  Slice是Xilinx公司定义的基本逻辑单位,其内部结构如图4所示,一个Slice由两个4输入的函数、进位逻辑、算术逻辑、存储逻辑和函数复用器组成。

算术逻辑包括一个异或门(XORG)和一个专用与门(MULTAND),一个异或门可以使一个Slice实现2bit全加操作,专用与门用于提高乘法器的效率;

进位逻辑由专用进位信号和函数复用器(MUXC)组成,用于实现快速的算术加减法操作;

4输入函数发生器用于实现4输入LUT、分布式RAM或16比特移位寄存器(Virtex-5系列芯片的Slice中的两个输入函数为6输入,可以实现6输入LUT或64比特移位寄存器);

进位逻辑包括两条快速进位链,用于提高CLB模块的处理速度。


图4 典型的4输入Slice结构示意图
  3. 数字时钟管理模块(DCM)
  业内大多数FPGA均提供数字时钟管理(Xilinx的全部FPGA均具有这种特性)。

Xilinx推出最先进的FPGA提供数字时钟管理和相位环路锁定。

相位环路锁定能够提供精确的时钟综合,且能够降低抖动,并实现过滤功能。


  4. 嵌入式块RAM(BRAM)
  大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范围和灵活性。

块RAM可被配置为单端口RAM、双端口RAM、内容地址存储器(CAM)以及FIFO等常用存储结构。

RAM、FIFO是比较普及的概念,在此就不冗述。

www.diangon.com版权所有!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(Phase Locked Loop)、DSP和CPU等软处理核(Soft Core)。

现在越来越丰富的内嵌功能单元,使得单片FPGA成为了系统级的设计工具,使其具备了软硬件联合设计的能力,逐步向SOC平台过渡。


  DLL和PLL具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。

Xilinx公司生产的芯片上集成了DLL,Altera公司的芯片集成了PLL,Lattice公司的新型芯片上同时集成了PLL和DLL。

PLL 和DLL可以通过IP核生成的工具方便地进行管理和配置。

DLL的结构如图5所示。


图5 典型的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的开发目的。

本文链接:https://www.defjx.com/article/diannao/202.html

文章标签: 逻辑 布线 输入 电脑
相关文章
电脑显卡坏了的修理窍门与方法  电脑的显卡是电脑系统运作的重要部件之一,那么如果在使用电脑的时候发现显卡出现了故障那么该怎么去维修呢?以下是学习啦小编为你整理的电脑显卡坏了如何修理,希望能帮到你。  
海信日立中央空调怎么样?有对比心里才有底日立公司是一家远近闻名的企业,在世界500强企业中的排名是第47位。不管是在制造业和电子技术,还是通讯行业和核能领域都有着强大的实力。就连日本的一些核电厂和磁悬
志高中央空调怎么样?仁者见仁智者见智空调真的是一个特别好的东西,在夏天热的时候可以给室内降温,在冬天冷的时候又可以把室内变得暖洋洋的,真的是可谓冬暖夏凉居家必备,而有对空调的选择相信大家也有过疑惑吧,
中央空调清洗方法和步骤,这也是要讲究方法的很多人家里都有中央空调,给我们带来了很多的便利,但是有些时候它却给我们带来了麻烦,就是在清洗的时候,我们通常是不太知道空调的构造,也就不敢去乱动,然后也比较的
家里装中央空调实用吗?看完你会有想法的随着社会需求的增多,空调种类也逐渐增加,如何选择一个好的空调品牌也成了人们考虑的问题。选择空调的时候,我们不仅仅简单的考虑它的价格,还要从实用性节能性等多个方面去