可分裂的查找表及逻辑元件的制作方法

文档序号:7526976阅读:188来源:国知局
可分裂的查找表及逻辑元件的制作方法
【专利摘要】本发明涉及可分裂的查找表及逻辑元件。一种逻辑元件包括存储元件,多路复用器和控制信号。这些多路复用器按等级排列并且包括最高等级的多路复用器,其具有连接到存储元件的输入端和连接到次高等级的多路复用器输入端的输出端,这些多路复用器还包括一个第一等级的多路复用器,其具有连接到第二等级的多路复用器的输出端的输入端和至少一个输出端。控制信号被连接到多路复用器。在第一种操作模式下,控制信号确定在至少一个第一等级多路复用器输出端处的第一模式输出,在第二操作模式下,控制信号确定在所选择的非第一等级多路复用器输出端处的第二模式输出。
【专利说明】可分裂的查找表及逻辑元件
[0001]本申请是申请日为2004年2月9日、申请号为200410033018.8、发明名称为“可分裂的查找表及逻辑元件”的专利申请的分案申请。

【技术领域】
[0002]本发明涉及与可编程逻辑设备或者其他类似设备一同使用的逻辑元件。

【背景技术】
[0003]可编程逻辑设备(“PLD”)(有时也称为 CPLD,PAL, PLA, FPLA, EPLD, EEPLD, LCA,FPGA,或者其他的名称)是众所周知的集成电路,其提供了固定集成电路的诸多优点和自定义集成电路的灵活性。这样的设备在本领域是众所周知的,并且典型地提供一种其至少一个部分能够被电子编程以满足用户的特殊需要的“不用定制的”的设备。传统上,专用集成电路(“ASIC”)是固定集成电路,然而,可能提供具有一个或者多个可编程部分的ASIC ;因而,集成电路设备可能同时具有ASIC和PLD的特性。在这里使用的术语PLD将被认为是足够广泛的,并且包括了这样的设备。
[0004]典型地,PLD包括逻辑元件块,其有时被称为逻辑阵列块(“LAB”)或者“可配置逻辑块”(“CLB”)。逻辑元件(“LE”)也用其他的名字进行命名,诸如“逻辑电路”或者“逻辑单元”,该逻辑元件块也可以包括一个查找表(“LUT”),乘积项(product term),执行链,寄存器,以及其他的元件。
[0005]包括基于LUT的逻辑元件在内的逻辑元件,典型地包括可配置元件,这些可配置元件保存了用于决定逻辑元件所实现的一个或多个特殊函数的配置数据。典型的LUT电路可以包括保存数据(“I”或者“O”)的RAM比特。然而,可以使用其他类型的可配置元件。一些示例可以包括静态存取存储器,磁存取存储器,铁电存取存储器或者动态随机存取存储器,电可擦只读存储器,闪存,熔断式可编程连接,反熔断式可编程连接。在设备的制造期间通过掩模程序设计也能实现配置元件的编程。尽管掩模程序设计相对于一些已经列出的现场可编程的可选方案可能具有一些缺点,但是其可以被用于某种大量生产应用中。为了这个目的,通用术语“存储元件”将被用于指任意一种可编程元件,其可以被配置以决定由PLD所实现的函数。
[0006]正像前面所讨论的,通常将查找表(“LUT”)用作基本逻辑元件来构造PLD。例如,一个K-输入查找表(K-LUT)典型地包括2K个可编程存储元件,以及一个2K到I的多路复用器,在K个至多路复用器的选择输入的控制下选择其中一个存储元件。这K个输入可被认为是K-输入逻辑函数的输入,通过将存储元件的内容设置为合适值,就可以实现任意特殊的所需的逻辑函数。
[0007]在用LUT构造的逻辑电路的成本和速度之间存在一个权衡。典型地,每一 LUT的成本随着K的选择而按指数规律地增长,K值越高,构造逻辑电路所需的LUT的数量的降低速度越慢。然而,对于更大的K值,串联的LUT的数量将减少,使得逻辑电路变得更快。例如,采用K = 4,将需要十六个存储元件和一个16:1的多路复用器以构造一个单一的LUT,并且对于K = 6,将需要六十四个存储元件和一个64:1的多路复用器。一个给定的逻辑电路可以需要一千个4-LUT,但是仅需要八百个6-LUT。在这种假定下,需要更多的硬件来构造6-LUT逻辑元件,因为LUT数量的减少不足以补偿每一 LUT复杂性的提高。然而,对于6-LUT电路系统越来越高的硬件需求由延迟的减少来补偿。经过逻辑电路最长的路径可以是十个4-LUT或八个6-LUT。这样,6-LUT形式的电路可能更大,但是更快。此外,6-LUT电路将或许需要更少的PLD可编程路由,这部分地补偿了更高的成本所带来的影响。
[0008]较大LUT的效率较低的一个原因是,不是所有的逻辑函数都将使用所有的K个输入。对于前面所述的示例,八百个6-LUT实际可以包括三百个6-输入函数,三百个5-输入函数,一百个4-输入函数以及一百个3-输入函数。因而,基于6-LUT的LE在八百中仅有三百个能完全发挥其作用。
[0009]这样,需要这样一种具有可编程结构的逻辑元件:它能被配置为实现相对大的LUT,或者做为替换,实现多个较小的LUT。


【发明内容】

[0010]按照本发明的第一方面,提供了一种可编程逻辑设备,其包括:存储器;可分裂的查找表LUT,所述可分裂的LUT包括多个操作模式,所述操作模式包括非分裂操作模式和分裂操作模式,所述非分裂操作模式生成来自第一等级的多路复用器的单个输出,所述分裂操作模式生成来自第二等级的多路复用器的多个输出。
[0011]按照本发明的第二方面,提供了一种系统,包括:可分裂的查找表LUT,可分裂的LUT包括多个等级的多路复用器,所述多个等级的多路复用器包括第一等级的多路复用器和第二等级的多路复用器,所述第一等级的多路复用器配置成接收来自第二等级的多路复用器的输入,其中可分裂的LUT包括多个操作模式,所述多个操作模式包括非分裂操作模式和分裂操作模式,所述非分裂操作模式生成来自第一等级的多路复用器的单个输出,所述分裂操作模式生成来自第二等级的多路复用器的多个输出。
[0012]按照本发明的第三方面,提供了一种可编程逻辑阵列设备,包括:多个互连线;多个逻辑块,所述多个逻辑块布置成阵列并且通过多个互连线相互连接;以及多个逻辑元件,所述多个逻辑元件分别包括在多个逻辑块中,其中所述逻辑元件还包括:6_输入查找表,所述6-输入查找表能够分裂成第一分裂查找表和第二分裂查找表,其中两个分裂查找表共享6个输入中的至少5个。
[0013]按照本发明的第四方面,提供了一种在可编程逻辑设备中使用的逻辑元件,所述逻辑元件包括:多个存储元件,所述存储元件的每一个被布置成存储数据值;第一多个多路复用器,每个多路复用器直接或间接耦合到存储元件中的一个或多个并且被配置成输出存储在存储元件中的数据值当中的所选择的一个;以及一组选择信号,配置成控制第一多个多路复用器以便输出分别存储在存储元件中的数据值当中的一个或多个,所述选择信号选择性耦合到第一多个多路复用器以便实现下列逻辑功能=Z1由完整的选择信号组导出;Z2由完整的选择信号组的第一子集导出;以及Z3由选择信号的第二子集导出,第二子集不同于第一子集,但是包括至少一个与第一子集一样的选择信号。
[0014]在本发明的一个实施例中,逻辑元件包括存储元件,多路复用器和控制信号。这些多路复用器按等级排列,包括一个最高等级的多路复用器,其具有连接到存储元件的输入端和连接到次高等级的多路复用器输入端的输出端,这些多路复用器还包含一个第一等级的多路复用器,其具有连接到第二等级的多路复用器的输出端的输入端和至少一个输出端。控制信号被连接到多路复用器。在第一种操作模式中,控制信号确定在至少一个第一等级多路复用器的输出端处的第一模式输出,以及在第二操作模式中,控制信号确定在所选择的非第一等级多路复用器的输出端处的第二模式输出。依照这个实施例的另一个方面,当逻辑元件在第一操作模式时,第一模式输出提供一个控制信号的完整函数。依照另一个方面,当逻辑元件在第二操作模式时,每一第二模式输出提供一个适当子集的控制信号的完整函数。依照另一个方面,当逻辑元件在第二操作模式时,一个或者多个控制信号被分为多个子控制信号,以至于使得相应的子控制信号在每一连接到所述分裂控制信号的多路复用器处替代每一分裂的控制信号。依照另一个方面,逻辑元件进一步包括一个或者多个控制多路复用器,具有连接到一个或者多个逻辑元件的控制信号的输出端,并且具有由控制多路复用器输入确定的输入。在某些操作条件下,至少两个控制多路复用器接收一个相同的控制多路复用器输入。依照另一个方面,逻辑元件进一步包括附加多路复用器,该附近的多路复用器能与触发器组合。依照另一个方面,逻辑元件进一步包括一个或者多个被连接到逻辑元件的模式多路复用器,用于在第一操作模式和第二操作模式之间切换。依照另一个方面,逻辑元件被包含在一种可编程逻辑设备内,该可编程逻辑设备本身包含在一种数据处理系统中。
[0015]本发明的另一个实施例,一种制造逻辑元件的方法包括提供存储元件,提供多路复用器,和提供控制信号。这些多路复用器按等级排列,包括最高等级的多路复用器,其具有连接到存储元件的输入端,和连接到次高等级的多路复用器输入端的输出端,这些多路复用器还包括一个第一等级的多路复用器,其具有连接到第二等级的多路复用器输出端的输入端和至少一个输出端。控制信号被连接到多路复用器。在第一操作模式下,控制信号确定在第一等级的多路复用器的至少一个输出端处的第一模式输出,以及在第二操作模式下,控制信号确定所选择的非第一等级多路复用器的输出端处的第二模式输出。这个实施例可以包括针对其他实施例在前面所讨论的方面。依照另一个方面,本方法进一步包括向逻辑元件添加一个或者多个控制多路复用器,具有连接到一个或者多个逻辑元件的控制信号的输出端,并且具有由控制多路复用器输入确定的输入。依照另一个方面,本方法进一步包括向逻辑元件添加一个或者多个连接到该逻辑元件的模式多路复用器,用于在第一操作模式和第二操作模式之间切换。

【专利附图】

【附图说明】
[0016]图1不出依照本发明的一个实施例的可分裂(fracturable)6-LUT(“6_输入查找表”电路);
[0017]图2示出依照本发明的一个实施例的可分裂(6,2) -LUT ;
[0018]图3示出依照本发明的一个实施例的具有两个触发器的可分裂(6,2)-LUT ;
[0019]图4示出依照本发明的一个实施例的支持6LUT和独立寄存器的可分裂(6, 2) -LUT ;
[0020]图5示出依照本发明的一个实施例的支持6-LUT和两个独立寄存器的可分裂(6, 2) -LUT ;
[0021]图6示出一个示范性的数据处理系统,包括示范性可编程逻辑设备,在其中可以实现依照本发明的逻辑电路;
[0022]图7示出一个常规的6-LUT ;
[0023]图8A示出一个常规的4-LUT ;
[0024]图8B示出在图8A中示出的4:1多路复用器的进一步的细节。

【具体实施方式】
[0025]图7示出一个常规的6-LUT700,其包括4个4-LUT702。每一个4-LUT702包括十六个存储元件和一个16:1多路复用器,其由输入a,b,c,d704控制。4-LUT702的输出向两个2:1多路复用器706提供输入,每一个多路复用器受输入e708的控制。这些多路复用器的输出向附加的2:1多路复用器710提供输入,该多路复用器710受输入f712的控制,从而提供最终的输出714。以这种方式,能够实现六个输入的任意函数zl (a, b, c, d, e, f)。
[0026]图8A示出一个常规的4-LUT800,其能被用作一个图7示出的6-LUT的组件。4-LUT800包括存储元件819,以及4:1多路复用器850,840。每一存储元件819能保存一个数据比特(即,I或者O),并且如所示,每一个存储元件被连接到多路复用器850的输入端,以向其提供该比特。每一多路复用器850的两个控制输入端被分别连接到4-LUT800的输入A814和输入B813。如图所示,这些多路复用器850的每一个的输出端被连接到另一个4:1多路复用器840的输入端。这个多路复用器840的两个控制输入端被分别连接到
4-LUT800的输入C811和输入D812。这个多路复用器840的输出端提供4-LUT800的最终的输出815。
[0027]本领域的那些技术人员将理解,诸如图8A的4-LUT800的一个4-LUT能提供一个四个输入信号的完整函数。在这个上下文中的“完整”仅仅是指:存储元件819能被编程以配置4-LUT800,从而实现任何一个四-输入函数。也就是说,能通过对存储元件819进行编程来对4-LUT800进行配置(例如,将数值载入那些元件),以至于使得输出信号Y815是输入信号A814,B813, C811和D812的全部逻辑函数中的任何一个,这将被本领域的那些技术人员理解。类似地,图7的6-LUT也能提供其6输入信号的完整函数。
[0028]图8B示出2:1多路复用器841,842的“树型结构”,其构成最终的4:1多路复用器840 (另一个4:1多路复用器850能够类似地被表征)。多路复用器841,842的控制输入811,812与4-LUT800的输入端相对应。更高等级的多路复用器842的输出(即,更接近于存储元件819)送到更接近输出815的下一个等级841。正像本领域技术人员可以理解的,可以将组成最终的4:1多路复用器840的2:1多路复用器841,842的“树型结构”看作是表征4-LUT800的更大2:1多路复用器树型结构的一部分。一般地说,一个典型的LUT电路具有一个多路复用器的树型结构,其可以参照相对于LUT电路的输出所提供的2:1多路复用器的“等级”。
[0029]例如,最接近输出815的多路复用器841可以被称为在4-LUT800的整个2:1多路复用器树型结构中的第一等级多路复用器,并且下一组的两个多路复用器842可被称为该树型结构中的第二等级。通过将图8B的结构扩展为图8A的结构,在4-LUT800中存在四个等级的2:1多路复用器。4-1^爪800具有第三等级,包括四个2:1多路复用器(即,每个2:1多路复用器用于每一个多路复用器150),具有连接到逻辑输入B813的控制输入,以及一个第四等级,包括八个2:1多路复用器(S卩,两个2:1多路复用器用于每一个多路复用器150),具有连接到逻辑输入Al 14的控制输入。
[0030]正像将被本领域的技术人员所理解的,一个4:1多路复用器可以以不同于所示出的多路复用器840的方式而被实现,其在两个不同的等级具有三个2:1多路复用器841,842的树型结构。例如,可以由四个选通门来实现一个4:1多路复用器,每一个选通门可以由两个控制信号的译码输出来控制。在这样一个示例中,四个选通门将不能由彼此的等级来区别自身,然而,4:1多路复用器将有效实现两个等级的2:1多路复用。
[0031]图1示出一个依照本发明的第一实施例的可分裂6-LUT100。与常规的6-LUT700相似,可分裂6-LUT100包括四个4-LUT102。每一个4-LUT102包括十六个存储元件和一个受输入a,b,c,dl04控制的16:1多路复用器。4-LUT102的输出端向两个2:1多路复用器106提供输入,这两个多路复用器中的每一个受输入el08的控制。这些多路复用器106的输出端向一个附加的2:1多路复用器110提供输入,该附加的2:1多路复用器110受输入f 112的控制,从而提供最终的输出114。以这种方式,能够实现6个输入的任意函数zl (a, b, c, d, e, f)。
[0032]与常规的6-LUT700比较,可分裂6-LUT100包括一个附加的2:1多路复用器116,其能获得来自两个4-LUT102的输入,并且受输入Π12的控制。当用作一个6_LUT(即,非分裂操作模式)时,输出信号zl 114是所有6个输入的完整函数。当作为两个函数使用时(即,分裂操作模式),从LUT100的上半部获得的输出z0 118提供a,b, c, d, e的完整函数,以及,从附加的2:1多路复用器116获得的z2 120的输出提供a,b, c, d, f的完整函数。这样,LUT能实现两个5-输入函数,这两个函数共享四个输入a,b,c,和d。可分裂LUT的逻辑外围电路被用于实现以下的选择功能:当LUT100被用作单个的6-LUT时选择zl函数114,或当LUT100被用作两个5-LUT时选择z0 118和z2120。可以理解,LUT的分裂可以更深一层地继续,以使得例如一个可分裂6-LUT能被配置为一个5-LUT和两个4-LUT的组合(这可以通过,例如,用顶部的两个4-LUT102的相应输出来替换zO 118输出来实现)。其他组合可能类似地包括一个5-LUT和一个或者两个3-LUT的组合,或者最直接从图1示出的结构得出,一个四个4-LUT的组合。
[0033]正像图1所示出的,对于K = 6的情况,一个可分裂的K-LUT仅有K个输入,以至于两个(K-1)函数必须使用一个共用K输入信号组。这意味着:每一(K-1)-LUT仅有一个唯一的输入信号,并且与另一个LUT共享(K-2)个信号。为了增加的可分裂LUT使用的灵活性,希望包括更多的输入信号。这可通过从前面的LUT级的公共输入信号中分裂出信号来实现。其以一个可分裂(K,M)-LUT来表示,其中M指的是加到LUT的附加输入信号的数量。
[0034]图2示出一个依照本发明的另一个实施例的可分裂(6,2)-LUTο与图1的可分裂6-LUT相似,可分裂^,2)-LUT200包括四个4-LUT202。每一个4-LUT202包括十六个存储兀件和一个16:1多路复用器。4-LUT202的输出端向两个2:1多路复用器206提供输入,每一个多路复用器206受输入e208的控制。这些多路复用器206的输出端向附加的2:1多路复用器210提供输入,该多路复用器210受输入f212的控制,从而输出最终的输出214。一个附加2:1多路复用器216从两个4-LUT202获得输入,并且受输入f212的控制。
[0035]与可分裂6-LUT100比较,到四个4-LUT202的两个输入被分裂。也就是说,两个输入a和b204与在可分裂6-LUT100中的相似输入104相对应。然而,可分裂6-LUT100的输入c和dl04被分裂为用于4-LUT202的上半部分的输入cl和dl222,以及被用于下半部分的输入c2和d2224。
[0036]按照惯例,到LUT的输入按照从最慢到最快的顺序被列出(即,a,b, c, d),以至于使得d是到每一 4-LUT202的最快输入。希望的是将到LUT最快的输入分裂,使得最快的输入彼此独立。当LUT被用作一个6-LUT时,dl和d2配备有相同的输入信号(即,d = dl=d2),类似地,cl和c2配备有相同的输入信号(即,c = cl = c2)。当LUT被用作两个
5-LUT时,顶部的两个4-LUT形成逻辑函数z0 (a, b, cl, dl, e),而底部的两个4-LUT形成逻辑函数z2 (a, b, c2, d2, f)。这样,仅有两个逻辑信号,a和b必须在两个LUT之间共享。
[0037]因此,在可分裂模式的操作中,能够实现五个输入的完整函数,用于20(8,13,(31,(11,6)218和22(&,13,c2, d2, e) 220,并且在非分裂模式的操作中,采用 c = cl =c2和d = dl = d2,能够实现一个六个输入的完整函数zl (a, b, c, d, e, f) 214。
[0038]可替换地,通过配置LUT,使之没有对一个或者多个输入的函数依赖性,一个可分裂(6,2)-LUT200仅仅使用不多于8个不同的输入信号就能实现任何两个函数,诸如,一个3-输入函数和一个5-输入函数。例如,通过配置4-LUT202的上半部分,使之没有对输入a和b204的依赖性,就可以使一个(6,2) -LUT200能够实现函数zO (cl,dl,e) 218和Z2(a,b,c2,d2,f)220。通常,一个(K,M)-LUT能实现最多可具有K-1个输入的任何两个函数,这两个函数仅仅使用不多于Κ+Μ个不同的输入信号。
[0039]通过利用8 个输入 a, b, cl, c2, dl, d2, e,和 f208, 222,204,224,212 以及 zl 214的输出,可分裂^,2)-LUT200也可被用于不完整逻辑函数。在这种情况下,能够实现8-输入函数zl (a, b, cl, c2, d2, e, f)的一些集合,但是,不同于一般的LUT,不是每一个8_输入函数都能被实现。然而,这可以通过试图设计包含这些函数和任意函数的逻辑电路得以开发。
[0040]逻辑元件的另一个方面是从LUT提供一个触发器的能力。按照惯例,LUT输出可以被用作输入到包含在相同逻辑元件中的触发器的数据。同样,在各种配置信息和逻辑信号的控制下,输入到触发器的数据可以被选择为到LUT的输入之一。本发明令人满意地使得可以将可分裂LUT与一个或者多个逻辑元件中的触发器组合在一起。
[0041]图3示出一个依照本发明的另一个实施例的逻辑元件300。逻辑元件300包括一个可分裂(6,2) -LUT302和两个触发器304a,304b。(6,2) -LUT302具有输入A, B, Cl, C2, Dl, D2, E,和 F,其中这些输入通过输入线 LEIMA, LEIMB, LEIMCI, LEIMC2, LEIMDl,LEIMD2, LEIME,和LEMF306被供给。另外,通过用一个寄存器值REGO对LEMCl进行多路复用和用一个寄存器值REGl对LEMC2进行多路复用,两个多路复用器308a,308b供给输入Cl和C2。在非分裂模式下,LUT302提供一个单独的输出zl 310,并且在分裂模式下,提供两个输出zO 123和zl 314。
[0042]LUT302的输出是到两个多路复用器316a,316b的输入。这些多路复用器316a,316b提供到另一对多路复用器318a,318b的输入,另一对多路复用器318a,318b也从输入线 LEMCl 320a 和 LEMC2320b 获得的输入,LEIMCl 320a 和 LEMC2320b 与反相器 322a,322b, NOR 门 324a, 324b,和 NAND 门 326a, 326b 组合。
[0043]来自这些后面的多路复用器318&,31813的输出和线值1^頂(:132(^和1^頂02 320b被送到触发器304a,304b,这些触发器也接收来自存储值328和多路复用器330a,330b的组合的数据。这些触发器304a,304b的相关结构与那些用在当前由加利福尼亚,圣何塞的Altera公司当前售卖的Stratix逻辑元件中的结构类似。
[0044]第一触发器304a的输出连同LUT输出zO 312和zl 310转到第一组的三个多路复用器332a,从而确定第一组输出L0CAL0,LEOUTO和LEOUTl 334a。第二触发器304b的输出连同LUT输出zl 310和z2 314转到第二组的三个多路复用器332b,从而确定第二组输出 LOCALI, LE0UT2 和 LE0UT3 334a。
[0045]这个逻辑元件300令人满意地包括多路复用结构,用于使多达四个信号从LE输出(gp,LE0UT0,LE0UT1,LE0UT2 和 LE0UT3)以及将两个信号送到内部(即,LOCALO 和 LOCAL I)。在这个图中,线信号LEMx306指的是连接到逻辑元件的输入的逻辑信号源。图3的实施例令人满意地包括两个触发器304a,304b。LUT302现在能生成两个逻辑函数,因此,希望有两个触发器,能从非分裂K-LUT,或者从任一分裂LUT载入数据。
[0046]正像前面所讨论的,在图3中示出的触发器的连接能够被推广。各种各样的替代实施例是可能的,其中有关的触发器数据输入可以是LUT输出或者与LUT输入中的一个相同。在图3示出的实施例中,逻辑装置与加利福尼亚,圣何塞的Altera公司当前售卖的Stratix逻辑元件类似。
[0047]在图3的实施例中,触发器304a,304b中的每一个能从6-LUT输出zl 310或者从两个5-LUT输出zO 312和z2 314的其中一个载入。每一输出能从6-LUT输出,一个5-LUT输出或者一个触发器选择。多路复用器也被提供,用于将触发器的输出送回到LUT,以提供与Stratix设备一样的快速反馈。利用这个结构,6-LUT能供给一个或者两个触发器,每一个5-LUT能供给一个触发器,或者独立的触发器可以与一个共享输入的5-LUT或一个不共享输入的4-LUT相组合。然而,这种结构具有一个限制,也就是不能将一个6-LUT与一个独立的触发器组合,除非其共享一个输入,即使在总共有八个输入可用的情况中也是如此。这是因为在非分裂6-LUT模式下,Cl和C2,以及Dl和D2必须都提供相同的输入信号到LUT( BP, C = Cl = C2, D = Dl = D2)。图4的实施例针对这个问题。
[0048]图4示出一个依照本发明的另一个实施例的逻辑元件400。这个逻辑元件400与图3的逻辑元件300类似,但是在到LUT402的输入处包含了另加的多路复用。输入线LEMCl406和寄存器值REGO被输入到多路复用器408a,其为LUT402的Cl输入提供输入,并且输入线LEMCl和LEMC2 406连同寄存器值REGl被输入到多路复用器408b,其为LUT402的C2输入提供输入。
[0049]逻辑元件400包括一个可分裂(6,2) -LUT402和两个触发器404a,404b。(6,2) -LUT402 具有输入 A, B, Cl, C2, Dl, D2, E,和 F,其中通过输入线 LEIMA, LEIMAB, LEIMCl,LEIMC2, LEIMD1, LEIMD2, LEIME,和LEMF406提供这些输入。另外,通过用一个寄存器值REGO对LEIMCl进行多路复用和用一个寄存器值REGl对LEIMC2进行多路复用,两个多路复用器408a,408b馈给输入Cl和C2。不同于图3的实施例,为输入C2提供输入的第二多路复用器408b,从输入线LEMC1,输入线LEMC2 406和寄存器值REGl接收输入。
[0050]与先前的实施例300类似,在非分裂模式下,LUT402提供一个单独的输出zl 410,并且在分裂模式下,提供两个输出zO 412和Z1414。同样,与先前的实施例相同,电路包括用于 LEMCl 420a 和 LEMC2 420b 的附加线,多路复用器 416a,416b,418a,418b,430a,430b,432a,432b,反相器 422a,422b,NOR 门 424a, 424b, NAND 门 426a,426b,存储值 428,和输出434a,434b ο
[0051]当LUT402在非分裂模式下操作时,图4的实施例有利地使用附加输入信号。在这种结构中,其中通过从原输入中分裂出来的附加的输入(在这种情况下Cl)在相应的多路复用器408b处可以被连接到相应的分裂输入(在这种情况下C2)。这允许6-LUT将C信号带到单独引脚Cl上,并将其连接到LUT402中的Cl和C2。结果,输入引脚C2现在能用于另一个目的,就是在这种情况下,将数据信号带入一个完全独立的触发器404b。这允许逻辑元件支持一个6LUT,其可以有选择地为一个触发器404a以及一个独立触发器404b提供输入。
[0052]在图4的实施例中,通过利用两个触发器载入相同数据,可以将寄存器的快速反馈送到LUT的输入,因此,结果能被反馈到Cl和C2。在一个替代实施例中,REGO和REGl被输入到为Cl和C2提供输入的多路复用器408a,408b中的一个或者两个。这允许单个的触发器被用于存储数据,并且被反馈回到Cl和C2。各种替代实施例选择在哪个触发器404a, 404b能被用于6-LUT402的快速反馈模式时是不同的,并且最佳的选择将取决于将被实现的逻辑电路和在PLD中提供的路由结构的灵活性。尽管通常优选的是将到LUT最慢的分裂输入提供给触发器,但也可以使用其他输入。
[0053]图5示出一个对应于本发明的另一个实施例的逻辑元件500。这个逻辑元件500与图3的逻辑元件300类似,但是在到LUT502的输入处包括附加多路复用。输入线LEMCl506为LUT502的Cl输入提供输入,并且输入线LEMC1,输入线LEMC2 506连同寄存器值REGO被输入到多路复用器508a,该多路复用器508a为LUT502的C2输入提供输入。输入线LEMD2 506为LUT502的D2输入提供输入,并且输入线LEMD1,输入线LEMD2 506连同寄存器值REGl被输入到多路复用器508b,多路复用器508b为LUT502的Dl输入提供输入。
[0054]逻辑元件500包括一个可分裂(6,2) -LUT502和两个触发器504a,504b。(6,2) -LUT502 具有输入 A, B, Cl, C2, Dl, D2, E,和 F,其中通过输入线 LEIMA, LEIMAB, LEIMCI,LEIMC2, LEIMDI, LEIMD2, LEIME,和 LEMF506 提供这些输入。另外,通过将 REGO 与 LEMCl、LEIMC2多路复用,以及将REGl与LEMDl、LEMD2多路复用,两个多路复用器508a,508b为输入C2和Dl提供输入。不同于图3的实施例,为输入C2提供输入的第一多路复用器508a从输入线LEMC1,输入线LEMC2和寄存器值REGO接收输入,并且为输入Dl提供输入的第二多路复用器408b从输入线LEMD1,输入线LEMD2和寄存器值REGl接收输入。
[0055]与图3中的实施例类似,LUT502在非分裂模式下提供一个单独的输出zl 510,并且在分裂模式下,提供两个输入zO 512和z2 514。同样,与先前的实施例相同,电路包括用于 LEMCl 520a 和 LEMC2520b 的附加线,多路复用器 516a, 516b, 518a, 518b, 530a, 530b,532a,532b,反相器 522a,522b,NOR 门 524a, 524b, NAND 门 526a,526b,存储值 528,和输出534a,534bo
[0056]图5的实施例通过将触发器504a,504b与LUT相组合来使得增加灵活性,从而允许6-LUT502与两个独立的寄存器(在第一多路复用器508a处的REGO和在第二多路复用器508b处的REG1)组合。通过允许C1/2或者D1/2被驱动到相应的引脚上,一个单独的信号可以被用于C和D中的每一个。在图5的实施例中,Cl能被用作一个LUT输入,C2被用作一个到触发器504b的数据输入,而D2被用作到LUT的另一个输入,Dl被用作到触发器504a的数据输入。对于哪个输入被用于哪个触发器以及哪个信号被用作LUT输入或者触发器数据的精确选择将取决于正在被构建的逻辑电路的性质。此外,从哪些输入中分裂出输入的选择可以根据所包括的触发器封装灵活性程度而发生变化。随着并入更多的多路复用器以增加触发器的封装灵活性,所增加的延迟将引起其优选地从更慢的输入中分裂出输入而不是从最快的输入中分裂出输入。最佳选择取决于将被实现的逻辑电路以及LUT设计中的延迟的权衡。
[0057]在图5的实施例中,仅通过用于逻辑元件中的单独的触发器来支持快速反馈。正像前面所讨论的,通过添加附加输入到多路复用器从而支持两个快速反馈来实现替代实施例。
[0058]图6示出一个数据处理系统600,具有一个PLD610,可以包括如前面所讨论的本发明的实施例。PLD610包括多个逻辑阵列块(LAB),诸如所示出的LAB612 (仅示出一个LAB,以避免附图过于复杂)。LAB612包括多个逻辑元件,诸如所示出的逻辑元件611 (仅示出一个逻辑元件,以避免附图过于复杂)。数据处理系统600可以包括下列组件中的一个或者多个:处理器640 ;存储器650 ;1/0电路620 ;以及外围设备630。这些组件通过系统总线665连接在一起,并且放在一个电路板660上,其被包含在一个最终用户系统670中。
[0059]系统600能被用于各种各样的应用中,诸如计算机组网,数据组网,检测仪表,视频处理,数字信号处理,或者任意其他的期望利用可编程或者可再编程的优点的应用,PLD610能被用于执行各种不同的逻辑函数。例如,PLD610能被配置为一个处理器或者控制器,与处理器640协同工作(或者,在替代实施例中,一个PLD其本身可用作一个单独的系统处理器)。PLD610也可以被用作一个判定器,用于判定是否可以访问系统600的共享资源。在另一个例子中,PLD610能被配置为一个在处理器和系统600的其他组件之一之间的接口。应当注意,系统600仅是示范性的。
[0060]尽管仅在前面详细描述了本发明的某些示范性实施例,本领域的技术人员将容易地理解,在不从本质上脱离本发明的新颖的教导和优点的前提下,可能对示范性实施例进行许多修改。因此,所有这样的修改都被包含在本发明的范围之内。
【权利要求】
1.一种系统,包括: 可分裂的查找表(LUT),所述可分裂的LUT包括多个等级的多路复用器,所述多个等级的多路复用器包括第一等级的多路复用器和第二等级的多路复用器,所述第一等级的多路复用器配置成接收来自第二等级的多路复用器的输入,其中所述可分裂的LUT包括多个操作模式,所述多个操作模式包括非分裂操作模式和分裂操作模式,所述非分裂操作模式生成来自第一等级的多路复用器的单个输出,所述分裂操作模式生成来自第二等级的多路复用器的多个输出,其中所述多个输出中的每一个都是耦合到所述第二等级的多路复用器的控制信号的子集的函数,以及其中所述控制信号的子集少于耦合到所述第二等级的多路复用器的所有控制信号。
2.如权利要求1所述的系统,其中可分裂的LUT包括多个分裂操作模式。
3.如权利要求1所述的系统,其中在非分裂操作模式中操作的可分裂的LUT提供6-LUT。
4.如权利要求3所述的系统,其中在分裂操作模式中操作的可分裂的LUT提供两个4-LUT。
5.如权利要求1所述的系统,其中可分裂的LUT还包括多个触发器。
6.如权利要求5所述的系统,其中可分裂的LUT还包括在第一多个多路复用器和所述多个触发器之间耦合的第三等级的多路复用器。
7.如权利要求1所述的系统,其中用于导出来自第一等级的多路复用器的单个输出的完整的信号组包括6个信号。
8.如权利要求1所述的系统,其中用于导出来自第二等级的多路复用器的多个输出的完整的信号组包括两组信号,每组包括5个信号。
9.一种可编程逻辑设备,包括: 多个互连线; 多个逻辑块,所述多个逻辑块被布置成阵列并且通过多个互连线相互连接;以及 多个逻辑元件,所述多个逻辑元件分别被包括在多个逻辑块中, 其中所述多个逻辑元件进一步包括: 6-输入查找表,所述6-输入查找表能够分裂成第一分裂查找表和第二分裂查找表,其中第一分裂查找表具有至少一个与所述第二分裂查找表的输入不同的输入。
10.如权利要求9所述的可编程逻辑设备,其中6个输入分别耦合到所述6-输入查找表并被指定为a、b、C、d、e、f。
11.如权利要求10所述的可编程逻辑设备,其中第一分裂查找表的输入包括输入a、b、c、d 和 e。
12.如权利要求11所述的可编程逻辑设备,其中第一分裂查找表的输入还包括f。
13.如权利要求9所述的可编程逻辑设备,其中第二分裂查找表的输入包括输入a、b、c、d 和 e。
14.如权利要求9所述的可编程逻辑设备,其中利用一组多路复用器实现6-输入查找表。
15.如权利要求14所述的可编程逻辑设备,其中利用一组多路复用器的第一子集实现第一分裂查找表。
16.如权利要求15所述的可编程逻辑设备,其中利用一组多路复用器的第二子集实现第二分裂查找表。
17.如权利要求16所述的可编程逻辑设备,其中第一子集和第二子集中的一个或多个多路复用器是相同的多路复用器。
18.如权利要求16所述的可编程逻辑设备,其中第一子集和第二子集的多路复用器被配置成接收分别在第一分裂查找表和第二分裂查找表之间共享的至少5个输入。
19.如权利要求9所述的可编程逻辑设备,其中所述逻辑元件还包括触发器,所述触发器能够编程耦合到6-输入查找表的输出或者编程耦合到第一或第二分裂查找表的其中之
O
20.如权利要求19所述的可编程逻辑设备,其中所述逻辑元件还包括第二触发器,所述第二触发器能够编程耦合到6-输入查找表的输出或者编程耦合到第一或第二分裂查找表的其中之一。
21.如权利要求9所述的可编程逻辑设备,其中第一分裂查找表和第二分裂查找表共享6-输入查找表的多路复用器级。
22.如权利要求21所述的可编程逻辑设备,其中将5个共享输入分别提供给第一分裂查找表和第二分裂查找表的共享多路复用器级。
23.如权利要求22所述的可编程逻辑设备,其中将查找表的第六输入提供给非共享多路复用器级。
24.一种在可编程逻辑设备中使用的逻辑元件,所述逻辑元件包括: 多个存储元件,所述存储元件中的每一个被配置成存储数据值;以及 第一多个多路复用器,所述第一多个多路复用器中的每个多路复用器耦合到所述多个存储元件中的一个或多个存储元件并且被配置成输出存储在所述一个或多个存储元件中的数据值当中的所选择的一个; 其中所述第一多个多路复用器被配置成接收一组选择信号,该组选择信号被配置成控制所述第一多个多路复用器以便输出存储在存储元件中的数据值当中的所选择的一个,该组选择信号选择性耦合到所述第一多个多路复用器以便实现下列逻辑功能: 第一功能由完整的该组选择信号导出; 第二功能由完整的该组选择信号的第一子集导出;以及 第三功能由完整的该组选择信号的第二子集导出,其中所述第二子集具有至少一个与第一子集一样的选择信号以及至少一个与第一子集不同的选择信号。
25.如权利要求24所述的逻辑元件,还包括: 第一触发器,配置成根据该组选择信号的状态来接收存储在一个或多个存储元件中的、指示第一功能、第二功能、或第三功能的值的数据值当中的所选择的第一个数据值;以及 第二触发器,配置成根据该组选择信号的状态来接收存储在多个存储元件中的、指示第一功能、第二功能或第三功能的值的数据值当中的所选择的第二数据值。
26.如权利要求25所述的逻辑元件,还包括第二多个多路复用器,耦合在第一多个多路复用器和多个触发器之间,所述第二多个多路复用器配置成选择性耦合由选择信号的状态确定的所选择的数据值,用于确定第一功能、第二功能、和第三功能的值到第一触发器和第二触发器的输入。
27.如权利要求26所述的逻辑元件,还包括第三多个多路复用器,所述第三多个多路复用器配置成生成一个或多个逻辑元件输出,所述第三多个多路复用器配置成接收: 分别由选择信号的状态确定的第一功能、第二功能、和第三功能的选择值;以及 来自第一触发器或第二触发器的输出。
28.如权利要求26所述的逻辑元件,其中所述多个存储元件、所述第一多个多路复用器和该组选择信号实现查找表(LUT)。
29.如权利要求28所述的逻辑元件,其中LUT是可分裂的。
30.如权利要求26所述的逻辑元件,其中所述第一触发器输出第一触发器输出信号,所述第一触发器输出信号反馈到LUT的输入。
31.如权利要求30所述的逻辑元件,其中所述第二触发器输出第二触发器输出信号,所述第二触发器输出信号反馈到LUT。
32.如权利要求24所述的逻辑元件,其中用于导出第一功能的完整的该组选择信号包括6个信号。
33.如权利要求24所述的逻辑元件,其中用于导出第二功能和第三功能的选择信号的第一子集和第二子集中的每一个包括5个信号。
【文档编号】H03K19/173GK104320129SQ201410504037
【公开日】2015年1月28日 申请日期:2004年2月9日 优先权日:2003年2月10日
【发明者】D.路易斯, B.彼得森, S.卡普塔诺卢, A.李 申请人:阿尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1