武汉理工大学FPGA神器第二章.docx

上传人:b****8 文档编号:11094214 上传时间:2023-02-25 格式:DOCX 页数:100 大小:2.14MB
下载 相关 举报
武汉理工大学FPGA神器第二章.docx_第1页
第1页 / 共100页
武汉理工大学FPGA神器第二章.docx_第2页
第2页 / 共100页
武汉理工大学FPGA神器第二章.docx_第3页
第3页 / 共100页
武汉理工大学FPGA神器第二章.docx_第4页
第4页 / 共100页
武汉理工大学FPGA神器第二章.docx_第5页
第5页 / 共100页
点击查看更多>>
下载资源
资源描述

武汉理工大学FPGA神器第二章.docx

《武汉理工大学FPGA神器第二章.docx》由会员分享,可在线阅读,更多相关《武汉理工大学FPGA神器第二章.docx(100页珍藏版)》请在冰豆网上搜索。

武汉理工大学FPGA神器第二章.docx

武汉理工大学FPGA神器第二章

第2章FPGA器件

⏹内容提要

⏹本章介绍了Xilinx公司的Spartan-Ⅱ、Spartan-ⅡE、Virtex-Ⅱ、Virtex-ⅡPro、Virtex-ⅡProX系列FPGA器件,和Altera公司的FLEX、ACEX1K、APEX、Mercury、Excalibur、Stratix系列FPGA器件的主要技术特性、器件结构、输入/输出接口、逻辑单元、RAM等结构特点。

第2章FPGA器件

⏹知识要点:

FPGA器件结构,可配置逻辑模块,逻辑单元,输入输出接口模块,BlockRAM,数字延迟锁相环,嵌入式阵列块,逻辑阵列块。

快速通道互连,进位链,级联链,工作模式,微处理器,配置。

第2章FPGA器件

⏹教学建议:

本章的重点是掌握Xilinx公司和Altera公司的FPGA器件的主要技术特性、器件结构、输入/输出接口、逻辑单元、RAM等结构特点。

建议学时数为4学时。

注意区分Xilinx公司和Altera公司的FPGA器件结构上的不同点,注意区分同一公司不同系列产品内部结构、技术性能上的不同点,学习过程中要采用“BlackBox”方法去掌握器件的主要特点、功能及应用。

器件的功能实现需要通过实际的设计过程加深理解,注意不同器件的设计工具是不同的。

2.1XilinxFPGA器件

⏹美国Xilinx公司1984年首先推出了世界上第一片现场可编程门阵列FPGA(FieldProgrammableGateArray)。

之后,从XC330、XC4000到Spartan-Ⅱ、Spartan-ⅡE和Virtex-Ⅱ、Virtex-ⅡPro,Xilinx公司不断推陈出新,一直保持着FPGA领域的全球领先地位。

2.1.1XilinxFPGA器件简介

⏹目前,Xilinx公司的XC3000.XC4000.Spartan和Virtex系列FPGA已经基本被淘汰,SpartanXL和Virtex-E系列FPGA也逐渐退出市场。

Spartan-Ⅱ、Spartan-ⅡE和Virtex-Ⅱ、Virtex-ⅡPro是Xilinx公司的主流FPGA产品。

⏹Xilinx公司的FPGA产品分为高密度、高性能和低成本、低密度两种类型。

2.1.1XilinxFPGA器件简介

⏹Spartan-Ⅱ具有LC数5292,BlockRAM容量56Kbit,DLL(Delay-LockedLoop,数字延迟锁相环)时钟管理,I/O接口速度200MHz。

Spartan-ⅡE具有LC数15552,BlockRAM容量288Kbit,DLL时钟管理,I/O接口速度400MHz。

Spartan-Ⅱ和Spartan-ⅡE采用成熟的FPGA结构,支持流行的接口标准,具有适量的逻辑资源和片内RAM,并提供灵活的时钟处理,是Xilinx公司低成本、低密度FPGA产品的代表,是ASIC的有效替代产品,被广泛应用在各类低端产品中。

2.1.1XilinxFPGA器件简介

⏹Virtex-Ⅱ具有LC数104832,BlockRAM容量3024Kbit,DCM(DistalClockManager,数字时钟管理器)时钟管理,硬件乘法器,I/O接口速度840MHz。

Virtex-ⅡPro具有LC数125136,BlockRAM容量10008Kbit,DCM(DistalClockManager,数字时钟管理器)时钟管理,硬件乘法器,I/O接口速度3,125MHz。

Virtex-Ⅱ和Virtex-ⅡPro具有逻辑容量大、片内RAM多、时钟频率高、含有硬乘法运算单元、支持多种接口标准等特点,是Xilinx公司高密度、高性能FPGA产品的代表,已广泛应用于复杂网络设备、无线基站、高端视频处理器等高性能产品中。

2.1.2Spartan-Ⅱ和Spartan-ⅡE系列产品

1.主要技术特性

⏹Spartan-Ⅱ和Spartan-ⅡE系列产品主要技术特性如表2.1.1和表2.1.2所示。

 

表2.1.1Spartan-Ⅱ系列产品主要技术特性

表2.1.2Spartan-ⅡE系列产品主要技术特性

注:

1.用户I/O数不包括4个全局时钟(globalclock)/用户输入引脚端。

Spartan-Ⅱ和Spartan-ⅡE系列产品同一型号的有用的用户I/O接口,根据不同的封装形式具有不同的数量,例如:

Spartan-Ⅱ系列中的XC2S200采用不同的封装PQ208、FG256、FG456,引脚端数分别为140、176、284。

2.器件结构

⏹Spartan-Ⅱ和Spartan-ⅡE系列产品内部结构如图2.1.1所示,主要由可配置逻辑模块(CLB,ConfigurableLogicBlock)、输入输出接口模块(IOB,Input/OutputBlock)、BlockRAM和数字延迟锁相环(DLL,Delay-LockedLoop)组成。

其中,CLB模块用于实现FPGA的大部分逻辑功能,IOB模块用于提供封装管脚与内部逻辑之间的接口,BlockRAM用于实现FPGA内部数据的随机存取,DLL用于FPGA内部的时钟控制和管理。

图2.1.2Spartan-Ⅱ和Spartan-ⅡE系列产品内部结构

3.CLB(ConfigurableLogicBlock,

可配置逻辑模块)

⏹在Spartan-Ⅱ和Spartan-ⅡE系列产品中,逻辑单元(LC,LogicCell)是CLB模块的基本结构。

l个LC包括1个4输入的函数发生器、进位控制逻辑和存储逻辑。

在LC中,每个4输入函数发生器可以用于实现1个4输入查找表(LUT,LookUpTable)、16×1bit同步RAM或16×1bit移位寄存器;存储逻辑可配置为D触发器或锁存器;进位控制逻辑与CLB模块中的运算逻辑相配合,可以在二个LC中实现1个1位全加器。

在LC中,每个函数发生器的输出既可以驱动CLB模块的输出,也可以作为D触发器的输入。

⏹在Spartan-Ⅱ和Spartan-ⅡE系列产品中,每个CLB模块含有两个切片(Slice),每个Slice包括两个LC。

Slice的内部结构如图2.1.3所示,图中:

Look-UpTable(LUT,查找表),CarryandControlLogic(CCL,进位控制逻辑)。

除了4个基本的LC外,在CLB模块中还包括附加逻辑和运算逻辑。

CLB模块中的附加逻辑可以将2个或4个函数发生器组合起来,用于实现更多输入的函数发生器。

图2.1.3Spartan-Ⅱ和Spartan-ⅡE切片(Slice)结构

4.IOB(Input/OutputBlock,

输入输出接口模块)

⏹Spartan-Ⅱ和Spartan-ⅡE的IOB内部结构如图2.1.4所示,IOB内部包含有:

可编程延迟(ProgrammableDelay)、可编程输出缓冲器(ProgrammableOutputBuffer)、可编程输入缓冲器(ProgrammableInputBufferProgrammable)、偏置和ESD网络(Bias&ESDNetwork)、内部基准(InternalReference)、到下一个I/O的连接(ToNextI/O)、到另一个BankVREF输入端的连接(ToOtherExternalVREFInputsofBank),I/O等输入输出直接连接到封装引脚端(PackagePin)。

IOB模块提供FPGA内部逻辑与外部封装管脚之间的接口。

在IOB模块中,三个内部寄存器共享一个时钟信号(CLK)和置位/复位信号(SR),具有独立的使能信号OCE、TCE和ICE,可以实现D触发器和锁存器功能。

⏹IOB模块的外部信号输入路径上有一个缓冲器,用于控制外部输入信号是否直接进入FPGA内部。

如果外部输入信号不直接进入FPGA内部,将通过IOB模块中的内部寄存器输入到FPGA内部。

通过配置IOB模块的输入缓冲器,可以支持Spartan-Ⅱ和Spartan-ⅡE系列产品的所有输入接口信号标准。

大多数情况下,输出信号的高电平取决于接口电压Vcco。

图2.1.4Spartan-Ⅱ和Spartan-ⅡE的IOB内部结构

⏹如图2.1.5所示,Spartan-Ⅱ和Spartan-ⅡE系列产品的I/O管脚分布在8个Bank中,同一个Bank的Vcco电压必须保持一致,不同Bank的Vcco电压允许不同。

注意:

在TQ144和PQ208封装中,所有Bank的Vcco电压必须保持一致。

⏹Vcco电压相同是输出接口标准兼容的基本条件。

同一Bank中的I/O接口标准应保持兼容,不同Bank间的I/O接口标准可以不要求兼容。

Spartan-Ⅱ可以兼容的输出接口标准如表2.1.3所示。

Spartan-ⅡE可以兼容的输出接口标准如表2.1.4所示。

图2.1.5Spartan-Ⅱ和Spartan-ⅡEI/O管脚的Bank结构

表2.1.3Spartan-Ⅱ可以兼容的输出接口标准

 

表2.1.4Spartan-ⅡE可以兼容的输出接口标准

5.BlockRAM

⏹在Spartan-Ⅱ和Spartan-ⅡE系列产品中,不同型号的产品BlockRAM数量不同。

BlookRAM单位容量为4Kbit,如图2.1.6所示,Spartan-Ⅱ和Spartan-ⅡE内部的BlockRAM是一个完全同步的双端口RAM,端口的数据宽度可独立配置。

通过级联多个BlockRAM可以实现FPGA内部的大容量数据存储。

BlockRAM端口纵横比如表2.1.5所示。

图2.1.6BlookRAM示意图

表2.1.5BlockRAM端口纵横比

6DLL(DelayLockedLoop,

数字延迟锁相环)

⏹在Spartan-Ⅱ和Spartan-ⅡE系列产品中,Xilinx公司一直采用数字延迟锁相环技术进行FPGA内部的时钟控制。

通过使用FPGA内部的DLL,可以消除时钟相位偏移、变换时钟频率(倍频或分频)和调整时钟输出相位。

⏹如图2.1.7所示,DLL主要由可变延迟线和控制逻辑构成。

时钟分配网络把时钟信号送到目标内部寄存器的时钟端口和时钟反馈管脚CLKFB。

控制逻辑抽样输入时钟和输出反馈时钟信号,并根据比较结果调整可变延迟线。

通过在输入时钟和反馈时钟之间插入时延脉冲,DLL电路可以使输入时钟和输出时钟的上升沿对齐。

当输入时钟脉冲上升沿和反馈时钟脉冲上升沿对齐后,时钟延迟锁相环将被锁定,从而达到控制时钟相位偏移的作用。

与PLL(PhaseLockedLoop)锁相技术相比,DLL具有锁相性能稳定、相位偏移不累加等优点。

⏹每个全局时钟缓冲器都与数字延迟锁相环(DLL)相连,每个DLL可以驱动两个全局时钟网络。

通过监控输入时钟信号和分布时钟信号,DLL可以自动调整并消除输入时钟信号与FPGA内部分布时钟信号之间的相位偏移,从而保证到达内部触发器的时钟边沿与时钟输入管脚的信号同步。

⏹DLL除了用于消除时钟分布延迟外,还可以用于倍频、分频和移相。

DLL不支持任意系数分频,其分频系数可以是1.5、2、2.5、3、4、5、8或者16。

为保证FPGA在启动前获得正确的时钟,下载配置过程可以在DLL锁定时钟信号后结束。

图2.1.7DLL结构示意图

2.1.3Virtex-Ⅱ系列产品

1.主要技术特性

2.内部结构

⏹Virtex-Ⅱ系列产品的内部结构如图2.1.8所示,主要由CLB、IOB、BlockRAM、DCM和乘法器等组成。

其中,内部的CLB模块含有4个Slice,用于实现FPGA的大部分逻辑功能。

内嵌的专用乘法器电路可以提高产品进行数字信号处理的速度。

内嵌大容量的BlockRAM,用于实现FPGA内部的随机存取,可以适应设计对大容量片内存储的要求。

将DLL改为数字时钟管理器(DCM,DistalClockManager)从而可以提供更灵活的时钟管理。

IOB模块用于提供封装管脚与内部逻辑之间的接口,Virtex-Ⅱ支持更多的I/O接口标准。

⏹Virtex-Ⅱ采用数控阻抗匹配(DCI,DigitallyControlledImpedance)技术,从而可以减小因阻抗匹配问题而造成的系统不稳定性。

Virtex-Ⅱ内部含有更加丰富的布线资源,从而保证FPGA逻辑资源的最大利用率。

Virtex-Ⅱ支持配置数据的三重加密,从而最大限度保护设计者的知识产权。

图2.1.8Virtex-Ⅱ系列产品的内部结构

3.CLB

⏹Virtex-Ⅱ的CLB单元如图2.1.9所示。

Virtex-IICLB模块由4个相同的Slice和附加逻辑构成,用于实现组合逻辑和时序逻辑。

图2.1.9Virtex-IICLB单元

⏹Slice的内部结构如图2.1.10所示,每个Slice由两个4输入函数发生器、进位逻辑、算术逻辑、存储逻辑和函数复用器组成。

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

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

⏹4输入函数发生器可以用于实现4输入LUT、分布式RAM或16bit移位寄存器;存储逻辑可配置为D触发器或锁存器;进位逻辑包括两条快速进位链,用于提高CLB模块的处理速度;算术逻辑包括一个异或门和一个用于加速乘法运算的专用与门。

⏹每个CLB模块既可以配置为分布式RAM,也可以配置为分布式ROM,如表2.1.7和表2.1.8所示,CLB模块可以配置为不同容量的分布式RAM和ROM。

图2.1.10Virtex-ⅡSlice的内部结构

表2.1.7Virtex-Ⅱ分布式RAM配置

注:

表2.1.7中S表示单端口配置,D表示双端口配置。

表2.1.8Virtex-Ⅱ分布式ROM配置

⏹每1个slice有1个MUXF5和1个MUXFX多路(复用)器,MUXFX多路(复用)器可以实现MUXF6、MUXF7或者MUXF8多路(复用)器。

如图2.1.11所示每个CLB有4个MUXF5,2个MUXF6、1个MUXF7和1个MUXF8多路(复用)器。

通过使用这些复用器,每个CLB不仅可以实现5输入LUT、6输入LUT、7输入LUT、8输入LUT和9输入LUT,还可以实现128bit移位寄存器,从而提高了Virtex-Ⅱ系列产品的内部资源利用率。

图2.1.10MUXF5和MUXFX多路(复用)器结构示意图

4.IOB

⏹IOB模块提供FPGA内部逻辑与外部封装管脚之间的接口。

如图2.1.12所示,Virtex-Ⅱ的IOB模块含有6个存储单元,可以单独配置为边沿D触发器或锁存器,也可以成对实现DDR(Double-Data-Rate)输入和DDR输出。

Virtex-ⅡDDR输出结构如图2.1.13所示。

⏹外部输入信号可以通过IOB模块的存储单元输入到FPGA的内部,也可以直接输入FPGA内部。

当外部输入信号经过IOB模块的存储单元输入到FPGA内部时,其保持时间(HoldTime)的要求可以降低,通常其保持时间默认为0。

图2.1.11Virtex-Ⅱ的IOB模块结构

图2.1.12Virtex-ⅡDDR输出结构

⏹在Virtex-Ⅱ系列产品中,根据当前使用的I/O接口标准不同,需要设置不同的接口电压Vcco和参考电压VREF。

注意:

无论使用何种I/O接口标准,辅助电压VCCAUX均要求接3.3V电源。

⏹像Spartan-Ⅱ和Spartan-ⅡE一样,在Virtex-Ⅱ系列产品的I/O管脚分布在8个Bank中,同一个Bank的Vcco电压必须保持一致,不同Bank的Vcco电压允许不同。

注意:

Bank位置根据封装形式不同略有区别。

⏹Vcco电压相同是输出接口标准兼容的基本条件。

同一Bank中的I/O接口标准应保持兼容,不同Bank间的I/O接口标准可以不要求兼容。

Virtex-Ⅱ可以兼容的输出接口标准与Spartan-Ⅱ和Spartan-ⅡE类似,Virtex-Ⅱ支持高速差分信号接口标准。

5.BlockSelectRAM

⏹Virtex-Ⅱ的BlockSelectRAM资源丰富,其单位容量为18Kbit。

单端18KbitBlockSelectRAM存储器结构图如图2.1.13所示,双端18KbitBlockSelectRAM存储器结构图如图2.1.14所示。

数据宽度和深度纵横比可以自由设定,并支持三种并发读写(Read-During-Write)模式。

图2.1.13单端18KbitBlockSelectRAM存储器结构图

图2.1.14双端18KbitBlockSelectRAM存储器结构图

6.18-Bitx18-BitMultipliers(乘法器)

⏹Virtex-Ⅱ乘法器模块支持18bit×18bit的有符号乘法,如图2.1.15所示。

乘法器模块可以通过交换矩阵(SwitchMatrix)与18Kbit的BlockRAM配合使用,也可以单独使用,如图2.1.16所示。

图2.1.15Multiplier方框图

图2.1.16SelectRAM和Multiplier组合

7.DCM(DigitalClockManager,

数字时钟管理)

⏹Virtex-Ⅱ的DCM控制和管理FPGA内部复杂的时钟,其主要功能包括时钟同步、频率综合和相位调整,结构示意图如图2.1.17所示,图中实线箭头为时钟信号,虚线箭头为控制信号。

图2.1.17DCM结构示意图

8.DCI(DigitallyControlledImpedance,数控阻抗匹配)

⏹在FPGA设计中,为保证高速信号的信号完整性,通常需要在PCB板(印刷电路板)上进行阻抗匹配,以减小信号的反射和振荡。

使用DCI,可以在Virtex-Ⅱ内部实现阻抗匹配,从而减少外部匹配电阻数量,提高板极系统的稳定性。

大多数的接口标准都可以使用DCI进行阻抗匹配。

图2.1.18DCI阻抗匹配设置

2.1.4Virtex-ⅡPro和

Virtex-ⅡProX系列产品

1.主要技术特性

⏹Virtex-ⅡPro和和Virtex-ⅡProX系列产品是Xilinx公司推出的高端FPGA产品,采用成熟的Virtex-Ⅱ架构,无缝嵌入PowerPC405和RocketIOTMMGT收发器(MGT,Multi-GigabitTransceiver),内嵌32位RISC硬核和3.125Gbps高速串行接口。

Virtex-ⅡPro系列产品主要技术特性如表2.1.9所示。

Virtex-ⅡProX系列产品主要技术特性如表2.1.10所示

2.器件结构

⏹如图2.1.19所示,Virtex-ⅡPro和Virtex-ⅡProX系列产品器件结构采用Xilinx公司成熟的Virtex-Ⅱ架构,主要由PowerPC405(ProcessorBlock)处理器模块、RocketIOTMMGT(RocketIO™Multi-GigabitTransceiver多吉比特收发器)、CLB、IOB、DCM、BlockRAM和乘法器(MultipliersandBlockSelectRAM)组成。

其中,CLB、IOB、BlockRAM、DCM和乘法器的内部结构和使用方法与Virtex-Ⅱ系列产品相同。

Xilinx公司针对Virtex-ⅡPro系列产品中PowerPC405处理器模块和RocketIOTMMGT(多吉比特收发器)模块的设计与使用,在ISE5.x系列软件中配备了专用的开发工具EDK。

图2.1.19Virtex-ⅡPro和Virtex-ⅡProX系列产品器件结构

3.处理器模块

⏹Virtex-ⅡPro和Virtex-ⅡProX的处理器模块由IBMPowerPC405RISC硬核(EmbeddedIBMPowerPC405-D5RISCCPUcore)、OCM控制器和接口(On-ChipMemory(OCM)controllersandinterfaces)、时钟/控制接口逻辑(Clock/controlinterfacelogic)和CPU-FPGA接口(CPU-FPGAInterfaces)等部分组成,内部结构如图2.1.20所示。

图2.1.20处理器内部结构

⏹OCM控制器主要用于控制PowerPC405内核与BlockRAM的高速连接,它支持64bit的指令BaRAM连接(ISBRAMInstructionSideBlockRAM)和32bit的数据BlockRAM连接(DSBRAM,DataSideBlockRAM)。

在FPGA实现(Implementation)过程中,是否采用ISBRAM和DSBRAM由用户设定。

⏹PowerPC405处理器模块的时钟/控制逻辑主要用于控制PowerPC405内核的时钟信号、电源信号和初始化信号。

⏹PowerPC405处理器模块的CPU-FPGA接口主要用于PowerPC405模块与FPGA其他资源的相互连接,其主要包括:

(1)PLB(ProcessorLocalBus,处理器局部总线接口)用于PowerPC405模块与外部资源的高速连接,支持32bit地址宽度和64bit数据宽度。

PLB接口包括ISPLB接口和DSPLB接口。

其中,ISPLB接口用于外部设备与PowerPC405指令缓存的连接,DSPLB接口用于外部设备与PowerPC405数据缓存的连接。

(2)DCR(DeviceControlRegister,设备控制寄存器接口)用于PowerPC405模块与外部设备的状态寄存器和配置寄存器的连接,支持10bit地址宽度和32bit数据宽度。

⏹(3)OCM(On-chipMemoryController,片上存储接口用于PowerPC405模块与FPGA内部BlockRAM的直接连接。

通常,ISBRAM用于存放启动闭加t)代码、中断处理程序等,DSBRAM用于中间数据缓存。

⏹(4)EIC(ExternalInterruptController,外部中断控制)接口、用于PowerPC405模块与外部中断的连接,它支持critical和noncritical两级中断。

⏹(5)CPM(ClockandPowerManagement,时钟电源管理)接口用于PowerPC405模块与外部时钟信号和电源信号的连接。

⏹(6)初始化接口用于PowerPC405模块与外部初始化信号的连接。

它支持Core、ChiP。

⏹System三级初始化。

⏹(7)调试(Debug)接口用于PowerPC405模块的跟踪和调试。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1