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

文档序号:7517023阅读:191来源:国知局
专利名称:可分裂的查找表及逻辑元件的制作方法
技术领域
本发明涉及与可编程逻辑设备或者其他类似设备一同使用的逻辑元件。
背景技术
可编程逻辑设备(“PLD”)(有时也称为 CPLD,PAL, PLA, FPLA, EPLD, EEPLD, LCA, FPGA,或者其他的名称)是众所周知的集成电路,其提供了固定集成电路的诸多优点和自 定义集成电路的灵活性。这样的设备在本领域是众所周知的,并且典型地提供一种其至少 一个部分能够被电子编程以满足用户的特殊需要的“不用定制的”的设备。传统上,专用集 成电路(“ASIC”)是固定集成电路,然而,可能提供具有一个或者多个可编程部分的ASIC; 因而,集成电路设备可能同时具有ASIC和PLD的特性。在这里使用的术语PLD将被认为是 足够广泛的,并且包括了这样的设备。典型地,PLD包括逻辑元件块,其有时被称为逻辑阵列块(“LAB”)或者“可配置逻 辑块”(“CLB”)。逻辑元件(“LE”)也用其他的名字进行命名,诸如“逻辑电路”或者“逻 辑单元”,该逻辑元件块也可以包括一个查找表(“LUT”),乘积项(product term),执行链, 寄存器,以及其他的元件。包括基于LUT的逻辑元件在内的逻辑元件,典型地包括可配置元件,这些可配置 元件保存了用于决定逻辑元件所实现的一个或多个特殊函数的配置数据。典型的LUT电路 可以包括保存数据(“1”或者“0”)的RAM比特。然而,可以使用其他类型的可配置元件。 一些示例可以包括静态存取存储器,磁存取存储器,铁电存取存储器或者动态随机存取存 储器,电可擦只读存储器,闪存,熔断式可编程连接,反熔断式可编程连接。在设备的制造期 间通过掩模程序设计也能实现配置元件的编程。尽管掩模程序设计相对于一些已经列出的 现场可编程的可选方案可能具有一些缺点,但是其可以被用于某种大量生产应用中。为了 这个目的,通用术语“存储元件”将被用于指任意一种可编程元件,其可以被配置以决定由 PLD所实现的函数。正像前面所讨论的,通常将查找表(“LUT”)用作基本逻辑元件来构造PLD。例如, 一个K-输入查找表(K-LUT)典型地包括2K个可编程存储元件,以及一个2Κ到1的多路复 用器,在K个至多路复用器的选择输入的控制下选择其中一个存储元件。这K个输入可被 认为是K-输入逻辑函数的输入,通过将存储元件的内容设置为合适值,就可以实现任意特 殊的所需的逻辑函数。在用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可编程路由,这部分地补偿了更高的成本所带来的影响。较大LUT的效率较低的一个原因是,不是所有的逻辑函数都将使用所有的K个输 入。对于前面所述的示例,八百个6-LUT实际可以包括三百个6-输入函数,三百个5-输入 函数,一百个4-输入函数以及一百个3-输入函数。因而,基于6-LUT的LE在八百中仅有 三百个能完全发挥其作用。这样,需要这样一种具有可编程结构的逻辑元件它能被配置为实现相对大的 LUT,或者做为替换,实现多个较小的LUT。

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


图1示出依照本发明的一个实施例的可分裂(fraCturable)6-LUT(“6-输入查找 表”电路);图2示出依照本发明的一个实施例的可分裂(6,2)-LUT ;图3示出依照本发明的一个实施例的具有两个触发器的可分裂(6,2)_LUT ;图4示出依照本发明的一个实施例的支持6LUT和独立寄存器的可分裂(6, 2)-LUT ;图5示出依照本发明的一个实施例的支持6-LUT和两个独立寄存器的可分裂(6, 2)-LUT ;
图6示出一个示范性的数据处理系统,包括示范性可编程逻辑设备,在其中可以 实现依照本发明的逻辑电路;图7示出一个常规的6-LUT;图8A示出一个常规的4-LUT ;图8B示出在图8A中示出的4 1多路复用器的进一步的细节。
具体实施例方式图7示出一个常规的6-LUT 700,其包括4个4-LUT 702。每一个4-LUT 702包括 十六个存储元件和一个16 1多路复用器,其由输入a,b,c,d 704控制。4-LUT 702的输 出向两个2 1多路复用器706提供输入,每一个多路复用器受输入e708的控制。这些多 路复用器的输出向附加的2 1多路复用器710提供输入,该多路复用器710受输入f712 的控制,从而提供最终的输出714。以这种方式,能够实现六个输入的任意函数zl (a,b,c, d, e, f) ο图8A示出一个常规的4-LUT 800,其能被用作一个图7示出的6-LUT的组件。 4-LUT 800包括存储元件819,以及4 1多路复用器850,840。每一存储元件819能保存 一个数据比特(即,1或者0),并且如所示,每一个存储元件被连接到多路复用器850的输 入端,以向其提供该比特。每一多路复用器850的两个控制输入端被分别连接到4-LUT 800 的输入A 814和输入B 813。如图所示,这些多路复用器850的每一个的输出端被连接到 另一个4 1多路复用器840的输入端。这个多路复用器840的两个控制输入端被分别连 接到4-LUT 800的输入C 811和输入D 812。这个多路复用器840的输出端提供4-LUT800 的最终的输出815。本领域的那些技术人员将理解,诸如图8A的4-LUT 800的一个4-LUT能提供一个 四个输入信号的完整函数。在这个上下文中的“完整”仅仅是指存储元件819能被编程以 配置4-LUT 800,从而实现任何一个四-输入函数。也就是说,能通过对存储元件819进行 编程来对4-LUT 800进行配置(例如,将数值载入那些元件),以至于使得输出信号Y 815 是输入信号A 814,B 813,C 811和D 812的全部逻辑函数中的任何一个,这将被本领域的 那些技术人员理解。类似地,图7的6-LUT也能提供其6输入信号的完整函数。图8B示出2 1多路复用器841,842的“树型结构”,其构成最终的4 1多路复 用器840(另一个4 1多路复用器850能够类似地被表征)。多路复用器841,842的控制 输入811,812与4-LUT 800的输入端相对应。更高等级的多路复用器842的输出(即,更 接近于存储元件819)送到更接近输出815的下一个等级841。正像本领域技术人员可以 理解的,可以将组成最终的4 1多路复用器840的2 1多路复用器841,842的“树型结 构”看作是表征4-LUT 800的更大2 1多路复用器树型结构的一部分。一般地说,一个典 型的LUT电路具有一个多路复用器的树型结构,其可以参照相对于LUT电路的输出所提供 的2 1多路复用器的“等级”。例如,最接近输出815的多路复用器841可以被称为在4-LUT 800的整个2 1多路复用器树型结构中的第一等级多路复用器,并且下一组的两个多路复用器842可被称 为该树型结构中的第二等级。通过将图8B的结构扩展为图8A的结构,在4-LUT 800中存 在四个等级的2 1多路复用器。4-LUT 800具有第三等级,包括四个2 1多路复用器(即,每个2 1多路复用器用于每一个多路复用器150),具有连接到逻辑输入B 813的控 制输入,以及一个第四等级,包括八个2 1多路复用器(即,两个2 1多路复用器用于 每一个多路复用器150),具有连接到逻辑输入A 114的控制输入。正像将被本领域的技术人员所理解的,一个4 1多路复用器可以以不同于所示 出的多路复用器840的方式而被实现,其在两个不同的等级具有三个2 1多路复用器 841,842的树型结构。例如,可以由四个选通门来实现一个4 1多路复用器,每一个选通 门可以由两个控制信号的译码输出来控制。在这样一个示例中,四个选通门将不能由彼此 的等级来区别自身,然而,4 1多路复用器将有效实现两个等级的2 1多路复用。图1示出一个依照本发明的第一实施例的可分裂6-LUT 100。与常规的6-LUT 700 相似,可分裂6-LUT 100包括四个4-LUT 102。每一个4-LUT 102包括十六个存储元件和一 个受输入a,b,c, d 104控制的16 1多路复用器。4-LUT 102的输出端向两个2 1多 路复用器106提供输入,这两个多路复用器中的每一个受输入e 108的控制。这些多路复 用器106的输出端向一个附加的2 1多路复用器110提供输入,该附加的2 1多路复 用器110受输入f 112的控制,从而提供最终的输出114。以这种方式,能够实现6个输入 的任意函数 zl(a,b,c,d,e,f)。与常规的6-LUT 700比较,可分裂6-LUT 100包括一个附加的2 1多路复 用器116,其能获得来自两个4-LUT 102的输入,并且受输入Π12的控制。当用作一个 6-LUT(即,非分裂操作模式)时,输出信号Z1114是所有6个输入的完整函数。当作为两个 函数使用时(即,分裂操作模式),从LUT 100的上半部获得的输出zO 118提供a,b,c,d, e的完整函数,以及,从附加的2 1多路复用器116获得的Z2120的输出提供a,b,c,d, f的完整函数。这样,LUT能实现两个5-输入函数,这两个函数共享四个输入a,b,c,和d。 可分裂LUT的逻辑外围电路被用于实现以下的选择功能当LUT 100被用作单个的6-LUT 时选择zl函数114,或当LUT100被用作两个5-LUT时选择z0118和z2120。可以理解,LUT 的分裂可以更深一层地继续,以使得例如一个可分裂6-LUT能被配置为一个5-LUT和两个 4-LUT的组合(这可以通过,例如,用顶部的两个4-LUT 102的相应输出来替换z0118输出 来实现)。其他组合可能类似地包括一个5-LUT和一个或者两个3-LUT的组合,或者最直接 从图1示出的结构得出,一个四个4-LUT的组合。正像图1所示出的,对于K = 6的情况,一个可分裂的K-LUT仅有K个输入,以至 于两个(K-I)函数必须使用一个共用K输入信号组。这意味着每一(K-I)-LUT仅有一个 唯一的输入信号,并且与另一个LUT共享(K-2)个信号。为了增加的可分裂LUT使用的灵 活性,希望包括更多的输入信号。这可通过从前面的LUT级的公共输入信号中分裂出信号 来实现。其以一个可分裂(K,M)-LUT来表示,其中M指的是加到LUT的附加输入信号的数 量。图2示出一个依照本发明的另一个实施例的可分裂(6,2)_LUT。与图1的可分裂 6-LUT相似,可分裂(6,2)-LUT 200包括四个4-LUT 202。每一个4-LUT 202包括十六个存 储元件和一个16 1多路复用器。4-LUT202的输出端向两个2 1多路复用器206提供 输入,每一个多路复用器206受输入e 208的控制。这些多路复用器206的输出端向附加的 2 1多路复用器210提供输入,该多路复用器210受输入f 212的控制,从而输出最终的 输出214。一个附加2 1多路复用器216从两个4-LUT 202获得输入,并且受输入f 212的控制。与可分裂6-LUT 100比较,到四个4-LUT 202的两个输入被分裂。也就是说,两个输入a和b 204与在可分裂6-LUT 100中的相似输入104相对应。然而,可分裂6-LUT 100 的输入c和d 104被分裂为用于4-LUT 202的上半部分的输入cl和dl 222,以及被用于下 半部分的输入c2和d2 224。按照惯例,到LUT的输入按照从最慢到最快的顺序被列出(即,a,b,c, d),以至于 使得d是到每一 4-LUT 202的最快输入。希望的是将到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之间共享。因此,在可分裂模式的操作中,能够实现五个输入的完整函数,用于z0(a,b,cl, dl, e) 218和z2 (a, b,c2,d2,e) 220,并且在非分裂模式的操作中,采用c = cl = c2和d = dl = d2,能够实现一个六个输入的完整函数zl (a, b, c, d,e, f) 214。可替换地,通过配置LUT,使之没有对一个或者多个输入的函数依赖性,一个可分 裂(6,2)-LUT 200仅仅使用不多于8个不同的输入信号就能实现任何两个函数,诸如,一个 3_输入函数和一个5-输入函数。例如,通过配置4-LUT 202的上半部分,使之没有对输入a 和b 204的依赖性,就可以使一个(6,2)-LUT 200能够实现函数20((1,(11,6)218和22(&, b,c2,d2,f)220。通常,一个(K,M)-LUT能实现最多可具有K-I个输入的任何两个函数,这 两个函数仅仅使用不多于K+M个不同的输入信号。通过利用8个输入&,13,(;1,02,(11,(12,6,和€208,222,204,224,212 以及 zl 214 的输出,可分裂(6,2)-LUT 200也可被用于不完整逻辑函数。在这种情况下,能够实现8-输 入函数zl (a, b,cl, c2, d2,e, f)的一些集合,但是,不同于一般的LUT,不是每一个8_输入 函数都能被实现。然而,这可以通过试图设计包含这些函数和任意函数的逻辑电路得以开发。逻辑元件的另一个方面是从LUT提供一个触发器的能力。按照惯例,LUT输出可 以被用作输入到包含在相同逻辑元件中的触发器的数据。同样,在各种配置信息和逻辑信 号的控制下,输入到触发器的数据可以被选择为到LUT的输入之一。本发明令人满意地使 得可以将可分裂LUT与一个或者多个逻辑元件中的触发器组合在一起。图3示出一个依照本发明的另一个实施例的逻辑元件300。逻辑元件300包括一 个可分裂(6,2)-1^肌302和两个触发器304&,30413。(6, 2)-LUT 302具有输入A,B,Cl,C2, Dl, D2, EJP F,其中这些输入通过输入线 LEIMA,LE 1MB, LEIMCl,LEIMC2, LEIMDl,LEIMD2, LEiMEJPLEIMF 306被供给。另外,通过用一个寄存器值REGO对LEIMCI进行多路复用和 用一个寄存器值REGl对LEIMC2进行多路复用,两个多路复用器308a,308b供给输入Cl和 C2。在非分裂模式下,LUT 302提供一个单独的输出Z1310,并且在分裂模式下,提供两个输 出 z0 123 和 zl 314。LUT 302的输出是到两个多路复用器316a,316b的输入。这些多路复用器316a, 316b提供到另一对多路复用器318a,318b的输入,另一对多路复用器318a,318b也从输入 线 LEIMCl 320a 和 LEMC2320b 获得的输入,LEIMCl 320a 和 LEIMC2 320b 与反相器 322a,322b, NOR 门 324a,324b,和 NAND 门 326a,326b 组合。来自这些后面的多路复用器318&,31813的输出和线值1^1]\ 132(^和1^1]\ 2 320b 被送到触发器304a,304b,这些触发器也接收来自存储值328和多路复用器330a,330b的 组合的数据。这些触发器304a,304b的相关结构与那些用在当前由加利福尼亚,圣何塞的 Altera公司当前售卖的Stratix逻辑元件中的结构类似。第一触发器304a的输出连同LUT输出zO 312和zl 310转到第一组的三个多路复用器332a,从而确定第一组输出L0CAL0,LEOUTO和LEOUTl 334a。第二触发器304b的输 出连同LUT输出zl 310和z2 314转到第二组的三个多路复用器332b,从而确定第二组输 出 LOCALl,LE0UT2 和 LE0UT3 334a。这个逻辑元件300令人满意地包括多路复用结构,用于使多达四个信号从LE输出 (艮口,LEOUTO,LE0UT1,LE0UT2和 LE0UT3)以及将两个信号送到内部(即,LOCALO和 LOCAL 1)。 在这个图中,线信号LEIMx 306指的是连接到逻辑元件的输入的逻辑信号源。图3的实施 例令人满意地包括两个触发器304a,304b。LUT302现在能生成两个逻辑函数,因此,希望有 两个触发器,能从非分裂K-LUT,或者从任一分裂LUT载入数据。正像前面所讨论的,在图3中示出的触发器的连接能够被推广。各种各样的替代 实施例是可能的,其中有关的触发器数据输入可以是LUT输出或者与LUT输入中的一个相 同。在图3示出的实施例中,逻辑装置与加利福尼亚,圣何塞的Altera公司当前售卖的 Stratix逻辑元件类似。在图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的实施例针对这个问题。图4示出一个依照本发明的另一个实施例的逻辑元件400。这个逻辑元件400与图 3的逻辑元件300类似,但是在到LUT402的输入处包含了另加的多路复用。输入线LEIMCl 406和寄存器值REGO被输入到多路复用器408a,其为LUT402的Cl输入提供输入,并且输 入线LEIMCl和LEIMC2 406连同寄存器值REGl被输入到多路复用器408b,其为LUT402的 C2输入提供输入。逻辑元件400包括一个可分裂(6,2)_LUT402和两个触发器404a,404b。(6, 2) -LUT402 具有输入 A,B, Cl, C2, Dl, D2, EjP F,其中通过输入线 LEIMA,LEIMAB, LEIMCl, LEIMC2, LEIMDl, LEIMD2, LEIME,和LEIMF406提供这些输入。另外,通过用一个寄存器值 REGO对LEIMCl进行多路复用和用一个寄存器值REGl对LEIMC2进行多路复用,两个多路复 用器408a,408b馈给输入Cl和C2。不同于图3的实施例,为输入C2提供输入的第二多路 复用器408b,从输入线LEIMC1,输入线LEIMC2 406和寄存器值REGl接收输入。与先前的实施例300类似,在非分裂模式下,LUT 402提供一个单独的输出zl410,并且在分裂模式下,提供两个输出zO 412和zl414。同样,与先前的实施例相同,电路包括用于 LEMCl 420a 和 LEMC2 420b 的附加线,多路复用器 416a,416b,418a,418b,430a, 430b,432a,432b,反相器 422a,422b,NOR 门 424a,424b,NAND 门 426a,426b,存储值 428,和 输出 434a,434b。当LUT402在非分裂模式下操作时,图4的实施例有利地使用附加输入信号。在这 种结构中,其中通过从原输入中分裂出来的附加的输入(在这种情况下Cl)在相应的多路 复用器408b处可以被连接到相应的分裂输入(在这种情况下C2)。这允许6-LUT将C信号 带到单独引脚Cl上,并将其连接到LUT402中的Cl和C2。结果,输入引脚C2现在能用于另 一个目的,就是在这种情况下,将数据信号带入一个完全独立的触发器404b。这允许逻辑 元件支持一个6LUT,其可以有选择地为一个触发器404a以及一个独立触发器404b提供输 入。在图4的实施例中,通过利用两个触发器载入相同数据,可以将寄存器的快速反 馈送到LUT的输入,因此,结果能被反馈到Cl和C2。在一个替代实施例中,REGO和REGl被 输入到为Cl和C2提供输入的多路复用器408a,408b中的一个或者两个。这允许单个的触 发器被用于存储数据,并且被反馈回到Cl和C2。各种替代实施例选择在哪个触发器404a, 404b能被用于6-LUT402的快速反馈模式时是不同的,并且最佳的选择将取决于将被实现 的逻辑电路和在PLD中提供的路由结构的灵活性。尽管通常优选的是将到LUT最慢的分裂 输入提供给触发器,但也可以使用其他输入。图5示出一个对应于本发明的另一个实施例的逻辑元件500。这个逻辑元件500 与图3的逻辑元件300类似,但是在到LUT502的输入处包括附加多路复用。输入线LEIMCl 506为LUT502的Cl输入提供输入,并且输入线LEIMC1,输入线LEIMC2 506连同寄存器值 REGO被输入到多路复用器508a,该多路复用器508a为LUT502的C2输入提供输入。输入 线LEIMD2 506为LUT502的D2输入提供输入,并且输入线LEIMDl,输入线LEIMD2 506连 同寄存器值REGl被输入到多路复用器508b,多路复用器508b为LUT502的Dl输入提供输 入。逻辑元件500包括一个可分裂(6,2)_LUT502和两个触发器504a,504b。(6, 2) -LUT502 具有输入 A,B, Cl, C2, Dl, D2, EjP F,其中通过输入线 LEIMA,LEIMAB, LEIMCl, LEIMC2,LEIMD1,LEIMD2,LEIME,和 LEIMF506 提供这些输入。另外,通过将 REGO 与 LEIMCl、 LEIMC2多路复用,以及将REGl与LEIMDl、LEIMD2多路复用,两个多路复用器508a,508b为 输入C2和Dl提供输入。不同于图3的实施例,为输入C2提供输入的第一多路复用器508a 从输入线LEIMC1,输入线LEIMC2和寄存器值REGO接收输入,并且为输入Dl提供输入的第 二多路复用器408b从输入线LEIMD1,输入线LEIMD2和寄存器值REGl接收输入。与图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,534b。图5的实施例通过将触发器504a,504b与LUT相组合来使得增加灵活性,从而允 许6-LUT 502与两个独立的寄存器(在第一多路复用器508a处的REGO和在第二多路复用器508b处的REG1)组合。通过允许C1/2或者D1/2被驱动到相应的引脚上,一个单独的信 号可以被用于C和D中的每一个。在图5的实施例中,Cl能被用作一个LUT输入,C2被用 作一个到触发器504b的数据输入,而D2被用作到LUT的另一个输入,Dl被用作到触发器 504a的数据输入。对于哪个输入被用于哪个触发器以及哪个信号被用作LUT输入或者触发 器数据的精确选择将取决于正在被构建的逻辑电路的性质。此外,从哪些输入中分裂出输 入的选择可以根据所包括的触发器封装灵活性程度而发生变化。随着并入更多的多路复用 器以增加触发器的封装灵活性,所增加的延迟将引起其优选地从更慢的输入中分裂出输入 而不是从最快的输入中分裂出输入。最佳选择取决于将被实现的逻辑电路以及LUT设计中 的延迟的权衡。
在图5的实施例中,仅通过用于逻辑元件中的单独的触发器来支持快速反馈。正 像前面所讨论的,通过添加附加输入到多路复用器从而支持两个快速反馈来实现替代实施 例。图6示出一个数据处理系统600,具有一个PLD610,可以包括如前面所讨论的本发 明的实施例。PLD610包括多个逻辑阵列块(LAB),诸如所示出的LAB612(仅示出一个LAB, 以避免附图过于复杂)。LAB 612包括多个逻辑元件,诸如所示出的逻辑元件611 (仅示出 一个逻辑元件,以避免附图过于复杂)。数据处理系统600可以包括下列组件中的一个或者 多个处理器640 ;存储器650 ;I/O电路620 ;以及外围设备630。这些组件通过系统总线 665连接在一起,并且放在一个电路板660上,其被包含在一个最终用户系统670中。系统600能被用于各种各样的应用中,诸如计算机组网,数据组网,检测仪表,视 频处理,数字信号处理,或者任意其他的期望利用可编程或者可再编程的优点的应用,PLD 610能被用于执行各种不同的逻辑函数。例如,PLD 610能被配置为一个处理器或者控制 器,与处理器640协同工作(或者,在替代实施例中,一个PLD其本身可用作一个单独的系 统处理器)。PLD610也可以被用作一个判定器,用于判定是否可以访问系统600的共享资 源。在另一个例子中,PLD 610能被配置为一个在处理器和系统600的其他组件之一之间 的接口。应当注意,系统600仅是示范性的。尽管仅在前面详细描述了本发明的某些示范 性实施例,本领域的技术人员将容易地理解,在不从本质上脱离本发明的新颖的教导和优 点的前提下,可能对示范性实施例进行许多修改。因此,所有这样的修改都被包含在本发明 的范围之内。
权利要求
一种可编程逻辑设备,包括存储器;可分裂的查找表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.一种系统,包括可分裂的查找表LUT,所述可分裂的LUT包括多个等级的多路复用器,所述多个等级 的多路复用器包括第一等级的多路复用器和第二等级的多路复用器,所述第一等级的多路 复用器配置成接收来自第二等级的多路复用器的输入,其中可分裂的LUT包括多个操作模 式,所述多个操作模式包括非分裂操作模式和分裂操作模式,所述非分裂操作模式生成来 自第一等级的多路复用器的单个输出,所述分裂操作模式生成来自第二等级的多路复用器 的多个输出。
10.如权利要求9所述的系统,其中可分裂的LUT包括多个分裂操作模式。
11.如权利要求9所述的系统,其中在非分裂操作模式中操作的可分裂的LUT提供 6-LUT。
12.如权利要求11所述的系统,其中在分裂操作模式中操作的可分裂的LUT提供两个 4-LUT。
13.如权利要求9所述的系统,其中可分裂的LUT还包括多个触发器。
14.如权利要求13所述的系统,其中可分裂的LUT还包括在第一多个多路复用器、第一 触发器、第二触发器之间耦合的第三等级的多路复用器。
15.如权利要求9所述的系统,其中用于导出来自第一等级的多路复用器的单个输出 的完整的信号组包括6个信号。
16.如权利要求9所述的系统,其中用于导出来自第二等级的多路复用器的多个输出 的完整的信号组包括两组信号,每组包括5个信号。
17.一种可编程逻辑阵列设备,包括多个互连线;多个逻辑块,所述多个逻辑块布置成阵列并且通过多个互连线相互连接;以及多个逻辑元件,所述多个逻辑元件分别包括在多个逻辑块中,其中所述逻辑元件还包括6-输入查找表,所述6-输入查找表能够分裂成第一分裂查找表和第二分裂查找表,其 中两个分裂查找表共享6个输入中的至少5个。
18.如权利要求17所述的可编程逻辑阵列设备,其中6个输入分别被指定为a、b、c、d、e、f ο
19.如权利要求18所述的可编程逻辑阵列设备,其中第一分裂查找表的输入包括输入 a、b、c、d 禾口 e。
20.如权利要求19所述的可编程逻辑阵列设备,其中第一分裂查找表的输入还包括f。
21.如权利要求17所述的可编程逻辑阵列设备,其中第二分裂查找表的输入包括输入 a、b、c、d 禾口 e。
22.如权利要求17所述的可编程逻辑阵列设备,其中利用一组多路复用器实现6-输入 查找表。
23.如权利要求22所述的可编程逻辑阵列设备,其中利用一组多路复用器的第一子集 实现第一分裂查找表。
24.如权利要求23所述的可编程逻辑阵列设备,其中利用一组多路复用器的第二子集 实现第二分裂查找表。
25.如权利要求24所述的可编程逻辑阵列设备,其中第一子集和第二子集中的一个或 多个多路复用器是相同的多路复用器。
26.如权利要求24所述的可编程逻辑阵列设备,其中第一子集和第二子集的多路复用 器配置成接收分别在第一分裂查找表和第二分裂查找表之间共享的至少5个输入。
27.如权利要求17所述的可编程逻辑阵列设备,其中逻辑元件还包括触发器,所述触 发器能够编程耦合到6-输入查找表的输出或者耦合到第一或第二分裂查找表的其中之一。
28.如权利要求27所述的可编程逻辑阵列设备,其中所述逻辑元件还包括第二触发 器,所述第二触发器能够编程耦合到6-输入查找表的输出或者耦合到第一或第二分裂查 找表的其中之一。
29.如权利要求17所述的可编程逻辑阵列设备,其中第一分裂查找表和第二分裂查找 表共享6-输入查找表的多路复用器级。
30.如权利要求29所述的可编程逻辑阵列设备,其中设置了5个共享输入分别到第一 分裂查找表和第二分裂查找表的共享多路复用器级。
31.如权利要求30所述的可编程逻辑阵列设备,其中设置了查找表的第六输入到非共 享多路复用器级。
32.—种在可编程逻辑设备中使用的逻辑元件,所述逻辑元件包括多个存储元件,所述存储元件的每一个被布置成存储数据值;第一多个多路复用器,每个多路复用器直接或间接耦合到存储元件中的一个或多个并 且被配置成输出存储在存储元件中的数据值当中的所选择的一个;以及一组选择信号,配置成控制第一多个多路复用器以便输出分别存储在存储元件中的数据值当中的一个或多个,所述选择信号选择性耦合到第一多个多路复用器以便实现下列逻 辑功能Z1由完整的选择信号组导出;Z2由完整的选择信号组的第一子集导出;以及Z3由选择信号的第二子集导出,第二子集不同于第一子集,但是包括至少一个与第一 子集一样的选择信号。
33.如权利要求32所述的逻辑元件,还包括第一触发器,配置成根据选择信号组的状态来接收存储在多个存储元件中的、指示功 能\ατ、的值的数据值当中的所选择的一个;以及第二触发器,配置成根据选择信号组的状态来接收存储在多个存储元件中的、指示功 能Zi、Z2或Z3的值的数据值当中的一个。
34.如权利要求33所述的逻辑元件,还包括第二多个多路复用器,耦合在第一多个多 路复用器、第一触发器、第二触发器之间,所述第二多个多路复用器配置成选择性耦合由选 择信号确定的选择的数据值,用于确定功能\、Z2或Z3的值到第一触发器和第二触发器的 输入。
35.如权利要求34所述的逻辑元件,还包括第三多个多路复用器,所述第三多个多路 复用器配置成生成一个或多个逻辑元件输出,第三多个多路复用器配置成接收分别由选择信号的状态确定的功能Zp Z2或Z3的选择值;以及来自第一触发器或第二触发器的输出。
36.如权利要求34所述的逻辑元件,其中多个存储元件、第一多个多路复用器和选择 信号组实现查找表LUT。
37.如权利要求36所述的逻辑元件,其中LUT是可分裂的。
38.如权利要求34所述的逻辑元件,其中所述第一触发器输出第一触发器输出信号, 所述第一触发器输出信号反馈到LUT输入。
39.如权利要求38所述的逻辑元件,其中第二触发器输出第二触发器输出信号,所述 第二触发器输出信号反馈到LUT。
40.如权利要求32所述的逻辑元件,其中用于导出逻辑功能Z1的完整的选择信号组包 括6个信号。
41.如权利要求32所述的逻辑元件,其中用于导出逻辑信号Z2和Z3的选择信号的第 一子集和第二子集中的每一个包括5个信号。
全文摘要
本发明涉及可分裂的查找表及逻辑元件。一种逻辑元件包括存储元件,多路复用器和控制信号。这些多路复用器按等级排列并且包括最高等级的多路复用器,其具有连接到存储元件的输入端和连接到次高等级的多路复用器输入端的输出端,这些多路复用器还包括一个第一等级的多路复用器,其具有连接到第二等级的多路复用器的输出端的输入端和至少一个输出端。控制信号被连接到多路复用器。在第一种操作模式下,控制信号确定在至少一个第一等级多路复用器输出端处的第一模式输出,在第二操作模式下,控制信号确定在所选择的非第一等级多路复用器输出端处的第二模式输出。
文档编号H03K19/173GK101820278SQ20101014283
公开日2010年9月1日 申请日期2004年2月9日 优先权日2003年2月10日
发明者A·李, B·彼得森, D·路易斯, S·卡普塔诺卢 申请人:阿尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1