




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第5 5章章 可编程逻辑器件可编程逻辑器件 第第5章章 可编程逻辑器件可编程逻辑器件 5.1 可编程逻辑器件的基本结构及分类可编程逻辑器件的基本结构及分类 5.2 低密度可编程逻辑器件低密度可编程逻辑器件gal 5.3 复杂可编程逻辑器件复杂可编程逻辑器件cpld 5.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章章 可编程
3、逻辑器件可编程逻辑器件 输入电路与阵列或阵列输出电路输入项乘积项或项输出输入图5.1 pld的基本结构框图第第5 5章章 可编程逻辑器件可编程逻辑器件 2. pld器件的分类器件的分类 1) 按可编程的部位分类按可编程的部位分类 如图5.1所示,在pld的各个方框中,通常只有部分可以编程或组态。根据它们的可编程情况,一般分为以下几类: (1) 可编程只读存储器prom(programmable read-only memory):prom的基本结构包括一个固定的与阵列,其输出加到一个可编程的或阵列上。prom大多用来存储计算机程序和数据,此时固定的输入用作存储器地址,输出是存储器单元的内容,如
4、图5.2所示。 第第5 5章章 可编程逻辑器件可编程逻辑器件 (2) 可编程逻辑阵列pla(programmable logic array):pla是由可编程的与阵列和可编程的或阵列构成的,在实现逻辑函数时有极大的灵活性,但是这种结构编程困难,且造价昂贵,如图5.3所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 &i1i2i3或阵列(可编程)与阵列(固定)o1o2o3&111图5.2 prom的阵列结构 第第5 5章章 可编程逻辑器件可编程逻辑器件 &i1i2i3或阵列(可编程)与阵列(可编程)o1o2o3&111图5.3 pla的阵列结构第第5 5章章 可编程逻辑器件可编程逻辑器件 (
5、3) 可编程阵列逻辑pal(programmable array logic):pal器件结合了pla的灵活性及prom的廉价和易于编程的特点。其基本结构包括一个可编程的与阵列和一个固定的或阵列,其阵列结构如图5.4所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 &i1i2i3或阵列(固定)与阵列(可编程)o1o2o3&111图5.4 pal(gal)的阵列结构 第第5 5章章 可编程逻辑器件可编程逻辑器件 (4) 通用逻辑阵列gal(generic array logic):gal器件是在其他pld器件的基础上发展起来的逻辑芯片,它的结构继承了pal器件的与或结构,并在这一基础上有了新的
6、突破,增加了输出逻辑宏单元(olmc)结构。 以上各种pld的主要区别如表5.1所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.1 pld 的 分 类分 类与阵列或阵列输出电路prom固定可编程固定pla可编程可编程固定pal可编程固定固定gal可编程固定可组态第第5 5章章 可编程逻辑器件可编程逻辑器件 2) 按编程方法分类按编程方法分类 最初的rom是由半导体生产厂制造的,阵列中各点间的连线用厂家专门为用户设计的掩膜板制作,因而称为掩膜编程,一般用来生产存放固定数据和程序的rom等。 由于设计掩膜成本高,有一定的风险,因此人们又研制了一种熔丝编程的prom,如图5.5所示,其中每
7、个横线与纵线的交点处皆做有熔丝,因而任何一条横线与纵线都是相连的,编程时利用某一形式特殊的高幅度的电流将熔丝烧断即可。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图5.5 熔丝编程prom示意图 第第5 5章章 可编程逻辑器件可编程逻辑器件 字线位线d2d1字线位线d1 图5.6 pn结击穿法prom第第5 5章章 可编程逻辑器件可编程逻辑器件 第三类编程方式称为可擦除prom,简称eprom(erasable programmable rom),其编程“熔丝”是一只浮栅雪崩注入型mos管,其结构如图5.7所示。编程时,在g2栅上注入电子来提高mos的开启电压,从而达到编程的目的。第第5
8、5章章 可编程逻辑器件可编程逻辑器件 nnssio2g1(多晶硅)g2(多晶硅)da1pg1dsg2石英窗(a)(b)(c)图5.7 eprom的“熔丝”结构(a) 结构图;(b) 逻辑符号;(c) eprom的外形图第第5 5章章 可编程逻辑器件可编程逻辑器件 eprom器件的上方有一个石英窗(如图5.7(c)所示),就是为擦去编程信息而设置的。擦除时将器件放在紫外线处照射20 min即可。正常运用时,应用黑色胶纸将其封住。 另一种可擦除的prom器件称为eeprom或称e2prom,它是一种电擦除的可编程器件,其编程“熔丝”与eprom结构相仿。 还有一种快闪存储器(flash memor
9、y),它是采用一种类似于eprom的单管浮栅结构的存储单元,制成了新一代用电信号擦除的可编程rom。 第第5 5章章 可编程逻辑器件可编程逻辑器件 读/写数据qq组态控制图5.8 sram的基本存储单元结构第第5 5章章 可编程逻辑器件可编程逻辑器件 综上所述,rom的编程方法是按掩膜rompromeprome2prom次序发展的。通常把一次性编程的(如prom)称为第一代pld,把紫外光擦除的(如eprom)称为第二代pld,把电擦除的(如e2prom)称为第三代pld。 第二代、第三代pld器件的编程都是在编程器上进行的。在系统编程(isp)器件的编程工作可以不用编程器而直接在目标系统或线
10、路板上进行,因而称第四代pld器件。第第5 5章章 可编程逻辑器件可编程逻辑器件 3) 按集成密度分类按集成密度分类 按集成密度分类,pld可分为低密度可编程逻辑器件(ldpld)和高密度可编程逻辑器件(hdpld)。历史上,gal22v10是低密度pld和高密度pld的分水岭,一般也按照gal22v10芯片的容量区分为ldpld和hdpld。gal22v10的集成密度根据制造商的不同,大致在500750门之间。如果按照这个标准,prom、pla、pal和gal器件均属于低密度可编程逻辑器件(ldpid),而epld、cpld和fpga则属于高密度可编程逻辑器件(hdpld),如图5.9所示。
11、第第5 5章章 可编程逻辑器件可编程逻辑器件 promplapalgal低密度可编程逻辑器件(ldpld)epldfpga高密度可编程逻辑器件(hdpld)可编程逻辑器件(pld)cpld图5.9 可编程逻辑器件的密度分类第第5 5章章 可编程逻辑器件可编程逻辑器件 (1) 低密度可编程逻辑器件(ldpld):低密度可编程逻辑器件包括prom、pla、pal和gal四种器件。 (2) 高密度可编程逻辑器件(hdpld):高密度可编程逻辑器件包括epld、cpld和fpga三种器件。第第5 5章章 可编程逻辑器件可编程逻辑器件 20世纪80年代中期,altera公司推出了一种新型的、可擦除的可编
12、程逻辑器件,称为epld(erasable programmable logic device),它是一种基于eprom和cmos技术的可编程逻辑器件。 epld器件的基本逻辑单位是宏单元。宏单元由可编程的与或阵列、可编程寄存器和可编程i/o三部分组成。宏单元和整个器件的逻辑功能均由eprom来定义和规划。 第第5 5章章 可编程逻辑器件可编程逻辑器件 5.2 低密度可编程逻辑器件低密度可编程逻辑器件gal 5.2.1 gal器件的基本结构器件的基本结构 gal(generic array logic)器件是美国晶格半导体公司(lattice semiconductor)于1983年推出的一种
13、可电擦写、可重复编程,可设置加密的新型pld器件。gal器件采用电擦除技术,无需紫外线照射就可随时进行修改。由于其内部具有特殊的结构控制字,因而它虽然芯片类型少,但编程灵活、功能齐全。 第第5 5章章 可编程逻辑器件可编程逻辑器件 gal和pal的与阵列是相似的,但或阵列以及输出寄存器被输出逻辑宏单元olmc(output logic macro cell)所取代了,其结构图如图5.10所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 输入缓冲与阵列宏单元输出电路图5.10 gal的结构框图第第5 5章章 可编程逻辑器件可编程逻辑器件 (1) 输入缓冲器:输入端为引脚29,共有8个输入。又因
14、为输出端是具有反馈的,也可以用作输入端,所以可利用的输入端总数为16个。 第第5 5章章 可编程逻辑器件可编程逻辑器件 2olmc(19)cp193olmc(18)184olmc(17)175olmc(16)166olmc(15)157olmc(14)148olmc(13)139olmc(12)1211oe103 478111215161920232427283107815162324313239404748555663034781112151619202324272831图5.11 gal16v8的电路结构图第第5 5章章 可编程逻辑器件可编程逻辑器件 (2) 与阵列:它包含有32列和64行
15、的与矩阵,32列表示8个输入的原变量和反变量以及8个输出反馈信号的原变量和反变量,相当于有32个输入变量。64行表示8个输出的8个乘积项,相当于与矩阵有64个输出,即产生64个乘积项。可编程的与阵列有2048个可编程单元,图上表示为2048个码点。 (3) 输出逻辑宏单元(olmc):输出引脚为1219共8个。输出逻辑宏单元包括或门、异或门、d触发器、4个4选1多路选择器、输出缓冲器等。第第5 5章章 可编程逻辑器件可编程逻辑器件 (4) 输出电路:从宏单元中引出信号经过三态门缓冲加以输出。 另外,还有系统时钟cp(引脚1)、输出三态公共控制端oe(引脚11)、电源vcc(引脚20)和公共地(
16、引脚10)。 olmc的结构示意图如图5.12所示,其主要构成为或门g3,完成或操作。异或门g4完成极性选择。 第第5 5章章 可编程逻辑器件可编程逻辑器件 因为异或门控制变量为0时输出与输入相同,所以当控制变量为1时,输出与输入相反。极性选择还可以用来实现所需的乘积项。gal的输出只能实现小于8个乘积的函数,如果采用异或门,则可以把大于8项,而每项只含一个变量的函数化简为一个乘积项。例如:y=a+b+c+d+e+f+g+h+i (5-1)ihgfedcbay(5-2)第第5 5章章 可编程逻辑器件可编程逻辑器件 当输入大于8项(如式(5-1)时,可以通过输入端将其反变为式(5-2)输入,而逻
17、辑功能不变,然后通过异或门g4再取反来还原成式(5-1),从而完成大于8个项的乘积函数功能。第第5 5章章 可编程逻辑器件可编程逻辑器件 cpoeac0ac1(n)vcctsmuxomux01qd1011100100ptmux01fm11ux0101ac1(n)ac0 ac1(m)g4g3xor(n)cpoe来自邻级输出(m)来自与门阵列g2g1反馈i/o(n)q图5.12 输出逻辑宏单元结构图第第5 5章章 可编程逻辑器件可编程逻辑器件 在olmc中还有d触发器和4个多路选择器,多路选择器的功能如下。 (1) 乘积项输入多路选择器(ptmux,product term input multi
18、plexer)。ptmux的数据信号分别来自地电平和本组与阵列的第一与项。 (2) 输出多路选择器(omux)。omux的数据信号分别来自d触发器的q端和异或门的输出。 (3) 三态多路选择器(tsmux)。它用来从vcc、地电平、oe和第一与项这四路信号中选出一路信号作为输出三态缓冲器的三态控制信号。 第第5 5章章 可编程逻辑器件可编程逻辑器件 (4) 反馈多路选择器(fmux)。它用来从d触发器的端、本级输出、邻级输出和地电平这四路信号中选出一路作为反馈信号,反馈到与阵列。 gal16v8、gal20v8系列器件的olmc有寄存器模式、复杂模式和简单模式三种工作模式。用户通过输出引脚定义
19、方程来设定olmc的工作模式。olmc三种模式又可细分成七种逻辑组态,如表5.2所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.2 三种模式和七种组态的关系工作模式逻 辑 组 态寄存器模式复杂模式简单模式(1) 寄存器输出组态;(2) 组合输出组态;(3) 组合i/o组态;(4) 纯组合输出组态;(5) 无反馈组合输出组态;(6) 有反馈组合输出组态;(7) 相邻输入组态第第5 5章章 可编程逻辑器件可编程逻辑器件 5.2.2 gal器件的介绍器件的介绍 1. gal器件的命名方法及性能 常用gal器件一般可分为普通型、通用型、异步型和在系统可编程型4个系列。gal器件的命名方法如图
20、5.13所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 gal16v8 15lpi器件名称速度(ns)功耗:l低功耗q1/4功耗封装:p ( 塑封双列直插 )d ( 陶瓷双列直插 )r ( 塑封无引线托架 ) lccj ( 陶瓷无引线托架 ) plcc品级:空白 ( 商业级 )883 ( 军用级 )老化:空白 ( 无老化 )b ( 已老化 )温度:空白 ( 075 )i ( 40 85)m ( 55 125)图5.13 gal器件命名方法第第5 5章章 可编程逻辑器件可编程逻辑器件 i0/clk1i12i23i34i45i56i67i78i89gnd10vcc20f719f618f517f
21、416f315f214f113f01211oe/9igal16v84i35i46i57i68i7i2i8i1 i0/clkvccf7f6f5f4f3f2gndf0 f1oe/i9181716151432120 199101112 13gal16v8图5.14 gal16v8的引脚图(a) 双列直插式;(b) 托架式第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.3 常用gal器件的主要参数 第第5 5章章 可编程逻辑器件可编程逻辑器件 2. gal20v8 gal20v8与gal16v8的主要区别是与门阵列的输入行从后者的32行增加为40行,每两行对应一个输入,故gal20v8最大输入量为
22、20个。而两者的olmc都是8个,所以最大输出量都是8个。gal20v8多了两个输入多路选择器imux,第一个imux用来选择引脚1或23作为输入,第二个imux用来选择引脚13或14作为输入。除此以外,两者在特性方面没有区别。第第5 5章章 可编程逻辑器件可编程逻辑器件 由于结构上的变动,其行地址图和结构控制字的配置也略有变化。比如,行地址039对应于与门阵列的40个输入项,第40行为电子标签,第4159行为厂家保留地址,其他均相同。结构控制字除注意到引脚号的变化外,也没有什么区别。图5.15为gal20v8的引脚图。第第5 5章章 可编程逻辑器件可编程逻辑器件 1i0/clki1i2i3i
23、4i5i6i7i8i9i10gnd2345678910111224vcci13f7f6f5f4f3f2f1f0i12i11/2322212019181716151413oe43212827 26i2 i1nc vcci13 f7i9 i10gndncf0i12oei11/f6f5f4ncf3f2f12524232221201918171615141312gal 20v8(a)(b)gal 20v8i0/clki3i4i5nci6i7i8567891011图5.15 gal20v8的引脚图(a) 双列直插式;(b) 托架式第第5 5章章 可编程逻辑器件可编程逻辑器件 3. gal30v18 ga
24、l30v18是采用e2cmos工艺、fpla结构的新一代gal器件。其与门阵列和或门阵列都可编程。图5.16是其引脚图,图5.17是其逻辑功能框图。gal39v18包含10个可编程的输出逻辑宏单元olmc,8个可编程的状态逻辑宏单元slmc,10个输入逻辑宏单元ilmc和10个输入/输出逻辑宏单元iolmc。其中slmc对外没有直接引脚,而是埋入式的,在逻辑设计时它只起中间变量的作用。两个时钟输入用以分别控制输入和输出宏单元。第第5 5章章 可编程逻辑器件可编程逻辑器件 1iclki1i2i3i4i5i6i7i8i9i10gnd2345678910111224vccb9b8b7b6b5b4b3
25、b2b1b0oclk2322212019181716151413gal 39v8图5.16 gal39v18的引脚图 第第5 5章章 可编程逻辑器件可编程逻辑器件 andresetoei0lmc(10)ilmc(10)1211orslmc(8)dedolmc(10)142313iclk10input10 1188864e10101010101010outputoclk10图5.17 gal39v18的逻辑功能框图第第5 5章章 可编程逻辑器件可编程逻辑器件 4. ispgal16z8 ispgal16z8是具有在系统可编程和实时在线诊断能力的器件。它可以不用专用的编程器而在用户系统中利用5v电
26、源随时进行编程。其擦写次数在1万次以上。芯片内部有一个电路用来产生必需的高压编程控制信号。第第5 5章章 可编程逻辑器件可编程逻辑器件 5.2.3 应用应用gal的设计的设计 1. 设计说明 基本逻辑门为:与门、或门、与非门、或非门、异或门和异或非门(同或门)。由于这个设计要求12个输入端,6个输出端,因此选用gal16v8芯片。根据电路需要,把2个olmc的引脚作为专用输入端,其他6个olmc输出引脚作为专用组合逻辑输出,如图5.18所示。编程软件可自动处理这项工作。此外,由于gal16v8具有可编程极性功能,输出电平可自行定义,因此本例采用高电平输出有效。第第5 5章章 可编程逻辑器件可编
27、程逻辑器件 1bcdefghijgnd1011klf6f5f4f3f2f1avcc20图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章章 可编程逻辑器件可编程逻辑器件 为了阅读方便,加些注释是必要的。设计源文件如下:module gatea,b,c,d,e,f pin 19,1,2,3,4,5; 引脚
28、定义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,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
29、,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章章 可编程逻辑器件可编程逻辑器件 0ns200400abcdeff1f2f3图5.19 基本逻辑门的仿真波形第第5 5章章 可编程逻辑器件可编程逻辑器件 基本逻辑门的逻辑关系也可用真值表来描述。在下面的逻辑描述中,把同或门改为用真值表进行描述,其余部分相同。第第5 5章章 可编程逻辑器件可编程逻辑器件 equations f1=a&b;f2=c#d;f3=!(e&
30、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 复杂可编程逻辑器件复杂可编程逻辑器件cpld 5.3.1 cpld的基本结构的基本结构 早期的cpld主要用来替代pal器件,所以其结构与pal、gal基本相同,采用了可编程的与阵列和固定的或阵列结构。再加上一个全局共享的可编程与阵列,把多个宏单元连接起来,并增加了i/o控制模块的数量和功能。第第5 5章章 可编程逻辑器件可编程逻辑器件 可见,cpld中包含3种逻辑资源。逻辑阵列单元、可编程i/o
31、单元和可编程内部互连资源。典型的复杂可编程逻辑器件cpld有lattice公司的isplsi/plsi系列器件和altera公司的max系列器件等。其中max7128s的结构如图5.20所示。 由图5.20可见,cpld的基本结构是由一个二维的逻辑块阵列组成的,它是构成cpld器件的逻辑组成核心,还有多个输入/输出块以及连接逻辑块的互连资源(由各种长度的连线线段组成,其中也有一些可编程的连线开关,它们用于逻辑块之间、逻辑块与输入/输出块之间的连接)。第第5 5章章 可编程逻辑器件可编程逻辑器件 lablablablablablablablablablablablablabpialablabla
32、bi/o控制模块图5.20 max7128s的结构第第5 5章章 可编程逻辑器件可编程逻辑器件 5.3.2 altera公司的器件特点 altera公司的产品可分为如下系列:classic系列、max(multiple array matrix)系列、flex(flexible logic element matrix)系列、apex系列以及最近推出的ace系列。 altera公司的产品基本上属于cpld结构。它的内部连线均采用集总式互联通路结构,即利用同样长度的一些连线实现逻辑之间的互联。这种结构的互联是集总式,任意两逻辑单元之间的延时是相等并可预测的。altera公司的flex系列芯片同时
33、具有fpga和epld两种结构的优点,得到较广泛的应用。图5.21所示为altera器件内部互联结构的演变过程。 第第5 5章章 可编程逻辑器件可编程逻辑器件 classicmax5000max7000flex8000(a)(b)(c)(d)图5.21 altera器件内部结构的演变(a) 全局连线;(b) 可编程连线阵列;(c) 增强型可编程连线阵列;(d) 快速通道连接第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.4 altera器件的结构和工艺第第5 5章章 可编程逻辑器件可编程逻辑器件 1. flex10k系列器件系列器件 flex10k系列器件是高密度阵列嵌入式可编程逻辑器件系
34、列。这类器件最大可达10万个典型门,5392个寄存器;采用0.5 m cmos sram工艺制造;具有在系统可配置特性;在所有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章章 可编程逻辑器件可编程逻辑器件 ioeioeioeioeeabea
35、bioeioeioeioeioeioeioeioeioeioeioeioeioeioeioeioeioeioeioeioe逻辑阵列逻辑阵列块逻辑单元(le)局部连线嵌入阵列逻辑单元行连线带列连线带i/o单元(ioe)嵌入阵列块(eab)ioeioeioeioe图5.22 flex10k的结构框图第第5 5章章 可编程逻辑器件可编程逻辑器件 1) 嵌入阵列块嵌入阵列块(eab) 嵌入阵列块是一种在输入、输出端口上带有寄存器的灵活ram电路,用来实现一般门阵列的宏功能,适合实现乘法器、矢量标量、纠错电路等功能。因为它很大也很灵活,所以还可应用于数字滤波和微控制器等领域。 eab为驱动和控制时钟信号
36、提供了灵活的选择,其结构如图5.23所示。 第第5 5章章 可编程逻辑器件可编程逻辑器件 eab的局部连线68,4,2,1d qdataindataoutd q8,9,10,11addressram/rom256851241024220481d qwed q2,4,8,16242,4,8,16列连线带专用输入与全局信号清除行连线带图5.23 flex10k的eab第第5 5章章 可编程逻辑器件可编程逻辑器件 2) 逻辑阵列块逻辑阵列块(lab) flex10k的逻辑阵列块包括8个逻辑单元、相关的进位链和级联链、lab控制信号以及lab局部互连线,如图5.24所示。lab构成了flex10k结构
37、的“粗粒度”构造,可以有效地布线,并使器件的利用率和性能提高。第第5 5章章 可编程逻辑器件可编程逻辑器件 lab局部连线进位输出与级联输出28444444444lab控制信号专用输入与全局信号行连线带16824168列到行连线带列连线带le1le2le3le4le5le6le7le842进位输入与级联输入6图5.24 flex10k的lab第第5 5章章 可编程逻辑器件可编程逻辑器件 3) 逻辑单元逻辑单元(le) le是flex10k结构里的最小逻辑单位,它很紧凑,能有效地实现逻辑功能。每个le含有一个4输入的lut、一个可编程的具有同步使能的触发器、进位链和级联链,如图5.25所示。lu
38、t是一种函数发生器,它能快速计算4个变量的任意函数。每个le可驱动局部及快速通道的互连。第第5 5章章 可编程逻辑器件可编程逻辑器件 进位链进位输入data1data2data3data4级联链级联输入级联输出进位输出dqena清除/复位逻辑labctrl1labctrl2时钟选择labctrl3labctrl4寄存器旁路到快速互连通道到lab的局部互连线查找表(lut)清除可编程寄存器prnclrn图5.25 flex10k的le第第5 5章章 可编程逻辑器件可编程逻辑器件 4) 快速通道互连快速通道互连 在flex10k的结构中,快速通道互连提供le和i/o引脚的连接,它是一系列贯穿整个器
39、件的水平或垂直布线通道。这个全局布线结构即使在复杂的设计中也可预知性能。而在fpga中的分段布线却需要开关矩阵连接一系列变化的布线路径,这就增加了逻辑资源之间的延时并降低了性能。第第5 5章章 可编程逻辑器件可编程逻辑器件 行、列通道的进入可以由相邻的lab对其中的le来转换。例如,一个lab中,一个le可以驱动由行中的相邻的lab的某个特别的le正常驱动的行、列通道。这种灵活的布线使得布线资源得到更有效的利用,如图5.26所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 在每种互连中,4个行通道能驱动列通道来自相邻lab去相邻lable1le2le8去lab局部互连到其他行通道到其他列通道
40、列通道行通道图5.26 lab到行或列互连第第5 5章章 可编程逻辑器件可编程逻辑器件 5) i/o单元(ioe) 一个i/o单元(ioe)包含一个双向的i/o缓冲器和一个寄存器。寄存器可做输入寄存器使用,这是一种需要快速建立时间的外部数据输入寄存器。ioe的寄存器也可当作需要快速“时钟到输出”性能的数据输出寄存器使用。在有些场合,用le寄存器作为输入寄存器会比用ioe寄存器产生更快的建立时间。ioe可用作输入、输出或双向引脚。max+plus编译器利用可编程的反相选项,在需要时可以自动将来自行、列连线带的信号反相。图5.27所示为flex10k的i/o单元(ioe)。 第第5 5章章 可编程
41、逻辑器件可编程逻辑器件 外围控制总线oe7.0vcc来自行或列通道芯片输出使能到行或列连线带dqclrnena来自行或列连线带集电极开路输出电压摆率控制clk1.0clk3.2vccena5.0来自行或列通道vccclrn1.0212vcc2个专用时钟输入清除图5.27 flex10k的i/o单元(ioe)第第5 5章章 可编程逻辑器件可编程逻辑器件 2. max7000系列器件系列器件 max7000系列是高性能、高密度的cmos cpld,在制造工艺上采用0.8m cmos e2prom技术。其中max7000系列包含了多种不同类型的器件,其主要性能指标如表5.6所示。max7000系列器
42、件的主要特点如下:第第5 5章章 可编程逻辑器件可编程逻辑器件 高性能可擦除器件,采用第二代多阵列矩阵(max)结构; 集成密度门数可达10000门,可用门数为6005000门; 引脚之间的延时为6 ns,可达最高151.5 mhz的工作频率; max7000s系列通过标准的jtag接口,支持在系统编程(isp);第第5 5章章 可编程逻辑器件可编程逻辑器件 高性能的可编程连线阵列(pia)提供一个高速的、延时可预测的互连资源网络; 每个宏单元(mc)中可编程扩展乘积项(p-terms)可达32个; 具有全面保护设计的可编程保密位; 具有独立的全局时钟信号; 可由2.5 v(max7000b)
43、、3.3 v(max7000a)、5.0v(max7000s)电源供电。第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.6 max7000系列器件的主要性能指标第第5 5章章 可编程逻辑器件可编程逻辑器件 max7000系列器件的结构如图5.28所示。其中包括: 逻辑阵列块lab(logic array block); 宏单元(macrocell); 扩展乘积项(共享和并联)(expender product term); 可编程连线阵列pia(programmable interconnect array); i/o控制块(i/o control block)。第第5 5章章 可编程逻辑
44、器件可编程逻辑器件 宏单元17326 166 1636166 16616个i/o引脚宏单元49646 166 1636166 166i/o控制块i/o控制块宏单元1166 166 1636166 16616个i/o引脚宏单元33486 166 1636166 1666pia6个输出使能input / oe2 / gclk2input / oe1input/gclkn6i/o控制块i/o控制块input / gclk16个输出使能616个i/o引脚616个i/o引脚图5.28 max7000系列器件的结构第第5 5章章 可编程逻辑器件可编程逻辑器件 1) 逻辑阵列块逻辑阵列块lab max700
45、0器件的结构主要由逻辑阵列块lab和它们之间的连线构成。每个逻辑阵列块由16个宏单元组成,多个lab通过可编程连线阵列pia和全局总线连接在一起。全局总线由所有的专用输入、i/o引脚和宏单元馈给信号。lab的输入信号有: 来自pia的36个信号; 全局控制信号; i/o引脚到寄存器的直接输入通道。第第5 5章章 可编程逻辑器件可编程逻辑器件 2) 宏单元宏单元 max7000的宏单元由逻辑阵列、乘积项选择矩阵和可编程触发器三个功能块组成,其结构如图5.29所示。 逻辑阵列实现组合逻辑功能,给每个宏单元提供5个乘积项。乘积项选择矩阵分配这些乘积项作为到或门和异或门的主要逻辑输入,以实现组合逻辑函
46、数,或者把这些乘积项作为宏单元中触发器的辅助输入,即清除、置位、时钟和时钟使能控制。 第第5 5章章 可编程逻辑器件可编程逻辑器件 乘积项选择矩阵d/t qena2可编程寄存器寄存器旁路到i/o控制块到pia共享逻辑扩展项16个扩展乘积项来自pia的36个信号逻辑阵列并联逻辑扩展项全局复位全局时钟时钟/使能选择复位选择vcc来自i/o引脚快速输入选择prnclrn图5.29 宏单元的结构第第5 5章章 可编程逻辑器件可编程逻辑器件 3) 扩展乘积项扩展乘积项 大多数逻辑函数虽然能够用宏单元中的5个乘积项来实现,但某些逻辑函数较为复杂,要附加乘积项。为提供所需的逻辑资源,不利用另一个宏单元,而是
47、利用max7000结构中共享和并联扩展乘积项,作为附加的乘积项直接送到lab的任意宏单元中。在实现逻辑综合时,利用扩展项可保证用尽可能少的逻辑资源实现尽可能快的工作速度。第第5 5章章 可编程逻辑器件可编程逻辑器件 共享扩展项在每个lab中有16个扩展项。它是由宏单元提供一个未使用的乘积项,并把它们反馈到逻辑阵列,便于集中管理使用。每个共享扩展乘积项可被lab内任何(或全部)宏单元使用和共享,以实现复杂的逻辑函数。第第5 5章章 可编程逻辑器件可编程逻辑器件 4) 可编程连线阵列可编程连线阵列(pia) 通过pia的可编程布线通道可把多个lab相互连接,构成所需的逻辑。它能够把器件中任何信号源
48、连接到目的地。所有的专用输入、i/o引脚的反馈、宏单元的反馈均连入pia中,并且布满整个器件。图5.30示出了来自pia的信号是如何布线到lab的。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图图5.30 pia布线图布线图到lab来自pia的信号第第5 5章章 可编程逻辑器件可编程逻辑器件 5) i/o控制块控制块 i/o控制块允许每个i/o引脚单独地配置成输入、输出和双向工作方式。所有i/o引脚都有一个三态缓冲器,它的使能端由oe1n、oe2n及vcc、gnd信号中的一个控制。i/o控制块的结构如图5.31所示。 第第5 5章章 可编程逻辑器件可编程逻辑器件 图图5.31 i/o控制块
49、的结构控制块的结构vccoe1noe2n来自宏单元到piagndoe控制i/o第第5 5章章 可编程逻辑器件可编程逻辑器件 5.3.3 lattice 公司的器件产品公司的器件产品 1. isplsi系列器件介绍系列器件介绍 isplsi/plsi系列器件是lattice公司于20世纪90年代初推出的高性能大规模可编程逻辑器件,集成度在1000门到25000门之间,pin-to-pin(管脚到管脚)延时最小可达3.5ns,系统工作速度最高可达180mhz。器件具有在系统编程能力和边界扫描能力,适合在计算机、仪器仪表、通信设备、雷达、dsp系统和遥测系统中使用。isplsi/plsi主要包括6个
50、系列:isplsi/plsi1000、2000、3000、5000、6000和8000系列。各系列概况见表5.7。第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.7 lattice公司isplsi/plsi各系列器件概况第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.7中各系列器件的结构和性能相似,都具有在系统可编程能力,但各系列器件在用途上有一定的侧重点,因而在结构和性能上也略有不同。各系列器件的特点及适用范围如下: (1) isplsi1000/e系列器件是通用器件。 (2) isplsi2000系列适合高速度系统设计。 (3) isplsi3000系列是为复杂数字系统设计的。 (
51、4) isplsi6000系列是带有存储器的更高密度产品。 第第5 5章章 可编程逻辑器件可编程逻辑器件 a0a1a2a3a4a5a6a7输出布线区输入总线全局布线区(grp)b7b6b5b4b3b2b1b0输出布线区时钟分配网络sdi/in 1/ncispeni/o 31i/o 30i/o 29i/o 28in 3mode/sclk/ y2y1y0i/o 27i/o 26i/o 25i/o 24i/o 23i/o 22i/o 21i/o 20i/o 19i/o 18i/o 17i/o 16i/o 0i/o 1i/o 2i/o 3i/o 4i/o 5i/o 6i/o 7i/o 8i/o 9i/
52、o 10i/o 11i/o 12i/o 13i/o 14i/o 15sdi/in 0ioclk1ioclk0clk2clk1clk0输入总线图5.32 isplsi1016的内部结构 第第5 5章章 可编程逻辑器件可编程逻辑器件 i/o17i/o1518i/o28 78939i/o183837i/o1636in 2/mode*3534vcc33y2/sclk*3231i/o1430i/o1329i/o12i/o3i/o4i/o5i/o6i/o7gnd*sdo/in1i/o8i/o9i/o10i/o11i/o19i/o20i/o21i/o22i/o23gndin3i/o24i/o25i/o26i
53、/o27i/o29i/o30i/o31y0vcc*sdi/inoi/o0i/o1i/o21011121314151617/ncispen*1920212223 2425262728resety1/6 5 4 3 2 144434241 40isplsi1016plsi1016顶视图图5.33 isplsi1016的引脚图(plcc)第第5 5章章 可编程逻辑器件可编程逻辑器件 1) 全局布线池全局布线池grp(global routing pool) 该区位于芯片的中央,其任务是将所有片内逻辑联系在一起,组成系统逻辑功能。 2) 通用逻辑模块通用逻辑模块glb(generic logic bl
54、ock) glb是图5.32中grp两边的小方块,每边8块,共16块。glb是整个器件的逻辑核心。图5.34是glb的结构图,它由与阵列、乘积项共享阵列、四输出逻辑宏单元和控制逻辑组成。第第5 5章章 可编程逻辑器件可编程逻辑器件 与阵列乘积项共享阵列四输出逻辑宏单元控制逻辑乘积项204复位 时钟输出4至grp,orp或i/o直通输入2来自grp的输入16图5.34 glb结构第第5 5章章 可编程逻辑器件可编程逻辑器件 由图5.35可见,乘积项共享阵列的输入来自4个或门,而其4个输出则用来控制该单元中的4个触发器。至于哪一个或门送给哪一个触发器不是固定的,而是靠编程决定的,一个或门输出可以同
55、时送给几个触发器,一个触发器也可以同时接受几个或门的输出信息,有时为了提高速度,还可以跨过ptsa直接将或门输出送至某个触发器。可见,ptsa的存在,使isplsi1016在乘积项共享方面要比gal的olmc更灵活。第第5 5章章 可编程逻辑器件可编程逻辑器件 muxmuxmuxmuxd qd qd qd qmuxmux0 1 2 3 4 5 6 7 8 9 1011121314151617集总布线区输入专用输入乘积项共享阵列可重构触发器(d,j,k,t)9754403020100去集总布线区和输出布线区与阵列01234567810111213141516171819去输出使能数据选择器乘积项
56、输出使能clk0clk1clk2乘积项时钟乘积项复位全局复位控制功能图5.35 glb的标准组态第第5 5章章 可编程逻辑器件可编程逻辑器件 3) 输入输入/输出单元输出单元ioc(input ouput cell) 输入/输出单元有输入、输出和双向i/o三类组态,由控制输出三态缓冲电路使能端的 mux来选择。每个i/o单元还有一个有源上拉电阻,当i/o端不使用时,该电阻自动接上以避免因输入悬空引入的噪声和减小电路的电源电流。第第5 5章章 可编程逻辑器件可编程逻辑器件 4) 输出布线区orp(output routing pool) 图5.36是orp的逻辑图,它是介于glb和ioc之间的可
57、编程互联阵列。阵列的输入是8个glb的32个输出端;阵列有16个输出端,分别与该侧的16个ioc相连。通过对orp的编程,可以将任一个glb输出灵活地送到16个i/o端的某一个。可以将对glb的编程和对外部引脚的排列分开进行,并可实现在不改变外部引脚排列的情况下修改芯片内部的逻辑设计。第第5 5章章 可编程逻辑器件可编程逻辑器件 a0a1a2a3a4a5a6a7i/o0i/o1i/o2i/o3i/o4i/o5i/o6i/o7i/o8i/o9i/o10i/o11i/o12i/o13i/o14i/o1516orpi/o单元输入到grp0 1 2 30 1 2 30 1 2 30 1 2 30 1
58、2 30 1 2 30 12 30 12 3图5.36 orp的逻辑图第第5 5章章 可编程逻辑器件可编程逻辑器件 5) 时钟分配网络时钟分配网络cdn(clock distribution network) 时钟分配网络产生5个全局信号,clk0、clk1、clk2、ioclk0和ioclk1,其结构如图5.37所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 图图5.37 时钟分配网络的结构时钟分配网络的结构y0glb “b0”o0 o1 o2 o3时钟分配网络注:在isplsi/plsi1016中,y1有时 钟和复位两种功能,靠软件来 选择clk 0clk 1clk 2ioclk 0i
59、oclk 1y1 y2resetsclk/isplsi和plsi4146/e第第5 5章章 可编程逻辑器件可编程逻辑器件 2. ispmach4a ispmach4a系列是lattice的又一款高级cpld。它结构灵活、便于使用、易掌握、成本低。ispmach4a器件的密度范围为32512个宏单元,这些宏单元可百分之百地利用,全部引脚都输出保留。它可在5 v和3.3 v电压下工作。 第第5 5章章 可编程逻辑器件可编程逻辑器件 带xor的逻辑分配输出/隐藏宏单元输出开关矩阵i/o单元逻辑阵列输入开关矩阵pal块pal块时钟发生器中心开关矩阵33/34/364161681616时钟/输入引脚专用
60、输入引脚pal块i/o引脚i/o引脚i/o引脚图5.38 ispmach4a的方框图和pal块结构第第5 5章章 可编程逻辑器件可编程逻辑器件 在ispmach4a结构中,宏单元通过逻辑分配器与乘积项巧妙连接,而i/o引脚经由输出开关矩阵与宏单元灵活相连。此外,可通过输入开关矩阵选择更多的输入布线。这些资源的提供使设计更加灵活,效率更高。 宏单元与i/o单元的比率定义为pal块内部的宏单元数与i/o单元数之比。ispmach4a各器件的主要结构如表5.8所示。第第5 5章章 可编程逻辑器件可编程逻辑器件 表5.8 ispmach4a各器件的主要结构第第5 5章章 可编程逻辑器件可编程逻辑器件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字化供应链优化升级合作协议
- 幼儿园亲子故事征文猜猜我有多爱你
- 品牌发展及合作策略表
- 农业智能装备技术应用知识试题
- 物业转让协议书锦集
- 农业种植基地生产安全管理协议
- 数学故事书奇妙的世界之旅解读
- 企业内部管理软件推广协议
- 杜甫诗风探究:高中语文深度解析教案
- 三农田机械作业技术标准及规范
- 我的小书桌课件
- 北京大学- DeepSeek如何提示词工程和落地场景分析
- 2025年北京社会管理职业学院单招职业适应性考试题库及答案参考
- (完整版)第五章养殖场环境保护
- 2025年江苏省南京市锅炉压力容器检验研究院招聘20人历年高频重点模拟试卷提升(共500题附带答案详解)
- 南瓜小房子故事课件
- 2024年苏州经贸职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 《道德与法治》五年级下册全册教案
- 毕业设计(论文)3000t自由锻液压机本体设计
- 风力发电机组PLC系统
- Q∕GDW 12131-2021 干扰源用户接入电网电能质量评估技术规范
评论
0/150
提交评论