第03讲(可编程逻辑器件).ppt
《第03讲(可编程逻辑器件).ppt》由会员分享,可在线阅读,更多相关《第03讲(可编程逻辑器件).ppt(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章大规模现场可编程逻辑器件2.2 基于基于SRAM编程的现场可编程逻辑器件编程的现场可编程逻辑器件12021/9/172.2.1SRAMFPGA的基本结构和工作原理1.基本的SRAMFPGA编程原理即通过对FPGA上的SRAM上的配置来决定各个逻辑单元的逻辑功能和相互之间的连线关系。2.基本的SRAMFPGA的整体结构 SRAMFPGA主要由3个部分组成:可编程逻辑块CLB(ConfigurableLogicBlock)、可编程输入输出模块IOB(Input/OutputBlock)、可编程内部连线PI(ProgrammableInterconnect)。2.2.1SRAMFPGA的基本结
2、构和工作原理 3.基本的SRAMFPGA的CLB的结构与原理可配置逻辑块(CLB)用于实现一个FPGA芯片中的大部分逻辑功能。典型的CLB中的主要组成如图2-4所示。其中包括3个查找表(LUT),它们用作组合逻辑发生器;此外,还有两个触发器,以及两组信号多路选择器。其中,G-LUT和F-LUT可以用来生成任意的4输入的组合函数或用作内置分布式RAM;触发器可用来构成时序逻辑的基本元胞;多路选择器用于配置CLB的不同的逻辑功能。2.2.1SRAMFPGA的基本结构和工作原理2.2.1SRAMFPGA的基本结构和工作原理(1)函数发生器:两个161的存储器查找表(F-LUT和G-LUT)用于实现4
3、输入的函数发生器,它们每一个都能实现由任意4个独立的输入信号(F1F4或G1G4)组合产生的任意布尔逻辑功能。并且,使用存储器查找表的传输延迟与其实现的函数功能无关。一个3输入的函数发生器(H-LUT)可以实现任意3个输入的所有布尔逻辑功能。其中两个输入受到可编程的多路选择器的控制(见图2-4中的虚框A)。这两个输入信号可以是F-LUT或G-LUT的输出,也可以是直接来自CLB的输入。2.2.1SRAMFPGA的基本结构和工作原理而第三个输入信号直接来自于CLB的输入。因此,CLB可以实现多达9个输入的特定功能,如实现奇偶校验。在CLB中的3个LUT可以组合实现5输入的任意布尔逻辑功能。总之,
4、一个CLB可以实现四种功能:实现任意的4变量函数;实现一个输出的任意5变量函数;实现6变量的部分函数;实现某些9变量的函数。在一个CLB中能实现多种函数功能,这样在设计中,既可以减少所需的CLB块的个数,又可以缩短信号的延迟时间,提高系统速度。2.2.1SRAMFPGA的基本结构和工作原理(2)触发器:每个CLB中包含两个触发器(如图2-5所示),它们用于存储函数发生器的输出。触发器和函数发生器也可以独立使用。CLB的输入信号DIN可用作两个触发器的直接输入信号;H1也可以通过H-LUT驱动任意一个触发器,但带有一个微量的附加延迟。两个触发器共享一个时钟信号(CLK)、时钟使能信号(CE)和置
5、位复位信号(SR)。一开始,两个触发器均由一个全局初始化信号(GSR)控制。2.2.1SRAMFPGA的基本结构和工作原理(3)控制信号:由4个输入信号的多路选择器决定CLB的输入控制信号(见图2-6)。这4个内部信号是:CE时钟使能信号;SR异步置位复位信号或是H函数发生器输入0;DIN直接输入信号或是H函数发生器输入2;H1H函数发生器输入1。2.2.1SRAMFPGA的基本结构和工作原理图2-5CLB中的触发器功能块2.2.1SRAMFPGA的基本结构和工作原理图2-6CLB控制信号接口2.2.1SRAMFPGA的基本结构和工作原理4.基本的SRAMFPGA的IOB的结构与原理用户可配置
6、的输入输出块(IOB)为芯片外部封装引脚和内部逻辑连接提供接口。每个IOB控制一个封装引脚,可配置成输入口、输出口或是双向信号口。图2-7是一个Spartan-XL系列FPGAIOB的简化功能图。2.2.1SRAMFPGA的基本结构和工作原理图2-7基本FPGAIOB的简化功能框图2.2.1SRAMFPGA的基本结构和工作原理(1)IOB输入信号路径IOB的输入信号可以配置成直接输入到布线通道(如图2-7中的I1和I2)或是输入到输入寄存器中。输入寄存器可配置为一个边缘触发的触发器或是一个电平触发的锁存器。一个简化的寄存器如图2-8所示。图2-8基本FPGAIOB触发器/锁存器功能2.2.1S
7、RAMFPGA的基本结构和工作原理(2)IOB输出信号路径:输出信号可以在IOB内任意反相,并可直接通过输出缓冲器输出或是先存储在一个边沿触发的触发器中,然后再通过输出缓冲器输出。(3)上拉和下拉网络:可编程的上拉、下拉电阻可将未使用的引脚固定接电源或是接地,这样使系统的功率消耗最小,并可减少噪音干扰。可配置的上拉电阻是一个P沟道晶体管,可将引脚上拉到电源;可配置的下拉电阻是一个N沟道晶体管,可将引脚下拉到地。这些电阻的典型取值范围是20100k。2.2.1SRAMFPGA的基本结构和工作原理(4)独立的时钟信号和共用的时钟使能信号可提供给输入(IK)和输出(OK)触发器独立的时钟信号。在IO
8、B内部,每个触发器的时钟信号都可独立反相,并可利用时钟信号的下降沿或上升沿驱动触发器。每个IOB的时钟输入信号都是彼此独立的。在每个IOB中,输入、输出触发器共享一个时钟使能信号(如图2-8中的CE信号)。可通过配置,使时钟使能信号只作用于输入或输出触发器中的某一个或是两个都作用。此外,CE信号在IOB内不能反相。2.2.1SRAMFPGA的基本结构和工作原理 5.基本的SRAMFPGA的PI的结构原理FPGA的布线通道主要包括CLB布线通道、IOB布线通道、全局网络和缓冲器。(1)CLB布线通道:CLB布线通道位于CLB阵列的行以及列之间。位于CLB周围的布线通道可分为三种类型:单长线、双长
9、线和长线。在每个垂直通道和水平通道的连接处是一个信号控制矩阵,叫可编程开关矩阵(PSM)。图2-9给出了CLB基本的布线通道,其中有单长线、双长线和长线,以及CLB和PSM。图2-9基本的FPGACLB布线通道2.2.1SRAMFPGA的基本结构和工作原理 下图可编程开关矩阵PSM的结构图。每个连接点上有六个选通晶体管,从四个不同方向进入节点的信号,可与如何方向的通路互连。2.2.1SRAMFPGA的基本结构和工作原理(2)IOB布线通道:IOB布线通道形成一个环,围绕在CLB阵列的四周,用于连接I/O口与CLB。Spartan系列FPGA还有附加的绕IOB的布线通道,称为Versa环。其中包
10、括8条双长线和4条长线。(3)全局网络和缓冲器该系列FPGA中有精细的全局网络。这些网络用于对时钟信号和其他高扇出的控制信号进行布线,使信号失真最小。2.2.1SRAMFPGA的基本结构和工作原理专用的全局缓冲器位于CLB每一列的4条垂直长线上。例如在一个5V的Spartan系列产品中,4条全局线可用任意两种类型的全局缓冲器驱动。这两种全局缓冲器是:主全局缓冲器(BUFGP)和次全局缓冲器(BUFGS)。这些线中的任何一条都可以通过一个BUFGP或是任何一个BUFGS连接。在一个3V的Spartan-XL系列FPGA产品中,8个全局低偏移缓冲器(BUFGLS)中的任何一个都可以驱动这4条全局线
11、。这些缓冲器使信号延迟达到最短,偏移最小,同时增强了布线的灵活性。2.2.2典型的SRAMFPGA产品1.Xilinx Spartan-系列系列FPGA 1)概述Spartan-系列FPGA是Xilinx公司生产的代替ASIC的第二代产品。该系列FPGA有多达5292个逻辑元胞及2010个系统门,采用基于VirtexTM结构的流水线新结构,片内含有嵌入式RAM,并采用先进的0.22/0.18m半导体工艺,6层板结构,可实现不限量的可重复编程。52.2.2典型的SRAMFPGA产品 Spartan-系列FPGA具有系统级特性。该系列FPGA芯片采用低压布线结构;片内含有丰富的寄存器/锁存器、时钟
12、使能信号、同步、异步置位/复位信号;为增强时钟控制,提供了4个主要的全局低偏移时钟分配网络,以及24个次全局网络;有两种类型的片上随机存取内存(SelectRAMTM):块状RAM和分布式RAM。为满足高速运算设计的进位逻辑提供精确的乘法器,以适应各种PCI的应用。2.2.2典型的SRAMFPGA产品 2)结构原理结构原理(1)总体结构描述:Spartan-系列FPGA的基本结构如图2-10所示。其主要包括5个可配置部分:可配置逻辑块(CLB),用于实现大部分逻辑功能;在CLB的四周分布着可编程的输入输出块,提供封装引脚与内部逻辑之间的连接接口;丰富的多层互连结构;片上随机存取内存(Selec
13、tRAMTM);DLL时钟控制块。图图 2-10 Spartan-系列系列FPGA的基本结构原理框图的基本结构原理框图2.2.2典型的SRAMFPGA产品(2)可配置逻辑块(CLB)构成CLB的基本结构是逻辑元胞(LC)。一个LC包括一个4输入的函数发生器、进位逻辑和一个存储部分。在每个LC中,函数发生器的输出既是CLB的输出又是D触发器的输入。每个Spartan-系列FPGACLB包含4个LC,由相似的两个单元构成。除了4个基本的LC之外,Spartan-系列FPGACLB还包含可以提供5输入或6输入的函数发生器。因此,在估计所给器件的系统门数时,应以每个CLB包含4.5个LC计算。图2-1
14、1Spartan-系列FPGACLB一个单元的原理框图2.2.2典型的SRAMFPGA产品 查找表Spartan-系列FPGA函数发生器用4输入的查找表(LUT)实现。除了作为函数发生器,每个LUT还可以作为一个161b的同步RAM。进而,在同一单元中的两个LUT可以组合产生一个162b或是一个321b的同步RAM,或是一个161b的双端同步RAM。Spartan-系列FPGA的LUT还可以作为一个161b的移位寄存器,可以存储数字信号处理过程中的数据。2.2.2典型的SRAMFPGA产品 时序逻辑部分:在Spartan-系列FPGA中的时序逻辑部分可配置成边沿触发的D触发器或是电平触发的锁存
15、器。D触发器的输入既可以由一个单元中的函数发生器驱动,也可以由该片的输入直接驱动。除了时钟信号和时钟使能信号,每一个单元都有同步的置位和复位信号(SR和BY)。SR信号使存储部分恢复到初始状态,而BY信号使其反相。所有这些控制信号均可独立反相,并由同一单元中的两个触发器共享。2.2.2典型的SRAMFPGA产品 附加逻辑在每一单元中,多路选择器F5把函数发生器的输出组合在一起。这样的输出组合可以实现任何一个5输入的函数发生器,或是一个41的多路选择器,也可以实现某些高达9输入的逻辑功能。相类似地,通过选取多路选择器F5的一个输出,多路选择器F6将一个CLB中4个函数发生器的输出组合起来。这样的
16、输出组合可以实现任何一个6输入的函数发生器,或是一个81的多路选择器,也可以实现某些高达19输入的逻辑功能。2.2.2典型的SRAMFPGA产品 运算逻辑在Spartan-系列FPGACLB中的每一个单元中都有一条进位链。运算逻辑包括一个异或(XOR)门,利用它可以在一个LC中实现一个1位全加器;此外,运算逻辑还包括一个精确的与门(AND),它可以有效提高实现乘法器的效率。2.2.2典型的SRAMFPGA产品(3)可编程输入/输出块(IOB)Spartan-系列FPGA的IOB结构如下图所示。2.2.2典型的SRAMFPGA产品 Spartan-系列FPGA支持多种I/O标准。如LVTTL、L
17、VCMOS2、PCI、GTL、GTL+、HSTL、SSTL等。三个IOB寄存器可以实现两种功能:边沿触发的D触发器;电平触发的锁存器。在每个IOB内,三个寄存器共享一个时钟信号(CLK),但每个寄存器都有独立的时钟使能信号;此外,三个寄存器还共享置位/复位信号(SR)。每个寄存器可独立将SR信号配置成同步置位、同步复位、异步置位或异步清零信号。2.2.2典型的SRAMFPGA产品 输入、输出路径在Spartan-系列FPGA的IOB输入路径上有一个缓冲器,它控制输入信号是直接输入到内部逻辑还是通过一个可选的输入触发器输入。每个输入缓冲器都可以配置成该系列支持的任何一种低压标准。其中的一些标准中
18、,输入缓冲器使用用户提供的门限电压。每个输入信号都有可供选择的上拉、下拉电阻在它们的芯片配置之后使用,其典型取值范围为50150k。2.2.2典型的SRAMFPGA产品 在Spartan-系列FPGA的IOB输出路径上有一个三态输出缓冲器,它控制输出信号是配置成直接从内部逻辑输出或是通过一个可选的IOB输出触发器输出。每个输出缓冲器都可独立配置成该系列支持的任何一种低压信号标准。其中的大多数信号标准的输出高电压都取决于一个外部提供的电压VCCO。2.2.2典型的SRAMFPGA产品 I/O组:上面提到的一些I/O标准需要电压VCCO与(或)VREF。这些外部电压与器件引脚相连,这些器件引脚是一
19、组IOB,称为组。在一个组中,哪些I/O标准可以相连是有严格规定的。把FPGA每边分成两个组,这样整个FPGA芯片共有8个I/O组(见下图)。每个组包含多个VCCO引脚,这些引脚必须与相同的电压相连,该电压大小由使用的输出标准确定。在一个组内部,如果输出标准使用相同的VCCO,则它们可以混合。表2-2给出了可兼容的输出标准。其中所有电压均支持GTL和GTL+标准,是因为它们的漏极输出不依赖于电压VCCO。2.2.2典型的SRAMFPGA产品(4)布线通道Spartan-系列FPGA的布线通道主要包括可编程的布线矩阵、局域布线、精细布线、全局布线以及时钟布线网络和I/O布线等丰富的布线资源。可编
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 可编程 逻辑 器件
限制150内