
Xilinx现场可编程门阵列.ppt
29页第七章第七章 XilinxXilinx现场可编程门阵列现场可编程门阵列7.2 Xilinx FPGA的基本结构7.3 Xilinx FPGA的配置7.1 概 述1FPGA器件是一种新型的高密度PLD,采用CMOS-SRAM 工艺制作 FPGA的结构与基于乘积项的门阵列PLD不同,它是基于查 找表结构实现逻辑的FPGA内部由许多独立的可编程的逻辑单 元(LE/LC—Logic Element/Cell)组成,LE是FPGA器件实现逻辑 的最基本结构,LE之间可以灵活地实现相互连接FPGA的结 构一般分为三部分:可编程逻辑模块、可编程I/O模块和可编程 内部互连区IR FPGA器件的配置数据存放在片内SRAM上,基于SRAM的 FPGA器件在上电工作前需要从片外加载配置数据从片外的 EPROM或其它非易失性存储器向片内SRAM加载数据的过程是 在FPGA内部的一个时序电路的控制下自动进行的配置数据 也可以从计算机加载,此时设计人员可以控制加载过程,在现 场修改器件的逻辑功能,即所谓现场可编程7.1 概 述现场可编程门阵列FPGA ——Field Programmable Gates Array2FPGA器件最早是由Xilinx公司于1985年首家推出的。
Xilinx最 初三个完整的产品系列分别命名为XC2000、XC3000和XC4000,共 有17个品种后来又增加了低电压(3.3V)的“L”系列、多I/O引脚的 “H”系列和高速度的“A”系列1995年又推出了XC5200、XC6200和 XC8100 FPGA系列,并取得了突破性进展而后又推出了Spartan 和Virtex系列 Virtex系列器件的性能特点: Ø 高速、高密度:5万~100万个系统门,时钟频率200MHz Ø 多标准I/O接口:16个高性能接口标准 Ø 多层次存储器结构:分布式的查找表、可配置的RAM和集中式的 块RAM Ø 内置时钟管理电路,4个专用的延迟锁相环(DLL)用于高级时钟控 制;四级初级偏移全局时钟分配网,24个二级全局网络 Ø 具有能平衡速度和密度的灵活结构,用于高速算术运算的专用进 位逻辑,专用乘法器,支持宽输入函数的级联链 Ø 基于SRAM的可配置,可重复编程,4种编程模式7.1 概 述3Xilinx公司的FPGA采用一种基于门阵列的结构,一般可 分为三部分:可配置的逻辑块(CLB—Configurable Logic Block)、可编程输入/输出块(IOB—Input/Output Block)和可 编程内部互连资源(IR—Interconnect Resource)。
可配置的逻辑块CLB是芯片的核心,用来实现用户指定 的逻辑功能;可编程输入/输出块IOB位于芯片四周,为内部 逻辑与器件封装引脚之间提供可编程接口;可编程内部互连 资源IR包括各种长度的水平和垂直连线线段以及一些可编程 的开关矩阵(SM—Switching Matrix),用于在逻辑块之间传递 信息由于可编程互连资源IR的连线长短是不同的,有单长度 线、双长度线和长线三种而每次编程布线的方案可能不 同,信号传递的路径长短也就不同因此,这种布线连接 会造成延时的不可预测性7.1 概 述4XC4000系列内部结构示意图l可配置的逻辑块CLB主要由一个组合逻辑、几个 触发器、若干个多选一电路和 控制单元组成能完成用户的 逻辑功能 l可编程的输入/输出块IOB主要由逻辑门、触发器和控 制单元组成提供内部逻辑与 外部引脚之间的可编程接口 l可编程互连资源IR由水平布线通道和垂直布 线通道构成,经编程后形成 连线网络,用于芯片内部逻 辑间的相互连接 l可编程开关矩阵SM通过编程把CLB的输入输 出连到周围的布线上7.2 Xilinx FPGA的基本结构(以XC4000为例)5S/R控制S/R控制(1)可配置的逻辑块CLBCLB主要由逻辑函数发生器、触发器、数据选择器等电路组成。
6CLB中有三个逻辑函数发 生器G'、F'和H'l CLB中的逻辑函数G'和F'各有四个输入变量 G1~G4和F1~F4这两个逻辑 函数发生器是完全独立的,均 可实现4输入变量的任意组合逻 辑函数逻辑函数发生器H'有三个 输入信号:前两个是函数发生 器G'和F'的输出,另一个输入 信号是来自信号变换电路的输 出H1H'能实现3输入变量的 各种组合函数G'、F'和H'这三个函数发 生器结合起来,可实现多达9 变量的组合逻辑函数7通过对CLB内部的数据选择器编程,逻辑函数发生器G'、F' 和H'的输出可以连接到CLB内部触发器,或者直接连到CLB的输 出端X或YS/R控制S/R控制8CLB中的逻辑函数发生器F'和G'均为查找表结构查找表实 质上是一个1bit的存储单元阵列,这个存储单元的地址就是该逻 辑函数发生器的输入,1bit存储单元的输出就是查找表的输出 F'和G'分别为16x1bit的RAM,可组合为32x1bit的RAM这样 ,将逻辑函数的输入作为地址,通过查找表即可得到相应的组 合逻辑函数的输出逻辑函数发生器也可作为器件内高速RAM或小的可读/写存 储器使用,这由信号变换电路控制。
当信号变换电路设置存储 功能无效时,F'和G'作为组合逻辑函数发生器使用,四个控制 信号C1~C4分别将H1、DIN、S/R和EC信号作为函数发生器的 输入控制信号;当信号变换电路设置存储器功能有效时,F'和 G'作为器件内部存储器使用,四个控制信号C1~C4分别将WE 、D1/A4和D0信号作为存储器的写使能、数据或地址信号(EC不 用) 此时,F1~F4和G1~G4输入相当于地址输入信号A0~A3 ,以选择存储器中的特定存储单元l CLB中的逻辑函数9CLB的逻辑函数发 生器作为存储单元l CLB中的逻辑函数10CLB中有两个边沿 触发的D触发器,它 们有公共的时钟K和 时钟使能输入端EC S/R控制电路可以分别 对两个触发器异步置 位和复位S/R控制S/R控制每个D触发器可以 配置成上升沿触发或 下降沿触发,它的输 入可以从F'、G'和H' 或者信号变换电路送 来的DIN这四个信号 中选择一个触发器 从XQ和YQ端输出l CLB中的触发器11CLB中有许多不同 规格的数据选择器(4选 1、2选1等),分别用来 选择触发器输入信号、 时钟有效边沿、时钟使 能信号以及输出信号。
这些数据选择器的 地址控制信号均由编程 信息提供,从而实现所 需的电路结构和逻辑功 能l CLB中的数据选择器12(2)可编程的输入/输出块IOBIOB提供了器件引脚和内部逻辑阵列之间的连接,它主要 由输入缓冲器和触发/锁存器、输出触发器和缓冲器组成每 个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O 功能13当IOB控制的引脚被定义为输入时,通过该引脚的输入信 号先送入输入缓冲器缓冲器的输出分成两路:一路可以直接 送到MUX;另一路经延时几纳秒(或者不延时)送到输入通路D 触发器,再送到数据选择器通过编程给数据选择器不同的控 制信息,确定送至CLB阵列的I1和I2是来自输入缓冲器,还是 来自触发器 D触发器可 通过编程来确定 是边沿触发还是 电平触发,且配 有独立的时钟 与前述CLB中的 触发器一样,也 可任选上升沿或 者下降沿作为有 效作用沿XC4000系列的IOB结构(2)可编程的输入/输出块IOB14(2)可编程的输入/输出块IOB当IOB控制的引脚被定义为输出时,CLB阵列的输出信 号也有两条传输途径:一条是直接经MUX送至输出缓冲器; 另一条是先存入输出通路的D触发器,再送至输出缓冲器。
输 出通路的D触发器也有独立的时钟,且可任选触发边沿输出缓冲器既受CLB阵列送来的OE信号控制,使输出引脚 有高阻状态,还受转换速率(摆率)控制电路的控制,使它可高 速运行,也可低速运行,以减小噪声,抑制干扰 IOB输出端配有两只MOS管,它们的栅极均可编程,使 MOS管导通或截止,分别经上拉电阻或下拉电阻接通VCC、地 线或者不接通,用以改善输出波形和负载能力15可编程互连资源IR可以将FPGA内部的CLB和CLB之间、或者是CLB和IOB之间连接起来,构成各种具有复杂功能的系统IR主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接3)可编程互连资源XC4000系列采用分段互连资源结构,片内连线按相对长度分为单长度线、双长度线和长线三种16(3)可编程互连资源XC4000的单长度线、双长度线和长线结构垂直方向的 连线未画出单长度线{双长度线{长 线{17单长度线是贯穿于 CLB之间的水平和垂直金 属线段,在这些金属线段 的交叉点处是可编程开关 矩阵CLB的输入和输出 分别接至相邻的单长度线 ,进而可与开关矩阵相连 通过编程,可控制开关 矩阵将某个CLB与其它 CLB或IOB连在一起。
3)可编程互连资源CLBØ 单长度线连接结构18双长度线包括夹在 CLB之间的四条垂直和水 平金属线段双长度线金 属线段的长度是单长度线 金属线段的两倍,这些金 属线段穿过两个CLB之后 ,才与可编程的开关矩阵 相连因此,用双长度线 可使两个相隔(非相邻)的 CLB连接起来3)可编程互连资源Ø 双长度线连接结构19右图是利用单长度 线和双长度线连接CLB 的一个示例 从图中可看出:单长度线和双长度线提供了相邻/相隔CLB之间的快速互 连和复杂互连的灵活性,但传输信号每通过一个可编程开关 矩阵,就增加一次延时因此,FPGA内部延时与器件结构和 逻辑布线等有关,它的信号传输延时是不可预测的3)可编程互连资源双长度线单长度线可编程 开关矩阵利用一条单长度线, 可将两个相邻的CLB1和 CLB2互连; 利用一条双长度线, 可将两个相隔的CLB3和 CLB4互连20长线连接结构是由长线 网构成的金属网络,布满了 阵列的全部长和宽,这些长 线不经过可编程开关矩阵, 信号延时时间短长线用于 向全阵列传播同步时钟信号 和高扇出的控制信号3)可编程互连资源CLB的输入可以由邻近的 任一长线驱动,输出可以通过 三态缓冲器驱动长线。
Ø 长线连接结构注意:在互连资源中,单长度线通过开关点的编程控制可与长 线连接,而双长度线既不同单长度线相连,也不同长线相连217.3 Xilinx FPGA的配置可编程逻辑器件只有在成功配置之后才能正常工作 Xilinx FPGA的配置主要有3种模式,分别为并行、串行和 JTAG边界扫描模式根据配置时钟的来源,串行模式又分成 主串行(Master Serial)和从串行(Slave Serial)配置模式;并行 模式又分主并行和从并行配置模式;模式选择由器件的3个控 制引脚M0、M1和M2来完成为了保证数据的正确配置,必 须设置正确的配置模式用来存放配置数据的器件有XC17系列(OTP)、XC18系列 (Flash)和新一代的Platform Flash系列配置器件,以及通用 的SPI和BPI Flash以下的配置示意图都以Spartan-3器件为 例,而Xilinx的其他FPGA器件配置连接图与此基本相同 22常用配置引脚7.3 Xilinx FPGA的配置配置逻辑复位引脚,低电平有效配置时钟,主模式为输出,从模式为输入237.3 Xilinx FPGA的配置配置模式选择24为了实现数据的快速加载,Xilinx在FPGA器件中增加了 并行配置模式。
该模式为8位配置数据宽度,需要8位数据线 D7~D0此外,还有低电平有效的芯片选择信号(CS_B)、 低电平有效的写信号(RDWR_B)及高电平有效的忙信号 (BUSY)当BUSY信号为高时,表示器件忙即不能执行下 一步的写操作,需要等待,直到该信号引脚为低时止对于 50 MHz以下的配置时钟,该控制信号可以不用当配置完成 后,这。
