带有预充电电路的自定时可编程逻辑阵列的制作方法

文档序号:1177研发日期:1987年阅读:253来源:国知局
技术简介:
该发明针对现有技术中可编程逻辑阵列中的小项线需要多个选通门进行预充电的问题,提出了一种简化且规范化的解决方案。通过引入能够浮动的开关装置,在不需额外控制信号的情况下对结点进行预充电,并利用自定时特性来减少外围控制电路的数量,实现更加高效的编码与译码操作。
关键词:预充电,自定时,简化布局
专利名称:带有预充电电路的自定时可编程逻辑阵列的制作方法
总的来说,本发明涉及的是可编程逻辑阵列,尤其是涉及带有在对输入信号进行译码并对输出信号进行编码之前予充电小项导线及输出导线的予充电电路的自定时可编程逻辑阵列。
由于人们已经在使用大规模和超大规模集成(“LSI”和“VLSI”)电路技术制作数字集成电路,所以对于实现控制逻辑电路来说,可编程逻辑阵列已成为普通的技术手法了,如象很多状态序列发生器和状态译码器,以及以前采用组合逻辑实现的一些电路。可编程逻辑阵列接收多个输入信号,并且根据保持输入信号模式及求反输入信号模式来产生多个具有经选择的信号保持模式及信号求反模式的输出信号。输入信号的编码,即所保持的及所求反的特定的输入信号,确定输出信号的编码。
把可编程逻辑阵列划分成两部分或两个“面”。一个起译码作用,另一个起编码作用。这两部分是通过多条导线相连接的。我们把这些导线称作为“小项”导线。译码部分接收输入信号,并且根据这些输入信号的编码使启动一个或几个小项导线。依次使启动这些小项导线,在所选择的模式中使得编码器保持该输出信号或求反该输出信号。
包含有译码器面的这些电路完成AND(与)的功能,从而使启动每个小项导线。每个AND(与)电路接收经选择的输入信号的原码或补码。根据予先确定的编码,仅选择那些特定的小项导线,也就是说,这些小项导线同其余的相比具有不同的状态(高电平或低电平)。
包含有编码器面的电路有效地执行OR(或)功能,同时通过执行OR(或)功能的一个电路驱动每个输出线。到每个OR(或)电路上去的那些输入信号就是在那些小项导线上来自译码器部分的信号。当选择小项导线时,连接到小项导线上的OR(或)电路确立输出线的状态。
采用可编程逻辑阵列的一个主要好处是该阵列在集成电路芯片上一般可以有一个很规则的物理形状。到完成AND(与)功能电路的输入线包括有输入信号的原码及/或补码,而且在一般的超大规模(VLSI)可编程逻辑阵列的物理实现上,来自OR(或)电路的输出位线绝大部分是平行排列的。此外,大多数小项导线是与输入输出线相正交排列的。采用多个晶体管作成每个AND(与)电路,同时把一个晶体管用于每个输入信号或者用于控制该小项导线的输入信号补码。把每个晶体管连在有关的小项导线与地之间,并通过输入线(或补码线)上的信号进行控制。
为了加速可编程序逻辑阵列的操作,通常把小项导线和输出位线予先充电,也就是说,把它们放置在经选择的电状态上,一般是在使启动AND(与)及OR(或)线操作之前把它们放置在一个高电压状态上;这样能使信号会产生得更快。过去,人们为了防止输入信号影响予充电操作,往往把若干选通门加在输入线上以及译码器和编码器部分之间的小项导线上,使得输入信号不能向输入线上传送,并且阻止小项导线上的信号从译码器部分向编码器部分传送。然而,在可编程逻辑阵列中,这些附加的选通门大大扰乱了线的规则布局。此外,在信号通路中附加的这些选通门电路增加了信号的延迟,这就放慢了可编程逻辑阵列的操作。
本发明提供了一种新的改进的可编程逻辑阵列。这种可编程逻辑阵列具有开始对小项导线和输出位线进行予充电的改进电路以及指示何时输出信号有效并可以采用的一个内部定时电路。该定时电路也易于在该可编程逻辑阵列内进行定时。因此,该编码器部分是在所认定的恰当的小项导线上的信号之后,并在编码器部分是有效的情况下进行操作的。
简单来说,该新的可编程逻辑阵列包括有输入译码器部分和输出编码器部分。它们是通过多个小项导线和内部的定时电路相互连接起来的。每个小项导线是由包括有多个晶体管的AND(与)电路控制的。这些晶体管又依次由输入信号或输入信号的补码所控制。在编码器部分中,每个小项导线也控制多个OR(或)电路,同时每个OR(或)电路也由多个晶体管组成,而且每个晶体管依次控制一个输出位线。该可编程逻辑阵列也包括一个用于予充电小项导线和输出位线的电路。在予充电操作期间,这些晶体管开关将译码器和编码器部分中组成AND(与)电路及OR(或)电路的晶体管保持在截止状态,使得予充电能以迅速地完成。
该内部定时电路包括两部分,一个是定时译码器部分,另一个是定时编码器部分。这两部分由定时导线连接起来。所接收到的使启动信号接通控制译码器部分的晶体管开关。该开关也控制定时部分的译码器。一个予定的时间延迟之后,该定时部分的译码器产生一个接通控制编码部分晶体管开关的使启动信号。该开关也控制定时部分的编码器。该定时部分的编码器产生一个输出使启动信号。一个予定的时间延迟之后,使启动下一级的电路,从而利用这个来自可编程逻辑阵列的输出信号。
在该使启动信号的接收和通过每个定时部分产生传送使启动信号之间的延迟时间,同在小项导线和输出导线上对于相应的译码器和编码器部分来说用来产生信号并且将这些信号传送到随后的部分或下一级电路所需要的时间是相关的。在每个定时部分中的延迟时间是通过阻容电路控制的。其中的电容是通过多个并联的晶体管给出来的。其中晶体管的数目是与相连接着的译码器或编码器电路中连接到小项导线或输出位线上的晶体管的最大数目相一致的。
在附后的权利要求
中,就其实质精神提出了本发明。本发明的上述优点及其进一步的优越性通过参阅以下结合附图的说明将可以得到更好的了解。附图中描述了根据本发明构成的可编程逻辑阵列的电路图。
参阅附图,根据本发明构成的可编程逻辑阵列10包括有通过多个小项导线16A至16K连接到编码器部分14上去的译码器部分12。译码器部分根据在输入线19A至19N上接收到的译码输入信号进行操作。每个译码输入信号DECINPO至DECINPN表示通过上一级电路(未示出)耦联到该可编程逻辑阵列上去的输入信号INPO至X(未示出)中一个输入信号的原码或补码,从而相应于此,使启动输出信号OUTO至OUTM的产生。
译码器部分12根据特定的DECINPO至DECINPN译码输入信号的编码,来选择恰当的小项导线16A至16K。也就是说,根据DECINPO至DECINPN译码输入信号认定的模式,来选择一个或几个小项导线16A至16K,该模式表示相应的来自上一级电路所连接着的输入信号INPO至X的保持模式及求反模式。在可编程逻辑阵列中往往出现这种情况,不论一个输入信号或多个输入信号的状态如何,都可以选择一个小项导线,我们把这样的信号称为“非竞争”信号。该小项导线的选择使启动该编码器部分,从而在输出位线20A至20M上产生出多个输出信号OUTO至OUTM,同时产生出具有经选择的保持信号及求反信号进行编码的输出信号。我们可以把输出信号OUTO至OUTM用来控制下一级电路(未示出)。
可编码逻辑阵列10还包括有完成若干功能的自定时电路18。首先,在线22上由PRECHARGE信号起动的予充电阶段期间里,该自定时电路18使其译码器部分12及编码器部分14全部截止。在该予定充电阶段期间里,把小项导线16A至16K及输出导线20A至20M充电到对于相继而后的那些阶段来说的一个高电平上。该予充电阶段之后,根据DECENB译码使启动信号,该自定时电路使启动译码器部分12,从而根据其DECINPO至N的译码输入信号来选择恰当的小项导线16A至16K。在这个时间里,该自定时电路18将编码器部分14维持在截止状态上。
将这些小项导线进行选择之后,再将其恰当的信号传送到编码器部分14,并使它们稳定下来,该自定时电路18在线23A上产生一个ENCENB编码使启动信号。这个信号使启动其编码器部分14,从而对所选择的输出位线20A至20M进行供电,按照由经选择了的小项导线所确定的那样产生出输出信号OUTO至OUTM的模式。最后,该自定时电路18在传送到电路(未示出)上去的线23B上产生出一个OUTENB输出使启动信号。这个电路再采用输出信号OUTO至OUTM指示哪些是有效的并且是可以使用的输出信号。
对于小项导线来说,通过所连接着的予充电缓冲器电路22A至22K将每个小项导线16A至16K进行予充电;对于输出位线来说,通过所连接着的予充电缓冲器电路24A至24M将每个输出位线20A至20M进行予充电。在自定时电路18中,也给出了予充电缓冲器电路26A及26B用来予充电线23A及23B。根据PRECHARGE予充电使启动信号起动这些予充电缓冲器电路,从而予充电该自定时电路18中的线22及23。由于每个予充电缓冲器电路都是一样的,因此以下我们只将详细说明予充电缓冲器电路26A。
开始,在予充电阶段期间,DECENB译码使启动信号及ENCENB编码使启动信号都是负向的,因而使晶体管28及30截止。在译码及编码阶段期间,晶体管28及30是可以工作的,从而按照以下描述得那样,分别使启动其译码部分12及编码部分14。由于在予充电阶段之前,一开始该PRECHARGE信号是负向的,因此使得予充电缓冲器电路26A中的晶体管32截止。当把该PRECHARGE信号建立起来的时候,则晶体管32导通,并使得电流从电源Vdd流向该自定时电路18中的结点A。在结点A上进行充电,也就是对结点A上连有的多个晶体管33A至33I的漏极电容进行充电。于是,将结点A充电到近似于电源电压,但又小于晶体管32阈值压降的一个电平上。同样,用予充电缓冲器电路26B实现的充电,也是对连有多个晶体管35A至35J的漏极电容进行充电。按照以下描述的那样,选择晶体管33A至33I及35A至35J的数目。
在予充电阶段结束时,该PRECHARGE信号反向;因而,晶体管32截止。予充电缓冲电路26A包括在结点A和电源之间通过负载晶体管34和耗尽型晶体管36构成的直接非开关通路。
晶体管36对结点A给出一个弱静电上拉,用以阻止在予充电阶段刚刚完成以后和可编程逻辑阵列其随后的工作阶段开始以前由于结点A的电平下降而引起结点A上的泄漏电流。负载晶体管34的作用实质上如同一个负载电阻,并且在其栅极与源极端之间给出一个阈值电压降。该电压降确保结点A的电平最高达到电源Vdd的电平,最少达到晶体管34栅极与源极之间的电压降。这就使得当下拉器件(例如以下要提及的晶体管28)仅是从一个较低的电平而不是从电源电压Vdd下拉时,在相继的工作阶段期间内,提高了电路的运算速度。然而,如下所述,当在予充电以后的阶段期间内晶体管28导通时,晶体管34和36则不能保持结点A处于高电平。
自定时电路18也包括晶体管38和40。将这两个晶体管分别连接在电源Vdd和晶体管28漏极结点B以及晶体管30漏极结点C之间。在予充电阶段期间,晶体管38和40的栅极由PRECHARGE信号激励使得晶体管能分别在结点B和C上予先充电。
译码器部分12包括50A-50K多个级,在该译码器部分的赋值阶段期间里,将其每一级连接通,并且控制由16A至16K的小项导线中的一个小项导线。每一级都是相同的。因此,我们将只详细描述级50A。级50A包括在结点D和自定时电路18中结点B之间并联连接的多个晶体管52A-52N,并且予充电缓冲电路22A和小项导线16A也连接到结点D上。由DECINPO到DECINPN的译码输入信号中的一个信号来控制晶体管52A-52N中的每一个晶体管。和通常一样,级50A-50K中的这些晶体管不可能接受DECINPO到N的所有信号。通过以下的描述将可以更清楚地了解到如何选择在任一级中所接受的DECINPO到N的信号。
在译码阶段之前,把控制该级的DECINPO至DECINPN信号中的一些信号加到52A至52N的若干晶体管上。如果所加的DECINPO至N信号中的任一个信号是高电平的话,那么52A至52N中相应的晶体管则处于使启动状态。但由于晶体管28处于截止状态,于是结点B处于高电压状态,所以没有一个晶体管实际上被接通或导通。当在译码阶段期间,晶体管28响应DECENB信号而导通时,则将由各个DECINP信号使启动的晶体管52A-52N导通。
在译码阶段期间,如果52A-52N中的任一个晶体管导通的话,则结点D通过晶体管28对地放电,从而使小项导线16A拉到低电平。而后,级50A响应耦合到它上面去的DECINPO至N的信号执行NOR(或非)功能;如果耦合到该级的由DECINPO至DECINPN译码输入信号中的任何一个信号是高电平的话,则把小项O线16A拉到低电压状态。如在梅德(C.Mead)和肯卫(L.Conway)的“VLSI系统的介绍”(Addison-Wesley,1980,第79-82页)中所述,通过对耦合到该级的信号INPO至X和信号DECINPO至N在原码与补码之间相联的适当选择,级50A依据信号INPO至X的某些特殊编码执行AND(与)功能。其余级50B至50K的工作情况也是一样的。
当DECENB译码使启动信号使晶体管28导通时,则在自定时电路18中的结点A也开始通过晶体管54放电。晶体管54由电源Vdd通过负载晶体管56提供偏压,并且有效地起到一个电阻器的作用。该电阻器的电阻值取决于由晶体管56所提供的偏置电压。存贮在晶体管33A至33I的电容中的电荷通过晶体管54和已被使启动的晶体管28放电,所以结点A上的电平以某一速率随着与晶体管54的电阻(假设晶体管54的电阻大大高于晶体管28的有效电阻)和晶体管33A至33I的有效漏极电容(各个晶体管漏极电容的总和)的乘积相关的特性下降。由于结点A电平的下降,则反相器58使得线23A上的ENCENB信号的电平上升。当该ENCENB编码使启动信号的电平达到阈值电平时,则晶体管30就在这一点上开始导通。
再看线16A至16K上的MINTERMO至K信号。应该看到,这些信号电平下降的速率主要是由译码器部分12中的级50A至50K内的晶体管52A至52N的电容和电阻控制的。假设所有的晶体管52实质上结构相同并且电特性也相同,那么在译码阶段期间MINTERM信号下降最慢的那一级将是具有晶体管52最多的那一级,并且仅仅是在该级中DECINP信号把晶体管52内的一个晶体管通导时,才会出现这种情况。在这种情况下,处于导通状态下的那个唯一的晶体管52以由那个导通晶体管的电阻和其余晶体管的电容之和所确定的速率放掉在予充电阶段期间存入其余晶体管电容内的全部电荷。
如上所述,结点A电平下降的速率和ENCENB编码使启动信号电平上升相继出现的速率是由晶体管33A至33I的电容和晶体管54的电阻相组合起来确定的。选择晶体管33A至33I的数目等于译码部分12中级50里一级中的晶体管52的最大数目,并且它们的物理特性及电特性与晶体管52对应着的特性相关;因此,由于晶体管33的缘故。结点A上的电容就直接同其MINTERM信号取最长下降时间的那一级中的晶体管52的电容相关。此外,将自定时电路18内的晶体管54偏置,从而使其有效电阻稍大于多晶体管52中任一个晶体管的电阻。因此,线22上ENCENB编码使启动信号的上升时间,即ENCENB信号使自定时电路18中的晶体管30有效导通所需要的时间,同所有MINTERM信号在译码阶段期间趋向下降所需要的最长时间与把这些MINTERM信号传送给编码器部分14所需要的最长时间相关。通过对晶体管54的电阻及晶体管33A至33I漏极-栅极电容的适当选择,ENCENB编码使启动信号的上升时间可以稍大于将所有MINTERM信号传送给编码器部分14所需要的最长时间。
编码器部分14由60A至60M多级构成。其中,每一级都控制输出位线20A至20M中的一个位线。这些级都是相同的。下面将只是详细地描述控制输出位线20A的具有代表性的级60A。级60A包括62A至62K的多个晶体管。把所有这些晶体管62的漏极都连接到输出位线20A上,从而形成结点E;而把所有这些晶体管的源极都连接到结点C上,并且通过晶体管30进行控制。所有这些晶体管的栅极都由16A至16K的小项线进行控制。这样,由62A至62K的各个晶体管的开关状态就由各自一个MINTERM信号进行控制。根据响应MINTERMO至K信号的OUTO输出信号所需要的编码,62A至62K的某些晶体管可以不存在;如果在响应于该确定的MINTERM信号当中,该OUTO信号是高电平的话,那么对于该相应的小项线来说,可以不给出晶体管62A至62K。
级60A以与上述级50A相同的工作方式进行工作。在予充电和译码两个阶段的期间里,自定时电路18中的晶体管30截止,而后结点C浮动到地电平以上。不管响应于连接有MINTERM信号的晶体管62的状态如何,在予充电阶段以后,结点E和OUTO输出信号都将处于高电平。在译码阶段之后,编码阶段之前,处于高电平的单个MINTERMO至K信号使所提供的晶体管62A至62K能以启动。当ENCENB编码使启动信号使晶体管30导通时,则使能启动晶体管62A至62K导通,并且使由于予充电刚刚处于高电平的结点E以及OUTO输出信号的电平开始下降。如果在那个小项线上没有晶体管62,那么结点E,而后还有OUTO信号的电平都将保持不变。
应该理解到,通过在级60A至60M的每一级当中适当地选择晶体管62A至62K的连接,级60A至60M在控制OUTO至M输出信号的过程中执行OR(或)操作。把晶体管62连接在结点E和C之间,用于任一MINTERM信号。在认定该MINTERM信号时,用它将OUTO信号变到低电压状态;而如果把OUTO信号保持在高电压状态,则不给出晶体管62。
当ENCENB编码使启动信号使晶体管30导通时,已经贮存在晶体管35A至35J的漏极一栅极电容内的电荷开始通过晶体管64和30放电。在这种情况发生下的速率确定在OUTENB输出使启动信号下降的速率。如上所述,在同晶体管33A至33I和54及在线23A上的ENCENB编码使启动信号的连接上,通过适当选择晶体管35A至35J的数目和它们的漏极电容以及晶体管64的漏极-源极有效电阻,可以使线23B上的OUTENB信号的下降时间与线20A至20M上信号OUTO至M的下降时间相一致。下一级电路(未示出)可以使用OUTENB输出使启动信号来确定何时该OUTO至M信号是有效的以及何时可以使用它们。
本专业领域内的普通技术人员可以看出,在附图中及上述说明中所描述的可编程逻辑阵列克服了现有技术中存在的问题,即现有技术在小项线中需要多个选通门才能使它们得到予先充电。借此发明则可使在集成电路芯片中进一步简化并规范化该可编程逻辑阵列的布局。在予先充电阶段期间,晶体管28和30使得结点B和C的电平能有效浮动,从而可以进行予充电而不必去选通INPO至INPN的信号和MINTERMO至K的信号,这就有效地减少了在可编程逻辑阵列中所需要的晶体管的数目。
本发明的自定时特征还减少了用作使启动译码、编码和响应于控制晶体管28的DECENB译码使启动信号而有效地启动的输出阶段所需要的一些外围控制电路的数量。另外,利用自定时特征,该ENCENB编码使启动信号和OUTENB输出使启动信号的定时,分别和有关的MINTERMO至K及OUTO至M信号的产生与有效性是紧密相关的。
以上说明只局限于本发明的一个特定的实施方案。然而,很清楚,人们利用本发明所达到的一部分或全部优点,还可以对本发明作出各种变型和改型。因此,本发明附后的权利要求
的目的就是覆盖所有这些在本发实质精神和范围之内的各种变型和改型。
权利要求
1.一个可编程逻辑阵列包括通过由多个小项导线连接的输入译码器部分和输出编码器部分;该输入译码器响应于多个输入信号的编码进行选择小项导线;而输出编码器部分传送每一个在各个输出位线上的多个输出信号;并由所选择的小项导线确定编码;A.该输入译码器部分包括多个译码器级,每一级都连接到上述接有小项导线的结点上,至少有一部分上述译码器级包括一个连接到上述各个结点的控制晶体管,用以在一个输入信号的控制下进行上述小项导线选择的控制;B.该输出编码器部分包括多个级,每一级都连接到上述接有输出导线的结点上,至少有一部分级包括至少一个连接到上述各个结点的控制晶体管,用以在响应于上述小项导线的选择之中在其输出导线上进行输出信号的控制;该可编程逻辑阵列还包括用于向各个结点予先充电的予充电装置,将上述每一个控制晶体管都接在上述各个结点和开关装置之间,并且具有响应于上述各个输入信号或者上述各个小项导线选择进行控制的一个控制端;该开关装置响应于用来有选择地使启动这些控制晶体管的使启动信号。
专利摘要
一个可编程逻辑阵列包括由多个小项导线所连接的译码器部分和编码器部分。该译码器部分接受多个输入信号,并相应选择适当的小项导线。这些小项导线的选择使得编码器部分能够在各个输出导线上传送多个输出信号。译码器部分和编码器部分都包括有多个级,每一级都相应于这些输入信号和小项导线的选择来控制小项导线和输出导线。这些级包括连接在分别接有小项导线和输出导线的结点与若干使控制晶体管导通和截止的开关之间的控制晶体管。
文档编号G11C11/41GK87105419SQ87105419
公开日1988年5月4日 申请日期1987年7月2日
发明者罗伯特·C·罗斯, 贾殊·佩特尔 申请人:数字设备公司
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!
1