1、8.4现场可编程门阵列(FPGA)器件8.4.1概述概述8.4.2FPGA器件基本结构器件基本结构8.4.3可配置逻辑模块(可配置逻辑模块(CLB)8.4.4可编程可编程I/O模块(模块(IOB)8.4.5可编程内部互连资源(可编程内部互连资源(ICR)8.4.6FPGA的应用举例的应用举例器件器件门数门数CLB阵列阵列CLB数数触发器数触发器数最大最大RAM位数位数XC4003/A3 00010101003603 200XC4003H3 00010101002003 200XC4003E3 00010101003603 200XC401010 00020204001 12012 800XC4
2、02525 00032321 0242 56032 768XC4025E25 00032321 0242 56032 768XC4044EX44 00040401 6003 84051 200XC4062XL62 00048482 3046 37673 728表8-4-1 XC4000系列器件主要特征8.4.1概述概述FPGA一般是一般是可配置逻辑模块可配置逻辑模块CLB(Configutable Logic Blocks)、输入输入/输出模块输出模块IOB(Input/Output Blocks)和和互连资源互连资源ICR (Interconnect Capital Resource)及一个
3、用于存放编程数据的及一个用于存放编程数据的静态存储器静态存储器SRAM组组成。不同公司的成。不同公司的FPGA器件基本结构、性能不尽相同。器件基本结构、性能不尽相同。图8- -4- -1 XC4000系列FPGA基本结构CLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLB可编程开关矩阵可编程开关矩阵可编程输入可编程输入/输出模块输出模块IOB互连资源互连资源ICR可配置逻辑模块可配置逻辑模块CLB8.4.2FPGA器件基本结构器件基本结构IOB提供内部逻辑提供内部逻辑阵列与外部引出线之间阵列与外部引出线之间的编程接口;的编程接口;ICR经编经编程实现
4、程实现CLB与与CLB以以及及CLB与与IOB之间的互之间的互连。连。8.4.3可配置逻辑模块(可配置逻辑模块(CLB)每个每个CLB由两个由两个触发器触发器、两个独立的、两个独立的4输入输入组合逻辑函数发组合逻辑函数发生器生器(F、G)和由数据选择器组成的)和由数据选择器组成的内部控制电路内部控制电路构成。构成。CLB有有13个输入和个输入和4个输出,输入与输出可与个输出,输入与输出可与CLB周围的互周围的互连资源相连,如图连资源相连,如图8- -4- -3所示。所示。两个组合逻辑函数发生器两个组合逻辑函数发生器F和和G为查找表结构。其工作原为查找表结构。其工作原理类似于用理类似于用ROM实
5、现多种逻辑实现多种逻辑函数 ,函数 ,F和和 G的 输 入等 效 于的 输 入等 效 于ROM的地址码,通过查找的地址码,通过查找ROM中的地址表,即可得到相中的地址表,即可得到相应的组合逻辑函数输出。应的组合逻辑函数输出。图8- -4- -3 CLB与互连资源互连关系开关开关矩阵矩阵开关开关矩阵矩阵开关开关矩阵矩阵开关开关矩阵矩阵F4 C4 G4 YoutYG3C3F3G2C2F2XoutG1C1KF1X互连资源互连资源逻辑图逻辑图图8- -4- -4 CLB的配置F/GF/G4变量变量输入输入(a)F/GF/G5变量变量输入输入输出输出(b)HHFF9变量变量输入输入输出输出(c)HHGG
6、输出输出每个组合逻辑函数发生器的输出可以是每个组合逻辑函数发生器的输出可以是4变量的任意组合逻变量的任意组合逻辑函数。辑函数。第三个组合逻辑函数发生器第三个组合逻辑函数发生器H,可以完成,可以完成3输入(输入(F、G和和外外部输入部输入H1)的任意组合逻辑函数。)的任意组合逻辑函数。将将F、G和和H编程组合配置,编程组合配置,一个一个CLB可以完成任意两个独立可以完成任意两个独立4变量或任意一个变量或任意一个5变量逻辑函数;变量逻辑函数;或任意一个或任意一个4变量逻辑函数加上一变量逻辑函数加上一些些5变量逻辑函数;甚至一些变量逻辑函数;甚至一些9变变量逻辑函数。量逻辑函数。图8- -4- -5
7、 函数发生器作为RAM使用的框图WE DinGGG1G2G3G4地址线地址线A0A3WE DinFFF1F2F3F4地址线地址线A0A3&1M&1MG写控制写控制F写控制写控制MWE D1/A4D0ECC1C2C3C4MM配量存储器的一位配量存储器的一位F和和G组合逻辑函数发生器还可以作为器件内高速组合逻辑函数发生器还可以作为器件内高速RAM或或小的可读小的可读/写存储器使用,由工作方式字编程控制。写存储器使用,由工作方式字编程控制。当工作方式当工作方式字设置存储功能有效时,作为内部存储器使用。字设置存储功能有效时,作为内部存储器使用。将将WE、D1/ A4、D0和和EC(不用)(不用)接入到
8、接入到CLB,作为,作为存储器的写使能、存储器的写使能、数据信号或地址信数据信号或地址信号。号。F1F4和和G1G4相当于地址输入相当于地址输入信号,以选择存储信号,以选择存储器中的特定存储单器中的特定存储单元。元。图8- -4- -6 XC4000的IOB结构C11DQ触发器触发器C11DQ触发触发锁存器锁存器延时延时摆率摆率控制控制上拉上拉/下下拉电阻拉电阻VCC输出输出缓冲器缓冲器输入输入缓冲器缓冲器OE输出输出输出输出时钟时钟I1I2输入输入时钟时钟I/O8.4.4可编程可编程I/O模块(模块(IOB)XC4000 IOB由由输入触发器输入触发器、输入缓冲器输入缓冲器和和输出触发输出触
9、发/锁存锁存器器、输出缓冲器输出缓冲器组成,每个组成,每个IOB控制一个外部引出端。控制一个外部引出端。通过编程,可以将通过编程,可以将IOB作为输入或输出接口使用。作为输入或输出接口使用。IOB还具有可编程电压摆率控制,可配置系统达到低噪声还具有可编程电压摆率控制,可配置系统达到低噪声或高速度设计。电压摆率加快,能使系统传输延迟短,工作速或高速度设计。电压摆率加快,能使系统传输延迟短,工作速度提高,但同时会在系统中引入较大的噪声。因此,对系统中度提高,但同时会在系统中引入较大的噪声。因此,对系统中速度起关键作用的输出应选用较快的电压摆率;对噪声要求较速度起关键作用的输出应选用较快的电压摆率;
10、对噪声要求较严的系统,应折中考虑,选择比较适当的电压摆率,以抑制系严的系统,应折中考虑,选择比较适当的电压摆率,以抑制系统噪声。统噪声。输入和输出触发器有各自的时钟输入信号,通过编程可选输入和输出触发器有各自的时钟输入信号,通过编程可选择上升沿触发或下降沿触发。择上升沿触发或下降沿触发。8.4.5可编程内部互连资源(可编程内部互连资源(ICR)ICR由纵横分布在由纵横分布在CLB阵列之间的金属线网络和位于纵横阵列之间的金属线网络和位于纵横线交叉点上的可编程开关矩阵组成。线交叉点上的可编程开关矩阵组成。XC4000系列使用的是分层连线资源结构,根据应用的不同,系列使用的是分层连线资源结构,根据应
11、用的不同,ICR一般提供一般提供3种连接结构,即种连接结构,即通用单通用单/双长线连接双长线连接、长线连接长线连接和和全局连接全局连接。通用单通用单/双长线连接双长线连接主要用于主要用于CLB之间的连接,任意两点间的连接都要通过开之间的连接,任意两点间的连接都要通过开关矩阵。它提供了相邻关矩阵。它提供了相邻CLB之间的快速互连和复杂互连的灵活之间的快速互连和复杂互连的灵活性,但传输信号每通过一个可编程开关矩阵,就增加一次时延。性,但传输信号每通过一个可编程开关矩阵,就增加一次时延。因此,因此,FPGA内部时延与器件结构和逻辑布线有关,它的信号内部时延与器件结构和逻辑布线有关,它的信号传输时延不
12、可确定。传输时延不可确定。图8- -4- -7 通用单/双长线连接结构F4 C4 G4 YQYG3C3F3G2C2F2XQG1C1KF1X开关开关矩阵矩阵开关开关矩阵矩阵开关开关矩阵矩阵开关开关矩阵矩阵CLBCLBCLBCLB开关矩阵开关矩阵(a)(b)CLB通用单长线连接结构通用单长线连接结构通用单长线通用单长线相邻的通用单长线相邻的通用单长线通用双长线连接结构通用双长线连接结构通用双长线通用双长线通用双长线可连接两个通用双长线可连接两个非相邻非相邻的的CLB图8- -4- -7 通用单/双长线连接结构(c)(d)PSMPSMPSMPSMCLBCLB2CLBCLB3CLBCLBCLB4CLB
13、1CLB双长线双长线单长线单长线可编程可编程开关矩阵开关矩阵每个开关矩阵的连线点每个开关矩阵的连线点上有上有6个选通晶体管个选通晶体管通用单通用单/ /双长线连接结构双长线连接结构通用单长线连接相邻通用单长线连接相邻CLB通用双长线连接非相邻通用双长线连接非相邻CLB可编程开关矩阵的结构可编程开关矩阵的结构长线连接长线连接在通用单在通用单/双长线的旁边还有双长线的旁边还有3条从阵列的一头连到另一头条从阵列的一头连到另一头的线段,称为水平长线和垂直长线。这些长线不经过可编程开的线段,称为水平长线和垂直长线。这些长线不经过可编程开关矩阵,信号延时时间小,长线主要用于长距离或多分支信号关矩阵,信号延
14、时时间小,长线主要用于长距离或多分支信号的传送。的传送。全局连接全局连接8条全局线贯穿条全局线贯穿XC4000器件,可达到每个器件,可达到每个CLB。全局连接。全局连接主要用于传送一些公共信号,如全局时钟信号、公用控制信号。主要用于传送一些公共信号,如全局时钟信号、公用控制信号。图8- -4- -8 9位数据偶校验F9位数据位数据并行输入并行输入偶校验偶校验输出输出(a)HHGa1a2a3a4a9a5a6a7a89位位数据数据偶校验偶校验a1a2a3a4a5a6a7a8a9EVEN(b)8.4.6FPGA的应用举例的应用举例例例8- -8用一个用一个CLB实现一个实现一个9位数据偶校验。位数据
15、偶校验。解解采用一个采用一个CLB实现一个实现一个9位数据偶校验器电路如图位数据偶校验器电路如图8- -4- -8所所示。示。第第1级两个级两个4输入组合逻辑函数输入组合逻辑函数发生器分别鉴别前发生器分别鉴别前8位位1的个数,输的个数,输出分别送到第出分别送到第2级组合逻辑函数发级组合逻辑函数发生器的输入,与第生器的输入,与第9位数据进行比位数据进行比较。当较。当1的个数为偶数时,输出的个数为偶数时,输出EVEN为低电平,反之为高电平。为低电平,反之为高电平。图8- -4- -9 边沿触发161 RAMWE DINGCPG1G2G3G4地址线地址线A0A3WE DINFCPF1F2F3F4地址
16、线地址线A0A3WE D1D0ECC1C2C3C4GFM时钟时钟CP输出输出输出输出例例8- -9用一个用一个CLB构成两个边沿触发的构成两个边沿触发的161 RAM。解解采用一个采用一个CLB构成两个构成两个161 RAM电路如图电路如图8- -4- -9所所示。示。在在RAM模式下,模式下,F和和G函函数发生器中的查找表分别作为数发生器中的查找表分别作为161 RAM。F和和G的的4个输入个输入端分别对应存储器的端分别对应存储器的4位地址位地址线线(F和和G地址一致地址一致),来自控制,来自控制信号的信号的D1、D0分别为分别为G和和F的的单个数据输入线,单个数据输入线,WE为写使为写使能
17、控制线。能控制线。图8- -4- -10 边沿触发321 RAMWE DinGKG1G2G3G4地址线地址线A0A3WE DinFKF1F2F3F4WE D1/A4D0ECC1C2C3C4GFM时钟时钟CLK输出输出&M&MHM 配置存储器的一位配置存储器的一位A0A3RAM地址线地址线D0数据输入线数据输入线例例8- -10用一个用一个CLB构成一个边沿触发的构成一个边沿触发的321 RAM。解解电路如图电路如图8- -4- -10所示。所示。在在RAM模式下,模式下,F和和G中的查找表分别作为中的查找表分别作为161 RAM,其输出在,其输出在H中组合。中组合。F和和G的的4个输入个输入对
18、应存储器的前对应存储器的前4位地址位地址线,线,D1/A4为第为第5位地址线。位地址线。D0为单个数据输入线,为单个数据输入线,WE为写使能控制线。为写使能控制线。例例8- -11用用XC4000系列器件实现一个系列器件实现一个4位二进制同步加位二进制同步加/减减计数器。计数器。解解设设M为加为加/减控制信号。当减控制信号。当M=0时,为时,为加法加法计数,状态计数,状态转移方程为转移方程为 CPQQQQQQQQQCPQQQQQQQCPQQQQQCPQQnnnnnnnnnnnnnnnnnnnnnnn321032101321021012101011010当当M=1时,为时,为减法减法计数,状态转
19、移方程为计数,状态转移方程为 CPQQQQQQQQQCPQQQQQQQCPQQQQQCPQQnnnnnnnnnnnnnnnnnnnnnnn321032101321021012101011010图8- -4- -11例8- -11逻辑图组合函数组合函数发生器发生器C11DQC11DQCLBQ0Q1组合函数组合函数发生器发生器C11DQC11DQCLBQ2Q3Q0Q1MQ0Q1MQ2Q3时钟时钟CP4位二进制位二进制加加/减减计数器计数器(a)Q0Q2Q1Q3CPM(b)一个一个CLB中含有两个中含有两个D触发器,并且可以实现两个独立的触发器,并且可以实现两个独立的4变量或变量或5变量组合逻辑函数
20、。因此,用两个变量组合逻辑函数。因此,用两个CLB可以实现一个可以实现一个4位二进制同步加位二进制同步加/减计数器。减计数器。FPGA器件的性能特点:器件的性能特点:(1) 采用采用SRAM编程技术,具有高密度、高速度、高可靠性编程技术,具有高密度、高速度、高可靠性和低功耗的特性。和低功耗的特性。(2) 提供丰富的提供丰富的I/O端数和触发器,集成度远远高于端数和触发器,集成度远远高于PAL和和GAL器件。器件。(3) FPGA器件结构灵活,内部的器件结构灵活,内部的CLB、IOB和和ICR均可以均可以编程,可以实现多个变量的任意逻辑。编程,可以实现多个变量的任意逻辑。(4) 某些器件提供片内
21、高速某些器件提供片内高速RAM,可用于,可用于FIFO等设计。等设计。(5) 使用使用FPGA器件时需要进行数据配置,断电后,配置数器件时需要进行数据配置,断电后,配置数据自动丢失。据自动丢失。(6) 内部时延与器件结构和逻辑连接有关,传输时延不可预内部时延与器件结构和逻辑连接有关,传输时延不可预测。测。C1ECQ1DRD时钟时钟CP1图8- -4- -2 XC4000系列CLB基本结构G1G4逻辑逻辑函数函数GG1G2G3G4GF1F4逻辑逻辑函数函数FF1F2F3F4FF,G,H1逻辑逻辑函数函数HHFGHDINFGHDINGHHFRDR/S控制控制C1ECQ1DRD1RDR/S控制控制YQXQXYH1DINS/RECC1C2C3C4返回返回