第03讲(可编程逻辑器件)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第二章大规模现场可编程逻辑器件2.2基于SRAM编程的现场可编程逻辑器件2.2.1SRAMFPGA的基本结构和工作原理1.基本的SRAMFPGA编程原理即通过对FPGA上的SRAM上的配置来决定各个逻辑单元的逻辑功能和相互之间的连线关系。2.基本的SRAMFPGA的整体结构SRAMFPGA主要由3个部分组成:可编程逻辑块CLB(ConfigurableLogicBlock)、可编程输入/输出模块IOB(Input/OutputBlock)、可编程内部连线PI(ProgrammableInterconnect)。2.2.1SRAMFPGA的基本结构和工作原理3.基本的SRAMFPGA的CLB的结构与原理可配置逻辑块(CLB)用于实现一个FPGA芯片中的大部分逻辑功能。典型的CLB中的主要组成如图2-4所示。其中包括3个查找表(LUT),它们用作组合逻辑发生器;此外,还有两个触发器,以及两组信号多路选择器。其中,G-LUT和F-LUT可以用来生成任意的4输入的组合函数或用作内置分布式RAM;触发器可用来构成时序逻辑的基本元胞;多路选择器用于配置CLB的不同的逻辑功能。2.2.1SRAMFPGA的基本结构和工作原理G-LUTG4G3G2G1G4G3G2G1G1~G4的组合逻辑功能GH-LUTGH1FHF,G,H1的组合逻辑功能F-LUTF4F3F2F1F4F3F2F1F1~F4的组合逻辑功能GCLKCESRDCLKCEQYQSRDCLKCEQXQX由配置程序控制的多路选择器SRH1DINABY2.2.1SRAMFPGA的基本结构和工作原理(1)函数发生器:两个16×1的存储器查找表(F-LUT和G-LUT)用于实现4输入的函数发生器,它们每一个都能实现由任意4个独立的输入信号(F1~F4或G1~G4)组合产生的任意布尔逻辑功能。并且,使用存储器查找表的传输延迟与其实现的函数功能无关。一个3输入的函数发生器(H-LUT)可以实现任意3个输入的所有布尔逻辑功能。其中两个输入受到可编程的多路选择器的控制(见图2-4中的虚框A)。这两个输入信号可以是F-LUT或G-LUT的输出,也可以是直接来自CLB的输入。2.2.1SRAMFPGA的基本结构和工作原理而第三个输入信号直接来自于CLB的输入。因此,CLB可以实现多达9个输入的特定功能,如实现奇偶校验。在CLB中的3个LUT可以组合实现5输入的任意布尔逻辑功能。总之,一个CLB可以实现四种功能:实现任意的4变量函数;实现一个输出的任意5变量函数;实现6变量的部分函数;实现某些9变量的函数。在一个CLB中能实现多种函数功能,这样在设计中,既可以减少所需的CLB块的个数,又可以缩短信号的延迟时间,提高系统速度。2.2.1SRAMFPGA的基本结构和工作原理(2)触发器:每个CLB中包含两个触发器(如图2-5所示),它们用于存储函数发生器的输出。触发器和函数发生器也可以独立使用。CLB的输入信号DIN可用作两个触发器的直接输入信号;H1也可以通过H-LUT驱动任意一个触发器,但带有一个微量的附加延迟。两个触发器共享一个时钟信号(CLK)、时钟使能信号(CE)和置位/复位信号(SR)。一开始,两个触发器均由一个全局初始化信号(GSR)控制。2.2.1SRAMFPGA的基本结构和工作原理(3)控制信号:由4个输入信号的多路选择器决定CLB的输入控制信号(见图2-6)。这4个内部信号是:CE——时钟使能信号;SR——异步置位/复位信号或是H函数发生器输入0;DIN——直接输入信号或是H函数发生器输入2;H1——H函数发生器输入1。2.2.1SRAMFPGA的基本结构和工作原理DQSDQRDGSRGNDSRCLKDCEVCC由配置程序控制的多路选择器图2-5CLB中的触发器功能块2.2.1SRAMFPGA的基本结构和工作原理图2-6CLB控制信号接口C1C2C3C4DINH1SRCE由配置程序控制的多路选择器2.2.1SRAMFPGA的基本结构和工作原理4.基本的SRAMFPGA的IOB的结构与原理用户可配置的输入输出块(IOB)为芯片外部封装引脚和内部逻辑连接提供接口。每个IOB控制一个封装引脚,可配置成输入口、输出口或是双向信号口。图2-7是一个Spartan-XL系列FPGAIOB的简化功能图。2.2.1SRAMFPGA的基本结构和工作原理图2-7基本FPGAIOB的简化功能框图GTSTOOKDCLKCEQ1112IKCEDCLKCEQ延迟可编程的上拉/下拉网络输入缓冲器输出驱动器可编程的偏移率可编程的TTL/CMOS驱动器由配置程序控制的多路选择器封装焊垫2.2.1SRAMFPGA的基本结构和工作原理(1)IOB输入信号路径IOB的输入信号可以配置成直接输入到布线通道(如图2-7中的I1和I2)或是输入到输入寄存器中。输入寄存器可配置为一个边缘触发的触发器或是一个电平触发的锁存器。一个简化的寄存器如图2-8所示。DSDQRDGSRDCLKCEVCCQ由配置程序控制的多路选择器图2-8基本FPGAIOB触发器/锁存器功能2.2.1SRAMFPGA的基本结构和工作原理(2)IOB输出信号路径:输出信号可以在IOB内任意反相,并可直接通过输出缓冲器输出或是先存储在一个边沿触发的触发器中,然后再通过输出缓冲器输出。(3)上拉和下拉网络:可编程的上拉、下拉电阻可将未使用的引脚固定接电源或是接地,这样使系统的功率消耗最小,并可减少噪音干扰。可配置的上拉电阻是一个P沟道晶体管,可将引脚上拉到电源;可配置的下拉电阻是一个N沟道晶体管,可将引脚下拉到地。这些电阻的典型取值范围是20~100kΩ。2.2.1SRAMFPGA的基本结构和工作原理(4)独立的时钟信号和共用的时钟使能信号可提供给输入(IK)和输出(OK)触发器独立的时钟信号。在IOB内部,每个触发器的时钟信号都可独立反相,并可利用时钟信号的下降沿或上升沿驱动触发器。每个IOB的时钟输入信号都是彼此独立的。在每个IOB中,输入、输出触发器共享一个时钟使能信号(如图2-8中的CE信号)。可通过配置,使时钟使能信号只作用于输入或输出触发器中的某一个或是两个都作用。此外,CE信号在IOB内不能反相。2.2.1SRAMFPGA的基本结构和工作原理5.基本的SRAMFPGA的PI的结构原理FPGA的布线通道主要包括CLB布线通道、IOB布线通道、全局网络和缓冲器。(1)CLB布线通道:CLB布线通道位于CLB阵列的行以及列之间。位于CLB周围的布线通道可分为三种类型:单长线、双长线和长线。在每个垂直通道和水平通道的连接处是一个信号控制矩阵,叫可编程开关矩阵(PSM)。图2-9给出了CLB基本的布线通道,其中有单长线、双长线和长线,以及CLB和PSM。图2-9基本的FPGACLB布线通道PSMPSMPSMPSMPSMPSM2条双长线3条长线8条单长线3条长线2条双长线2条双长线3条长线8条单长线CLBCLB2.2.1SRAMFPGA的基本结构和工作原理下图可编程开关矩阵PSM的结构图。每个连接点上有六个选通晶体管,从四个不同方向进入节点的信号,可与如何方向的通路互连。2.2.1SRAMFPGA的基本结构和工作原理(2)IOB布线通道:IOB布线通道形成一个环,围绕在CLB阵列的四周,用于连接I/O口与CLB。Spartan系列FPGA还有附加的绕IOB的布线通道,称为Versa环。其中包括8条双长线和4条长线。(3)全局网络和缓冲器该系列FPGA中有精细的全局网络。这些网络用于对时钟信号和其他高扇出的控制信号进行布线,使信号失真最小。2.2.1SRAMFPGA的基本结构和工作原理专用的全局缓冲器位于CLB每一列的4条垂直长线上。例如在一个5V的Spartan系列产品中,4条全局线可用任意两种类型的全局缓冲器驱动。这两种全局缓冲器是:主全局缓冲器(BUFGP)和次全局缓冲器(BUFGS)。这些线中的任何一条都可以通过一个BUFGP或是任何一个BUFGS连接。在一个3V的Spartan-XL系列FPGA产品中,8个全局低偏移缓冲器(BUFGLS)中的任何一个都可以驱动这4条全局线。这些缓冲器使信号延迟达到最短,偏移最小,同时增强了布线的灵活性。2.2.2典型的SRAMFPGA产品1.XilinxSpartan-Ⅱ系列FPGA1)概述Spartan-Ⅱ系列FPGA是Xilinx公司生产的代替ASIC的第二代产品。该系列FPGA有多达5292个逻辑元胞及20×10个系统门,采用基于VirtexTM结构的流水线新结构,片内含有嵌入式RAM,并采用先进的0.22/0.18μm半导体工艺,6层板结构,可实现不限量的可重复编程。52.2.2典型的SRAMFPGA产品Spartan-Ⅱ系列FPGA具有系统级特性。该系列FPGA芯片采用低压布线结构;片内含有丰富的寄存器/锁存器、时钟使能信号、同步、异步置位/复位信号;为增强时钟控制,提供了4个主要的全局低偏移时钟分配网络,以及24个次全局网络;有两种类型的片上随机存取内存(SelectRAMTM):块状RAM和分布式RAM。为满足高速运算设计的进位逻辑提供精确的乘法器,以适应各种PCI的应用。2.2.2典型的SRAMFPGA产品2)结构原理(1)总体结构描述:Spartan-Ⅱ系列FPGA的基本结构如图2-10所示。其主要包括5个可配置部分:①可配置逻辑块(CLB),用于实现大部分逻辑功能;②在CLB的四周分布着可编程的输入输出块,提供封装引脚与内部逻辑之间的连接接口;③丰富的多层互连结构;④片上随机存取内存(SelectRAMTM);⑤DLL时钟控制块。DLL块状RAMCLBDLL块状RAMCLBDLL块状RAMCLBDLL块状RAMCLBI/O元胞图2-10Spartan-Ⅱ系列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计算。进位和控制逻辑I4I3I2I1OG4G3G2G1COUTYBY进位和控制逻辑I4I3I2I1OF4F3F2F1F5INBYSRCINCLKCEYQXBXXQSRCECLKDQSRCECLKDQLUTLUT图2-11Spartan-Ⅱ系列FPGACLB一个单元的原理框图2.2.2典型的SRAMFPGA产品①查找表Spartan-Ⅱ系列FPGA函数发生器用4输入的查找表(LUT)实现。除了作为函数发生器,每个LUT还可以作为一个16×1b的同步RAM。进而,在同一单元中的两个LUT可以组合产生一个16×2b或是一个32×1b的同步RAM,或是一个16×1b的双端同步RAM。Spartan-Ⅱ系列FPGA的LUT还可以作为一个16×1b的移位寄存器,可以存储数字信号处理过程中的数据。2.2.2典型的SRAMFPGA产品②时序逻辑部分:在Spartan-Ⅱ系列FPGA中的时序逻辑部分可配置成边沿触发的D触发器或是电平触发的锁存器。D触发器的输入既可以由一个单元中的函数发生器驱动,也可以由该片的输入直接驱动。除了时钟信号和时钟使能信号,每一个单元都有同步的置位和复位信号(SR和BY)。SR信号使存储部分恢复到初始状态,而BY信号使其反相。所有这些控制信号均可独立反相,并由同一单元中的两个触发器共享。2.2.2典型的SRAMFPGA产品③附加逻辑在每一单元中,多路选择器F5把函数发生器的输出组合在一起。这样的输出组合可以实现任何一个5输入的函数发生器,或是一个4∶1的多路选择器,也可以实现某些高达9输入的逻辑功能。相类似地,通过选取多路选择器F5的一个输出,多

1 / 75
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功