数字逻辑第6章可编程逻辑器件_第1页
数字逻辑第6章可编程逻辑器件_第2页
数字逻辑第6章可编程逻辑器件_第3页
数字逻辑第6章可编程逻辑器件_第4页
数字逻辑第6章可编程逻辑器件_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 6 章 可编程逻辑器件,前面介绍的组合逻辑电路和时序逻辑电路由门电路、触发器和中小规模集成电路构成。这些逻辑电路相对比较简单,电路不容易修改。用这些逻辑电路实现数字系统需要大量集成电路和连线,导致系统体积大、功耗大,可靠性低等问题。 目前广泛使用的可编程逻辑器件是实现数字系统的理想器件。使用可编程逻辑器件设计逻辑电路的思想是设计只读存储器方法的抽象。本章介绍使用设计只读存储器方法设计组合逻辑电路和时序逻辑电路,以及PLA、PAL、GAL和在系统中可编程逻辑器件的结构和使用原理。,6.1可编程只读存储器,6.1.1半导体存储器的概念 存储器是数字计算机和数字系统中保存信息的重要部件。随着大规

2、模集成电路的发展,半导体存储器具有集成度高、速度快、功耗小、价格低等优点因而被广泛应用于各种数字系统中。 半导体存储器按功能可分为随机存取存储器RAM(Random Access Memory)和只读存储器ROM(Read Only Memory)两大类。 (1)随机存取存储器 随机存取存储器是一种既可以读出又可以写入信息的存储器。根据制造工艺的不同,RAM可用双极型晶体管和MOS型晶体管制作。双极型RAM工作速度高、成本高、功耗大、集成度低,主要用作高速小容量存储器。MOS型RAM功耗小、集成度高、成本低,速度比双极型RAM低。MOS型RAM又可进一步分为静态随机存取存储器SRAM(Stat

3、ic Random Access Memory)和动态随机存取存储器DRAM(Dynamic Random Access Memory)两种。相比之下DRAM的集成度更高一些。MOS型随机存取存储器适于构造大容量存储器。随机存取存储器在没有电源的时,存储器中的信息会丢失。,(2)只读存储器 只读存储器是一种在工作时只能读出、不能写入的存储器。只读存储器中的信息事先写入,通常用来存放那些固定不变的信息。只读存储器在工作时,将一个给定的地址码加到ROM的地址码输入端,在它的输出端可得到一个事先存入的数据。如果把地址码作为输入逻辑变量的取值,输出作为输出逻辑变量,那么ROM相当于一个组合逻辑电路。这

4、样可以把ROM看作是一个组合逻辑电路。 只读存储器存入信息的过程通常称为编程。根据编程方法的不同,可分为掩膜编程ROM(简称MROM)和用户可编程ROM(简称PROM)两类。MROM中存放的信息由生产厂家在制造芯片时使用掩膜技术写入,用户不能改变MROM中的信息。MROM一般使用在工作时只读出信息的场合。MROM有可靠性高,集成度高,批量生产时价格便宜的优点。PROM中存放的信息由用户在编程设备上写入。优点是在使用时灵活方便,适于由用户自己来写入各种信息。MROM和PROM只读存储器都属于非容易失掉信息存储器,即使没有电源时,ROM中存放的信息也不会丢失。 RAM和ROM是计算机和数字系统中不

5、可缺少的重要组成部分,它们通常用来存放各种程序和数据。下面从逻辑电路设计的角度,对ROM的结构、类型以及采用设计ROM的方法设计逻辑电路等进行介绍。,图6-1由二极管组成的只读存储器,从逻辑电路的角度ROM的结构由两部分组成。如图6-1所示,上部是一个固定连接的“与”门阵列,下部是一个可编程“或”门阵列。图6-1中上半部分的“与”门阵列构成两变量A1、A0译码器,译码器的输出是W0、 W1 、W2 和W3。W0 = A1 A0,W1 = A1 A0,W2 = A1 A0,W3 = A1 A0即译码器的每一个输出对应一个最小项。图6-1中下半部分是“或”门阵列组成的存储体。根据存储体中二极管的接

6、法,00地址的存储单元中存储了“0101”, 01地址的存储单元中存储了“1010”,10地址的存储单元中存储了“0111”,11地址的存储单元中存储了“1110”。D3、D2、D1和D0是图6-1 ROM的输出。图6-1只读存储器的工作原理是当A1 A0 = 00时,读00单元中的数据,D3、D2、D1和D0 = 0101;当A1 A0 = 11时,读11单元中的数据,D3、D2、D1和D0 = 1110。 从组合逻辑电路来理解,输出D3、D2、D1和D0分别是“与”门阵列产生的最小项的“或”运算。也就是,当W11、W31时,输出D3为1。当W01、W21、W31时,输出D2为1。当W11、

7、W21、W31时,输出D3为1。当W01、W21时,输出D4为1。所以可以写出D3、D2、D1和D0,的表达式如下:,从上述表达式可以得到一个重要的启示,设D3、D2、D1和D0是一组逻辑函数表达式,可以设计一个只读存储器来实现它们。具体讲就是,如果要实现一组逻辑函数,可以用“与”门阵列产生逻辑函数中全部的最小项;用“或”门阵列来实现每一个输出函数,即最小项的或运算。这样就可以用只读存储器实现逻辑函数。从设计逻辑电路的角度,可以用设计只读存储器的方法来设计逻辑函数。这个思想是使用可编程器件实现逻辑电路的基础。,2.ROM结构的阵列图表示方法,为了方便使用设计ROM方法来实现逻辑函数,简化只读存

8、储器电路的画法,把图6-1由二极管组成的只读存储器,在交叉点有二极管的地方,用“”表示,见图6-2所示,这种表示ROM的图称阵列图。阵列图的上半部分称“与”阵列,产生全部的最小项。阵列图的下半部分称“或”阵列,产生每个输出Di的“或”运算。在阵列图中,所有的变量用原变量和反变量用两根线段表示。在图6-2中的竖线表示由变量A1,A0产生的全部最小项。D0线上有两个“”,表示两个“与”项的“或”运算,即D0 = W0 + W2 = A2 A0 + A1 A0。同样,D1、D2和D3也可以写出它们的“与”项的“或”运算。,图6-2 图6-1的阵列图,6.1.2采用ROM阵列图设计组合逻辑电路 由于R

9、OM由一个固定连接的“与”阵列和一个可编程连接的“或”阵列组成。因此用户只要改变“或”阵列上连接点“”的数量和位置,就可以在输出端输出最小项组合的“或”运算,以实现不同的逻辑函数。因此,当采用ROM进行逻辑设计时,首先要根据题目要求列出真值表,然后把真值表的输入作为ROM的输入。把要实现的逻辑函数用ROM“与”阵列中的最小项进行“或”运算。然后,画出它们的阵列图,就完成了采用ROM阵列图设计组合逻辑电路的过程。,例6-1采用ROM阵列图设计将一位四位二进制数转换成Gray码,解:设四位二进制数用输入变量B3、B2、B1、B0表示,转换成的四位Gray码用输出变量G3、G2、G1和G0。 第1步

10、,列出四位二进制数与Gray码的真值表,如表6-1所示。,表6-1 四位二进制数与Gray码真值表,第2步,列出逻辑函数表达式,第3步,画出阵列图,图6-3的阵列图,在图6-3中,B3、B2、B1、B0是 ROM的输入,也是被转换的二进制数。G3、G2、G1、G0。是Gray码输出。ROM的“与”阵列产生了输入变量B3、B2、B1、B0的全部最小项,“或”阵列产生4个输出函数G3、G2、G1、G0。ROM的容量为244。也就是,ROM的存储单元有24个,每一个存储单元存储四位二进制数。ROM的“或”阵列根据函数真值表进行“或”运算。因此,使用ROM设计逻辑函数时,主要是对“或”阵列进行编程。用

11、阵列图表示逻辑电路时,有“”点处代表有晶体管,写入“1”。否则,写入“0”。,6.2可编程逻辑阵列PLA 前面介绍使用设计ROM方法来实现逻辑函数,ROM的“与”阵列产生n个输入变量的全部最小项。然而对于大多数逻辑函数表达式,并非使用最小项,而是“与”项。因此,ROM的“与”阵列造成了阵列资源浪费。解决这个问题的方法是,如果逻辑函数由“与”项组成,那么让“与” 阵列产生“与”项,仍然用“或”门阵列来实现每一个输出函数。 这样,让“与” 阵列产生“与”项,称“与” 阵列是可编程的。用这样的方法实现逻辑函数,称为可编程逻辑阵列PLA(Programmable Logic Array)。,例6-2

12、用PLA设计一个代码转换电路,将一位十进制数的8421 BCD码转换成余3码。 解:设A、B、C、D表示8421 BCD码四位二进制数,W、X、Y、Z表示余3码。 第1步,列出真值表。如表6-2所示。,表6-2 一位十进制数8421 BCD码 对应的余3码,第2步,写出逻辑函数表达式,用卡诺图进行化简,得到最简“与-或” 表达式为,第3步,画出阵列图如图6-4所示。全部输出函数中包含9个“与”项。,图6-4 阵列图,PLA不仅可以用来实现任意组合逻辑电路的设计,也可以实现时序逻辑电路的设计。由于时序逻辑电路的输出不仅取决于当时电路的输入,而且取决于过去输入的内部状态。所以,用“与”门阵列要产生

13、时序逻辑电路中全部的激励函数和输出函数的 “与”项 。“与”门阵列的输入是外部输入X和现态。“或”门阵列的输出是激励函数和外部输出。另外,触发器加一个复位信号,用PLA设计时序逻辑电路的结构图如6-5所示。,图6-5 时序PLA的结构框图,例6-3 用PLA设计一个8421 BCD码加1计数器。用七段数码显示器显示8421 BCD计数器值。 解:该题的设计包括两个部分,一部分是按照同步时序逻辑电路的设计方法设计一个8421 BCD码加1计数器,另一部分是按照组合逻辑电路设计方法,把8421 BCD码的计数值转换成用七段数码显示器显示的代码转换电路。最后画出两部分的PLA阵列图。 第1步,作出8

14、421 BCD码加1计数器状态表。设现态用y4、y3、y2、y1表示,次态用yn+14、yn+13、yn+12、yn+11表示,如表6-3所示。,表6-3 8421 BCD码加1计数器的状态表,第2步,假定采用JK触发器作为存储元件,根据表6-1和JK触发器的激励表,可得到JK触发器的激励函数表达式为,激励函数共包含4个 “与”项即y3 y2 y1、y1、y2 y1和y4 y1。,第3步,列出8421 BCD码转换七段数码显示器的真值表。如表6-4所示。,表6-4 8421 BCD码转换为七段显示码的真值表,根据表6-4 做出转换电路输出a、b、c、d、e、f、g的卡诺图,得到代码转换电路的输

15、出函数表达式为,转换电路的输出a、b、c、d、e、f、g有8个“与”项:,y4、y3 y1、y3 y2 y1,y3、y2 y1、y3 y1、y2 y1和y3 y2。,第4步,根据激励函数和转换电路的输出函数表达式,画出阵列逻辑如图6-6所示。,6.3可编程阵列逻辑PAL PAL(Programming Array Logic)是在PROM和PLA的基础上发展起来的一种可编程逻辑器件。它相对于PROM而言,使用灵活,可用于完成多种逻辑功能编程,PAL的制作比PLA工艺简单。 1.PAL的逻辑结构 PAL由一个可编程的“与”阵列和一个固定连接的“或”阵列组成。图6-7a是一个三输入三输出PAL的逻

16、辑结构图,通常表示成图6-7b所示的形式。,在PAL中每个输出包含的“与”项数目是由固定连接的“或”阵列提供的。在逻辑设计中,一般函数大约包含34个“与”项。现有PAL器件最多可为每个输出提供8个“与”项。因此,这种器件能够满足逻辑电路设计的需要。 PAL器件内部的结构是由器件生产厂家固定设计的。按照输出和反馈结构,PAL器件可以分为5种基本类型。 (1)专用输出的基本门阵列结构 图6-8表示了这种结构类型的1个输入、1个输出、4个“与”项的专用输出的基本门阵列结构。图中输出部分采用“或非”门,为低电平有效器件。若输出部分采用“或”门结构,则为高电平有效器件。有的器件输出部分采用互补输出的“或

17、”门,称为互补输出器件。这种结构类型适用于实现组合逻辑函数。常见的具有专用输出的基本门阵列结构的产品有PAL10H8(10个输入、8个输出、输出高电平有效),PAL12L6(12个输入、6个输出、输出低电平有效)等,图6-8 专用输出的基本门阵列结构,2)带反馈的可编程I/O结构 PAL器件的特点之一是可编程输入或者输出。也就是允许“与”项直接控制PAL的输出驱动器,同时该输出端又可作为一个输入反馈到PAL“与”阵列。如图6-9所示。图中最上面一个“与”门所对应的“与”项作为输出三态缓冲器的选通控制。编程时如果该“与”门所有的输入全接通,此“与”项输出为“0”,则三态缓冲器处于高阻状态,这时I

18、/O 输出引脚作为输入使用。右边一个互补输出缓冲器作为输入缓冲器用。相反地,如果最上面与门的所有输入项都断开,此“与” 输出为“1”,则三态缓冲器为工作状态,这时I/0 输出引脚作为输出使用。根据这一特性,可以通过编程指定某些I/O端的方向,从而改变器件输入/输出线数目的比例。同时,由于器件输出的反馈功能(不论I/O引脚作为输入还是输出使用,都通过互补输出缓冲器反馈至“与”阵列),可以在实现数据移位的操作中提供双向I/O功能。该类PAL器件常见产品有PAL16L8(10个输入、8个输出、6个反馈输入)以及PAL20L10(12个输入、10个输出、8个反馈输入)。这种结构通常又称为异步编程I/O

19、结构。,图6-9 PAL带反馈的可编程I/O结构,3)带反馈的寄存器输出结构,PAL高档产品是带有反馈的寄存器输出,如图6-10所示。图中由“或”门产生的具有8个“与”项的“与-或”输出,在系统时钟CLK的作用下保存到D触发器中。触发器的输出通过公共选通(OE)的三态缓冲器送到输出端,此输出Q是低电平有效。D触发器的输出Q通过一个互补输出缓冲器反馈回“与”阵列,这种反馈功能使PAL提供了时序网络结构,从而能够实现时序逻辑电路的设计。例如,加减计数、移位、转移等操作。该类器件的典型产品有PAL16R8(8个输入、8个寄存器输出、8个反馈输入、1个公共时钟和1个公共选通)。,PAL还有带“异或”反

20、馈的寄存器输出结构。这种结构是在带反馈寄存器输出结构的基础上增加了一个“异或”门。这类PAL在D触发器的D端引入一个“异或”门,使D端的极性可通过编程设置。这实际上是允许把输出端设置为高电位有效或者低电位有效。这类可编程器件的产品有PAL16RP8(有8个输入、8个寄存器输出和8个反馈输入)。,PAL还有带算术选通反馈的结构。算术PAL是综合了前几种PAL结构的特点,增加了反馈选通电路,使之能实现多种算术运算功能。输出有(A + B)、(A + B)、(A + B)和(A + B),这4个项作为逻辑变量送至“与”阵列进行编程,可以对变量A、B进行二元逻辑运算,一共有16种可能的逻辑运算组合。算

21、术PAL的产品有PAL16A4(8个输入、4个寄存器、4个可编程I/0输出、4个反馈输入和4个算术选通反馈输入)。,6.4通用阵列逻辑GAL PAL器件的发展和应用,给逻辑电路设计提供了很大的灵活性,但这种灵活性仍有一定的局限性。例如,PAL采用的是熔丝式工艺,编程后不能擦除。另外,PAL的输出结构不够灵活,致使对不同输出结构的需求要选用不同型号的PAL器件等。GAL(Generic Array Logic)器件是1985年开发出的一种新PLD器件。它是在PAL器件的基础上综合了E2PROM和CMOS技术发展起来的新型器件。GAL器件具有编程后可以擦除、重新编程,结构可组态的特点。这些使GAL

22、器件具有更大的灵活性。,GAL器件按门阵列的可编程结构可分为两大类。一类是与PAL基本结构相似的普通型GAL器件,“与门”阵列是可编程的,“或门”阵列是固定连接的。例如20引脚的GAL16V8器件。另一类是与PLA器件相似的新一代GAL器件,“与门”阵列和“或门”阵列都是可编程的,例如24引脚的GAL39V8器件。 GAL的基本逻辑结构。普通型GAL的基本结构与PAL相类似,都是由一个可编程的“与”阵列和一个固定连接的“或”阵列组成,所不同的是输出部件结构不同。GAL在每一个输出端都集成有一个输出逻辑宏单元OLMC(Output Logic Cell),允许使用者定义每个输出的结构和功能。 图

23、6-11是GAL16V8器件的逻辑结构图。GAL16V8器件芯片是具有8个固定输入引脚、最多可达16个输入引脚,8个输出引脚,输出可编程的普通型GAL。它由8个输入缓冲器、8个反馈输入缓冲器、8个输出逻辑宏单元OLMC、8个输出三态缓冲器、“与”阵列和系统时钟、输出选通信号等组成。其中,“与”阵列包含32列和64行,32列表示8个输入的原变量和反变量以及8个输出反馈信号的原变量和反变量。64行表示“与”阵列可产生64个“与”项,对应8个输出,每个输出包括8个“与”项。,图6-11 GAL16V8的基本逻辑结构,(1)输入端。GAL16V8的引脚29为8个输入端,每个输入端有一个缓冲器,并由缓冲

24、器引出两个互补的输出到“与”阵列;(2)与阵列部分,它由8个输入及8个输出各引出两个互补的输出构成32列,即与项的变量个数为16;8个输出中的每个输出对应于一个8输入“或”门(相当于每个输出包含8个“与”项)构成64行,即GAL16V8的“与”阵列为一个3264的阵列,共2048个可编程单元(或结点);(3)输出宏单元,GAL16V8共有8个输出宏单元,分别对应于引脚1219。每个宏单元的电路可以通过编程实现所有PAL输出结构实现的功能;(4)系统时钟,GAL16V8的引脚1为系统时钟输入端,与每个输出宏单元中D触发器时钟输入端相连,可见GAL器件只能实现同步时序逻辑电路,而无法实现异步时序逻

25、辑电路;(5)输出三态控制端,GAL16V8的引脚11为器件的三态控制公共端。图6-12是GAL16V8的内部逻辑图。,图6-12 GAL16V8的内部逻辑图,6.4.1输出逻辑宏单元OLMC OLMC的结构如图6-13所示。它由一个8输入“或”门、极性选择“异或”门、D触发器、4个多路选择器等组成。“或”门的每个输入对应一个来自“与”阵列的“与”项,输出形成“与或”函数表达式。,图6-13 OLMC的结构图,异或”门控制输出信号的极性选择,当“异或”门的控制变量XOR(n),n为OLMC输出引脚号。当XOR(n)为“0”时,“异或”门的输出与输入相同。当XOR(n)为“1”时,“异或”门的输

26、出与输入相反。极性选择还可以用来简化实现某一功能所需要的“与”项数。GAL的输出一般只能实现不大于8个“与”项的函数,如果采用“异或”门,可以把多于8个“与”项作为一个“与”项,例如: D = A + B + C + D + E + F + G + H + I 利用德摩根定律可变换为:,要得到D,只需由或门产生D,然后令”异或”门控制变量XOR(n)为“1”,对其求发即可。D触发器对输出状态起寄存作用,使GAL适应于时序逻辑电路,4个多路选择器的功能如下: 多路选择器PTMUX用于控制第一个“与”项。来自“与”阵列的8个“与”项当中有7个直接作为“或”门的输入。另一个作为PTMUX的输入,PT

27、MUX的另一输入接“地”。在AC0和AC1(n)控制下(AC0AC1(n)),PTMUX选择该“与”项或者“地”作为或门的输入。,输出选择多路选择器OMUX用于选择输出信号是组合逻辑的还是时序逻辑的。由异或门输出的多需极性的“与或”逻辑结果,在送至OMUX一个输入端的同时通过时钟信号CLK送入D触发器中,触发器的Q输出送至OMUX的另一输入端。OMUX在AC0和AC1(n)的控制下,由(AC0+AC1(n))选择组合型或寄存器型结果作为输出。 输出允许控制选择多路选择器TSMUX用于选择输出三态缓冲器的选通信号。在AC0和AC1(n)的控制下,TSMUX选择Vcc、“地”、OE或者一个“与”项

28、(PT)作为允许输出的控制信号。 反馈选择多路选择器FMUX用于控制反馈信号的来源。在AC0和AC1(n)的控制下,FMUX选择“地”、相邻位的输出、本位的输出或者触发器的输出Q作为反馈信号,送回“与”阵列作为输入信号。 由OLMC的各个部分功能的分析可知,只要恰当地给出个控制信号的值,就能形成OLMC的不同组态。在适应对结果信号的不同要求方面,OLMC给设计者提供了灵活性。在GAL器件中,各控制信号的值是由GAL结构控制字中的相应可编程位决定。,6.4.2结构控制字 GAL16V8由一个82位的结构控制字控制着器件的各种功能组合状态。该控制字各位功能如图6-14所示。图中,XOR(n)和AC

29、1(n)字段下面的数字分别对应器件的输出引脚号,各位结构控制字功能如下。,1) 同步位SYN。它的值确定器件是具有寄存器输出能力或是组合逻辑输出。SYN = 0时,GAL器件有寄存器输出。SYN = 1时,GAL为一个组合逻辑器件。此处,为了保证与PAL型器件结构完全兼容,在图6-11所示的GAL16V8的基本逻辑结构中最外层两个宏单元OLMC(12)和OLMC(19)中,用SYN代替AC0,SYN代替AC1(n)作为多路选择器FMUX的选择控制端。,2)结构控制位AC0。该位对于8个OLMC是公共的,它与AC1(n)配合控制各个OLMC(n)中的多路选择器。 3)结构控制位AC1:它共有8位

30、,每个OLMC(n)有单独的AC1(n)。 4)极性控制位XOR(n)。它通过OLMC(n)中的异或门控制逻辑操作结果的输出极性。XOR(n)=0时,输出信号O(n)低电平有效;XOR(n)=1时,输出信号O(n)高电平有效。 5)“与”项(PT)禁止位。共64位,分别控制“与”阵列的64行(PT0PT63),以便屏蔽某些不用的“与”项。 6)通过编程结构控制字中的SYN、AC0和AC1(n),输出逻辑宏单元OLMC(n)可以组成以下5种组态。 (1)专用输入方式(SYNAC0AC1(n) = 1 0 1)。在这种方式中,CLK和OE均不起作用,只作为普通数据输入端;输出三态缓冲器控制开关接地

31、,输出被禁止。此方式又称为纯输入方式,如图6-15(a)所示。 (2)专用组合型输出方式(SYNAC0AC1(n) = 1 0 0)。在该方式中,CLK和OE均不起作用,只作为普通数据输入端;输出三态缓冲器控制开关接Ucc,处于工作状态。又称它为纯组合逻辑输出方式,如图6-15(b)所示。,(3)组合型输出方式(SYNAC0AC1(n) = 1 1 1)。在该方式中,CLK和OE均不起作用,只作为普通数据输入端;芯片的输出是组合型的,但输出三态缓冲器来自“与”阵列的“与”项控制。又称它为三态控制的纯组合逻辑输出方式,如图6-15(c)所示。 (4)寄存器型组件中的组合逻辑输出方式(SYN AC

32、0AC1(n) = 0 1 1)。在此方式中,CLK和OE均有效,所有输出中至少有一个寄存器型输出;但是被组态的这个OLMC(n)本身的CLK悬空,仍为组合逻辑。此方式又被称为组合逻辑、时序逻辑混合方式,如图6-15(d)所示。 (5)寄存器型输出方式(SYN AC0AC1(n) = 0 1 0)。在此方式中,CLK和OE均有效,输出端全部为寄存器输出方式。又称它为三态控制的时序逻辑输出方式,如图6-15(e)所示。,图6-15输出逻辑宏单元OLMC(n) 的5种组态,上述OLMC组态的实现是由开发软件和硬件完成的,器件对用户是完全透明的。开发软件将选择与配置控制字的位,并且自动检查各个引线的

33、用法。,6.4.3行地址布局 GAL器件的可编程阵列包括“与”阵列、结构控制字、保密位及整体擦除位等。对其进行编程时是由行地址进行映射的。GAL16V8的行地址布局图如图6-16所示。,图6-16中,82位的SRL用于将各列(位)编程点图案或数据串行输入编程或读出测试编程结果串行输出。当对GAL16V8进行编程实现某个设计方案时,可供用户使用的行地址总共有36个,它们分别是, 1) 行地址031:这是用户用来编程制定逻辑模式的阵列。32个行地址对应逻辑结构图上“与”阵列的32个输入,每个行地址可写入64位数据,对应于64个“与”项。 2) 行地址32:这是器件的电子标签(ES)。它提供64位供

34、用户定义,例如,用来识别用户身份的代码、版本号、编目管理等,这个标签中的数据下述保密单元的状态无关,用户始终可以使用。 3) 行地址60:这是82位的结构控制字,用于设计所需用途的器件。 4) 行地址61:这是仅1位的保密位,用于防止复制阵列的逻辑点阵,该位一旦被编程,存取阵列的电路就不能工作,从而防止了对32位的“与”阵列再次编程或者读出。该单元只能在整体擦除时和阵列一起被擦除。所以,一旦保密位被编程,就绝对不能检查阵列的原始配置。 5)行地址63:仅含1位,用于器件整体擦除。在器件编程期间访问该行,就执行清除功能,整个“与”阵列、结构控制字、电子标签以及保密单元统统被擦除,使编程的器件恢复

35、到未使用的状态。,6.5在系统可编程技术ISP 在系统可编程技术ISP(In-System Programmable)是20世纪80年代提出的一种先进的编程技术。所谓“在系统编程”是指对器件、电路板或者整个系统的逻辑功能可随时进行修改或者重构的能力。这种修改或者重构可以在产品设计、制造过程中的每个环节,甚至在交付用户之后进行。支持ISP技术的可编程逻辑器件称为在系统可编程逻辑器件ISP-PLD (ISP-Programmable Logic Device)。 ISP-PLD不需要使用编程器,只需要通过计算机接口和编程电缆,直接在目标系统或印刷线路板上进行编程。传统的可编程器件只能插在编程器上先

36、进行编程,然后再装配,而ISP-PLD则可以先装配,后进行编程。因此ISP技术有利于提高系统的可靠性,便于系统的调试和维修。,6.5.1可编程逻辑器件的器件设计方法 可编程逻辑器件的设计是指利用开发软件和编程工具对器件进行开发的过程。高密度可编程逻辑器件的设计流程如图6-17所示,它包括设计准备、设计输入、设计处理和器件编程以及相应的功能仿真、时序仿真和器件测试设计验证过程。,1、设计准备 在对可编程逻辑器件芯片进行设计之前,首先要进行方案论证、系统设计和器件选择等设计准备工作。设计者首先要根据任务要求,例如系统所完成的功能及复杂程度,对工作速度和器件本身的资源、成本及连线的可布通性等方面进行

37、权衡,选择合适的设计方案和器件类型。 数字系统设计有多种方法,如模块设计法、自顶向下设计法和自底向上设计法等等。自顶向下设计法是目前最常用的设计方法,也是基于芯片的系统设计的主要方法。它首先从系统设计入手,在顶层进行功能划分和结构设计,采用硬件描述语言对高层次的系统进行描述,并在系统级采用仿真手段验证设计的正确性,然后再逐级设计低层的结构。由于高层次的设计与器件及工艺无关,而且在芯片设计前就可以用软件仿真手段验证系统方案的可行性。因此自顶向下的设计方法有利于在早期发现结构设计中的错误,避免不必要的重复设计,提高设计的一次成功率。,2、设计输入 设计输入是将所要设计的数字系统或者逻辑电路以软件的

38、形式表示,并送入计算机中的过程称为设计输入。设计输入通常有以下几种方式: 1)原理图输入方式 这是一种最直接的设计描述方式,它使用软件系统提供的元件库、器件库、各种符号和连线画出原理图,形成原理图输入文件。这种方式大多用在对系统及各部分电路很熟悉的情况,或者在系统对时间特性要求较高的场合。当系统功能较复杂时,原理图输入方式效率低。它的主要优点是容易实现仿真,便于信号的观察和电路的调整。 2)硬件描述语言输入方式 硬件描述语言输入方式是用硬件描述语言描述数字系统或者逻辑电路的设计,就象程序设计一样。用硬件描述语言描述数字系统或者逻辑电路由硬件描述和行为描述组成。硬件描述语言有VHDL、ABEL-

39、HDL、CUPL等。它们支持逻辑运算方程、真值表、状态机等方面的逻辑表达式。 行为描述语言是目前常用的高层硬件描述语言,有VHDL和Verilog-HDL等,它们都已成为IEEE标准。它们有许多优点,例如语言与工艺的无关性,可以使设计者在系统设计、逻辑验证阶段便确立方案的可行性。语言的公开可利用性,使它们便于实现大规模系统的设计。同时,硬件描述语言具有很强的逻辑描述和仿真功能,而且输入效率高,在不同的设计输入库之间转换比较方便。,3)波形输入方式 波形输入主要用于建立和编辑波形设计文件,输入仿真向量和功能测试向量。波形设计输入适合用于时序逻辑和有重复性的逻辑函数。系统软件可以根据用户定义的输入

40、/输出波形自动生成逻辑关系。 波形编辑功能还允许对波形进行拷贝、剪切、粘贴、重复与伸展,从而可以用内部节点、触发器和状态机建立设计文件,并将波形进行组合,显示各种进制的状态值,还可以通过将一组波形重复到另一组波形上,对两组仿真结果进行比较。 1设计处理 这是器件设计中的核心环节。在设计处理过程中,编译软件将对设计输入文件进行逻辑化简、综合和优化,并适当地用一片或多片器件自动地进行适配,最后产生编程用的编程文件。设计处理包含以下内容。 1) 语法检查和设计规则检查 在编译过程中首先进行语法检验。例如检查原理图有否漏连信号线,信号有否双重来源,文本输入文件中关键字有否输入出错等。编译后列出错误信息

41、,报告给设计者,以便修改。然后进行设计规则检查。例如,检查总的设计有否超出器件资源或规定的限制,指明违反规则情况给设计者纠正。,1)逻辑优化和综合 设计处理中逻辑优化是化简所有的逻辑方程,使逻辑设计所占用的资源最少。综合的目的是将多个模块化设计文件合并为一个网表文件,并使层次设计平面化。 2)适配和分割 适配是优化以后的逻辑能否与器件中的宏单元和I/O单元相适,分割是将为多个便于适配的逻辑小块映射到器件相应的宏单元中。如果整个设计不能装入一片器件时,可以将整个设计自动分割成多块并装入同一系列的多片器件中去。分割工作可以全部自动实现,也可以部分由用户控制,还可以全部由用户控制进行。划分时应使所需

42、器件数目尽可能少,同时应使用于器件之间通信的引脚数目最少。 3)布局和布线 布局和布线工作是在设计检验通过之后由软件自动完成的,它能以最优的方式对逻辑元件布局,并准确地实现元件间的互连。布线以后软件会自动生成布线报告,提供有关设计中各部分资源的使用情况等信息。 4)生成编程数据文件 设计处理的最后一步是产生可供器件编程使用的数据文件。对CPLD来说,是产生熔丝图文件,即JEDEC文件(电子器件工程联合会制定的标准格式,简称JED文件)。对于FPGA来说,是生成位流数据文件(Bitstream Generation)。,4、设计校验 设计校验过程包括功能仿真和时序仿真,这两项工作是在设计处理过程

43、中间同时进行的。功能仿真是在设计输入完成之后,选择具体器件进行编译之前进行的逻辑功能验证。此时的仿真没有延时信息,进行初步的功能测试。仿真前,要先利用波形编辑器或硬件描述语言建立波形文件或测试向量,也就是所关心的输入信号组合成序列。仿真结果将会生成报告文件和输出信号波形,从中可以观察各个节点的信号变化。 时序仿真是在选择具体器件,完成布局和布线之后进行的时序关系仿真,时序关系仿真是与实际器件工作情况基本相同的仿真。由于不同器件的内部延时不一样,不同的布局与布线方案也给延时造成不同的影响,因此在设计处理以后,对系统和各模块进行时序仿真,估计设计的性能以及检查和消除竞争冒险等是非常有必要的。 5器

44、件编程 器件编程是指将编程数据放到具体的可编程器件中去。对于CPLD器件来说是将JED文件“下载”到CPLD器件中去,对于FPGA来说是将位流数据BG文件“配置”到FPGA中去。普通的CPLD器件和FPGA器件需要专用的编程器完成器件的编程。在系统的可编程器件不需要专门的编程器,只要一根下载编程电缆就可以了。 器件在编程完毕之后,可以用编译时产生的文件对器件进行检验、加密等工作。对于具有边界扫描测试能力和在系统编程能力的器件来说,测试比较方便。,6.5.2 MAX 7000S/E可编程逻辑器件 MAX7000S/E器件中包括逻辑阵列块、宏单元、扩展乘积项、可编程连线阵列和I/O控制块5部分。M

45、AX7000S/E有4个专用输入,即可作为通用输入,也可作为每个宏单元和I/O引脚的控制信号。MAX 7000S/E器件的结构如图6-18所示。,图6-18 MAX7000S/E器件结构,(1)逻辑阵列块。MAX7000S/E器件主要由高性能的逻辑阵列块LAB(Logic Array Block),以及它们之间的连线通道组成。每16个宏单元阵列组成一个LAB,多个LAB通过可编程互连阵列连接在一起。 (2)宏单元。宏单元可以配置成时序逻辑或者组合逻辑。每个宏单元由逻辑阵列、乘积项选择矩阵和可编程寄存器等3个功能块组成。MAX7000S/E器件的宏单元结构如图6-19所示。,图6-19 MAX7

46、000S/E器件的宏单元结构,逻辑阵列用来实现组合逻辑,它为每个宏单元提供5个乘积项。乘积项选择矩阵把这些乘积项分配到“或”门和“异或”门作为基本逻辑输入,以实现组合逻辑功能。这些乘积项也可以作为宏单元的辅助输入实现寄存器清除、预置、时钟和时钟使能等控制功能。 每个宏单元寄存器可以编程为具有可编程时钟控制的D、T、JK或SR触发器工作方式。每个宏单元寄存器也可以被旁路掉,实现组合逻辑工作方式。 每一个可编程寄存器的时钟可配置成3种不同方式:全局时钟能实现从时钟到输出最快的性能,高电平有效的时钟使能的全局时钟,这种时钟为每个寄存器提供使能信号,仍然能够达到全局时钟的快速时钟性能;乘积项时钟,在这

47、种方式下,寄存器由来自宏单元或I/O引脚的信号进行时钟控制。 (3) 扩展乘积项。大多数逻辑功能可以用每个宏单元中的5个乘积项实现,对于更复杂的逻辑功能,“与”要用到附加乘积项实现。为了提供所需的逻辑资源, MAX7000利用共享和并联扩展乘积项,作为附加的乘积项直接输送到LAB的任一宏单元中。,1) 共享扩展项。每个LAB有16个共享扩展项。共享扩展项就是由每个宏单元提供一个未投入使用的乘积项,并将它们反相后反馈到逻辑阵列中,以便于集中使用。每个共享扩展乘积项可被所在的LAB内任意或全部宏单元使用和共享,以实现复杂的逻辑功能。如图6-20所示。,图6-20 共享扩展项,2)并联扩展项。并联扩

48、展项是宏单元中没有使用的乘积项,这些乘积项可以分配给相临的宏单元,以实现高速的、复杂的逻辑功能。并联扩展项允许多达20个乘积项直接馈送到宏单元的“或”逻辑中,其中5个乘积项由宏单元本身提供,另外15个并联扩展项由该LAB中临近的宏单元提供。如图6-21所示。,图6-21 并联扩展项,(4)可编程连线阵列。通过在可编程连线阵列上布线,可以把各个LAB相互连接而构成所需的逻辑,也可以把器件中任一信号源连接到其目的端。所有MAX7000S/E器件的专用输入、I/O和宏单元输出送到可编程连线阵列,可编程连线阵列再将这些信号送到器件内的各个地方。图6-22是可编程连线阵列结构图。图中EEPROM单元控制

49、二输入“与”门的一个输入端,选择驱动LAB的信号。,图6-22 可编程连线阵列结构图,(5) I/O控制块。I/0控制块允许每个I/O引脚单独地配置为输入、输出和双向工作方式。所有I/O引脚都有一个三态缓冲器,它由全局输出使能信号中的一个控制,或者把使能端直接连接到地(GND)或电源(VCC)上。当三态缓冲器的控制端接地时,输出为高阻态。此时,I/O引脚可用做专用输入引脚。当三态缓冲器的控制端接高电平时,输出有效,如图6-23所示。,图6-23 I/O控制块,5.MAX7000S/E系列器件特性设定 (1) MAX7000S/E系列器件速度/功耗配置。MAX7000S/E系列器件提供省电工作模

50、式,可使用户定义的信号路径或整个器件工作在低功耗状态。这种性能使总功耗下降到50%或更低。这是因为,在许多逻辑应用中,所有门中只有小部分电路需要工作在最高频率。设计者把MAX7000S/E系列器件中每个独立的宏单元编程为高速(打开Turbo位)或低速(关断Turbo位)工作模式。 (2) MAX7000S/E系列器件输出配置。MAX7000S/E系列器件的输出可以根据系统的各种需求进行编程配置。 1) 多电压I/O接口。MAX7000S/E系列器件具有多电压接口的特性,也就是说,MAX7000S/E可以与不同电源电压的系统接口。所有封装中的5V器件都可以将I/O设置在3.3V或5.0V下工作。

51、这些器件设有VCCINT和VCCIO等两组VCC引脚,它们分别用于内部电路和输入缓冲器及I/O输出缓冲器。根据输出的要求,VCCIO引脚可连到3.3V或5.0V电源。当VCCIO接5.0V电源时,输出电平和5.0V系统兼容。当VCCIO接3.3V电源时,输出电平和3.3V系统兼容。 2) 漏极开路配置。MAX7000S/E系列器件每个I/O引脚都有一个类同于集电极开路输出控制的( Open-Drain )输出配置选项。MAX7000S/E系列器件可利用输出配置选项为输出提供诸如中断和写允许等的系统级信号。这些信号能够由任意一个器件所支持,也能同时由多个器件来提供,并提供一个附加的“线或”。,3) 电压摆率控制选项。MAX7000S/E的每一个I/O引脚的输出缓冲器的电压摆率都可以调整,也就是可配置成低噪声方式或高速性能方式。较快的电压摆率能为高速系统提供高速转换速率,但它同时会给系统引入更大的噪声。低电压摆率能减少系统噪声,同时也会产生4ns5ns的附加延迟。摆率控制连到Turbo位。当Turbo位接通时,电压摆率设置在快速状态。这种设置应当仅用在系统中影响速度的关键输出端,并有相应的抗噪声措施。当Turbo位断开时,电压摆率设置在低噪声状态,这将减少噪声的生成和地线上的毛刺。MAX7000S/E的每一个I/O引脚都有一个专用的EEPROM位来控制电压摆率,它使得设计员能够指

温馨提示

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

评论

0/150

提交评论