武汉理工大学FPGA神器第二章汇总_第1页
武汉理工大学FPGA神器第二章汇总_第2页
武汉理工大学FPGA神器第二章汇总_第3页
武汉理工大学FPGA神器第二章汇总_第4页
武汉理工大学FPGA神器第二章汇总_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2章 FPGA器件 n 内容提要n 本章介绍了Xilinx公司的Spartan-、Spartan-E 、Virtex-、Virtex-Pro、Virtex-ProX系列FPGA器件,和Altera公司的FLEX、ACEX1K、APEX、Mercury、Excalibur、Stratix系列FPGA器件的主要技术特性、器件结构、输入/输出接口、逻辑单元、RAM等结构特点。第2章 FPGA器件 n 知识要点: FPGA器件结构, 可配置逻辑模块,逻辑单元,输入输出接口模块,BlockRAM,数字延迟锁相环,嵌入式阵列块,逻辑阵列块。快速通道互连,进位链,级联链,工作模式,微处理器,配置。第2章

2、FPGA器件 n 教学建议: 本章的重点是掌握Xilinx公司和Altera公司的FPGA器件的主要技术特性、器件结构、输入/输出接口、逻辑单元、RAM等结构特点。建议学时数为4学时。注意区分Xilinx公司和Altera公司的FPGA器件结构上的不同点,注意区分同一公司不同系列产品内部结构、技术性能上的不同点,学习过程中要采用“Black Box”方法去掌握器件的主要特点、功能及应用。器件的功能实现需要通过实际的设计过程加深理解,注意不同器件的设计工具是不同的。2.1 Xilinx FPGA器件n 美国Xilinx公司1984年首先推出了世界上第一片现场可编程门阵列 FPGA(Field P

3、rogrammable Gate Array)。之后,从XC330、XC4000到Spartan-、Spartan-E和 Virtex-、Virtex- Pro,Xilinx公司不断推陈出新,一直保持着FPGA领域的全球领先地位。2.1.1 Xilinx FPGA器件简介n 目前,Xilinx公司的XC3000XC4000Spartan和Virtex系列FPGA已经基本被淘汰,Spartan XL和Virtex-E系列FPGA也逐渐退出市场。Spartan-、Spartan-E和 Virtex-、Virtex- Pro是Xilinx公司的主流FPGA产品。n Xilinx公司的FPGA产品分为

4、高密度、高性能和低成本、低密度两种类型。2.1.1 Xilinx FPGA器件简介n Spartan-具有LC数5292,BlockRAM容量56Kbit,DLL(Delay -Locked Loop ,数字延迟锁相环)时钟管理,I/O接口速度200MHz。Spartan-E具有LC数15552,BlockRAM容量288Kbit,DLL时钟管理,I/O接口速度400MHz。Spartan-和Spartan-E采用成熟的FPGA结构,支持流行的接口标准,具有适量的逻辑资源和片内RAM,并提供灵活的时钟处理,是 Xilinx公司低成本、低密度FPGA产品的代表,是ASIC的有效替代产品,被广泛应

5、用在各类低端产品中。2.1.1 Xilinx FPGA器件简介n Virtex-具有LC数104832,BlockRAM容量3024Kbit, DCM (Distal Clock Manager,数字时钟管理器)时钟管理,硬件乘法器,I/O接口速度840MHz。Virtex- Pro具有LC数125136,BlockRAM容量10008Kbit, DCM (Distal Clock Manager,数字时钟管理器)时钟管理,硬件乘法器,I/O接口速度3,125MHz。Virtex-和Virtex- Pro具有逻辑容量大、片内RA M多、时钟频率高、含有硬乘法运算单元、支持多种接口标准等特点,是

6、 Xilinx公司高密度、高性能FPGA产品的代表,已广泛应用于复杂网络设备、无线基站、高端视频处理器等高性能产品中。2.1.2 Spartan-和Spartan-E系列产品 1.主要技术特性n Spartan-和Spartan-E系列产品主要技术特性如表2.1.1和表2.1.2所示。 表2.1.1 Spartan-系列产品主要技术特性表2.1.2 Spartan-E系列产品主要技术特性 注:1.用户I/O数不包括4个全局时钟(global clock)/用户输入引脚端。Spartan-和Spartan-E系列产品同一型号的有用的用户I/O接口,根据不同的封装形式具有不同的数量,例如:Spar

7、tan-系列中的XC2S200采用不同的封装PQ208、 FG256、 FG456,引脚端数分别为140、176、284。 2. 器件结构n Spartan-和Spartan-E系列产品内部结构如图2.1.1所示,主要由可配置逻辑模块(CLB,Configurable Logic Block)、输入输出接口模块(IOB,InputOutput Block)、BlockRAM和数字延迟锁相环(DLL,Delay-Locked Loop)组成。其中,CLB模块用于实现FPGA的大部分逻辑功能,IOB模块用于提供封装管脚与内部逻辑之间的接口,BlockRAM用于实现FPGA内部数据的随机存取,DLL

8、用于FPGA内部的时钟控制和管理。 图2.1.2 Spartan-和Spartan-E系列产品内部结构3. CLB(Configurable Logic Block, 可配置逻辑模块)n 在Spartan-和Spartan-E系列产品中,逻辑单元(LC,Logic Cell)是CLB模块的基本结构。l个 LC包括1个4输入的函数发生器、进位控制逻辑和存储逻辑。在LC中,每个4输入函数发生器可以用于实现 1个 4输入查找表(LUT,Look Up Table)、16 ×1bit同步 RAM或 16 ×1bit移位寄存器;存储逻辑可配置为D触发器或锁存器;进位控制逻辑与CLB模

9、块中的运算逻辑相配合,可以在二个LC中实现 1个1位全加器。在LC中,每个函数发生器的输出既可以驱动C LB模块的输出,也可以作为D触发器的输入。n 在Spartan-和Spartan-E系列产品中,每个CLB模块含有两个切片(Slice),每个Slice包括两个LC。Slice的内部结构如图2.1.3所示,图中:Look-Up Table(LUT,查找表),Carry and Control Logic(CCL,进位控制逻辑)。除了4个基本的LC外,在CLB模块中还包括附加逻辑和运算逻辑。CLB模块中的附加逻辑可以将2个或4个函数发生器组合起来,用于实现更多输入的函数发生器。 图2.1.3

10、Spartan-和Spartan-E切片(Slice)结构 4. IOB(InputOutput Block, 输入输出接口模块)n Spartan-和Spartan-E的IOB内部结构如图2.1.4所示,IOB内部包含有:可编程延迟(Programmable Delay)、可编程输出缓冲器(Programmable Output Buffer)、可编程输入缓冲器(Programmable Input Buffer Programmable)、偏置和ESD网络(Bias &ESD Network )、内部基准(Internal Reference)、到下一个I/O的连接( To Nex

11、t I/O)、到另一个Bank VREF输入端的连接(To Other External VREF Inputs of Bank),I/O等输入输出直接连接到封装引脚端(Package Pin)。IOB模块提供FPGA内部逻辑与外部封装管脚之间的接口。在IOB模块中,三个内部寄存器共享一个时钟信号(CLK)和置位复位信号(SR),具有独立的使能信号OCE、TCE和ICE,可以实现D触发器和锁存器功能。 n IOB模块的外部信号输入路径上有一个缓冲器,用于控制外部输入信号是否直接进入FPGA内部。如果外部输入信号不直接进入FPGA内部,将通过IOB模块中的内部寄存器输入到FPGA内部。通过配置I

12、OB模块的输入缓冲器,可以支持Spartan-和Spartan-E系列产品的所有输入接口信号标准。大多数情况下,输出信号的高电平取决于接口电压Vcco。图2.1.4 Spartan-和Spartan-E的IOB内部结构n 如图2.1.5所示,Spartan-和Spartan-E系列产品的IO管脚分布在8个Bank中,同一个Bank的Vcco电压必须保持一致,不同Bank的Vcco电压允许不同。注意:在TQ144和PQ208封装中,所有Bank的Vcco电压必须保持一致。n Vcco电压相同是输出接口标准兼容的基本条件。同一Bank中的IO接口标准应保持兼容,不同Bank间的IO接口标准可以不要

13、求兼容。Spartan-可以兼容的输出接口标准如表 2.1.3所示。Spartan-E可以兼容的输出接口标准如表 2.1.4所示。图2.1.5 Spartan-和Spartan-E IO管脚的Bank结构表 2.1.3 Spartan-可以兼容的输出接口标准表 2.1.4 Spartan-E可以兼容的输出接口标准5. BlockRAMn 在Spartan-和Spartan-E系列产品中,不同型号的产品BlockRAM数量不同。BlookRAM单位容量为4Kbit,如图2.1.6所示,Spartan-和Spartan-E内部的BlockRAM是一个完全同步的双端口 RAM,端口的数据宽度可独立配

14、置。通过级联多个BlockRAM可以实现FPGA内部的大容量数据存储。Block RAM 端口纵横比如表2.1.5所示。图2.1.6 BlookRAM示意图表2.1.5 Block RAM 端口纵横比6 DLL(Delay Locked Loop,数字延迟锁相环)n 在Spartan-和Spartan-E系列产品中,Xilinx公司一直采用数字延迟锁相环技术进行FPGA内部的时钟控制。通过使用 FPGA内部的 DLL,可以消除时钟相位偏移、变换时钟频率(倍频或分频)和调整时钟输出相位。n 如图2.1.7所示,DLL主要由可变延迟线和控制逻辑构成。时钟分配网络把时钟信号送到目标内部寄存器的时钟端

15、口和时钟反馈管脚CLKFB。控制逻辑抽样输入时钟和输出反馈时钟信号,并根据比较结果调整可变延迟线。通过在输入时钟和反馈时钟之间插入时延脉冲,DLL电路可以使输入时钟和输出时钟的上升沿对齐。当输入时钟脉冲上升沿和反馈时钟脉冲上升沿对齐后,时钟延迟锁相环将被锁定,从而达到控制时钟相位偏移的作用。与 PLL(Phase Locked Loop)锁相技术相比,DLL具有锁相性能稳定、相位偏移不累加等优点。 n 每个全局时钟缓冲器都与数字延迟锁相环(DLL)相连,每个DLL可以驱动两个全局时钟网络。通过监控输入时钟信号和分布时钟信号,DLL可以自动调整并消除输入时钟信号与FPGA内部分布时钟信号之间的相

16、位偏移,从而保证到达内部触发器的时钟边沿与时钟输入管脚的信号同步。n DLL除了用于消除时钟分布延迟外,还可以用于倍频、分频和移相。DLL不支持任意系数分频,其分频系数可以是 1.5、2、2.5、3、4、5、8或者 16。为保证 FPGA在启动前获得正确的时钟,下载配置过程可以在 DLL锁定时钟信号后结束。图2.1.7 DLL结构示意图2.1.3 Virtex-系列产品1.主要技术特性2. 内部结构n Virtex-系列产品的内部结构如图2.1.8所示,主要由CLB、IOB、BlockRAM、DCM和乘法器等组成。其中,内部的 CLB模块含有 4个 Slice,用于实现FPGA的大部分逻辑功能

17、。内嵌的专用乘法器电路可以提高产品进行数字信号处理的速度。内嵌大容量的BlockRAM,用于实现FPGA内部的随机存取,可以适应设计对大容量片内存储的要求。将DLL改为数字时钟管理器(DCM,Distal Clock Manager)从而可以提供更灵活的时钟管理。IOB模块用于提供封装管脚与内部逻辑之间的接口,Virtex-支持更多的IO接口标准。 n Virtex-采用数控阻抗匹配(DCI,Digitally Controlled Impedance)技术,从而可以减小因阻抗匹配问题而造成的系统不稳定性。Virtex-内部含有更加丰富的布线资源,从而保证FPGA逻辑资源的最大利用率。Virt

18、ex-支持配置数据的三重加密,从而最大限度保护设计者的知识产权。图2.1.8 Virtex-系列产品的内部结构3. CLBn Virtex-的CLB 单元如图2.1.9所示。 Virtex-II CLB模块由4个相同的Slice和附加逻辑构成,用于实现组合逻辑和时序逻辑。 图2.1.9 Virtex-II CLB 单元n Slice的内部结构如图2.1.10所示,每个Slice由两个4输入函数发生器、进位逻辑、算术逻辑、存储逻辑和函数复用器组成。算术逻辑包括1个异或门(XORG)、1个专用与门(MULTAND),1个异或门可以使1个Slice实现2bit全加操作,专用与门用于提高乘法器的效率。

19、进位逻辑由专用进位信号和函数复用器(MUXC)组成,共同实现快速的算术加减法操作。n 4输入函数发生器可以用于实现4输入 LUT、分布式RA M或16bit移位寄存器;存储逻辑可配置为D触发器或锁存器;进位逻辑包括两条快速进位链,用于提高CLB模块的处理速度;算术逻辑包括一个异或门和一个用于加速乘法运算的专用与门。n 每个CLB模块既可以配置为分布式RAM,也可以配置为分布式ROM,如表2.1.7和表2.1.8所示, CLB模块可以配置为不同容量的分布式RAM和ROM。图2.1.10 Virtex-Slice的内部结构表2.1.7 Virtex-分布式RAM配置 注:表2.1.7 中S表示单端

20、口配置,D表示双端口配置。表2.1.8 Virtex-分布式ROM配置 n 每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.10 MUXF5和MUXFX多路(复用)器结构示意图 4.

21、 IOBn IOB模块提供FPGA内部逻辑与外部封装管脚之间的接口。如图2.1.12所示,Virtex-的IOB模块含有6个存储单元,可以单独配置为边沿D触发器或锁存器,也可以成对实现DDR(Double-Data-Rate)输入和DDR输出。Virtex-DDR输出结构如图2.1.13所示。n 外部输入信号可以通过IOB模块的存储单元输入到FPGA的内部,也可以直接输入FPGA内部。当外部输入信号经过IOB模块的存储单元输入到FPGA内部时,其保持时间(Hold Time)的要求可以降低,通常其保持时间默认为0。 图2.1.11 Virtex-的IOB模块结构图2.1.12 Virtex-D

22、DR输出结构n 在Virtex-系列产品中,根据当前使用的IO接口标准不同,需要设置不同的接口电压Vcco和参考电压VREF。注意:无论使用何种IO接口标准,辅助电压VCCAUX均要求接3.3V电源。n 像Spartan-和Spartan-E一样,在Virtex-系列产品的IO管脚分布在8个Bank中,同一个Bank的Vcco电压必须保持一致,不同Bank的Vcco电压允许不同。注意: Bank位置根据封装形式不同略有区别。n Vcco电压相同是输出接口标准兼容的基本条件。同一Bank中的IO接口标准应保持兼容,不同Bank间的IO接口标准可以不要求兼容。Virtex-可以兼容的输出接口标准与

23、Spartan-和Spartan-E类似,Virtex-支持高速差分信号接口标准。 5. Block SelectRAMn Virtex-的Block SelectRAM资源丰富,其单位容量为18Kbit。单端18 Kbit Block SelectRAM 存储器结构图如图2.1.13所示,双端18 Kbit Block SelectRAM 存储器结构图如图2.1.14所示。数据宽度和深度纵横比可以自由设定,并支持三种并发读写(Read-During-Write)模式。图2.1.13 单端18Kbit Block SelectRAM 存储器结构图图2.1.14 双端 18Kbit Block

24、SelectRAM 存储器结构图6. 18-Bit x 18-Bit Multipliers(乘法器)n Virtex-乘法器模块支持 18bit × 18bit的有符号乘法,如图2.1.15所示。乘法器模块可以通过交换矩阵(Switch Matrix)与18Kbit的BlockRAM配合使用,也可以单独使用,如图2.1.16所示。图2.1.15 Multiplier 方框图图2.1.16 SelectRAM 和 Multiplier 组合 7. DCM(Digital Clock Manager, 数字时钟管理)n Virtex-的DC M控制和管理FPGA内部复杂的时钟,其主要功

25、能包括时钟同步、频率综合和相位调整,结构示意图如图2.1.17所示,图中实线箭头为时钟信号,虚线箭头为控制信号。图2.1.17 DCM结构示意图8. DCI(Digitally Controlled Impedance,数控阻抗匹配)n 在FPGA设计中,为保证高速信号的信号完整性,通常需要在PCB板(印刷电路板)上进行阻抗匹配,以减小信号的反射和振荡。使用DCI,可以在Virtex-内部实现阻抗匹配,从而减少外部匹配电阻数量,提高板极系统的稳定性。大多数的接口标准都可以使用 DCI进行阻抗匹配。 图2.1.18 DCI阻抗匹配设置2.1.4 Virtex-Pro和 Virtex-ProX系列

26、产品1.主要技术特性 n Virtex-Pro和和Virtex-ProX系列产品是 Xilinx公司推出的高端 FPGA产品,采用成熟的Virtex-架构,无缝嵌入 PowerPC405和 RocketIOTM MGT收发器(MGT,MultiGigabit Transceiver),内嵌 32位RISC硬核和3.125Gbps高速串行接口。Virtex-Pro系列产品主要技术特性如表2.1.9所示。Virtex-ProX系列产品主要技术特性如表2.1.10所示2. 器件结构 n 如图2.1.19所示,Virtex-Pro和Virtex-ProX系列产品器件结构采用Xilinx公司成熟的Vir

27、tex-架构,主要由 PowerPC405(Processor Block)处理器模块、RocketIOTMMGT(RocketIO Multi-Gigabit Transceiver 多吉比特收发器)、CLB、IOB、DCM、BlockRAM和乘法器(Multipliers and Block SelectRAM)组成。其中,CLB、IOB、BlockRA M、DC M和乘法器的内部结构和使用方法与Virtex-系列产品相同。 Xilinx公司针对Virtex-Pro系列产品中PowerPC405处理器模块和 RocketIOTMMGT(多吉比特收发器)模块的设计与使用,在ISE5.x系列软

28、件中配备了专用的开发工具EDK。 图2.1.19 Virtex-Pro和Virtex-ProX系列产品器件结构 3.处理器模块 n Virtex-Pro和Virtex-ProX的处理器模块由 IBM PowerPC405 RISC硬核(Embedded IBM PowerPC 405-D5 RISC CPU core)、OCM控制器和接口(On-Chip Memory (OCM) controllers and interfaces)、时钟控制接口逻辑(Clock/control interface logic)和CPU-FPGA接口(CPU-FPGA Interfaces)等部分组成,内部结

29、构如图2.1.20所示。图2.1.20 处理器内部结构n OCM控制器主要用于控制PowerPC405内核与BlockRAM的高速连接,它支持64bit的指令BaRAM连接(ISBRAM Instruction Side BlockRAM)和 32bit的数据 BlockRAM连接(DSBRAM,Data Side BlockRAM)。在 FPGA实现(Implementation)过程中,是否采用ISBRAM和DSBRAM由用户设定。n PowerPC405处理器模块的时钟控制逻辑主要用于控制PowerPC405内核的时钟信号、电源信号和初始化信号。n PowerPC405处理器模块的CPU

30、-FPGA接口主要用于PowerPC405模块与FPGA其他资源的相互连接,其主要包括:n (1)PLB(Processor Local Bus,处理器局部总线接口) 用于PowerPC405模块与外部资源的高速连接,支持32bit地址宽度和64bit数据宽度。 PLB接口包括ISPLB接口和DSPLB接口。其中,ISPLB接口用于外部设备与PowerPC405指令缓存的连接,DSPLB接口用于外部设备与PowerPC405数据缓存的连接。n (2)DCR(Device Control Register,设备控制寄存器接口) 用于PowerPC405模块与外部设备的状态寄存器和配置寄存器的连接

31、,支持10bit地址宽度和32bit数据宽度。 n (3)OCM(On-chip Memory Controller,片上存储接口 用于PowerPC405模块与FPGA内部BlockRAM的直接连接。通常,ISBRAM用于存放启动闭加t)代码、中断处理程序等,DSBRAM用于中间数据缓存。n (4)EIC(External Interrupt Controller ,外部中断控制)接口、用于 PowerPC405模块与外部中断的连接,它支持critical和noncritical两级中断。n (5)CPM(Clock and Power Management,时钟电源管理)接口 用于Powe

32、rPC405模块与外部时钟信号和电源信号的连接。n (6)初始化接口 用于PowerPC405模块与外部初始化信号的连接。它支持Core、ChiP。n System三级初始化。n (7)调试(Debug)接口 用于PowerPC405模块的跟踪和调试。 n PowerPC405内部结构如图2.1.21所示,由PLB主机接口(PLB Master Interface)、指令OCM(Instruction OCM)、数据缓存控制器(D-Cache Controller)、数据缓存阵列(D-Cache Array)、指令缓存控制器(I-Cache Controller)、指令缓存阵列(I-Cache

33、 Array)、数据缓存单元(Data Cache Unit)、指令缓存单元(Instruction Cache Unit)、4输入指令阴影TLB (Instruction Shadow TLB(4 Entry))、64输入统一TLB (Unified TLB(64 Entry))、8输入数据阴影TLB (Data Shadow TLB (8 Entry))、取指和解码(Fetch & Decode)、取指和解码逻辑(Fetch and Decode Logic)、3个基本取指阵列(3-Element Fetch Queue(PFB1,PFB0,DCD))、时钟,包含FIT,PIT,看

34、门狗(Timers(FIT,PIT,Watchdog))、调试逻辑(Debug Logic)、时钟与调试(Timers & Debug)、缓存单元(Cache Units)、执行单元(Execution Unit ,EXU)、PLB主机接口(PLB Master Interface)、数据OCM (Data OCM)、JTAG接口、指令跟踪(Instruction Trace)等部分组成。 图2.1.21 PowerPC405内部结构 4. IBM PowerPC405 RISC硬核n Virtex-Pro和Virtex-ProXFPGA嵌入的IBM PowerPC405 RISC硬核

35、(420DMIPS),运行速度可达300MHz,功耗0.9mwMHz,支持PowerPC用户指令集(UISA),支持32个32bit通用寄存器、16Kbir指令缓存(Cache)和16Kbit数据缓存,支持专用的 IBM CoreConnectTM总线结构和专用的片上存储接口(OCM,On Chip Memory)/支持多种调试(Debug)方式和2级中断。 CoreConnectTM总线结构 n CoreConnectTM总线结构如图2.1.22所示,通过处理器局域总线(Processor Local Bus)、片内外围设备总线(On-Chip Peripheral Bus)、DCR总线(D

36、CR Bus)、总线桥(Bus Bridge)、总线仲裁器(Arbiter)连接处理器模块(Processor Block)、系统核(System Core)和外围设备核(Peripheral Core)。 图2.1.22 CoreConnectTM总线结构 5. MGT(多吉比特)收发器n Virtex-Pro和Virtex-ProX嵌入的MGT(多吉比特)收发器包含有物理连接层(PMA,Physical Media Attachment)和物理编码层(PCS,Physical Coding Sublayer)两个部分。PCS包括SB10B编码器、SB10B解码器、TXFIFO、RXFIFO

37、、CRC校验等部分。其中,接收端的RXFIFO可用于数据恢复、时钟校正和信道绑定。PMA包括串行化(Serializer)解串(Deserialier)、逗点检测(Comma Detect)时钟产生、时钟恢复FPGA接口(图中未明确显示)等部分。MGT具有如下特点: n (1)MGT是速率可调的全双工串行收发器半速为500Mbps1Gbps,全速为800Mbps3.125Gbps。采用 FG封装的Virtex-Pro和Virtex-ProX系列产品支持的 MGT最高速率为 2.5Gbps,采用 FF和 BF封装的Virtex-Pro和Virtex-ProX系列产品支持的 MGT最高速率为 3.

38、125Gbps。n (2)MGT支持单芯片时钟综合与恢复。n (3)M GT支持自动参考电压锁定功能(Automatic Lock-to-Reference Function)和可编程逗点检测(Programmable Comma Detect)。n (4)在 MGT中,串行差分信号的输出电平值可调。通过设置 TX-DIFF-CTRL给 SW2、 SW1、 SW0赋值,可以实现串行差分信号输出电平值可调。n (5)在MGT中,传输预加重(PreEmphasis)可调。通过设置TX-PREEM-PHASIS,可以实现传输预加重可调。 n (6)MGT支持ACDC耦合。当Virtex-Pro和Vi

39、rtex-ProX芯片与其他Virtex-Pro和Virtex-ProX芯片或Mindspeed公司芯片互连时,MGT采用DC耦合。除此以外,MGT采用AC耦合。n (7)MGT支持50和75两种匹配阻抗。其中,50用于芯片间阻抗匹配,75用于芯片与电缆(Cable)的阻抗匹配。n (8)MGT支持发送端到接收端的串行环回(Loopback)和并行环回。n (9)低功耗 当MGT工作在3.125Gbps时,功耗为350mw。空闲的MGT可以设置为POWERDOWN模式,从而实现该MGT的零功耗。 2.2 Altera FPGA器件2.2.1 Altera FPGA简介 n Altera是世界上

40、十几家生产 CPLDFPGA的公司中最大的可编程逻辑器件供应商之一,生产的FPGA产品有: FLEX6000800010K、APEX20K、ACEX1K、APEX、Mercury、Excalibur和Stratix系列。n Altera的开发工具MAX PLUS是一个最优秀的PLD开发平台,可以支持FLEX6000800010K、ACEX1K等 FPGA器件的开发。APEX20K、APEX、Mercury、Excalibur和 Stratix等 FPGA器件的开发需要 Altera的Quartus开发软件的支持。n Altera的FPGA器件采用钢铝布线的先进CMOS技术,具有非常低的功耗和相

41、当高的速度,而且采用连续式互连结构,提供快速的、连续的信号延时。Altera器件密度从300门到400万门,能很容易地集成现有的各种逻辑器件,高集成度的FPGA提供更高的系统性能,更高的可靠性,更高的性能价格比。 n 使用Altera的MAXPLUS和Quartus软件能够完成FPGA器件的设计输入、处理、校验以及器件编程,可以极大地缩短开发周期。在MAXPLUS和Quartus软件中集成了Cadence、Exemplar Logic、MentorGraphics、Synopsys、Synplicity和 Viewlogic提供的EDA软件,可以更好地完成设计输入、综合、校验等开发工作。n A

42、ltera提供对器件优化的IP解决方案,已经做好的,经过测试并优化了的IP宏功能模块(Megafunctions)允许设计人员在一个器件中快速实现一定的功能,而不必从基础的设计做起,宏功能模块可以大大地提高设计效率。Altera提供开发板,可以在设计开始时就进行应用软件的开发,硬件设计人员也能使用这些开发板,快速有效地验证IP的功能。n Altera的 ISP使用 IEEE 1149.1标准的JTAG(Joint Action Test Group)测试端口,允许对器件进行编程,并可以对印刷电路板(PCB)进行功能测试 n 不同型号的Altera的 FPGA器件具有不同的内部结构, FLEX(

43、Flexible Logic Element Matrix,灵活逻辑单元矩阵)、ACEX1K系列器件采用查找表(LUT)结构来实现逻辑功能;APEX(先进可编程逻辑矩阵)系列器件的结构特征是查找表(LUT)和嵌入式寄存器;Mercury系列器件基于查找表结构,其特征是具有时钟数据恢复和一个性能优化的核;Excalibur的结构特征是基于 ARM和基于 MIPS的硬核微处理器。每种器件系列针对具体的应用都具有各自的特点。Altera的 FPGA器件性能对照表如表2.2.1所示。表2.2.1 Altera的 FPGA器件性能对照表2.2.2 FLEX系列产品 1. 主要技术特性 n FLEX600

44、0800010K/10KE系列产品主要技术特性如表2.2.1表2.1.4所示。n FLEX6000800010K/10KE系列产品具有多种封装方式,用户可任意选择 84600引脚的各种封装,封装形式有PLCC、TQFP、PQFP、RQFP、PGA、BGA等。 2. 器件结构n FLEX6000800010K/10KE系列产品具有类似结构,下面以FLEX10KE说明FLEX系列产品内部结构。FLEX10KE内部结构如图2.2.1所示。n FLEX10KE内部结构包含有嵌入式阵列块(Embedded Array Block,EAB)、逻辑阵列块(Logic Array Block,LAB)、快速通

45、道(Fast Track)互连(包含Column Interconnect列互连,Row Interconnect,行互连,Local Interconnect,局部互连)、输入输出单元(I/O Element,IOE)四部分组成。由图2.2.1可以看出,一组LE(Logic Element)构成一个LAB,LAB是排列成行和列的,每一行也包含了一个EAB。LAB和EAB是由快速通道连接的,IOE(I/O Element)位于快速通道连线的行和列的两端。图2.2.1 FLEX10KE内部结构n 嵌入式阵列由一系列嵌入式阵列块(EAB)构成。嵌入式阵列用来实现各种存储器及复杂的逻辑功能,如数字信

46、号处理、微控制器、数据传输等。当用来实现有关存储器功能时,每个EAB提供2048位用来构造RAM、ROM、FIFO或双口 RAM等功能。当用来实现乘法器、微控制器、状态机以及DSP等复杂逻辑时,每个EAB可以贡献100到600个门。EAB可以单独使用,也可组合起来使用。 n 逻辑阵列用来实现普通逻辑功能,如计数器、加法器、状态机、多路选择器等。逻辑阵列由一系列逻辑阵列块(LAB)构成。每个LAB包含八个LE和一些局部互连每个LE含有一个四输入查找表(LUT)、一个可编程触发器、进位链和级联链。八个LE可以构成一个中规模的逻辑块,如八位计数器、地址译码器和状态机。多个LAB组合起来可以构成更大的

47、逻辑块。每个LAB代表大约9 6个可用逻辑门。n 器件内部信号的互连和器件引脚之间的信号互连由快速通道(FastTrack)连线提供,FastTrack互连是一系列贯通器件行、列的快速连接通道。可以实现快速加法器、计数器和比较器的专用进位链;实现高速、多输入逻辑函数的专用级联链;实现内部三态总线的三态模拟;多达六个全局时钟信号和四个全局清除信号。n IO引脚端由一些 IO单元(IOE)驱动。IOE位于快速通道的行和列的末端,每个IOE有一个双向I/O缓冲器和一个既可作输入寄存器也可作输出寄存器的触发器。每个引脚都有一个独立的三态输出使能控制及漏极开路配置选项(Open drain option

48、)、可编程输出电压的摆幅控制。当I/O引脚作为专用时钟引脚时,这些寄存器提供特殊的性能。当作为输入时,可提供少于 1.6s的建立时间;而作为输出时,这些寄存器可提供少于 5.3s的时钟到输出延时。IOE还具有JTAG编程支持、摆幅控制、三态缓冲和漏极开路输出等特性。n 器件具有六个专用输入引脚,用来驱动触发器的控制端,以确保控制信号高速、低偏移。这些信号使用了专用的布线支路,以便具有比快速通道更短的延迟和更小的偏移。专用输入中的四个输入引脚可用来驱动全局信号。 n 在系统上电时, FLEX10KE器件的配置可以通过存储在一个串行PROM中的配置数据,或者由系统控制器提供的配置数据来完成。Alt

49、era提供EPC1、EPC2、EPC16和EPC1441等配置用的PROM器件,配置数据也能从系统RAM和BitBlaster串行下载电缆或ByteBlasterMV并行下载电缆获得。对于已配置过的器件,可以通过重新复位器件、加载新数据的方法实现在线可配置(ICR,In Circuit Reconfigurability),重新配置时间小于320ms,可以实现在系统工作时实时改变配置。3. EAB(嵌入式阵列块)n EAB(嵌入式阵列块)是在输入输出口上具有寄存器的能变形的RAM块,双端口RAM模式(Dual-Port RAM Mode)示意图如图2.2.2所示,内部结构如图2.2.3所示。图

50、2.2.3中信号包含有:专用时钟(Dedicated Clocks)、专用输入与全局信号(Dedicated Inputs & Global Signals)、数据输入输出(data )、地址输入(rdaddress )、写地址(wraddress )、外部时钟(outclocken)内部时钟(inclocken)、读使能(rden)、写使能(wren)等。 n 可配置的RAM/ROM尺寸有:256×16、512×8、1,024×4、2,048×2。一个器件中所有的EAB可级联成一个单一的RAM,级联形成的RAM块不影响时序。Altera的软件能

51、自动组合EAB,形成设计人员指定的RAM。 图2.2.2 双端口RAM模式示意图n EAB对驱动和控制时钟信号提供了灵活的选项,EAB的输入和输出可以使用不同的时钟。寄存器能被独立地插入到数据输入、EAB输出或地址以及写使能信号(wren)输入部分中。写使能信号(wren)可以用全局时钟信号或本地互连信号驱动。EAB时钟信号可使用全局信号、专用时钟引脚及EAB局部互连驱动。因为LE驱动EAB局部互连,所以LE能控制WE信号或EAB时钟信号。 n EAB的输出可以同时驱动行互连通道(Row Interconnect)和列互连(Column Interconnect)通道。每个EAB的输出能同时驱

52、动两个行互连通道和两个列互连通道,未用的通道可由其它LE驱动。这一特性可以增加EAB输出的可用布线资源。4. LAB(Logic Array Block ,逻辑阵列块) n FLEX10KE的LAB结构如图2.2.3所示。 LAB由八个LE以及它们的进位链&级联链(Carry-In & Cascade-In)、LAB控制信号(LAB Control Signals)与LAB局部互连(LAB Local Interconnect)组成。n LAB为器件提供一个“coarse-grained structure(粗颗粒结构)”,使高速布线实现容易,能提高器件利用率和器件性能。n 每

53、个LAB为八个LE提供四个反向可编程的控制信号。其中的两个可以用作时钟,另外两个用作清除置位控制(Clear/ Preset Logic)。LAB时钟可以由器件的专用时钟输入引脚&全局信号(Dedicated Inputs &Global Signals)、I/O信号或经过LAB局部互连的内部信号直接驱动。LAB的清除置位信号也可由器件的专用时钟输入引脚&全局信号、I/O信号或经过LAB局部互连的内部信号直接驱动。由于全局控制信号通过器件时失真很小,因而通常用作全局时钟、清除或置位等异步控制信号。全局控制信号能够由器件内任一LAB中的一个或多个LE形成,并直接驱动目标L

54、AB的局部互连。全局控制信号也可以由LE输出直接产生。图 2.2.3 LAB内部结构 5. LE(逻辑单元) n LE的内部结构如图2.2.4所示。LE(逻辑单元)是FLEX10KE结构中的最小单元,能有效实现逻辑功能。每个LE含有一个四输入查找表(Look-Up Table,LUT)、一个带有同步使能的可编程触发器(Programmable Register)、一个进位链(Carry Chain)和一个级联链(Cascade Chain)。其中,LUT是一个四输入变量的快速逻辑产生器。每个LE都能驱动LAB局部互连(LAB Local Interconnect)和快速通道互连(Fast Tr

55、ack Interconnect)。n LE中的可编程触发器可配置成 D、T、JK、RS触发器。触发器的时钟(Clock Select)、清除/置位(Clear/ Preset Logic)等控制信号可由全局信号、I/O引脚或任何内部逻辑驱动。对于组合逻辑电路可以将该触发器旁路,由LUT的输出直接驱动LE的输出。n LE有两个驱动互连通道的输出信号,一个驱动局部互连(LAB Local Interconnect),另一个用于驱动行或列的快速通道互连(Fast Track Interconnect),这两个输出信号可以单独控制。例如,可以用LUT驱动一个输出,而用寄存器驱动另一个输出,这种特性称

56、为寄存器打包(register packing)。利用寄存器和LUT的这种特性能够提高LE的利用率。 n LE还提供了进位链(Carry Chain)和级联链(Cascade Chain)两种类型的专用高速数据通道,它们可以连接相邻LE,但不使用局部互连通道。进位链支持高速计数器和加法器,级联链可以在最小延时的情况下实现多输入逻辑函数。进位链和级联链连接同一LAB中所有的LE和同一行中的所有LAB。大量使用进位链和级联链会降低布局布线的灵活性,因此,只有在对速度有要求的关键部分才使用它们。图2.2.4 LE的内部结构7. Cascade Chain(级联链)n 利用级联链,器件可以实现多扇入(

57、fan-in)的逻辑功能,相邻的LUT能用来并行完成逻辑函数的计算部分,级联链把中间结果串接起来。级联链可以使用逻辑与或者逻辑或(借助狄·摩根的反演定理)来连接相邻LE的输出。每增加一个LE,函数的有效输入增加4个,其延时大约增加07ns秒。编译器在设计处理时自动生成级联链,或者由设计人员在设计输入期间手工建立。图2.2.6 级联链形成多扇入功能的结构示意图 n 当级联链多于八位的级联链时,可以通过把几个LAB连接在一起来自动实现。为了易于布线,比一个LAB长的级联链既可以在相邻的两个偶数之间跳跃进位,也可以在相邻的两个奇数之间跳跃进位。例如,在一行中将第一个LAB的最后一个LE级联到该行中第三个LAB的第一个LE上。级联链像进位链一样也不能跨越行中间的EAB。例如,在EPF10K50E中,一个级联链在第18个LAB上结束,而新的级联链在第19个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论