《EDA技术与数字系统设计PPT教学课件第5章 可编程逻辑器件》由会员分享,可在线阅读,更多相关《EDA技术与数字系统设计PPT教学课件第5章 可编程逻辑器件(189页珍藏版)》请在金锄头文库上搜索。
1、第第5 5章章 可编程逻辑器件可编程逻辑器件 第第5章章可编程逻辑器件可编程逻辑器件5.1可编程逻辑器件的基本结构及分类可编程逻辑器件的基本结构及分类5.2低密度可编程逻辑器件低密度可编程逻辑器件GAL5.3复杂可编程逻辑器件复杂可编程逻辑器件CPLD5.4现场可编程门阵列现场可编程门阵列(FPGA)的基本结构的基本结构5.5其他可编程器件其他可编程器件第第5 5章章 可编程逻辑器件可编程逻辑器件 5.1 可编程逻辑器件的基本结构及分类5.1.1概述概述 可编程逻辑器件是20世纪70年代发展起来的一种新型逻辑器件。它以其独特的优越性能,一出现就受到了人们的青睐。它不仅速度快、集成度高,并且几乎
2、能随心所欲地完成用户定义的逻辑功能(do as you wish),还可以加密和重新编程,其编程次数最大可达1万次以上。使用可编程逻辑器件可以大大简化硬件系统、降低成本、提高系统的可靠性、灵活性和保密性。 第第5 5章章 可编程逻辑器件可编程逻辑器件 5.1.2基本结构及分类基本结构及分类1.基本结构基本结构 PLD的基本结构如图5.1所示。电路的主体是由门构成的与阵列和或阵列,逻辑函数要靠它们实现。为了适应各种输入情况,与阵列的每个输入端都有输入缓冲电路,从而使输入信号具有足够的驱动能力,并产生原变量(A)和反变量()两个互补的信息。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.1
3、PLD的基本结构框图第第5 5章章 可编程逻辑器件可编程逻辑器件 2.PLD器件的分类器件的分类1)按可编程的部位分类按可编程的部位分类 如图5.1所示,在PLD的各个方框中,通常只有部分可以编程或组态。根据它们的可编程情况,一般分为以下几类: (1) 可编程只读存储器PROM(Programmable Read-Only Memory):PROM的基本结构包括一个固定的与阵列,其输出加到一个可编程的或阵列上。PROM大多用来存储计算机程序和数据,此时固定的输入用作存储器地址,输出是存储器单元的内容,如图5.2所示。 第第5 5章章 可编程逻辑器件可编程逻辑器件 (2) 可编程逻辑阵列PLA(
4、Programmable Logic Array):PLA是由可编程的与阵列和可编程的或阵列构成的,在实现逻辑函数时有极大的灵活性,但是这种结构编程困难,且造价昂贵,如图5.3所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.2 PROM的阵列结构 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.3 PLA的阵列结构第第5 5章章 可编程逻辑器件可编程逻辑器件 (3) 可编程阵列逻辑PAL(Programmable Array Logic):PAL器件结合了PLA的灵活性及PROM的廉价和易于编程的特点。其基本结构包括一个可编程的与阵列和一个固定的或阵列,其阵列结构如图5.4所示。
5、第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.4 PAL(GAL)的阵列结构 第第5 5章章 可编程逻辑器件可编程逻辑器件 (4) 通用逻辑阵列GAL(Generic Array Logic):GAL器件是在其他PLD器件的基础上发展起来的逻辑芯片,它的结构继承了PAL器件的与或结构,并在这一基础上有了新的突破,增加了输出逻辑宏单元(OLMC)结构。 以上各种PLD的主要区别如表5.1所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.1 PLD 的 分 类分 类与阵列或阵列输出电路PROM固定可编程固定PLA可编程可编程固定PAL可编程固定固定GAL可编程固定可组态第第5 5章章
6、 可编程逻辑器件可编程逻辑器件 2)按编程方法分类按编程方法分类 最初的ROM是由半导体生产厂制造的,阵列中各点间的连线用厂家专门为用户设计的掩膜板制作,因而称为掩膜编程,一般用来生产存放固定数据和程序的ROM等。 由于设计掩膜成本高,有一定的风险,因此人们又研制了一种熔丝编程的PROM,如图5.5所示,其中每个横线与纵线的交点处皆做有熔丝,因而任何一条横线与纵线都是相连的,编程时利用某一形式特殊的高幅度的电流将熔丝烧断即可。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.5 熔丝编程PROM示意图 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.6 PN结击穿法PROM第第5 5章
7、章 可编程逻辑器件可编程逻辑器件 第三类编程方式称为可擦除PROM,简称EPROM(Erasable Programmable ROM),其编程“熔丝”是一只浮栅雪崩注入型MOS管,其结构如图5.7所示。编程时,在G2栅上注入电子来提高MOS的开启电压,从而达到编程的目的。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.7 EPROM的“熔丝”结构(a) 结构图;(b) 逻辑符号;(c) EPROM的外形图第第5 5章章 可编程逻辑器件可编程逻辑器件 EPROM器件的上方有一个石英窗(如图5.7(c)所示),就是为擦去编程信息而设置的。擦除时将器件放在紫外线处照射20 min即可。正常运用
8、时,应用黑色胶纸将其封住。 另 一 种 可 擦 除 的 PROM器 件 称 为 EEPROM或 称E2PROM,它是一种电擦除的可编程器件,其编程“熔丝”与EPROM结构相仿。 还有一种快闪存储器(Flash memory),它是采用一种类似于EPROM的单管浮栅结构的存储单元,制成了新一代用电信号擦除的可编程ROM。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.8 SRAM的基本存储单元结构第第5 5章章 可编程逻辑器件可编程逻辑器件 综上所述,ROM的编程方法是按掩膜ROMPROMEPROME2PROM次序发展的。通常把一次性编程的(如PROM)称为第一代PLD,把紫外光擦除的(如
9、EPROM)称为第二代PLD,把电擦除的(如E2PROM)称为第三代PLD。 第二代、第三代PLD器件的编程都是在编程器上进行的。在系统编程(ISP)器件的编程工作可以不用编程器而直接在目标系统或线路板上进行,因而称第四代PLD器件。第第5 5章章 可编程逻辑器件可编程逻辑器件 3)按集成密度分类按集成密度分类 按集成密度分类,PLD可分为低密度可编程逻辑器件(LDPLD)和高密度可编程逻辑器件(HDPLD)。历史上,GAL22V10是低密度PLD和高密度PLD的分水岭,一般也按照GAL22V10芯片的容量区分为LDPLD和HDPLD。GAL22V10的集成密度根据制造商的不同,大致在5007
10、50门之间。如果按照这个标准,PROM、PLA、PAL和GAL器件均属于低密度可编程逻辑器件(LDPID),而EPLD、CPLD和FPGA则属于高密度可编程逻辑器件(HDPLD),如图5.9所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.9 可编程逻辑器件的密度分类第第5 5章章 可编程逻辑器件可编程逻辑器件 (1) 低密度可编程逻辑器件(LDPLD):低密度可编程逻辑器件包括PROM、PLA、PAL和GAL四种器件。 (2) 高密度可编程逻辑器件(HDPLD):高密度可编程逻辑器件包括EPLD、CPLD和FPGA三种器件。第第5 5章章 可编程逻辑器件可编程逻辑器件 20世纪80年
11、代中期,Altera公司推出了一种新型的、可擦除的可编程逻辑器件,称为EPLD(Erasable Programmable Logic Device),它是一种基于EPROM和CMOS技术的可编程逻辑器件。 EPLD器件的基本逻辑单位是宏单元。宏单元由可编程的与或阵列、可编程寄存器和可编程I/O三部分组成。宏单元和整个器件的逻辑功能均由EPROM来定义和规划。 第第5 5章章 可编程逻辑器件可编程逻辑器件 5.2低密度可编程逻辑器件低密度可编程逻辑器件GAL5.2.1GAL器件的基本结构器件的基本结构 GAL(Generic Array Logic)器件是美国晶格半导体公司(Lattice S
12、emiconductor)于1983年推出的一种可电擦写、可重复编程,可设置加密的新型PLD器件。GAL器件采用电擦除技术,无需紫外线照射就可随时进行修改。由于其内部具有特殊的结构控制字,因而它虽然芯片类型少,但编程灵活、功能齐全。 第第5 5章章 可编程逻辑器件可编程逻辑器件 GAL和PAL的与阵列是相似的,但或阵列以及输出寄存器被输出逻辑宏单元OLMC(Output Logic Macro Cell)所取代了,其结构图如图5.10所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.10 GAL的结构框图第第5 5章章 可编程逻辑器件可编程逻辑器件 (1) 输入缓冲器:输入端为引脚29
13、,共有8个输入。又因为输出端是具有反馈的,也可以用作输入端,所以可利用的输入端总数为16个。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.11 GAL16V8的电路结构图第第5 5章章 可编程逻辑器件可编程逻辑器件 (2) 与阵列:它包含有32列和64行的与矩阵,32列表示8个输入的原变量和反变量以及8个输出反馈信号的原变量和反变量,相当于有32个输入变量。64行表示8个输出的8个乘积项,相当于与矩阵有64个输出,即产生64个乘积项。可编程的与阵列有2048个可编程单元,图上表示为2048个码点。 (3) 输出逻辑宏单元(OLMC):输出引脚为1219共8个。输出逻辑宏单元包括或门、异
14、或门、D触发器、4个4选1多路选择器、输出缓冲器等。第第5 5章章 可编程逻辑器件可编程逻辑器件 (4) 输出电路:从宏单元中引出信号经过三态门缓冲加以输出。 另外,还有系统时钟CP(引脚1)、输出三态公共控制端OE(引脚11)、电源VCC(引脚20)和公共地(引脚10)。 OLMC的结构示意图如图5.12所示,其主要构成为或门G3,完成或操作。异或门G4完成极性选择。 第第5 5章章 可编程逻辑器件可编程逻辑器件 因为异或门控制变量为0时输出与输入相同,所以当控制变量为1时,输出与输入相反。极性选择还可以用来实现所需的乘积项。GAL的输出只能实现小于8个乘积的函数,如果采用异或门,则可以把大
15、于8项,而每项只含一个变量的函数化简为一个乘积项。例如:Y=A+B+C+D+E+F+G+H+I (5-1)(5-2)第第5 5章章 可编程逻辑器件可编程逻辑器件 当输入大于8项(如式(5-1)时,可以通过输入端将其反变为式(5-2)输入,而逻辑功能不变,然后通过异或门G4再取反来还原成式(5-1),从而完成大于8个项的乘积函数功能。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.12 输出逻辑宏单元结构图第第5 5章章 可编程逻辑器件可编程逻辑器件 在OLMC中还有D触发器和4个多路选择器,多路选择器的功能如下。 (1) 乘积项输入多路选择器(PTMUX,Product Term Inpu
16、t Multiplexer)。PTMUX的数据信号分别来自地电平和本组与阵列的第一与项。 (2) 输出多路选择器(OMUX)。OMUX的数据信号分别来自D触发器的Q端和异或门的输出。 (3) 三态多路选择器(TSMUX)。它用来从VCC、地电平、OE和第一与项这四路信号中选出一路信号作为输出三态缓冲器的三态控制信号。 第第5 5章章 可编程逻辑器件可编程逻辑器件 (4) 反馈多路选择器(FMUX)。它用来从D触发器的端、本级输出、邻级输出和地电平这四路信号中选出一路作为反馈信号,反馈到与阵列。 GAL16V8、GAL20V8系列器件的OLMC有寄存器模式、复杂模式和简单模式三种工作模式。用户通
17、过输出引脚定义方程来设定OLMC的工作模式。OLMC三种模式又可细分成七种逻辑组态,如表5.2所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.2 三种模式和七种组态的关系工作模式逻 辑 组 态寄存器模式复杂模式简单模式(1) 寄存器输出组态;(2) 组合输出组态;(3) 组合I/O组态;(4) 纯组合输出组态;(5) 无反馈组合输出组态;(6) 有反馈组合输出组态;(7) 相邻输入组态第第5 5章章 可编程逻辑器件可编程逻辑器件 5.2.2GAL器件的介绍器件的介绍 1. GAL器件的命名方法及性能 常用GAL器件一般可分为普通型、通用型、异步型和在系统可编程型4个系列。GAL器件的
18、命名方法如图5.13所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.13 GAL器件命名方法第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.14 GAL16V8的引脚图(a) 双列直插式;(b) 托架式第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.3 常用GAL器件的主要参数 第第5 5章章 可编程逻辑器件可编程逻辑器件 2. GAL20V8 GAL20V8与GAL16V8的主要区别是与门阵列的输入行从后者的32行增加为40行,每两行对应一个输入,故GAL20V8最大输入量为20个。而两者的OLMC都是8个,所以最大输出量都是8个。GAL20V8多了两个输入多路选择器IMU
19、X,第一个IMUX用来选择引脚1或23作为输入,第二个IMUX用来选择引脚13或14作为输入。除此以外,两者在特性方面没有区别。第第5 5章章 可编程逻辑器件可编程逻辑器件 由于结构上的变动,其行地址图和结构控制字的配置也略有变化。比如,行地址039对应于与门阵列的40个输入项,第40行为电子标签,第4159行为厂家保留地址,其他均相同。结构控制字除注意到引脚号的变化外,也没有什么区别。图5.15为GAL20V8的引脚图。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.15 GAL20V8的引脚图(a) 双列直插式;(b) 托架式第第5 5章章 可编程逻辑器件可编程逻辑器件 3.GAL30
20、V18 GAL30V18是采用E2CMOS工艺、FPLA结构的新一代GAL器件。其与门阵列和或门阵列都可编程。图5.16是其引脚图,图5.17是其逻辑功能框图。GAL39V18包含10个可编程的输出逻辑宏单元OLMC,8个可编程的状态逻辑宏单元SLMC,10个输入逻辑宏单元ILMC和10个输入/输出逻辑宏单元IOLMC。其中SLMC对外没有直接引脚,而是埋入式的,在逻辑设计时它只起中间变量的作用。两个时钟输入用以分别控制输入和输出宏单元。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.16 GAL39V18的引脚图 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.17 GAL39V18
21、的逻辑功能框图第第5 5章章 可编程逻辑器件可编程逻辑器件 4. ispGAL16Z8 ispGAL16Z8是具有在系统可编程和实时在线诊断能力的器件。它可以不用专用的编程器而在用户系统中利用5V电源随时进行编程。其擦写次数在1万次以上。芯片内部有一个电路用来产生必需的高压编程控制信号。第第5 5章章 可编程逻辑器件可编程逻辑器件 5.2.3应用应用GAL的设计的设计 1. 设计说明 基本逻辑门为:与门、或门、与非门、或非门、异或门和异或非门(同或门)。由于这个设计要求12个输入端,6个输出端,因此选用GAL16V8芯片。根据电路需要,把2个OLMC的引脚作为专用输入端,其他6个OLMC输出引
22、脚作为专用组合逻辑输出,如图5.18所示。编程软件可自动处理这项工作。此外,由于GAL16V8具有可编程极性功能,输出电平可自行定义,因此本例采用高电平输出有效。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.18 GAL16V8基本逻辑门引脚图第第5 5章章 可编程逻辑器件可编程逻辑器件 2. 设计方法 基本逻辑门是简单组合电路,用逻辑方程描述其逻辑功能很方便,6个方程如下: 与门:F1=A&B; 或门:F2=C#D; 与非门:F3=!(E&F); 或非门:F4=!(G#H); 异或门:F5=I$J; 同或门:F6=!(K$L);第第5 5章章 可编程逻辑器件可编程逻辑器件 为了阅读方便
23、,加些注释是必要的。设计源文件如下:MODULE GATEa,b,c,d,e,f pin 19,1,2,3,4,5; 引脚定义g,h,i,j,k,l pin 6,7,8,9,11,12;f1,f2,f3,f4,f5,f6 pin 18,17,16,15,14,13;x=.x.;常量定义equations 逻辑功能描述f1=a&b;f2=c#d;f3=!(e&f);第第5 5章章 可编程逻辑器件可编程逻辑器件 f4=!(g#h);f5=i$j;f6=!(k$l);test_vectors 测试向量段(a,b,c,d,e,f,g,h,i,j,k,l - f1,f2,f3,f4,f5,f6)0,0,
24、0,0,0,0,0,0,0,0,0,0 - 0,0,1,1,0,1;0,1,0,1,0,1,0,1,0,1,0,1 - 0,1,1,0,1,0;1,0,1,0,1,0,1,0,1,0,1,0 - 0,1,1,0,1,0;1,1,1,1,1,1,1,1,1,1,1,1 - 1,1,0,0,0,1;END基本逻辑门的部分仿真波形如图5.19所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.19 基本逻辑门的仿真波形第第5 5章章 可编程逻辑器件可编程逻辑器件 基本逻辑门的逻辑关系也可用真值表来描述。在下面的逻辑描述中,把同或门改为用真值表进行描述,其余部分相同。第第5 5章章 可编程逻辑器
25、件可编程逻辑器件 equations f1=a&b;f2=c#d;f3=!(e&f);f4=!(g#h);f5=i$j;truth_table(k,1 - f6)0,0 - 1;0,1 - 0;1,0 - 0;1,1 - 1;第第5 5章章 可编程逻辑器件可编程逻辑器件 5.3复杂可编程逻辑器件复杂可编程逻辑器件CPLD5.3.1CPLD的基本结构的基本结构 早期的CPLD主要用来替代PAL器件,所以其结构与PAL、GAL基本相同,采用了可编程的与阵列和固定的或阵列结构。再加上一个全局共享的可编程与阵列,把多个宏单元连接起来,并增加了I/O控制模块的数量和功能。第第5 5章章 可编程逻辑器件可
26、编程逻辑器件 可见,CPLD中包含3种逻辑资源。逻辑阵列单元、可编程I/O单元和可编程内部互连资源。典型的复杂可编程逻辑器件CPLD有Lattice公司的ispLSI/pLSI系列器件和Altera公司的MAX系列器件等。其中MAX7128S的结构如图5.20所示。 由图5.20可见,CPLD的基本结构是由一个二维的逻辑块阵列组成的,它是构成CPLD器件的逻辑组成核心,还有多个输入/输出块以及连接逻辑块的互连资源(由各种长度的连线线段组成,其中也有一些可编程的连线开关,它们用于逻辑块之间、逻辑块与输入/输出块之间的连接)。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.20 MAX7128
27、S的结构第第5 5章章 可编程逻辑器件可编程逻辑器件 5.3.2 Altera公司的器件特点 Altera公司的产品可分为如下系列:Classic系列、MAX(Multiple Array Matrix)系列、FLEX(Flexible Logic Element Matrix)系列、APEX系列以及最近推出的ACE系列。 Altera公司的产品基本上属于CPLD结构。它的内部连线均采用集总式互联通路结构,即利用同样长度的一些连线实现逻辑之间的互联。这种结构的互联是集总式,任意两逻辑单元之间的延时是相等并可预测的。Altera公司的FLEX系列芯片同时具有FPGA和EPLD两种结构的优点,得到
28、较广泛的应用。图5.21所示为Altera器件内部互联结构的演变过程。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.21 Altera器件内部结构的演变(a)全局连线;(b) 可编程连线阵列;(c) 增强型可编程连线阵列;(b)(d) 快速通道连接第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.4 Altera器件的结构和工艺第第5 5章章 可编程逻辑器件可编程逻辑器件 1.FLEX10K系列器件系列器件 FLEX10K系列器件是高密度阵列嵌入式可编程逻辑器件系列。这类器件最大可达10万个典型门,5392个寄存器;采用0.5 m CMOS SRAM工艺制造;具有在系统可配置特性;在
29、所有I/O端口中有输入/输出寄存器;采用3.3 V或5.0 V工作模式。第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.5 FLEX10K(EPF10K1010K100)器件特性第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.22给出了FLEX10K的结构框图。每组LE连接到LAB,LAB被分成行和列,每行包含一个EAB。LAB和EAB由快速通道互相连接。IOE位于行通道和列通道的两端。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.22 FLEX10K的结构框图第第5 5章章 可编程逻辑器件可编程逻辑器件 1)嵌入阵列块嵌入阵列块(EAB) 嵌入阵列块是一种在输入、输出端口上带有
30、寄存器的灵活RAM电路,用来实现一般门阵列的宏功能,适合实现乘法器、矢量标量、纠错电路等功能。因为它很大也很灵活,所以还可应用于数字滤波和微控制器等领域。 EAB为驱动和控制时钟信号提供了灵活的选择,其结构如图5.23所示。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.23 FLEX10K的EAB第第5 5章章 可编程逻辑器件可编程逻辑器件 2)逻辑阵列块逻辑阵列块(LAB) FLEX10K的逻辑阵列块包括8个逻辑单元、相关的进位链和级联链、LAB控制信号以及LAB局部互连线,如图5.24所示。LAB构成了FLEX10K结构的“粗粒度”构造,可以有效地布线,并使器件的利用率和性能提高。
31、第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.24 FLEX10K的LAB第第5 5章章 可编程逻辑器件可编程逻辑器件 3)逻辑单元逻辑单元(LE) LE是FLEX10K结构里的最小逻辑单位,它很紧凑,能有效地实现逻辑功能。每个LE含有一个4输入的LUT、一个可编程的具有同步使能的触发器、进位链和级联链,如图5.25所示。LUT是一种函数发生器,它能快速计算4个变量的任意函数。每个LE可驱动局部及快速通道的互连。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.25 FLEX10K的LE第第5 5章章 可编程逻辑器件可编程逻辑器件 4)快速通道互连快速通道互连 在FLEX10K的结构中
32、,快速通道互连提供LE和I/O引脚的连接,它是一系列贯穿整个器件的水平或垂直布线通道。这个全局布线结构即使在复杂的设计中也可预知性能。而在FPGA中的分段布线却需要开关矩阵连接一系列变化的布线路径,这就增加了逻辑资源之间的延时并降低了性能。第第5 5章章 可编程逻辑器件可编程逻辑器件 行、列通道的进入可以由相邻的LAB对其中的LE来转换。例如,一个LAB中,一个LE可以驱动由行中的相邻的LAB的某个特别的LE正常驱动的行、列通道。这种灵活的布线使得布线资源得到更有效的利用,如图5.26所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.26 LAB到行或列互连第第5 5章章 可编程逻辑器
33、件可编程逻辑器件 5) I/O单元(IOE) 一个I/O单元(IOE)包含一个双向的I/O缓冲器和一个寄存器。寄存器可做输入寄存器使用,这是一种需要快速建立时间的外部数据输入寄存器。IOE的寄存器也可当作需要快速“时钟到输出”性能的数据输出寄存器使用。在有些场合,用LE寄存器作为输入寄存器会比用IOE寄存器产生更快的建立时间。IOE可用作输入、输出或双向引脚。MAX+plus编译器利用可编程的反相选项,在需要时可以自动将来自行、列连线带的信号反相。图5.27所示为FLEX10K的I/O单元(IOE)。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.27 FLEX10K的I/O单元(IOE
34、)第第5 5章章 可编程逻辑器件可编程逻辑器件 2.MAX7000系列器件系列器件 MAX7000系列是高性能、高密度的CMOS CPLD,在制造工艺上采用0.8m CMOS E2PROM技术。其中MAX7000系列包含了多种不同类型的器件,其主要性能指标如表5.6所示。MAX7000系列器件的主要特点如下:第第5 5章章 可编程逻辑器件可编程逻辑器件 高性能可擦除器件,采用第二代多阵列矩阵(MAX)结构; 集成密度门数可达10000门,可用门数为6005000门; 引脚之间的延时为6 ns,可达最高151.5 MHz的工作频率; MAX7000S系列通过标准的JTAG接口,支持在系统编程(I
35、SP);第第5 5章章 可编程逻辑器件可编程逻辑器件 高性能的可编程连线阵列(PIA)提供一个高速的、延时可预测的互连资源网络; 每个宏单元(MC)中可编程扩展乘积项(P-Terms)可达32个; 具有全面保护设计的可编程保密位; 具有独立的全局时钟信号; 可 由 2.5 V(MAX7000B)、 3.3 V(MAX7000A)、5.0V(MAX7000S)电源供电。第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.6 MAX7000系列器件的主要性能指标第第5 5章章 可编程逻辑器件可编程逻辑器件 MAX7000系列器件的结构如图5.28所示。其中包括: 逻辑阵列块LAB(Logic Ar
36、ray Block); 宏单元(Macrocell); 扩展乘积项(共享和并联)(Expender Product Term); 可编程连线阵列PIA(Programmable Interconnect Array); I/O控制块(I/O Control Block)。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.28 MAX7000系列器件的结构第第5 5章章 可编程逻辑器件可编程逻辑器件 1)逻辑阵列块逻辑阵列块LAB MAX7000器件的结构主要由逻辑阵列块LAB和它们之间的连线构成。每个逻辑阵列块由16个宏单元组成,多个LAB通过可编程连线阵列PIA和全局总线连接在一起。全局总
37、线由所有的专用输入、I/O引脚和宏单元馈给信号。LAB的输入信号有: 来自PIA的36个信号; 全局控制信号; I/O引脚到寄存器的直接输入通道。第第5 5章章 可编程逻辑器件可编程逻辑器件 2)宏单元宏单元 MAX7000的宏单元由逻辑阵列、乘积项选择矩阵和可编程触发器三个功能块组成,其结构如图5.29所示。 逻辑阵列实现组合逻辑功能,给每个宏单元提供5个乘积项。乘积项选择矩阵分配这些乘积项作为到或门和异或门的主要逻辑输入,以实现组合逻辑函数,或者把这些乘积项作为宏单元中触发器的辅助输入,即清除、置位、时钟和时钟使能控制。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.29 宏单元的结
38、构第第5 5章章 可编程逻辑器件可编程逻辑器件 3)扩展乘积项扩展乘积项 大多数逻辑函数虽然能够用宏单元中的5个乘积项来实现,但某些逻辑函数较为复杂,要附加乘积项。为提供所需的逻辑资源,不利用另一个宏单元,而是利用MAX7000结构中共享和并联扩展乘积项,作为附加的乘积项直接送到LAB的任意宏单元中。在实现逻辑综合时,利用扩展项可保证用尽可能少的逻辑资源实现尽可能快的工作速度。第第5 5章章 可编程逻辑器件可编程逻辑器件 共享扩展项在每个LAB中有16个扩展项。它是由宏单元提供一个未使用的乘积项,并把它们反馈到逻辑阵列,便于集中管理使用。每个共享扩展乘积项可被LAB内任何(或全部)宏单元使用和
39、共享,以实现复杂的逻辑函数。第第5 5章章 可编程逻辑器件可编程逻辑器件 4)可编程连线阵列可编程连线阵列(PIA) 通过PIA的可编程布线通道可把多个LAB相互连接,构成所需的逻辑。它能够把器件中任何信号源连接到目的地。所有的专用输入、I/O引脚的反馈、宏单元的反馈均连入PIA中,并且布满整个器件。图5.30示出了来自PIA的信号是如何布线到LAB的。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图图5.30PIA布线图布线图第第5 5章章 可编程逻辑器件可编程逻辑器件 5)I/O控制块控制块 I/O控制块允许每个I/O引脚单独地配置成输入、输出和双向工作方式。所有I/O引脚都有一个三态缓
40、冲器,它的使能端由OE1n、OE2n及VCC、GND信号中的一个控制。I/O控制块的结构如图5.31所示。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图图5.31I/O控制块的结构控制块的结构第第5 5章章 可编程逻辑器件可编程逻辑器件 5.3.3Lattice公司的器件产品公司的器件产品1.ispLSI系列器件介绍系列器件介绍 ispLSI/pLSI系列器件是Lattice公司于20世纪90年代初推出的高性能大规模可编程逻辑器件,集成度在1000门到25000门之间,Pin-to-Pin(管脚到管脚)延时最小可达3.5ns,系统工作速度最高可达180MHz。器件具有在系统编程能力和边界扫
41、描能力,适合在计算机、仪器仪表、通信设备、雷达、DSP系统和遥测系统中使用。ispLSI/pLSI主要包括6个系列:ispLSI/pLSI1000、2000、3000、5000、6000和8000系列。各系列概况见表5.7。第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.7 Lattice公司ispLSI/pLSI各系列器件概况第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.7中各系列器件的结构和性能相似,都具有在系统可编程能力,但各系列器件在用途上有一定的侧重点,因而在结构和性能上也略有不同。各系列器件的特点及适用范围如下: (1) ispLSI1000/E系列器件是通用器件。 (2
42、) ispLSI2000系列适合高速度系统设计。 (3) ispLSI3000系列是为复杂数字系统设计的。 (4) ispLSI6000系列是带有存储器的更高密度产品。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.32 ispLSI1016的内部结构 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.33 ispLSI1016的引脚图(PLCC)第第5 5章章 可编程逻辑器件可编程逻辑器件 1)全局布线池全局布线池GRP(GlobalRoutingPool) 该区位于芯片的中央,其任务是将所有片内逻辑联系在一起,组成系统逻辑功能。2)通用逻辑模块通用逻辑模块GLB(GenericLo
43、gicBlock) GLB是图5.32中GRP两边的小方块,每边8块,共16块。GLB是整个器件的逻辑核心。图5.34是GLB的结构图,它由与阵列、乘积项共享阵列、四输出逻辑宏单元和控制逻辑组成。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.34 GLB结构第第5 5章章 可编程逻辑器件可编程逻辑器件 由图5.35可见,乘积项共享阵列的输入来自4个或门,而其4个输出则用来控制该单元中的4个触发器。至于哪一个或门送给哪一个触发器不是固定的,而是靠编程决定的,一个或门输出可以同时送给几个触发器,一个触发器也可以同时接受几个或门的输出信息,有时为了提高速度,还可以跨过PTSA直接将或门输出送至
44、某个触发器。可见,PTSA的存在,使ispLSI1016在乘积项共享方面要比GAL的OLMC更灵活。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.35 GLB的标准组态第第5 5章章 可编程逻辑器件可编程逻辑器件 3)输入输入/输出单元输出单元IOC(InputOuputCell) 输入/输出单元有输入、输出和双向I/O三类组态,由控制输出三态缓冲电路使能端的 MUX来选择。每个I/O单元还有一个有源上拉电阻,当I/O端不使用时,该电阻自动接上以避免因输入悬空引入的噪声和减小电路的电源电流。第第5 5章章 可编程逻辑器件可编程逻辑器件 4) 输出布线区ORP(Output Routing
45、 Pool) 图5.36是ORP的逻辑图,它是介于GLB和IOC之间的可编程互联阵列。阵列的输入是8个GLB的32个输出端;阵列有16个输出端,分别与该侧的16个IOC相连。通过对ORP的编程,可以将任一个GLB输出灵活地送到16个I/O端的某一个。可以将对GLB的编程和对外部引脚的排列分开进行,并可实现在不改变外部引脚排列的情况下修改芯片内部的逻辑设计。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.36 ORP的逻辑图第第5 5章章 可编程逻辑器件可编程逻辑器件 5)时钟分配网络时钟分配网络CDN(ClockDistributionNetwork) 时钟分配网络产生5个全局信号,CLK
46、0、CLK1、CLK2、IOCLK0和IOCLK1,其结构如图5.37所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 图图5.37时钟分配网络的结构时钟分配网络的结构第第5 5章章 可编程逻辑器件可编程逻辑器件 2.ispMACH4A ispMACH4A系列是Lattice的又一款高级CPLD。它结构灵活、便于使用、易掌握、成本低。ispMACH4A器件的密度范围为32512个宏单元,这些宏单元可百分之百地利用,全部引脚都输出保留。它可在5 V和3.3 V电压下工作。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.38 ispMACH4A的方框图和PAL块结构第第5 5章章 可编程逻
47、辑器件可编程逻辑器件 在ispMACH4A结构中,宏单元通过逻辑分配器与乘积项巧妙连接,而I/O引脚经由输出开关矩阵与宏单元灵活相连。此外,可通过输入开关矩阵选择更多的输入布线。这些资源的提供使设计更加灵活,效率更高。 宏单元与I/O单元的比率定义为PAL块内部的宏单元数与I/O单元数之比。ispMACH4A各器件的主要结构如表5.8所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.8 ispMACH4A各器件的主要结构第第5 5章章 可编程逻辑器件可编程逻辑器件 5.4现场可编程门阵列现场可编程门阵列(FPGA)的基本结构的基本结构5.4.1FPGA的整体结构的整体结构 图5.39是
48、FPGA的结构原理图。从图中可以看出,FPGA主要由三部分组成:可编程逻辑块CLB(Configurable Logic Block)、可编程输入/输出模块IOB(Input/Output Block)和可编程内部连线PI(Programmable Interconnect)。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.39 FPGA的结构第第5 5章章 可编程逻辑器件可编程逻辑器件 1.可编程逻辑块可编程逻辑块CLB CLB是FPGA的基本逻辑单元,其内部又可以分为组合逻辑和寄存器两部分。 组合逻辑电路实际上是一个多变量输入的PROM阵列,可以实现多变量任意函数;而寄存器电路是由多
49、个触发器及可编程输入、输出和时钟端组成的。 在FPGA中,所有的逻辑功能都是在CLB中完成的。第第5 5章章 可编程逻辑器件可编程逻辑器件 2. 可编程输入/输出模块IOB IOB为芯片内部逻辑和芯片外部的输入端/输出端提供接口,可编程为输入、输出和双向I/O三种方式。 3. 可编程内部连线PI FPGA依靠对PI的编程,将各个CLB和IOB有效地组合起来,实现系统的逻辑功能。 FPGA的这种所谓的逻辑单元阵列(LCA)结构,具有门阵列和可编程逻辑器件的双重特征,既像门阵列,通过内部可编程连线将CLB按设计要求连接在一起,又具有可编程器件的特点,每个单元都可以编程。第第5 5章章 可编程逻辑器
50、件可编程逻辑器件 5.4.2 Spartan-E系列的基本结构 随着半导体技术的飞速发展,Xilinx公司的FPGA产品也经历着巨大的变化。XC3000、XC4000、Spartan和Virtex系列FPGA已经基本被淘汰,Spartan/XL和Virtex-E系列FPGA也逐渐退出市场。 Spartan-E系列产品的主要技术参数如表5.9所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.9 Spartan-E系列产品的主要技术参数第第5 5章章 可编程逻辑器件可编程逻辑器件 如图5.40所示,Spartan-E系列产品器件结构采用成熟的Virtex-E架构,主要由可配置逻辑模块(CL
51、B,Configurable Logic Block)、输入/输出接口模块(IOB,Input/Output Block)、随机存储器块(BlockRAM)和数字延迟锁相环(DLL,Delay-Locked Loop)组成。其中,CLB用于实现FPGA的大部分逻辑功能,IOB用于提供管脚与内部逻辑之间的接口,BlockRAM用于实现FPGA内部数据的随机存取,DLL用于FPGA内部的时钟控制和管理。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.40 Spartan-E系列产品的结构示意图第第5 5章章 可编程逻辑器件可编程逻辑器件 1. 可配置逻辑模块CLB 在Spartan-E系列产品
52、中,逻辑单元(LC,Logic Cell)是CLB的基本结构。1个LC包括1个4输入函数发生器、进位控制逻辑和存储逻辑。在LC中,每个4输入函数发生器可用于实现1个4输入查找表(LUT,LookUp Table)、161 bit同步RAM或161 bit移位寄存器;存储逻辑可配置为D触发器或锁存器;进位控制逻辑与CLB中的运算逻辑相配合,可以在1个LC中实现1个1位全加器。在LC中,每个函数发生器的输出既可以驱动CLB的输出,也可以作为D触发器的输入。第第5 5章章 可编程逻辑器件可编程逻辑器件 在Spartan-E系列产品中,每个CLB含有两个切片(Slice),每个Slice包括两个LC。
53、Slice的内部结构如图5.41所示。除了4个基本的LC外,在Spartan-E系列产品的CLB中还包括附加逻辑和运算逻辑。CLB中的附加逻辑可以将2个或4个函数发生器组合起来,用于实现更多输入的函数发生器。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.41 Spartan-E Slice的结构第第5 5章章 可编程逻辑器件可编程逻辑器件 2.输入输入/输出接口模块输出接口模块IOB Spartan-E系列产品的IOB提供FPGA内部逻辑与外部封装管脚之间的接口。如图5.42所示,在IOB中,三个内部寄存器可以实现D触发器和锁存器,它们共享一个时钟信号(CLK)和置位/复位信号(SR),
54、并具有独立的使能信号(ICE和OCE)。第第5 5章章 可编程逻辑器件可编程逻辑器件 在Spartan-E系列产品中,IOB的外部信号输入路径上包括一个缓冲器,用于控制外部输入信号是否直接进入FPGA内部。如果外部输入信号不直接进入FPGA内部,则它将通过IOB中的内部寄存器输入FPGA内部。通过配置IOB的输入缓冲器,可以支持Spartan-E系列产品的所有输入接口信号标准。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.42 Spartan-E IOB的结构第第5 5章章 可编程逻辑器件可编程逻辑器件 在SpartanI-E系列产品中,IOB的信号输出路径上包括一个三态输出缓冲器,用于
55、控制FPGA内部信号是否直接输出到FPGA外部。如果FPGA内部信号不直接输出到FPGA外部,那么它将通过IOB中的内部寄存器输出。通过配置IOB的输出驱动,可以支持Spartan-E系列产品的所有输出接口信号标准。大多数情况下,输出信号的高电压取决于接口电压VCCO。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.43 Spartan-E的管脚Bank示意图第第5 5章章 可编程逻辑器件可编程逻辑器件 如图5.43所示,Spartan-E系列产品的I/O管脚分布在8个Bank中,每个Bank的接口电压VCCO必须保持一致,不同Bank的VCCO允许不同。 第第5 5章章 可编程逻辑器件可
56、编程逻辑器件 表5.10 Spartan-E兼容的输出接口标准VCC0/V兼容的输出接口标准3.3PCI,LVTTL,SSTL3-,SSTL3-,CTT,AGP,LVPECL,GTL,GTL+2.5SSTL2-,SSTL2-,LVCMOS2,LVDS,Bus LVDS,GTL,GTL+2.8LVCMOS18,GTL,GTL+1.5HSTL-,HSTL-,HSTL-,GTL,GTL+第第5 5章章 可编程逻辑器件可编程逻辑器件 3. 随机存储器块BlockRAM BlockRAM在Spartan-E内部按列排列,并沿着FPGA的两个垂直边摆放。Spartan-E内部的BlockRAM单位容量为4
57、 Kb,单位高度与4个CLB模块的高度相同。如图5.44所示,Spartan-E内部的BlockRAM是一个完全同步的双端口RAM,端口的数据宽度可独立配置。通过级联多个BlockRAM可以实现FPGA内部的大容量数据存储。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.44 Spartan-E BlockRAM接口 第第5 5章章 可编程逻辑器件可编程逻辑器件 4. 数字延迟锁相环DLL 在Spartan-E系列产品中,每个全局时钟缓冲器都与一个数字延迟锁相环(DLL)相连,每个DLL可以驱动两个全局时钟网络。通过监控输入时钟信号和分布时钟信号,DLL可以自动调整并消除输入时钟信号与FP
58、GA内部分布时钟之间的相位偏移,从而保证到达内部触发器的时钟边沿与时钟输入管脚的信号同步。第第5 5章章 可编程逻辑器件可编程逻辑器件 5.4.3XilinxFPGA其他系列简介其他系列简介 Xilinx早期产品是XC2000、XC3000和XC4000系列。随着大规模集成电路的发展和FPGA技术的迅速发展,Xilinx公司不断推出许多大容量、高性能的新产品,例如Xilinx Spartan/XL系列、Xilinx Spartan-系列以及Xilinx Virtex系列等。下面简要介绍它们的主要特点和资源配置。第第5 5章章 可编程逻辑器件可编程逻辑器件 1. Spartan/XL系列 Spa
59、rtan是第一个可以替代ASIC的高集成度FPGA产品。它是在XC4000的结构基础上改进而成的。 在Spartan系列基础上,进一步又出现了Spartan/XL系列。该系列芯片具有快速的进位逻辑,有更灵活的高速时钟网络,其CLB具有锁存能力,输出驱动能力达12 mA或24 mA,而且具有5 V和3.3 V的PCI总线兼容性以及加强的边界扫描等特点,其应用前景极为广泛。Spartan/XL系列FPGA的主要资源配置如表5.11所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.11 Spartan/XL系列FPGA的主要资源配置型 号逻辑单元数最大系统门CLB阵列D触发器个数可利用I/O
60、XCS05/XL2385000101036077XCS10/XL466100001414616112XCS20/XL9502000020201120160XCS30/XL13683000024241536192XCS40/XL18624000028282016224第第5 5章章 可编程逻辑器件可编程逻辑器件 2. Xilinx Spartan系列 Xilinx Spartan-FPGA系列有Xilinx Spartan-2.5V系列以及Xilinx Spartan-1.5V系列。它的主要特点是采用了较低的接口电压,有效地减少了电路功耗,提高了芯片的集成度。Xilinx Spartan-2.5
61、V系列FPGA提供15 000到200000的系统门级电路,可利用的I/O端数也增加到284个,最高工作频率可达到200MHz。XilinxSpartan-1.5V系列FPGA具有更高的性能指标和更丰富的逻辑资源。表5.12和表5.13分别给出了Xilinx Spartan-2.5V及1.5 V系列FPGA的主要资源配置。第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.12 Xilinx Spartan- 2.5 V系列FPGA的主要资源配置第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.13 Xilinx Spartan- 1.5V系列FPGA的主要资源配置第第5 5章章 可编程逻辑
62、器件可编程逻辑器件 3. Xilinx Virtex系列 Xilinx Virtex系列有Virtex、Virtex-及Virtex-E等系列产品。表5.14和表5.15分别给出了Virtex及Virtex-E系列FPGA的资源配置。 通过以上介绍,可见FPGA的发展趋势是芯片容量越来越大,最大系统门数急剧增加,CLB阵列也迅速扩大,片内RAM由原来的数十个增加到百万以上,可利用的I/O端数已经猛增到数万以上。而且随着超大规模集成电路的迅猛发展,FPGA还将进一步向着大容量、多功能、高速度和低电压的方向发展。FPGA必将在数字系统设计中发挥越来越重要的作用。第第5 5章章 可编程逻辑器件可编程
63、逻辑器件 表5.14 Xilinx Virtex 系列FPGA的资源配置第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.15 Xilinx Virtex-E 系列FPGA的资源配置第第5 5章章 可编程逻辑器件可编程逻辑器件 大部分FPGA采用基于SRAM的查找表逻辑形成结构,就是用SRAM(静态随机存储器)来构成逻辑函数发生器。一个N输入查找表(LUT)可以实现N个输入变量的任何逻辑功能,如N输入“与”、N输入“异或”等。图5.45所示是4输入LUT,其内部结构如图5.46所示。一个N输入的查找表,需要SRAM存储N个输入构成的真值表,需要用2的N次幂个位的SRAM单元。显然N不可能很大
64、,否则LUT的利用率将很低。输入多于N个逻辑函数时,必须用几个查找表分开实现。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.45 FPGA查找表单元 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.46 FPGA查找表单元内部结构第第5 5章章 可编程逻辑器件可编程逻辑器件 5.5 其他可编程器件5.5.1在系统可编程数字开关在系统可编程数字开关GDS和互连器件和互连器件GDX ispGDS(isp Generic Digital Switch)和ispGDX (isp Generic Digital Crosspoint)系列产品主要应用于信号布线、微处理器接口连接、多位的数据/地
65、址总线接口等系统设计中。第第5 5章章 可编程逻辑器件可编程逻辑器件 1. 在系统可编程数字开关ispGDS 在系统可编程通用数字开关ispGDS是一种在不改变机械开关或其他系统硬件的情况下,具有迅速执行和改变印刷电路能力的开关器件。 第第5 5章章 可编程逻辑器件可编程逻辑器件 现已问世的ispGDS器件有ispGDS22、ispGDS18和ispGDS14等三个品种,这些型号尾部数字表示该GDS器件中可供互连用的端口总数。现以ispGDS22为例加以介绍。图5.47所示是ispGDS22的结构,它由可编程的开关矩阵和若干输入/输出单元IOC组成。 可编程开关矩阵中的每个交叉点是否接通由一位
66、编程单元的状态控制。因此,通过编程的方法可将A列中的任何一个IOC与B列中的任何一个IOC接通。第第5 5章章 可编程逻辑器件可编程逻辑器件 IOC的电路结构如图5.48所示。当C0被编程为低电平时,电路工作在输出方式,输出端的三态缓冲器为工作状态。这时数据选择器从4个输入当中选中1个,经输出三态缓冲器送到输出端。当C2C1=11时,输出的是来自开关矩阵的信号;而当C2C1=10时,输出的是反相以后的来自开关矩阵的信号;当C2C1为01和00时,输出端被分别设置成高电平和低电平输出。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.47 ispGDS22的结构 第第5 5章章 可编程逻辑器件
67、可编程逻辑器件 图5.48 ispGDS22的输入/输出单元(IOC)第第5 5章章 可编程逻辑器件可编程逻辑器件 ispGDS的编程原理与ispLSI器件是一样的。从图5.49所示的ispGDS14引脚图上可以看到,它也有MODE、SDI、SDO和SCLK等4个编程控制信号入口(因为没有I/O单元与编程控制信号共同引脚,所以不需要ispEN信号),其工作状态也是受内部状态机控制的,并可使用菊花链方式下载。ispGDS的传输延迟时间很短,仅7.5 ns。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.49 ispGDS14引脚图第第5 5章章 可编程逻辑器件可编程逻辑器件 有实际工作经验的
68、人都知道,对于大多数LSI器件,通过开关来定义其引脚的输入电平时,其引脚上都须有上拉电阻。由于ispGDS的I/O单元本身就有上拉电阻存在,因而用ispGDS器件代替DIP开关,例如用ispGDS14代替图5.50(a)所示之电路时,不仅减小了体积,还节省了14个上拉电阻。 使用ispGDS的最大意义在于:可以在不拨动机械开关或不改变系统硬件的情况下,快速地改变或重构硬制电路板的连接关系,实现对目标系统连接关系的重构和高性能地完成信号布线。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.50 用ispGDS取代DIP开关和上拉电阻(a) DIP开关;(b) ispGDS14第第5 5章章
69、可编程逻辑器件可编程逻辑器件 2. 在系统可编程数字互连ispGDX ispGDX是Lattice公司推出的数字交叉阵列系列产品。与传统的CPLD和FPGA不同的是,ispGDX系列在系统级信号布线和接口电路的设计中显示了其无与伦比的灵活性和运行性能。ispGDX的特殊结构使得它特别适用于诸如多微处理器接口、多位的数据/地址总线接口以及PCB板信号布线等系统级硬件设计中。第第5 5章章 可编程逻辑器件可编程逻辑器件 1) ispGDX的结构 图5.51所示的是ispGDX总体的功能模块和I/O单元结构图。从总体上看,ispGDX由两大模块组成,即全局布线池(Global Routing Poo
70、l)和可编程的I/O单元(I/O Cell)。从任意一个I/O单元输入的信号可经全局布线池输出到任意一个I/O单元。每个输入/输出信号可以编程为组合方式、锁存方式或寄存器方式。每个I/O单元拥有独立的可编程三态控制信号(OE)、输出寄存器/锁存器的时钟信号(CLK)以及由两个选择信号(MUX0、MUX1)控制的可编程四选一的多路选择器(MUX)。 第第5 5章章 可编程逻辑器件可编程逻辑器件 ispGDX共有3种系列产品:ispGDX80,ispGDX120和ispGDX160。这3种产品分别拥有80、120和160个通用输入/输出单元。 图5.52所示的是ispGDX80A的顶视图。它共有1
71、00个引脚,其中20个为系统引脚(电源、地和编程引脚),其余80个(I/O A0I/O A19,I/O B0I/O B19,I/O C0I/O C19,I/O D0I/O D19)为通用的输入/输出引脚。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.51 ispGDX总体的功能模块和I/O单元结构图第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.52 ispGDX80A顶视图第第5 5章章 可编程逻辑器件可编程逻辑器件 2)ispGDX的应用领域的应用领域 (1) 可编程随机信号互连PRSI:ispGDX系列首先可以应用于可编程随机信号互连(PRSI,Programmable Ran
72、dom Signal Interconnect)场合。PRSI是指在众多芯片之间进行互连,它提供了PCB板级的静态引脚连接。ispGDX的可编程特性允许通过再编程实现多种硬件配置。第第5 5章章 可编程逻辑器件可编程逻辑器件 I/O引脚之间的内部互连是通过E2MOS工艺的GRP(全局布线池)实现的,一旦器件编程完毕,任一输入引脚都以静态方式与任一输出引脚相连。比如一片ispGDX可构成8080的静态交叉矩阵,通过数秒时间的编程就可完成在系统的重构。图5.53所示是ispGDX实现PRSI功能的示意图。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.53 ispGDX实现PRSI功能的示意图
73、第第5 5章章 可编程逻辑器件可编程逻辑器件 (2) 可编程数据通道PDP:ispGDX的另一种应用是可编程数据通道(PDP,Programmable Data Path)。利用ispGDX器件可实现诸如数据接收器、多路选择器、寄存器、锁存器以及动态信号通路切换等系统数据通路功能。单片的ispGDX器件可代替多片的通用接口电路器件,如TTL273、TTL373、TTL244、TTL245等器件,如图5.54所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.54 ispGDX可替代通用接口器件第第5 5章章 可编程逻辑器件可编程逻辑器件 (3) 可编程开关替换PSR:ispGDX的每个通
74、用I/O引脚均可通过在系统编程使之输出固定的高或低电平,因此它可方便地实现可编程开关替换(PSR,Programmable Switch Replacement)功能,用来代替通用的双列直插开关和跳线器,如图5.55所示。利用在系统可编程技术在任何时候都可以轻松修改器件配置以模仿开关或跳线的功能。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.55 PSR功能示意图第第5 5章章 可编程逻辑器件可编程逻辑器件 5.5.2在系统可编程模拟器件在系统可编程模拟器件 1999年11月,Lattice公司推出了在系统可编程模拟电路(In-System Programmability Program
75、mable Analog Circuits),ispPAC,为电子设计自动化(EDA)技术的应用开拓了更广阔的前景。与数字在系统可编程大规模集成电路(ispLSI)一样,在系统可编程模拟器件允许设计者使用开发软件在计算机中设计、修改模拟电路,进行电路特性模拟,最后通过编程电缆将设计方案下载至芯片中。在系统可编程器件可实现三种功能: 第第5 5章章 可编程逻辑器件可编程逻辑器件 信号调理; 信号处理; 信号转换。信号调理主要是能够对信号进行放大、衰减、滤波;信号处理是指对信号进行求和、求差、积分运算;信号转换是指能把数字信号转换成模拟信号。第第5 5章章 可编程逻辑器件可编程逻辑器件 1.isp
76、PAC10的内部结构和性能的内部结构和性能 ispPAC10的内部结构如图5.56所示,其内部电路如图5.57所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.56 ispPAC10的内部结构框图第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.57 ispPAC10的内部电路第第5 5章章 可编程逻辑器件可编程逻辑器件 由图5.56和图5.57可见,ispPAC10器件由四个基本单元电路、模拟布线池、配置存储器、参考电压、自动校正单元和ISP接口所组成。器件采用5V单电源供电。基本单元电路称为PAC块(PAC Block),它由两个仪表放大器和一个输出放大器所组成,配以电阻、电容构
77、成一个真正的差分输入。差分输出的基本单元电路如图5.58所示。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.58 差分输出的基本单元电路第第5 5章章 可编程逻辑器件可编程逻辑器件 每个PAC块都可以独立地构成电路,也可以采用级联的方式构成电路以实现复杂的模拟电路功能。图5.59表示了两种不同的连接方法。图5.59(a)表示各个PAC块作为独立的电路工作;图5.59(b)所示为四个PAC块级联构成一个复杂的电路。利用基本单元电路的组合可进行放大、求和、积分、滤波。可以构成低通双二阶有源滤波器和梯型滤波器,且无须在器件外部连接电阻、电容元件。第第5 5章章 可编程逻辑器件可编程逻辑器件
78、图5.59 ispPAC10中PAC块不同的使用形式第第5 5章章 可编程逻辑器件可编程逻辑器件 2.ispPAC20的内部结构和性能的内部结构和性能 ispPAC20的内部结构和内部电路如图5.60和图5.61所示。 由图5.60和图5.61可见,ispPAC20器件由两个基本单元电路PAC块、两个比较器、一个8位的D/A转换器、配置存储器、参考电压、自动校正单元和ISP接口所组成。第第5 5章章 可编程逻辑器件可编程逻辑器件 图图5.60ispPAC20的内部结构框图的内部结构框图第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.61 ispPAC20的内部电路第第5 5章章 可编程逻辑
79、器件可编程逻辑器件 表5.16 DAC输出对应输入的编码第第5 5章章 可编程逻辑器件可编程逻辑器件 ispPAC20中有两个PAC块,如图5.62所示,它们的结构与ispPAC10的PAC块基本相同,但增加了一个多路输入控制端,通过器件的外部引脚MSEL来控制。MSEL为0时,A连接至IA1;MSEL为1时,B连接至IA1。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.62 ispPAC20中的PAC块第第5 5章章 可编程逻辑器件可编程逻辑器件 3.ispPAC30的内部结构和特性的内部结构和特性 ispPAC30提供多个可编程单端,它采用差分输入方式,能设置精确的增益,具有补偿调整
80、、滤波和比较功能。除了E2CMOS或E2配置存储器外,它主要的特性是能够通过SPI对器件进行实时动态重构。设计者可以无数次改变和重构ispPAC30,用于放大器增益控制或其他需要动态改变电路参数的应用。ispPAC30的内部结构如图5.63所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.63 ispPAC30的内部结构第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.17 VREF对应的MDAC LSB 第第5 5章章 可编程逻辑器件可编程逻辑器件 4. ispPAC80的内部结构和特性 ispPAC80可实现五阶连续时间的低通模拟滤波器而无需外部元件或时钟。在PAC Design
81、er设计软件中的集成滤波器数据库中提供了数千个模拟滤波器,频率范围为50750 kHz。可对任意一个五阶低通滤波器执行仿真和编程,滤波器类型为:Gaussian、Bessel、Butterworth、Legendre、两个线性相位等纹波延迟误差滤波器(Linear Phase Equiripple Delay Error Filter)、3个Chebyshev或12个有不同脉动系数的Elliptic滤波器。第第5 5章章 可编程逻辑器件可编程逻辑器件 ispPAC80内含一个增益1、2、5或10可选的差分输入仪表放大器(IA)和一个多放大器差分滤波器PAC Block,这个PAC Block包
82、括一个差分输出求和放大器(OA)。通过片内非易失E2CMOS可配置增益设置和电容器值。器件配置由PAC Designer软件设定,经由JTAG下载电缆下载到ispPAC80。第第5 5章章 可编程逻辑器件可编程逻辑器件 器件的1109 高阻抗差分输入使得有可能改进共模抑制比;差分输出使得可以在滤波器之后使用高质量的电路。差分补偿和共模补偿都被修整成小于1 mV。规定差分电阻负载最小为300 ,差分电容负载为100 pF。这些数值适用于在此频率范围内的多数应用场合。此外,ispPAC80有个双存储器配置,它能为两个完全不同的滤波器保存配置。图5.64所示是ispPAC80的内部结构。第第5 5章
83、章 可编程逻辑器件可编程逻辑器件 图5.64 ispPAC 80的内部结构 第第5 5章章 可编程逻辑器件可编程逻辑器件 5.ispPAC81的特性的特性 ispPAC81器件与ispPAC80器件极为相似,也是用于实现五阶连续时间低通模拟的滤波器,所不同的是用ispPAC81可实现更低频率的滤波器,其频率范围为1075 kHz。 20世纪80年代,联合测试行动组JTAG(Joint Test Action Group)开发了IEEE 1149.1-1990边界扫描测试技术规范。这个边界扫描测试(BST)结构提供了有效地测试引线间隔致密的电路板上零部件的能力。 第第5 5章章 可编程逻辑器件可编程逻辑器件 ispPAC器件编程非常方便,具备以下三个条件就可以对器件进行编程: ISP编程电缆; PC机; PAC Designer软件。编程采用IEEE 1149.1的JTAG标准,只有4个信号。JTAG接口由测试数据输入TDI、测试模式选择TMS、测试数据输出TDO和测试时钟TCK所组成。可对单个或多个ispPAC器件编程。同时在下一个链路中,也可以有其他的ispLSI数字器件。