工学可编程逻辑器件学习教案

上传人:辰*** 文档编号:111110400 上传时间:2022-06-20 格式:PPTX 页数:161 大小:1.06MB
收藏 版权申诉 举报 下载
工学可编程逻辑器件学习教案_第1页
第1页 / 共161页
工学可编程逻辑器件学习教案_第2页
第2页 / 共161页
工学可编程逻辑器件学习教案_第3页
第3页 / 共161页
资源描述:

《工学可编程逻辑器件学习教案》由会员分享,可在线阅读,更多相关《工学可编程逻辑器件学习教案(161页珍藏版)》请在装配图网上搜索。

1、会计学1工学可编程逻辑工学可编程逻辑(lu j)器件器件第一页,共161页。 在数字系统的设计中, 主要有三类基本器件可供选用, 它们是: 中、小规模标准逻辑模块, 如在前面章节中介绍的74系列(xli)及其改进系列(xli)、 CD4000系列(xli)、74HC系列(xli)等。 微处理器(Microprocessor)。 专用集成电路ASIC(Application Specific Integrated Circuit)。 第1页/共160页第二页,共161页。5.1 可编程逻辑器件可编程逻辑器件(qjin)概述概述5.1.1 PLD的发展的发展(fzhn)简史简史 20世纪70年代,

2、熔丝编程的PROM(Programmable Read Only Memory)和PLA(Programmable Logic Array)是最早出现的可编程逻辑(lu j)器件。 20世纪70年代末, AMD公司推出了PAL(Programmable Array Logic)器件。 20世纪80年代初, Lattice公司首先生产出了可电擦写的、 比PAL使用更灵活的GAL(Generic Array Logic)器件。 第2页/共160页第三页,共161页。 20世纪80年代中期, Xilinx公司提出了现场可编程的概念, 同时生产出了世界上第一片FPGA(Field Programmab

3、le Gate Array)器件。 同一时期, Altera公司推出了EPLD(Erasable PLD),它比GAL具有(jyu)更高的集成度, 可以用紫外线或电擦除。 20世纪80年代末, Lattice公司又提出了在系统可编程ISP(InSystem Programmability)的概念,并推出了一系列具有(jyu)在系统可编程能力的CPLD(Complex PLD)器件。此后,其它PLD生产厂家都相继采用了ISP技术。 第3页/共160页第四页,共161页。 进入20世纪90年代后,可编程逻辑器件的发展十分迅速。 主要表现为三个方面: 一是规模越来越大; 二是速度越来越高; 三是电路

4、结构越来越灵活, 电路资源更加丰富。目前已经有集成度在300万门以上、系统频率为100MHz以上的PLD供用户使用, 在有些可编程逻辑器件中还集成了微处理器、数字信号处理单元和存储器等。这样,一个完整(wnzhng)的数字系统甚至仅用一片可编程逻辑器件就可实现,即所谓的片上系统SOC(System On Chip)。 第4页/共160页第五页,共161页。5.1.2 PLD的分类的分类(fn li) 1 按集成度分类按集成度分类 集成度是集成电路一项很重要的指标,集成度是集成电路一项很重要的指标, 按照集成度可以将可编程逻辑器件分为两类:按照集成度可以将可编程逻辑器件分为两类: 低密度可编程逻

5、辑器件低密度可编程逻辑器件LDPLD(LowDensity PLD)。)。 高密度可编程逻辑器件高密度可编程逻辑器件HDPLD(HighDensity PLD)。)。 一般以芯片一般以芯片GAL22V10的容量来区分的容量来区分LDPLD和和HDPLD。不同制造厂家生产的。不同制造厂家生产的GAL22V10的密度略有差别,大致在的密度略有差别,大致在500750门之间。如果按照这个门之间。如果按照这个(zh ge)标准,标准,PROM、PLA、PAL和和GAL器件属于器件属于LDPLD,EPLD、CPLD和和FPGA器件则属于器件则属于HDPLD。 第5页/共160页第六页,共161页。 2

6、按基本结构分类 目前常用的可编程逻辑器件都是从与-或阵列和门阵列两种基本结构发展起来的,所以可以从结构上将其分成(fn chn)两大类器件:PLD器件和FPGA器件。 这种分类方法将基本结构为与-或阵列的器件称为PLD器件, 将基本结构为门阵列的器件称为FPGA器件。 LDPLD(PROM、 PLA、 PAL、 GAL)、 EPLD、 CPLD的基本结构都是与-或阵列, FPGA则是一种门阵列结构。第6页/共160页第七页,共161页。 3 按编程工艺(gngy)分类 所谓编程工艺(gngy), 是指在可编程逻辑器件中可编程元件的类型。 按照这个标准,可编程逻辑器件又可分成五类: 熔丝(Fus

7、e)或反熔丝(AntiFuse)编程器件。 PROM、 Xilinx的XC8100系列FPGA和Actel的FPGA等采用熔丝或反熔丝作为编程元件。 UVEPROM编程器件, 即紫外线擦除/电气编程器件。 Altera的Classic系列和MAX5000系列EPLD采用的就是这种编程工艺(gngy)。 第7页/共160页第八页,共161页。 E2PROM编程器件,即电可擦写编程器件。Altera的MAX7000系列和MAX9000系列以及Lattice的GAL器件、 ispLSI系列CPLD都属于(shy)这一类器件。 Flash Memory(闪速存储器)编程器件。 Atmel的部分低密度P

8、LD、 Xilinx的XC9500系列CPLD采用这种编程工艺。 SRAM编程器件。如: Xilinx的FPGA(除XC8100系列)和Altera的FPGA(FLEX系列、APEX系列)均采用这种编程工艺。 第8页/共160页第九页,共161页。 对于第类可编程逻辑器件, 它们在编程后, 编程数据就保持在器件上,故将它们称为(chn wi)非易失性器件; 而对于第类可编程逻辑器件, 存储在SRAM中的配置数据在掉电后会丢失, 在每次上电后都要重新进行配置, 因此将这类器件称为(chn wi)易失性器件。由于熔丝或反熔丝编程器件只能编程一次, 所以又将这类器件称为(chn wi)一次性编程器件

9、, 即OTP(One Time Programmable)器件, 其它各类器件均可以多次编程。 第9页/共160页第十页,共161页。 除以上三种分类方法外, 可编程逻辑器件还有其它(qt)的一些分类方法。如:按照制造工艺,可分为双极型和MOS型;还有人把可编程逻辑器件分为简单可编程逻辑器件SPLD(Simple PLD)和复杂可编程逻辑器件CPLD, 将FPGA也归于CPLD中。 原则上,各种分类方法之间是相互联系、并行不悖的。在各类可编程逻辑器件中,目前大量生产和广泛应用的是以CPLD和FPGA为代表的HDPLD, 它们都采用CMOS制造工艺, 编程工艺大多采用SRAM或E2PROM。第1

10、0页/共160页第十一页,共161页。5.1.3 PLD电路电路(dinl)的表示方法的表示方法1 PLD连接连接(linji)的表示法的表示法图 5 - 1 PLD连接的表示(biosh)方法 (a) 固定连接; (b) 编程连接; (c) 不连接(a)(b)(c)第11页/共160页第十二页,共161页。2 基本基本(jbn)逻辑门的逻辑门的PLD表示法表示法1) 缓冲器缓冲器图 5-2 基本(jbn)逻辑门的PLD表示法(a)AAAAENAAAEN(b)AB CPAB CPAB CP(c)(d)(e)( f )第12页/共160页第十三页,共161页。 2) 与门 图5-2(d)表示的是

11、一个(y )三输入的与门, 根据连接关系可知, 与门输出P=AC; 当一个(y )与门的所有输入变量都连接时, 可以像图5-2(e)那样表示, 这时, P=ABC。 3) 或门 图52(f)表示的是一个(y )三输入的或门, 或门输出P=ABC。 第13页/共160页第十四页,共161页。 4) 与-或阵列图 与-或阵列是用多个与门和或门构成的一种阵列结构, 原则上任意组合逻辑(lu j)电路都可以表示成与-或阵列的形式。图53(a)清楚地表明了一个不可编程的与阵列和一个可编程的或阵列。 不难写出输出变量的逻辑(lu j)表达式为: F1(A,B)=m(0,1,3)F2(A,B)=m(0,2,

12、3) 有时为了方便,可以将阵列中的逻辑(lu j)门省略掉,简化成图5-3(b)的形式。 第14页/共160页第十五页,共161页。图 5-3 与-或阵列(zhn li)图或阵列(可编程)与阵列(不可编程)F1F2(b)ABABAB或阵列(可编程)与阵列(不可编程)F1F2(a)第15页/共160页第十六页,共161页。5.2 简单简单(jindn)可编程逻辑器件可编程逻辑器件SPLD图 5-4 SPLD的基本(jbn)结构输入电路输入项与阵列或阵列输出电路乘积项或项输出输入第16页/共160页第十七页,共161页。 电路由输入电路、与阵列、 或阵列和输出电路四部分组成。其中,与阵列和或阵列是

13、PLD的主体部分, 逻辑函数主要靠它们来实现。与阵列的每一个输入端(包括内部反馈输入)都有输入缓冲电路, 从而使输入信号具有足够的驱动能力, 并且产生原变量和反变量两个互补信号;有些PLD的输入电路还含有锁存器, 甚至是一些可以组态的输入宏单元(Micro Cell),可以实现对输入信号的预处理。 PLD有多种输出方式, 可以由或阵列直接输出(组合方式), 也可以通过寄存器输出(时序(sh x)方式); 输出可以是高电平有效, 也可以是低电平有效;无论采用哪种输出方式, 输出信号一般最后都是经过三态(TS)结构或集电极开路(OC)结构的输出缓冲器送到PLD的输出引脚; 输出信号还可以通过内部通

14、路反馈到与阵列的输入端。 较新的PLD都将输出电路做成了输出宏单元,使用者可根据需要方便地通过编程选择各种输出方式。 第17页/共160页第十八页,共161页。 众所周知, 任何组合逻辑函数都可以写成“与-或”表达式, 从而用“与门-或门”这种二级电路来实现; 而任何时序电路又都是由组合电路加上存储器件(触发器)构成的。因此SPLD的这种结构(jigu)对实现数字电路具有普遍意义。 依据可编程的电路资源,SPLD又可分成PROM、PLA、 PAL和GAL四种, 它们的结构(jigu)特点如表5-1所示。 第18页/共160页第十九页,共161页。表表5-1 四种四种(s zhn)SPLD的结构

15、特点的结构特点器件名与阵列或阵列输出电路PROM固定可编程固定PLA可编程可编程固定PAL可编程固定固定GAL可编程固定可编程第19页/共160页第二十页,共161页。5.2.1 只读存储器只读存储器ROM 1 ROM的结构 ROM的主体是一个不可编程的与阵列和一个可编程的或阵列,如图5-(a)所示。 图中,An-1A0是n个输入变量,经与阵列后产生由n个输入变量构成的2n个不同的最小项m2n1m0, Fm1F0是对或阵列编程后产生的m个输出(shch)函数。 ROM的输出(shch)电路是三态结构或OC结构的输出(shch)缓冲器。 第20页/共160页第二十一页,共161页。图 5-5 R

16、OM的电路结构(jigu) (a) 与-或阵列结构(jigu)图; (b) 存储器结构(jigu)图(a)An1An2A0与阵列(不可编程)12nm22nmm0或阵列(可编程)Fm1Fm2F0第21页/共160页第二十二页,共161页。n线2n线地址译码器12nm22nmm02nm存储阵列Fm1Fm2F0(b)图 5-5 ROM的电路(dinl)结构 (a) 与-或阵列结构图; (b) 存储器结构图第22页/共160页第二十三页,共161页。图 5-7 44位二极管ROM2线4线地址译码器W0W1W2W3D3D2D1D0A0A1位线字线第23页/共160页第二十四页,共161页。图 5-6 R

17、OM结构图 (a) 与-或阵列(zhn li)结构图; (b) 存储器示意图A1A0或阵列(可编程)与阵列(不可编程)F1F0(a)m0m1m2m3第24页/共160页第二十五页,共161页。图 5-6 ROM结构图 (a) 与-或阵列(zhn li)结构图; (b) 存储器示意图2线4线地址译码器m0m1m2m311100111A1A0(b)F1F0第25页/共160页第二十六页,共161页。 任何组合逻辑函数都可以写成最小项之积的标准形式(xngsh)。因此,只要合理地对或阵列进行编程, ROM的这种结构可以实现任意n个输入变量的m个函数,所以ROM是一种可编程逻辑器件。 例如,图5-(a

18、)给出的是一个22(2个输入)2(2个输出)ROM在对其或阵列编程后的阵列图,不难看出:013012011010,),(AAmAAmAAmAAm显然,该ROM实现了2个2变量的逻辑(lu j)函数, ) 3 , 2 , 0(),(),3 , 1 , 0(),(010011mAAFmAAF第26页/共160页第二十七页,共161页。 如果从存储器的角度观察ROM的电路结构,将图5-(a)所示的ROM的输入变量A1、A0看作地址,不难发现ROM中的与阵列实际上是一个(y )高电平输出有效的地址全译码器。当地址A1A0=01时,m1有效,输出F1F0=10;同理,当地址A1A0分别等于00、10和1

19、1时,读出的内容为11、01和11。由此看来,ROM中的或阵列又可以被看作一个(y )存储阵列,m0m3是存储阵列的字线, F1、F0是存储阵列的位线。所以,ROM的电路结构又可以被表示成5-(b)所示的形式。一般用存储阵列所能够存储的二进制信息的位数2nm(字线与位线的乘积)来表示ROM的存储容量, 它也恰好等同于作为PLD的与门数和或门数的乘积。 第27页/共160页第二十八页,共161页。 2 ROM的分类(fn li) 从制造工艺上可以将ROM分成双极型和MOS型, 鉴于MOS型电路(尤其是CMOS电路)具有功耗低、 集成度高的优点, 所以目前大容量的ROM都是采用MOS工艺制造的。

20、另外,从编程工艺和擦除方法上又可以将ROM分为: 固定只读存储器、可编程只读存储器PROM(Programmable Read Only Memory)、紫外线擦除可编程只读存储器UVEPROM(UltraViolet Erasable Programmable Read Only Memory)、 电擦除可编程只读存储器E2PROM(Electric Erasable Programmable Read Only Memory)和闪速存储器(Flash Memory)。 第28页/共160页第二十九页,共161页。 1) 固定只读存储器 固定ROM又称为掩膜ROM,一般简称为ROM。在这种R

21、OM的制造过程中, 生产者通过最后一道工序掩膜, 将用户要求的数据“写入”存储器, 因而有时也将这种方法称为掩膜编程。 掩膜ROM中的数据在出厂后再也不能被修改, 对用户而言掩膜ROM是不可编程的,一般用来(yn li)作为字符发生器, 或者用来(yn li)存储数学用表(如三角函数表、 指数函数表等)以及一些很成熟且用量很大的通用程序。 ROM中的存储单元可以是二极管, 也可以是双极型三极管或MOS管。第29页/共160页第三十页,共161页。 图5-是一个44位二极管ROM电路的示意图。电路中,地址译码器输出(shch)高电平有效, 它的存储单元使用二极管构成, 字线与位线交叉点上接有二极

22、管表示该位存储“1”,无二极管表示该位存储“0”。 显然该电路表示固定存储了4个字,每个字有4位, 它们分别是1010、 1001、 0101和1111。 第30页/共160页第三十一页,共161页。图 5-7 44位二极管ROM2线4线地址译码器W0W1W2W3D3D2D1D0A0A1位线字线第31页/共160页第三十二页,共161页。 在图5存储阵列中, 用N沟道增强型MOS管代替了图5中的二极管。 字线与位线交叉点上接有MOS管表示该位存储“1”, 无MOS管表示该位存储“0”。 假设(jish)经过地址译码后, W0W3中的某一位字线为高电平, 则使得与这根字线相连的MOS管导通, 并

23、使与这些MOS管漏极相连的位线为低电平, 经输出缓冲器反相后,输出为1。图5-存储的内容与图5-的相同。 第32页/共160页第三十三页,共161页。图 5-8 44位MOS管ROM2线4线地址译码器W0W1W2W3A0A1位线字线D3D2D1D0EN第33页/共160页第三十四页,共161页。2) 可编程只读存储器(PROM)图 5-9 44位二极管PROM存储阵列W0W1W2W3位线字线熔丝D3D2D1D0(a)W0W1W2W3位线字线熔丝D3D2D1D0(b)第34页/共160页第三十五页,共161页。 为了克服熔丝的缺点,又出现了反熔丝, 它通过击穿介质达到连通线路的目的。Actel公

24、司的可编程低阻电路元件PLICE(Programmable Low Impedance Circuit Element)反熔丝的结构(jigu)如图510所示, PLICE反熔丝是位于n+扩散和多晶硅之间的介质, 是和CMOS以及其它工艺(如双极型、 BiMOS等)相兼容的。 在未编程状态下,反熔丝呈现十分高的阻抗(100 M);当18 V的编程电压加在其上时, 介质被击穿, 两层导电材料连在一起, 接通电阻小于1 k。反熔丝占用的硅片面积非常小,十分适宜于作集成度很高的可编程器件的编程元件。 第35页/共160页第三十六页,共161页。图 5-10 PLICE反熔丝结构图PLICEPolys

25、iliconField OxideField OxidePLICEDiffusionPLICEDielectric1 mDiffusion:扩散Field Oxide:场氧化物Polysilicon:多晶硅Dielectric:介质第36页/共160页第三十七页,共161页。 3) 可擦除可编程只读存储器(EPROM) EPROM包括UVEPROM、E2PROM和Flash Memory, 它们与前面讲过的PROM在结构上并无太大区别,只是采用了不同的存储元件和编程工艺。 UVEPROM通常简称(jinchng)为EPROM, 它采用叠栅注入MOS管(Stackedgate Injection

26、 MetalOxideSemiconductor, 即SIMOS管),其结构示意图和符号如图5-11(a)、(b)所示。 第37页/共160页第三十八页,共161页。图 5-11 SIMOS管的结构(jigu)、 符号及其构成的存储单元(a) SIMOS管的结构(jigu); (b) SIMOS管的符号; (c) 存储单元DGcSGc位线字线DSGfSGfGcDSiO2NNP-Si(a)(b)(c)第38页/共160页第三十九页,共161页。 SIMOS管本身是一个N沟道增强型MOS管,与普通MOS管的区别在于它有两个重叠的栅极控制栅Gc和浮栅Gf。上面(shng min)的控制栅用于控制读/

27、写操作;下面的浮栅被包围在绝缘材料SiO2中,用于长期保存注入的电荷。当浮栅上没有电荷时,给控制栅加上正常的高电平(由字线输入)能够使MOS管导通;而在浮栅上注入负电荷以后,则衬底表面感应的是正电荷,这使得MOS管的开启电压变高,正常的高电平不会使MOS管导通。 由此可见, PROM是利用SIMOS管的浮栅上有无负电荷来存储二进制数据的, 有负电荷表示存储的是1,无负电荷表示存储的是0,如图5-11(c)所示。 第39页/共160页第四十页,共161页。 在写入数据之前, 浮栅上都是不带电荷的, 相当于存储的信息全部为0。 在写入数据时, 用户通过编程器在SIMOS管的漏极源极间加以较高的电压

28、(2025 V), 使之发生雪崩击穿现象。 如果此时再在控制栅上加以高压脉冲, 就会有一些电子在高压电场的作用下穿过SiO2层,被浮栅俘获(fhu),从而实现了电荷注入, 也就是向存储单元写入了1。 在断电后,浮栅上的电子没有放电回路, 所以信息可以长久保存。 第40页/共160页第四十一页,共161页。 在紫外线的照射下,SiO2层中会产生电子(dinz)-空穴对, 为浮栅上的电荷提供放电通路,使之放电, 这个过程称为擦除。擦除时间大约为2030分钟,在所有的数据都被擦除后又可以重新写入数据。UVEPROM器件外壳上的玻璃窗就是为紫外线擦除数据而设置的。在编程完毕后,通常用不透明的胶带将玻璃

29、窗遮住,以防数据丢失。 第41页/共160页第四十二页,共161页。 E2PROM和Flash Memory采用的也是浮栅编程工艺(gngy),用MOS管的浮栅上有无电荷来表示存储信息,只不过构成它们的存储单元的MOS管的结构略有区别。 E2PROM和Flash Memory不但可以用编程器反复编程,而且还可以用电擦除, 这大大提高了擦除速度。E2PROM中数据的擦除和写入是同时进行的, 以字为单位, 一个字的改写时间一般为ms级;Flash Memory的擦除和读写速度更快, 数据的擦除和写入是分开进行的,擦除方式类似UVEPROM那样整片擦除或分块擦除。 第42页/共160页第四十三页,共

30、161页。 3 ROM在组合在组合(zh)逻辑设计中的应用逻辑设计中的应用 【例5-1】用适当容量的PROM实现22快速乘法器。 解 22快速乘法器的输入是两个2位二进制数,输出的结果是4位二进制数。可以设被乘数为(A1A0)2,乘数为(B1B0)2,则(A1A0)2(B1B0)2 =(D3D2D1D0)2。只要将A1A0B1B0按顺序作为PROM的地址,把它们(t men)的乘积存放在相应的存储单元, 即可实现两个2位二进制数的快速乘法。PROM的PLD阵列图如图5-12所示, 它的容量为164位。如果要实现mn快速乘法器, PROM的容量至少为2m+n(mn)位。第43页/共160页第四十

31、四页,共161页。图 5-12 用PROM实现(shxin)22快速乘法器D3D2D1D0A1A0B1B0第44页/共160页第四十五页,共161页。 【例5-2】 试用(shyng)PROM实现字符发生器(或字符译码器)。 构成字符发生器是ROM的一个比较重要的用途。 字符发生器在采用发光二极管阵列作字符显示器或使用大屏幕光栅显示的场合下用于字符显示器的驱动控制。常见的字符显示规格有75、77和97三种点阵。例如,若采用75点阵,则每一个字符都由7个5位的字构成。图5-13中给出了一个75LED点阵示意图, 图中的每个小方格代表一个LED;每一行LED的阴极连在一起, 分别受3线-8线译码器

32、74138的输出W0W6的控制; 每一列LED的阳极连在一起,分别受PROM的输出D4D0的控制;将模7二进制加法计数器的状态(000110)作为PROM的地址。这样,由于人的视觉有一定的暂留时间,只要按照一定的速率不断地循环读出PROM的各个字,在LED点阵上就能得到一个稳定的字符显示。显示的字符与PROM中存储的内容是一一对应的,显然图5-13所示电路显示的字符为R。 若要产生更多的字符,可以扩大PROM的容量。第45页/共160页第四十六页,共161页。图 5-13 字符(z f)R的显示电路D4D3D2D1D0A2A1A00Y1Y2Y3Y4Y5Y6Y7YA0A1A2SACSBS模 7

33、计数器CPW0W1W2W3W4W5W67413875 LED点阵D4D3D2D1D01PROM第46页/共160页第四十七页,共161页。 用可编程ROM来实现组合(zh)逻辑函数的最大不足之处在于对芯片的利用率不高,这是因为ROM中的与阵列是一个固定的全译码阵列, 每一个乘积项都是一个最小项,只能实现组合(zh)逻辑函数的最小项表达式,不能进行化简,而且实际上大多数的组合(zh)逻辑函数也并不需要所有的最小项。因此,ROM在绝大多数场合还是被作为存储器使用。第47页/共160页第四十八页,共161页。5.2.2 可编程逻辑阵列可编程逻辑阵列(zhn li)PLA 1 PLA的结构的结构 为了

34、提高对芯片的利用率,在PROM的基础上又开发出了一种与阵列、 或阵列都可以编程的PLD可编程逻辑阵列PLA。 这样, 与阵列输出的乘积项不必(bb)一定是最小项,在采用PLA实现组合逻辑函数时可以运用逻辑函数经过化简后的最简与-或式; 而且与阵列输出的乘积项的个数也可以小于2n(n为输入变量的个数),从而减小了与阵列的规模。 第48页/共160页第四十九页,共161页。 PLA的规模通常用输入变量数、乘积项的个数和或阵列输出信号数这三者的乘积来表示。例如一个16488的PLA,就表示它有16个输入变量,与阵列可以产生48个乘积项,或阵列有8个输出端。 按照输出方式, PLA可以分成两类:一类P

35、LA以时序方式输出,在这类PLA的输出电路中除了输出缓冲器以外还有触发器, 适用于实现时序逻辑, 称为时序逻辑PLA;另一类PLA以组合方式输出,在这类PLA中不含有触发器, 适用于实现组合逻辑, 称为组合逻辑PLA。PLA的输出电路一般是不可编程的,但有些型号的PLA器件在每一个或门的输出端增加了一个可编程的异或门, 以便于对输出信号的极性进行控制,如图514所示。当编程单元为1时,或阵列输出S与经过异或门以后(yhu)的输出Y同相;当编程单元为0时,S与Y反相。第49页/共160页第五十页,共161页。图 5-14 PLA的异或输出(shch)结构编程单元ENSY第50页/共160页第五十

36、一页,共161页。2 PLA的应用的应用(yngyng) 【例5-3】 试用组合逻辑PLA实现从四位(s wi)自然二进制代码到格雷码的转换。 解 四位(s wi)自然二进制代码转换为格雷码的真值表如表5-2所示。第51页/共160页第五十二页,共161页。表表5-2 四位自然二进制代码四位自然二进制代码(di m)和格雷码的转换表和格雷码的转换表第52页/共160页第五十三页,共161页。 采用PLA实现组合逻辑函数时,必须先对逻辑函数进行化简, 以提高对芯片的利用率。对多输出逻辑函数进行化简时要注意合理使用逻辑函数之间的公共项,使乘积项的总数最小。经过逻辑函数化简, 可以(ky)得到010

37、10121212323233BBBBGBBBBGBBBBGBG第53页/共160页第五十四页,共161页。图 5-15 例53的PLA阵列(zhn li)B33BB22BB11BB00BG3G2G1G0与阵列或阵列第54页/共160页第五十五页,共161页。图 5-16 时序(sh x)逻辑PLA的结构框图与阵列(可编程)或阵列(可编程)触发器第55页/共160页第五十六页,共161页。 2) PLA在时序逻辑设计中的应用(yngyng) 时序逻辑PLA中,在或阵列的输出和与阵列的输入之间增加了由触发器组成的反馈通路,其结构框图如图5-16所示, 因而它可以实现时序逻辑。若采用组合逻辑PLA来

38、实现时序电路, 则需要外接触发器单元。 采用PLA设计时序电路的方法与在第4章中讨论的时序电路设计方法相似。 首先由逻辑功能导出三组方程(输出方程组、 激励方程组和次态方程组),然后选择适当规模的PLA器件来实现电路。 第56页/共160页第五十七页,共161页。 【例例5-4】试用时序逻辑PLA实现具有异步清零和同步置数功能的3位移位寄存器。 解解 设异步清零信号为 ,低电平有效;同步置数信号为LD,高电平有效;串行输入信号为Din;并行输入信号为A、B、C; 时钟信号为CP。 若触发器为D触发器,则次态方程和激励方程分别为: DR2 , 1 , 0,1iDQnini次态方程(fngchng

39、):激励(jl)方程:nnnninnQLDCLDDQLDBLDDDLDALDD23121第57页/共160页第五十八页,共161页。 由上面可知,该电路共有7个输入信号、6个乘积项、 三个输出信号和3个触发器,可以(ky)根据这些数据来选择合适的PLA器件。 该电路的PLA阵列图如图5-17所示。 PLA的这种结构有利于提高对芯片的利用率,在ASIC设计中应用得较多。 但由于PLA器件的制造工艺复杂,又一直缺乏高质量的开发工具,因而其使用并不广泛。第58页/共160页第五十九页,共161页。ABCDinLDCPRD1DC12DC23DC3Q1Q2Q35-17 例5-4的PLA阵列(zhn li

40、) 第59页/共160页第六十页,共161页。5.2.3 可编程阵列逻辑可编程阵列逻辑PAL 可编程阵列逻辑可编程阵列逻辑PAL的主要部分仍然是与的主要部分仍然是与-或阵列,其中与阵列可根据需要进行编程,一般采用熔丝编程工艺,而或阵列是固定的。与阵列的可编程性保证了与门输入或阵列,其中与阵列可根据需要进行编程,一般采用熔丝编程工艺,而或阵列是固定的。与阵列的可编程性保证了与门输入(shr)变量的灵活性,变量的灵活性, 而或阵列固定使器件得以简化,而或阵列固定使器件得以简化, 进一步提高了对芯片的利用率。进一步提高了对芯片的利用率。 与与PLA相比,相比, PAL是一种更加有效的是一种更加有效的

41、PLD结构,结构, 它被后来发展起来的许多它被后来发展起来的许多PLD所采用。所采用。 第60页/共160页第六十一页,共161页。【例55】 用PAL实现(shxin)逻辑函数)7 , 4 , 3 , 2 , 0(),()7 , 6 , 4 , 3(),(12321231mXXXFmXXXF解解 首先对上述逻辑首先对上述逻辑(lu j)函数进行化简后可得函数进行化简后可得121223212131XXXXXXFXXXXF第61页/共160页第六十二页,共161页。图 5-18 例5-的PAL阵列(zhn li)X2X1与阵列(不可编程)F1F2X3与阵列(可编程)第62页/共160页第六十三页

42、,共161页。 在目前常见的PAL器件中, 输入变量最多可达到(d do)20个,与阵列输出的乘积项最多的有80个, 或阵列的输出端最多有10个, 每个或门的输入端最多的达到(d do)16个。 PAL器件的输出电路一般是不可编程的, 为了扩展器件的功能并增加使用的灵活性,在不同型号的PAL中采用了不同结构的输出电路, 这些结构主要有以下几类。 第63页/共160页第六十四页,共161页。 1) 专用输出结构 专用输出结构的共同特点是输出端只能用作输出信号, 因为下面将会看到在另外一种输出结构中,输出端在一定条件下可以作为(zuwi)输入使用。 专用输出结构的PAL中不含有触发器,只能用来实现

43、组合电路,其输出电路是一个或门,或者是一个或非门,还有的PAL采用互补输出的或门。图5-19所示为一个采用或非门的专用输出结构。 第64页/共160页第六十五页,共161页。图 5-19 PAL的专用输出(shch)结构IO第65页/共160页第六十六页,共161页。 目前常见的PAL主要有PAL10H8、 PAL14H4、 PAL10L8、 PAL14L4和PAL16C1。其中,PAL10H8和PAL14H4为或门输出结构, PAL10L8和PAL14L4为或非门输出结构。在PAL的型号中,第一个数字代表输入(shr)变量的个数,第二个数字代表输出端的个数;两个数字之间的字母H、L和C分别表

44、示高电平输出有效、 低电平输出有效和互补输出。 第66页/共160页第六十七页,共161页。 2) 可编程I/O(输入/输出)结构 在可编程I/O结构中,器件端口的工作状态(输入或者输出)是可以控制的。图5-20所示的是一个可编程I/O结构的输出电路, 它包括一个三态输出缓冲器和一个将端口上的信号(xnho)送到与阵列上的互补输出缓冲器。不难发现,三态输出缓冲器的使能信号(xnho)来自于与阵列的输出,是可编程的。在图520所示的编程情况下,当I1= I0= 0时,使能信号(xnho)OE= 1,端口处于输出状态; 否则,OE = 0, 三态缓冲器输出为高阻抗,端口处于输入状态。 第67页/共

45、160页第六十八页,共161页。图 5-20 PAL的可编程I/O结构(jigu)I0I1OEI/O第68页/共160页第六十九页,共161页。 在有些可编程I/O结构的PAL中, 在或阵列与输出缓冲器之间还设有图5-14中所示的可编程异或门,这样就可以(ky)通过编程来控制输出信号的极性。 目前具有可编程I/O结构的PAL主要有PAL16L8、 PAL20L10等。第69页/共160页第七十页,共161页。3) 寄存器输出(shch)结构图 5-21 PAL的寄存器输出(shch)结构IDQQOECKO第70页/共160页第七十一页,共161页。 4) 异或输出结构 图5-22所示的输出结构

46、与寄存器输出结构类似,只不过在或阵列输出与触发器之间又设置了异或门,这种结构被称为(chn wi)异或输出结构。属于异或输出结构的PAL主要有PAL20X4、PAL20X8、 PAL20X10等。图图 5-22 PAL的异或输出的异或输出(shch)结构结构DQQOECKOI第71页/共160页第七十二页,共161页。 与SSI、MSI标准产品相比,PAL的出现提高了设计的灵活性,有效减少了设计所用器件的数量。通常一片PAL可代替412片SSI或24片MSI。 但是PAL一般(ybn)采用熔丝编程工艺, 只能编程一次,所以使用者仍要承担一定的风险; 另外由于不同型号的芯片的输出结构各不相同,这

47、也给使用者在选择器件时带来一些不便。 一般(ybn)而言, PAL只能用来实现一些规模不大的组合电路和简单的时序电路(如计数器、 移位寄存器等)。第72页/共160页第七十三页,共161页。5.2.4 通用阵列逻辑通用阵列逻辑GAL 通用阵列逻辑通用阵列逻辑GAL是在是在PAL的基础上发展起来的,的基础上发展起来的, 它继承了它继承了PAL的与的与-或阵列结构,与或阵列结构,与PAL完全兼容。它与完全兼容。它与PAL最大的不同是用输出逻辑宏单元最大的不同是用输出逻辑宏单元OLMC取代了或门和输出电路,可以通过编程将取代了或门和输出电路,可以通过编程将OLMC组态成多种输出结构,大大增强了芯片的

48、通用性和灵活性。另外,组态成多种输出结构,大大增强了芯片的通用性和灵活性。另外,GAL采用采用E2PROM编程工艺,可以用电擦除并重复编程。编程工艺,可以用电擦除并重复编程。 GAL器件的命名规则与器件的命名规则与PAL相同,相同,GAL22V10中的中的22表示与阵列的输入变量数,表示与阵列的输入变量数,10表示输出端的个数,表示输出端的个数,V则是输出方式可以改变的意思。目前常见则是输出方式可以改变的意思。目前常见(chn jin)的的GAL器件主要有器件主要有GAL16V8、GAL20V8、GAL22V10、GAL39V8和和ispGAL16Z8等,其中等,其中GAL39V8中的或阵列也

49、可编程,对中的或阵列也可编程,对ispGAL16Z8编程时则不需要专门的编程器,编程时则不需要专门的编程器, 可在系统编程。可在系统编程。 第73页/共160页第七十四页,共161页。 1 GAL的基本结构 图5-23是GAL16V8的电路结构图。 它主要由5部分组成: 8个输入缓冲器(引脚29作为固定输入端口); 8个三态结构的输出缓冲器(引脚1219作为I/O端口); 8个OLMC(OLMC12OLMC19); 与阵列和OLMC之间的8个反馈缓冲器; 一个规模为3264位的可编程与阵列, 它共有(n yu)32个输入和64个乘积项, 这64个乘积项平均分配给8个OLMC。第74页/共160

50、页第七十五页,共161页。图 5-23 GAL16V8的电路(dinl)结构图2OLMC19CK1983OLMC1818164OLMC1717245OLMC1616326OLMC1515407OLMC1414488OLMC1313569OLMC1212631110816243103 4711 12 1519 20 2327287152331394755816243103 471112151920 232728第75页/共160页第七十六页,共161页。 除了以上5个部分以外,GAL16V8还有一个专用时钟输入端CK(引脚1)、全局输出(shch)使能信号OE输入端(引脚11)、 一个工作电源端

51、UCC(引脚20, 一般UCC=5 V)和一个接地端GND(引脚10)。 在对GAL16V8进行编程时,需要用到以下几个引脚:引脚1为编程时钟输入端SCLK;引脚11为编程电压输入端PRLD;引脚9被作为编程数据串行输入端SDI;引脚12为编程数据串行输出(shch)端SDO; 电源端UCC(引脚20)和接地端GND(引脚10)。第76页/共160页第七十七页,共161页。2 GAL编程单元编程单元(dnyun)的行地址映射图的行地址映射图 图5-24是GAL16V8的编程单元行地址映射图,它表明了在GAL16V8中编程单元的地址分配和功能划分。 编程是逐行进行的。 编程数据在编程系统的控制下

52、串行输入到64位移位寄存器中,每装满一次就向编程单元写入一行数据。 第031行是与阵列的编程单元, 每行有64位, 编程后可以产生64个乘积项。 第32行为芯片的电子标签,也有64位。用户可以在这里(zhl)存放器件的编号、电路编号、编程日期、版本号等信息,以备查询。 第77页/共160页第七十八页,共161页。 第3359行是生产厂家保留的空间,用户(yngh)不能使用。 第60行是一个82位的结构控制字, 用于控制OLMC的工作模式和乘积项的禁止。 第61行是一位加密单元,加密单元被编程后,与阵列中的编程数据不能被更改或读出,从而使设计成果得以保护。 只有当整个芯片的编程数据被擦除时,加密

53、单元才同时被擦除。但是电子标签不受加密单元的保护。 第62行是一位保留位。 第63行是一个整体擦除位,编程系统对这一位进行擦除将导致整个芯片中所有的编程单元都被擦掉。 第78页/共160页第七十九页,共161页。图 5-24 GAL16V8编程单元(dnyun)的地址分配移位寄存器SCLKSDI与阵列PT63SDOPT32与阵列PT0PT31电子标签电子标签031结构控制字(82位)保留地址空间32335960616263加密单元保留位整体擦除位行地址第79页/共160页第八十页,共161页。 3GAL的输出的输出(shch)逻辑宏单元逻辑宏单元OLMC图 5-25 GAL16V8的OLMC结

54、构框图(kungt)和结构控制字组成(a) OLMC结构框图(kungt); (b) 结构控制字来自与逻辑阵列PTMUXXOR(n)QQDAC1(n)AC0反馈FMUX10-11-0-10-0AC0*AC1(m)*AC1(n)11100100TSUXMOUXMUCCG2来自邻级输出( m)I/O(n)CLKOECLKOEG101(a)01第80页/共160页第八十一页,共161页。图 5-25 GAL16V8的OLMC结构框图(kungt)和结构控制字组成(a) OLMC结构框图(kungt); (b) 结构控制字乘积项禁止位32位XOR(n)4位SYN1位AC1(n)8位AC01位12151

55、21916 19(n)(n)(n)PT63PT32XOR(n)4位乘积项禁止位32位PT31PT0(b)第81页/共160页第八十二页,共161页。 GAL器件的每一个输出端都有一个OLMC, OLMC被组态成哪一种输出结构取决于对结构控制字的编程。图525给出了GAL16V8的OLMC结构图和控制字示意图。 由图525(a)可知,OLMC主要包括以下四个部分。 (1) 一个8输入的或门:或门的7个输入是直接来自于与阵列输出的乘积项, 第8个输入来自于乘积项数据选择器的输出。 (2) 一个可编程的异或门:通过对控制位XOR(n)(括号中的n是OLMC的编号)的编程,可改变(gibin)输出信号

56、的极性。当XOR(n) = 0时, 低电平输出有效;当XOR(n) = 1时,高电平输出有效。 第82页/共160页第八十三页,共161页。 (3) 一个D触发器: D触发器用于实现时序逻辑的场合。 (4) 四个数据选择器: 乘积项数据选择器(PTMUX)。 它是一个二选一数据选择器, 受控制(kngzh)位AC0和AC1(n)控制(kngzh)(AC0是所有OLMC公用的控制(kngzh)位)。当AC0 = 0或AC1(n) = 0时, 来自于与阵列的第8个乘积项被接入到或门的第8个输入端; 当AC0 = AC1(n) = 1时, 接入到或门的第8个输入端的信号为0。 第83页/共160页第

57、八十四页,共161页。 输出数据选择器(OMUX)。 它也是一个(y )受控制位AC0和AC1(n)控制的二选一数据选择器。当AC0 = 0或AC1(n) = 1时, 该OLMC采用组合输出方式; 当AC0 = 1且AC1(n) = 0时,该OLMC为寄存器同步输出。 三态数据选择器(STMUX)。它是一个(y )受控制位AC0和AC1(n)控制的四选一数据选择器,用于选择输出三态缓冲器的使能信号。当AC0 = AC1(n) = 0时,选择UCC作为使能信号,输出三态缓冲器处于常通状态;当AC0 = 0且AC1(n) = 1时,选择地电平作为使能信号,输出三态缓冲器处于高阻状态,引脚作为输入引

58、脚使用; 当AC0 = 1且AC1(n) = 0时,输出三态缓冲器受全局输出使能信号OE控制;当AC0 = 1且AC1(n) = 1时,选择来自于与阵列的第8个乘积项作为使能信号。 第84页/共160页第八十五页,共161页。 反馈数据选择器(FMUX)。它是一个受本单元控制位AC0、AC1(n)和相邻单元控制位AC1(m)控制的四选一数据选择器, 用于选择由OLMC反馈回与阵列的信号。当AC0 = AC1(m) = 0时,反馈信号为0; 当AC0 = 0且AC1(m) = 1时, 反馈信号为相邻OLMC的输出;当AC0 = 1且AC1(n) = 0时, 反馈信号取自本单元寄存器的 Q 端;当

59、AC0 = 1且AC1(n) = 1时,反馈信号取自本单元的输出端。 第85页/共160页第八十六页,共161页。 除了以上提到的控制位外,在GAL16V8中还有一个同步位SYN和64个乘积项禁止位。同步位SYN用于控制GAL是否有寄存器输出能力: 当SYN = 1时, GAL不具备寄存器输出能力;当SYN = 0时,GAL具备寄存器输出能力。另外, 在GAL16V8的OLMC19和OLMC12中, AC0和AC1(m)分别被SYN和SYN所代替。64个乘积项禁止位分别用于控制与阵列输出的64个乘积项。当某一个禁止位为0时,则相应的乘积项恒为0,表明在逻辑中不需要这个乘积项。 第86页/共16

60、0页第八十七页,共161页。 根据以上所述,不难归纳出OLMC的4种工作模式(或组态(z ti)): 当AC0 = 0且AC1(n) = 0时, OLMC为专用组合输出模式, 如图5-26(a)所示; 当AC0 = 0且AC1(n) = 1时, OLMC为专用输入模式, 如图5-26(b)所示; 当AC0 = 1且AC1(n) = 0且SYN = 0时, OLMC为寄存器输出模式, 如图5-26(c)所示; 当AC0 = 1且AC1(n) = 1时, OLMC为组合输入/输出模式, 如图5-26(d)所示。第87页/共160页第八十八页,共161页。图 5-26 OLMC的4种工作模式(a)

61、专用(zhunyng)组合输出; (b) 专用(zhunyng)输入; (c) 寄存器输出; (d) 组合输入/输出1XOR(n)O(a)0XOR(n)O(b)来自邻级输出(m)DQQCKXOR(n)OXOR(n)O(c)(d)OE第88页/共160页第八十九页,共161页。 4 GAL器件的优、 缺点 在SPLD中, GAL是应用最广泛的一种, 它主要有以下一些优点: 与中、小规模标准器件相比, 减少了设计中所用的芯片数量。 由于引入了OLMC这种结构, 提高了器件的通用性。 由于采用E2PROM编程工艺, 器件可以用电擦除并重复编程, 编程次数(csh)一般都在100次以上, 将设计风险降

62、到最低。 采用CMOS制造工艺, 速度高、功耗小。第89页/共160页第九十页,共161页。 具有上电复位和寄存器同步预置功能。上电后,GAL的内部电路会产生一个异步复位信号, 将所有的寄存器都清0, 使得器件在上电后处在一个确定的状态,有利于时序电路的设计。 寄存器同步预置功能是指可以将寄存器预置成任何一个特定的状态,以实现对电路的100%测试。 具有加密功能, 可在一定程度上防止(fngzh)非法复制。第90页/共160页第九十一页,共161页。 但是GAL也有明显的不足之处: 电路的结构还不够灵活。 例如, 在GAL中, 所有的寄存器的时钟端都连在一起,使用由外部引脚输入的统一时钟, 这

63、样单片GAL就不能实现异步时序电路。 GAL仍属于(shy)低密度PLD器件,而且正是由于电路的规模较小,所以人们不需要读取编程信息,就可以通过测试等方法分析出某个GAL实现的逻辑功能, 使得GAL可加密的优点不能完全发挥。 事实上, 目前市场上已有多种GAL解密软件。第91页/共160页第九十二页,共161页。5.3 高密度可编程逻辑高密度可编程逻辑(lu j)器件器件HDPLD HDPLD包括EPLD、CPLD和FPGA三种,大致可以分为两类: 一类是与标准门阵列结构类似的单元型HDPLDFPGA; 另一类是基于与-或阵列结构(或称为乘积项结构)的阵列扩展型HDPLDEPLD和CPLD,

64、其中CPLD是EPLD的改进型器件。 经过十几年的发展, 目前市场上HDPLD产品型号繁多, 电路结构也千差万别。 其中最具有代表性的还是Xilinx公司的FPGA器件和Altera公司的CPLD器件, 它们开发得较早, 占据了大部分的PLD市场。 当然(dngrn)还有其它许多著名厂商的器件, 如:Lattice, Vantis, Actel, Quicklogic, Lucent等。 第92页/共160页第九十三页,共161页。部分(b fen)HDPLD产品及其主要性能如表5-3所示。 表表5-3 部分部分HDPLD产品产品(chnpn)的性能表的性能表第93页/共160页第九十四页,共

65、161页。5.3.1 复杂可编程逻辑器件复杂可编程逻辑器件CPLD 目前生产目前生产CPLD的厂家有很多,各种型号的的厂家有很多,各种型号的CPLD在结构上也都有各自的特点和长处在结构上也都有各自的特点和长处(chng chu),但概括起来,它们都是由三大部分组成的,即可编程逻辑块,但概括起来,它们都是由三大部分组成的,即可编程逻辑块(构成构成CPLD的主体部分的主体部分)、输入、输入/输出块和可编程互连资源输出块和可编程互连资源(用于逻辑块之间以及逻辑块与输入用于逻辑块之间以及逻辑块与输入/输出块之间的连接输出块之间的连接),如图,如图5-27所示。所示。 第94页/共160页第九十五页,共

66、161页。图 5-27 CPLD的一般(ybn)结构逻辑块I/O逻辑块逻辑块I/O逻辑块可编程互连逻辑块I/O逻辑块逻辑块I/O逻辑块第95页/共160页第九十六页,共161页。 CPLD的这种结构是在GAL的基础上扩展、改进而成的, 尽管它的规模比GAL大得多,功能也强得多,但它的主体部分可编程逻辑块仍然是基于乘积项(即: 与-或阵列)的结构,因而将其称为阵列扩展型HDPLD。 扩展的方法并不是简单地增大与阵列的规模,因为这样做势必导致芯片的利用率下降和电路的传输时延增加,所以CPLD采用了分区结构, 即将整个芯片划分成多个逻辑块和输入/输出块,每个逻辑块都有各自的与阵列、 逻辑宏单元、 输入和输出等,相当于一个独立的SPLD,再通过一定方式的全局性互连资源将这些SPLD和输入/输出块连接起来,构成更大规模的CPLD。 简单地讲,CPLD就是将多个SPLD集成到一块芯片上,并通过可编程连线实现(shxin)它们之间的连接。 第96页/共160页第九十七页,共161页。 就编程工艺而言,多数的CPLD采用E2PROM编程工艺, 也有采用Flash Memory编程工艺的。 下面以Alt

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!