CN104320129A - 可分裂的查找表及逻辑元件 - Google Patents

可分裂的查找表及逻辑元件 Download PDF

Info

Publication number
CN104320129A
CN104320129A CN201410504037.8A CN201410504037A CN104320129A CN 104320129 A CN104320129 A CN 104320129A CN 201410504037 A CN201410504037 A CN 201410504037A CN 104320129 A CN104320129 A CN 104320129A
Authority
CN
China
Prior art keywords
multiplexer
input
lut
look
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410504037.8A
Other languages
English (en)
Other versions
CN104320129B (zh
Inventor
D.路易斯
B.彼得森
S.卡普塔诺卢
A.李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Altera Corp
Original Assignee
Altera Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Altera Corp filed Critical Altera Corp
Publication of CN104320129A publication Critical patent/CN104320129A/zh
Application granted granted Critical
Publication of CN104320129B publication Critical patent/CN104320129B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本发明涉及可分裂的查找表及逻辑元件。一种逻辑元件包括存储元件,多路复用器和控制信号。这些多路复用器按等级排列并且包括最高等级的多路复用器,其具有连接到存储元件的输入端和连接到次高等级的多路复用器输入端的输出端,这些多路复用器还包括一个第一等级的多路复用器,其具有连接到第二等级的多路复用器的输出端的输入端和至少一个输出端。控制信号被连接到多路复用器。在第一种操作模式下,控制信号确定在至少一个第一等级多路复用器输出端处的第一模式输出,在第二操作模式下,控制信号确定在所选择的非第一等级多路复用器输出端处的第二模式输出。

Description

可分裂的查找表及逻辑元件
本申请是申请日为2004年2月9日、申请号为200410033018.8、发明名称为“可分裂的查找表及逻辑元件”的专利申请的分案申请。
技术领域
本发明涉及与可编程逻辑设备或者其他类似设备一同使用的逻辑元件。
背景技术
可编程逻辑设备(“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个可编程存储元件,以及一个2K到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-LUT700,其包括4个4-LUT702。每一个4-LUT702包括十六个存储元件和一个16:1多路复用器,其由输入a,b,c,d704控制。4-LUT702的输出向两个2:1多路复用器706提供输入,每一个多路复用器受输入e708的控制。这些多路复用器的输出向附加的2:1多路复用器710提供输入,该多路复用器710受输入f712的控制,从而提供最终的输出714。以这种方式,能够实现六个输入的任意函数z1(a,b,c,d,e,f)。
图8A示出一个常规的4-LUT800,其能被用作一个图7示出的6-LUT的组件。4-LUT800包括存储元件819,以及4:1多路复用器850,840。每一存储元件819能保存一个数据比特(即,1或者0),并且如所示,每一个存储元件被连接到多路复用器850的输入端,以向其提供该比特。每一多路复用器850的两个控制输入端被分别连接到4-LUT800的输入A814和输入B813。如图所示,这些多路复用器850的每一个的输出端被连接到另一个4:1多路复用器840的输入端。这个多路复用器840的两个控制输入端被分别连接到4-LUT800的输入C811和输入D812。这个多路复用器840的输出端提供4-LUT800的最终的输出815。
本领域的那些技术人员将理解,诸如图8A的4-LUT800的一个4-LUT能提供一个四个输入信号的完整函数。在这个上下文中的“完整”仅仅是指:存储元件819能被编程以配置4-LUT800,从而实现任何一个四-输入函数。也就是说,能通过对存储元件819进行编程来对4-LUT800进行配置(例如,将数值载入那些元件),以至于使得输出信号Y815是输入信号A814,B813,C811和D812的全部逻辑函数中的任何一个,这将被本领域的那些技术人员理解。类似地,图7的6-LUT也能提供其6输入信号的完整函数。
图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多路复用器的“等级”。
例如,最接近输出815的多路复用器841可以被称为在4-LUT800的整个2:1多路复用器树型结构中的第一等级多路复用器,并且下一组的两个多路复用器842可被称为该树型结构中的第二等级。通过将图8B的结构扩展为图8A的结构,在4-LUT800中存在四个等级的2:1多路复用器。4-LUT800具有第三等级,包括四个2:1多路复用器(即,每个2:1多路复用器用于每一个多路复用器150),具有连接到逻辑输入B813的控制输入,以及一个第四等级,包括八个2:1多路复用器(即,两个2:1多路复用器用于每一个多路复用器150),具有连接到逻辑输入A114的控制输入。
正像将被本领域的技术人员所理解的,一个4:1多路复用器可以以不同于所示出的多路复用器840的方式而被实现,其在两个不同的等级具有三个2:1多路复用器841,842的树型结构。例如,可以由四个选通门来实现一个4:1多路复用器,每一个选通门可以由两个控制信号的译码输出来控制。在这样一个示例中,四个选通门将不能由彼此的等级来区别自身,然而,4:1多路复用器将有效实现两个等级的2:1多路复用。
图1示出一个依照本发明的第一实施例的可分裂6-LUT100。与常规的6-LUT700相似,可分裂6-LUT100包括四个4-LUT102。每一个4-LUT102包括十六个存储元件和一个受输入a,b,c,d104控制的16:1多路复用器。4-LUT102的输出端向两个2:1多路复用器106提供输入,这两个多路复用器中的每一个受输入e108的控制。这些多路复用器106的输出端向一个附加的2:1多路复用器110提供输入,该附加的2:1多路复用器110受输入f112的控制,从而提供最终的输出114。以这种方式,能够实现6个输入的任意函数z1(a,b,c,d,e,f)。
与常规的6-LUT700比较,可分裂6-LUT100包括一个附加的2:1多路复用器116,其能获得来自两个4-LUT102的输入,并且受输入f112的控制。当用作一个6-LUT(即,非分裂操作模式)时,输出信号z1 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时选择z1函数114,或当LUT100被用作两个5-LUT时选择z0 118和z2120。可以理解,LUT的分裂可以更深一层地继续,以使得例如一个可分裂6-LUT能被配置为一个5-LUT和两个4-LUT的组合(这可以通过,例如,用顶部的两个4-LUT102的相应输出来替换z0 118输出来实现)。其他组合可能类似地包括一个5-LUT和一个或者两个3-LUT的组合,或者最直接从图1示出的结构得出,一个四个4-LUT的组合。
正像图1所示出的,对于K=6的情况,一个可分裂的K-LUT仅有K个输入,以至于两个(K-1)函数必须使用一个共用K输入信号组。这意味着:每一(K-1)-LUT仅有一个唯一的输入信号,并且与另一个LUT共享(K-2)个信号。为了增加的可分裂LUT使用的灵活性,希望包括更多的输入信号。这可通过从前面的LUT级的公共输入信号中分裂出信号来实现。其以一个可分裂(K,M)-LUT来表示,其中M指的是加到LUT的附加输入信号的数量。
图2示出一个依照本发明的另一个实施例的可分裂(6,2)-LUT。与图1的可分裂6-LUT相似,可分裂(6,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的控制。
与可分裂6-LUT100比较,到四个4-LUT202的两个输入被分裂。也就是说,两个输入a和b204与在可分裂6-LUT100中的相似输入104相对应。然而,可分裂6-LUT100的输入c和d104被分裂为用于4-LUT202的上半部分的输入c1和d1222,以及被用于下半部分的输入c2和d2224。
按照惯例,到LUT的输入按照从最慢到最快的顺序被列出(即,a,b,c,d),以至于使得d是到每一4-LUT202的最快输入。希望的是将到LUT最快的输入分裂,使得最快的输入彼此独立。当LUT被用作一个6-LUT时,d1和d2配备有相同的输入信号(即,d=d1=d2),类似地,c1和c2配备有相同的输入信号(即,c=c1=c2)。当LUT被用作两个5-LUT时,顶部的两个4-LUT形成逻辑函数z0(a,b,c1,d1,e),而底部的两个4-LUT形成逻辑函数z2(a,b,c2,d2,f)。这样,仅有两个逻辑信号,a和b必须在两个LUT之间共享。
因此,在可分裂模式的操作中,能够实现五个输入的完整函数,用于z0(a,b,c1,d1,e)218和z2(a,b,c2,d2,e)220,并且在非分裂模式的操作中,采用c=c1=c2和d=d1=d2,能够实现一个六个输入的完整函数z1(a,b,c,d,e,f)214。
可替换地,通过配置LUT,使之没有对一个或者多个输入的函数依赖性,一个可分裂(6,2)-LUT200仅仅使用不多于8个不同的输入信号就能实现任何两个函数,诸如,一个3-输入函数和一个5-输入函数。例如,通过配置4-LUT202的上半部分,使之没有对输入a和b204的依赖性,就可以使一个(6,2)-LUT200能够实现函数z0(c1,d1,e)218和z2(a,b,c2,d2,f)220。通常,一个(K,M)-LUT能实现最多可具有K-1个输入的任何两个函数,这两个函数仅仅使用不多于K+M个不同的输入信号。
通过利用8个输入a,b,c1,c2,d1,d2,e,和f208,222,204,224,212以及z1 214的输出,可分裂(6,2)-LUT200也可被用于不完整逻辑函数。在这种情况下,能够实现8-输入函数z1(a,b,c1,c2,d2,e,f)的一些集合,但是,不同于一般的LUT,不是每一个8-输入函数都能被实现。然而,这可以通过试图设计包含这些函数和任意函数的逻辑电路得以开发。
逻辑元件的另一个方面是从LUT提供一个触发器的能力。按照惯例,LUT输出可以被用作输入到包含在相同逻辑元件中的触发器的数据。同样,在各种配置信息和逻辑信号的控制下,输入到触发器的数据可以被选择为到LUT的输入之一。本发明令人满意地使得可以将可分裂LUT与一个或者多个逻辑元件中的触发器组合在一起。
图3示出一个依照本发明的另一个实施例的逻辑元件300。逻辑元件300包括一个可分裂(6,2)-LUT302和两个触发器304a,304b。(6,2)-LUT302具有输入A,B,C1,C2,D1,D2,E,和F,其中这些输入通过输入线LEIMA,LEIMB,LEIMC1,LEIMC2,LEIMD1,LEIMD2,LEIME,和LEIMF306被供给。另外,通过用一个寄存器值REG0对LEIMC1进行多路复用和用一个寄存器值REG1对LEIMC2进行多路复用,两个多路复用器308a,308b供给输入C1和C2。在非分裂模式下,LUT302提供一个单独的输出z1 310,并且在分裂模式下,提供两个输出z0 123和z1 314。
LUT302的输出是到两个多路复用器316a,316b的输入。这些多路复用器316a,316b提供到另一对多路复用器318a,318b的输入,另一对多路复用器318a,318b也从输入线LEIMC1 320a和LEIMC2320b获得的输入,LEIMC1 320a和LEIMC2320b与反相器322a,322b,NOR门324a,324b,和NAND门326a,326b组合。
来自这些后面的多路复用器318a,318b的输出和线值LEIMC1320a和LEIMC2 320b被送到触发器304a,304b,这些触发器也接收来自存储值328和多路复用器330a,330b的组合的数据。这些触发器304a,304b的相关结构与那些用在当前由加利福尼亚,圣何塞的Altera公司当前售卖的Stratix逻辑元件中的结构类似。
第一触发器304a的输出连同LUT输出z0 312和z1 310转到第一组的三个多路复用器332a,从而确定第一组输出LOCAL0,LEOUT0和LEOUT1 334a。第二触发器304b的输出连同LUT输出z1 310和z2 314转到第二组的三个多路复用器332b,从而确定第二组输出LOCAL1,LEOUT2和LEOUT3 334a。
这个逻辑元件300令人满意地包括多路复用结构,用于使多达四个信号从LE输出(即,LEOUT0,LEOUT1,LEOUT2和LEOUT3)以及将两个信号送到内部(即,LOCAL0和LOCAL1)。在这个图中,线信号LEIMx306指的是连接到逻辑元件的输入的逻辑信号源。图3的实施例令人满意地包括两个触发器304a,304b。LUT302现在能生成两个逻辑函数,因此,希望有两个触发器,能从非分裂K-LUT,或者从任一分裂LUT载入数据。
正像前面所讨论的,在图3中示出的触发器的连接能够被推广。各种各样的替代实施例是可能的,其中有关的触发器数据输入可以是LUT输出或者与LUT输入中的一个相同。在图3示出的实施例中,逻辑装置与加利福尼亚,圣何塞的Altera公司当前售卖的Stratix逻辑元件类似。
在图3的实施例中,触发器304a,304b中的每一个能从6-LUT输出z1 310或者从两个5-LUT输出z0 312和z2 314的其中一个载入。每一输出能从6-LUT输出,一个5-LUT输出或者一个触发器选择。多路复用器也被提供,用于将触发器的输出送回到LUT,以提供与Stratix设备一样的快速反馈。利用这个结构,6-LUT能供给一个或者两个触发器,每一个5-LUT能供给一个触发器,或者独立的触发器可以与一个共享输入的5-LUT或一个不共享输入的4-LUT相组合。然而,这种结构具有一个限制,也就是不能将一个6-LUT与一个独立的触发器组合,除非其共享一个输入,即使在总共有八个输入可用的情况中也是如此。这是因为在非分裂6-LUT模式下,C1和C2,以及D1和D2必须都提供相同的输入信号到LUT(即,C=C1=C2,D=D1=D2)。图4的实施例针对这个问题。
图4示出一个依照本发明的另一个实施例的逻辑元件400。这个逻辑元件400与图3的逻辑元件300类似,但是在到LUT402的输入处包含了另加的多路复用。输入线LEIMC1 406和寄存器值REG0被输入到多路复用器408a,其为LUT402的C1输入提供输入,并且输入线LEIMC1和LEIMC2 406连同寄存器值REG1被输入到多路复用器408b,其为LUT402的C2输入提供输入。
逻辑元件400包括一个可分裂(6,2)-LUT402和两个触发器404a,404b。(6,2)-LUT402具有输入A,B,C1,C2,D1,D2,E,和F,其中通过输入线LEIMA,LEIMAB,LEIMC1,LEIMC2,LEIMD1,LEIMD2,LEIME,和LEIMF406提供这些输入。另外,通过用一个寄存器值REG0对LEIMC1进行多路复用和用一个寄存器值REG1对LEIMC2进行多路复用,两个多路复用器408a,408b馈给输入C1和C2。不同于图3的实施例,为输入C2提供输入的第二多路复用器408b,从输入线LEIMC1,输入线LEIMC2 406和寄存器值REG1接收输入。
与先前的实施例300类似,在非分裂模式下,LUT402提供一个单独的输出z1 410,并且在分裂模式下,提供两个输出z0 412和z1414。同样,与先前的实施例相同,电路包括用于LEMC1 420a和LEMC2 420b的附加线,多路复用器416a,416b,418a,418b,430a,430b,432a,432b,反相器422a,422b,NOR门424a,424b,NAND门426a,426b,存储值428,和输出434a,434b。
当LUT402在非分裂模式下操作时,图4的实施例有利地使用附加输入信号。在这种结构中,其中通过从原输入中分裂出来的附加的输入(在这种情况下C1)在相应的多路复用器408b处可以被连接到相应的分裂输入(在这种情况下C2)。这允许6-LUT将C信号带到单独引脚C1上,并将其连接到LUT402中的C1和C2。结果,输入引脚C2现在能用于另一个目的,就是在这种情况下,将数据信号带入一个完全独立的触发器404b。这允许逻辑元件支持一个6LUT,其可以有选择地为一个触发器404a以及一个独立触发器404b提供输入。
在图4的实施例中,通过利用两个触发器载入相同数据,可以将寄存器的快速反馈送到LUT的输入,因此,结果能被反馈到C1和C2。在一个替代实施例中,REG0和REG1被输入到为C1和C2提供输入的多路复用器408a,408b中的一个或者两个。这允许单个的触发器被用于存储数据,并且被反馈回到C1和C2。各种替代实施例选择在哪个触发器404a,404b能被用于6-LUT402的快速反馈模式时是不同的,并且最佳的选择将取决于将被实现的逻辑电路和在PLD中提供的路由结构的灵活性。尽管通常优选的是将到LUT最慢的分裂输入提供给触发器,但也可以使用其他输入。
图5示出一个对应于本发明的另一个实施例的逻辑元件500。这个逻辑元件500与图3的逻辑元件300类似,但是在到LUT502的输入处包括附加多路复用。输入线LEIMC1 506为LUT502的C1输入提供输入,并且输入线LEIMC1,输入线LEIMC2 506连同寄存器值REG0被输入到多路复用器508a,该多路复用器508a为LUT502的C2输入提供输入。输入线LEIMD2 506为LUT502的D2输入提供输入,并且输入线LEIMD1,输入线LEIMD2 506连同寄存器值REG1被输入到多路复用器508b,多路复用器508b为LUT502的D1输入提供输入。
逻辑元件500包括一个可分裂(6,2)-LUT502和两个触发器504a,504b。(6,2)-LUT502具有输入A,B,C1,C2,D1,D2,E,和F,其中通过输入线LEIMA,LEIMAB,LEIMC1,LEIMC2,LEIMD1,LEIMD2,LEIME,和LEIMF506提供这些输入。另外,通过将REG0与LEIMC1、LEIMC2多路复用,以及将REG1与LEIMD1、LEIMD2多路复用,两个多路复用器508a,508b为输入C2和D1提供输入。不同于图3的实施例,为输入C2提供输入的第一多路复用器508a从输入线LEIMC1,输入线LEIMC2和寄存器值REG0接收输入,并且为输入D1提供输入的第二多路复用器408b从输入线LEIMD1,输入线LEIMD2和寄存器值REG1接收输入。
与图3中的实施例类似,LUT502在非分裂模式下提供一个单独的输出z1 510,并且在分裂模式下,提供两个输入z0 512和z2 514。同样,与先前的实施例相同,电路包括用于LEMC1 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-LUT502与两个独立的寄存器(在第一多路复用器508a处的REG0和在第二多路复用器508b处的REG1)组合。通过允许C1/2或者D1/2被驱动到相应的引脚上,一个单独的信号可以被用于C和D中的每一个。在图5的实施例中,C1能被用作一个LUT输入,C2被用作一个到触发器504b的数据输入,而D2被用作到LUT的另一个输入,D1被用作到触发器504a的数据输入。对于哪个输入被用于哪个触发器以及哪个信号被用作LUT输入或者触发器数据的精确选择将取决于正在被构建的逻辑电路的性质。此外,从哪些输入中分裂出输入的选择可以根据所包括的触发器封装灵活性程度而发生变化。随着并入更多的多路复用器以增加触发器的封装灵活性,所增加的延迟将引起其优选地从更慢的输入中分裂出输入而不是从最快的输入中分裂出输入。最佳选择取决于将被实现的逻辑电路以及LUT设计中的延迟的权衡。
在图5的实施例中,仅通过用于逻辑元件中的单独的触发器来支持快速反馈。正像前面所讨论的,通过添加附加输入到多路复用器从而支持两个快速反馈来实现替代实施例。
图6示出一个数据处理系统600,具有一个PLD610,可以包括如前面所讨论的本发明的实施例。PLD610包括多个逻辑阵列块(LAB),诸如所示出的LAB612(仅示出一个LAB,以避免附图过于复杂)。LAB612包括多个逻辑元件,诸如所示出的逻辑元件611(仅示出一个逻辑元件,以避免附图过于复杂)。数据处理系统600可以包括下列组件中的一个或者多个:处理器640;存储器650;I/O电路620;以及外围设备630。这些组件通过系统总线665连接在一起,并且放在一个电路板660上,其被包含在一个最终用户系统670中。
系统600能被用于各种各样的应用中,诸如计算机组网,数据组网,检测仪表,视频处理,数字信号处理,或者任意其他的期望利用可编程或者可再编程的优点的应用,PLD610能被用于执行各种不同的逻辑函数。例如,PLD610能被配置为一个处理器或者控制器,与处理器640协同工作(或者,在替代实施例中,一个PLD其本身可用作一个单独的系统处理器)。PLD610也可以被用作一个判定器,用于判定是否可以访问系统600的共享资源。在另一个例子中,PLD610能被配置为一个在处理器和系统600的其他组件之一之间的接口。应当注意,系统600仅是示范性的。
尽管仅在前面详细描述了本发明的某些示范性实施例,本领域的技术人员将容易地理解,在不从本质上脱离本发明的新颖的教导和优点的前提下,可能对示范性实施例进行许多修改。因此,所有这样的修改都被包含在本发明的范围之内。

Claims (33)

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-输入查找表的输出或者编程耦合到第一或第二分裂查找表的其中之一。
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个信号。
CN201410504037.8A 2003-02-10 2004-02-09 可分裂的查找表及逻辑元件 Expired - Fee Related CN104320129B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/364,310 US6943580B2 (en) 2003-02-10 2003-02-10 Fracturable lookup table and logic element
US10/364310 2003-02-10
US10/364,310 2003-02-10
CN2004100330188A CN1540865B (zh) 2003-02-10 2004-02-09 逻辑元件及其制造方法、可编程逻辑设备、数据处理系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2004100330188A Division CN1540865B (zh) 2003-02-10 2004-02-09 逻辑元件及其制造方法、可编程逻辑设备、数据处理系统

Publications (2)

Publication Number Publication Date
CN104320129A true CN104320129A (zh) 2015-01-28
CN104320129B CN104320129B (zh) 2020-10-23

Family

ID=32655681

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201010142831A Pending CN101820278A (zh) 2003-02-10 2004-02-09 可分裂的查找表及逻辑元件
CN2004100330188A Expired - Fee Related CN1540865B (zh) 2003-02-10 2004-02-09 逻辑元件及其制造方法、可编程逻辑设备、数据处理系统
CN201410504037.8A Expired - Fee Related CN104320129B (zh) 2003-02-10 2004-02-09 可分裂的查找表及逻辑元件

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201010142831A Pending CN101820278A (zh) 2003-02-10 2004-02-09 可分裂的查找表及逻辑元件
CN2004100330188A Expired - Fee Related CN1540865B (zh) 2003-02-10 2004-02-09 逻辑元件及其制造方法、可编程逻辑设备、数据处理系统

Country Status (4)

Country Link
US (3) US6943580B2 (zh)
EP (1) EP1445864A3 (zh)
JP (1) JP4537086B2 (zh)
CN (3) CN101820278A (zh)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7800401B1 (en) 2003-02-10 2010-09-21 Altera Corporation Fracturable lookup table and logic element
US6888373B2 (en) 2003-02-11 2005-05-03 Altera Corporation Fracturable incomplete look up table for area efficient logic elements
US7302460B1 (en) * 2003-09-11 2007-11-27 Altera Corporation Arrangement of 3-input LUT's to implement 4:2 compressors for multiple operand arithmetic
US7185035B1 (en) * 2003-10-23 2007-02-27 Altera Corporation Arithmetic structures for programmable logic devices
US7167022B1 (en) 2004-03-25 2007-01-23 Altera Corporation Omnibus logic element including look up table based logic elements
US7486110B2 (en) * 2004-09-24 2009-02-03 Stmicroelectronics Pvt. Ltd. LUT based multiplexers
US7358765B2 (en) * 2005-02-23 2008-04-15 Cswitch Corporation Dedicated logic cells employing configurable logic and dedicated logic functions
US7193436B2 (en) * 2005-04-18 2007-03-20 Klp International Ltd. Fast processing path using field programmable gate array logic units
KR20060128450A (ko) * 2005-06-10 2006-12-14 삼성전자주식회사 표시 장치 및 표시 장치의 구동 장치
US7804719B1 (en) 2005-06-14 2010-09-28 Xilinx, Inc. Programmable logic block having reduced output delay during RAM write processes when programmed to function in RAM mode
US7256612B1 (en) 2005-06-14 2007-08-14 Xilinx, Inc. Programmable logic block providing carry chain with programmable initialization values
US7276934B1 (en) 2005-06-14 2007-10-02 Xilinx, Inc. Integrated circuit with programmable routing structure including diagonal interconnect lines
US7193433B1 (en) * 2005-06-14 2007-03-20 Xilinx, Inc. Programmable logic block having lookup table with partial output signal driving carry multiplexer
US7268587B1 (en) 2005-06-14 2007-09-11 Xilinx, Inc. Programmable logic block with carry chains providing lookahead functions of different lengths
US7253658B1 (en) 2005-06-14 2007-08-07 Xilinx, Inc. Integrated circuit providing direct access to multi-directional interconnect lines in a general interconnect structure
US7265576B1 (en) 2005-06-14 2007-09-04 Xilinx, Inc. Programmable lookup table with dual input and output terminals in RAM mode
US7274214B1 (en) 2005-06-14 2007-09-25 Xilinx, Inc. Efficient tile layout for a programmable logic device
US7375552B1 (en) 2005-06-14 2008-05-20 Xilinx, Inc. Programmable logic block with dedicated and selectable lookup table outputs coupled to general interconnect structure
US7295035B1 (en) * 2005-08-09 2007-11-13 Lattice Semiconductor Corporation Programmable logic device with enhanced logic block architecture
US7330052B2 (en) * 2005-09-22 2008-02-12 Altera Corporation Area efficient fractureable logic elements
JP4438000B2 (ja) * 2005-11-15 2010-03-24 株式会社半導体理工学研究センター リコンフィギャラブルロジックブロック、リコンフィギャラブルロジックブロックを備えるプログラマブル論理回路装置、および、リコンフィギャラブルロジックブロックの構成方法
US7902864B1 (en) * 2005-12-01 2011-03-08 Altera Corporation Heterogeneous labs
US7420390B1 (en) * 2006-01-09 2008-09-02 Altera Corporation Method and apparatus for implementing additional registers in field programmable gate arrays to reduce design size
US7262722B1 (en) * 2006-06-26 2007-08-28 Intel Corporation Hardware-based CABAC decoder with parallel binary arithmetic decoding
US20080079460A1 (en) * 2006-09-29 2008-04-03 Infineon Technologies Ag Programmable logic cell, configurable cell, configurable cell arrangement, configurable logic array, mask programmable basic cell, mask programmable gate array and method
US7394287B1 (en) * 2007-05-21 2008-07-01 Altera Corporation Programmable logic device having complex logic blocks with improved logic cell functionality
US7459932B1 (en) * 2007-05-24 2008-12-02 Altera Corporation Programmable logic device having logic modules with improved register capabilities
US7795913B2 (en) * 2007-12-26 2010-09-14 Tier Logic Programmable latch based multiplier
US8514994B1 (en) 2008-10-02 2013-08-20 Altera Corporation Double data rate operation in an integrated circuit
US7948792B1 (en) 2009-04-15 2011-05-24 Altera Corporation Memory and techniques for using same
US7978102B1 (en) * 2010-03-09 2011-07-12 Himax Media Solutions, Inc. Multi-bin CABAC decision bin decoder
US8952721B2 (en) 2010-06-24 2015-02-10 Taiyo Yuden Co., Ltd. Semiconductor device
JP5701054B2 (ja) * 2010-12-28 2015-04-15 国立大学法人 熊本大学 リコンフィギュラブルロジックブロック、並びに、これを用いたプログラマブル論理回路装置、及び、テクノロジマッピング方法
CN102147720B (zh) * 2011-03-18 2014-04-09 深圳市国微电子有限公司 用查找表实现多输入逻辑项之间的运算的装置及方法
US9450585B2 (en) * 2011-04-20 2016-09-20 Microchip Technology Incorporated Selecting four signals from sixteen inputs
CN103259528A (zh) * 2012-02-17 2013-08-21 京微雅格(北京)科技有限公司 一种异构可编程逻辑结构的集成电路
US8581624B2 (en) * 2012-03-29 2013-11-12 Altera Corporation Integrated circuits with multi-stage logic regions
US20130278289A1 (en) * 2012-04-18 2013-10-24 Te-Tse Jang Method and Apparatus for Improving Efficiency of Programmable Logic Circuit Using Cascade Configuration
US9571103B2 (en) * 2012-05-25 2017-02-14 Semiconductor Energy Laboratory Co., Ltd. Lookup table and programmable logic device including lookup table
US9007089B2 (en) * 2012-10-21 2015-04-14 Ememory Technology Inc. Integrated circuit design protecting device and method thereof
JP6564186B2 (ja) * 2012-10-28 2019-08-21 太陽誘電株式会社 再構成可能な半導体装置
WO2014132670A1 (ja) * 2013-03-01 2014-09-04 アトナープ株式会社 再構成する情報を生成する装置および方法
CN104242913B (zh) * 2013-06-21 2018-01-05 京微雅格(北京)科技有限公司 一种面积优化的fpga互连结构
CN103746686B (zh) * 2014-01-26 2017-07-07 中国电子科技集团公司第五十八研究所 二维可扩展多路复用器的级联结构
US9966960B2 (en) * 2014-12-17 2018-05-08 Silicon Laboratories Inc. Configurable logic circuit including dynamic lookup table
US9705504B1 (en) * 2016-01-13 2017-07-11 Altera Corporation Power gated lookup table circuitry
US10068045B1 (en) * 2016-12-09 2018-09-04 Xilinx, Inc. Programmable logic device design implementations with multiplexer transformations
US11308057B2 (en) 2016-12-12 2022-04-19 Advanced Micro Devices, Inc. System and method for multiplexer tree indexing
TW202404049A (zh) 2016-12-14 2024-01-16 成真股份有限公司 標準大宗商品化現場可編程邏輯閘陣列(fpga)積體電路晶片組成之邏輯驅動器
US11625523B2 (en) 2016-12-14 2023-04-11 iCometrue Company Ltd. Logic drive based on standard commodity FPGA IC chips
US10447274B2 (en) 2017-07-11 2019-10-15 iCometrue Company Ltd. Logic drive based on standard commodity FPGA IC chips using non-volatile memory cells
US10957679B2 (en) 2017-08-08 2021-03-23 iCometrue Company Ltd. Logic drive based on standardized commodity programmable logic semiconductor IC chips
US10630296B2 (en) 2017-09-12 2020-04-21 iCometrue Company Ltd. Logic drive with brain-like elasticity and integrality based on standard commodity FPGA IC chips using non-volatile memory cells
US10608642B2 (en) * 2018-02-01 2020-03-31 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips comprising non-volatile radom access memory cells
US10623000B2 (en) 2018-02-14 2020-04-14 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips
US10608638B2 (en) 2018-05-24 2020-03-31 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips
US10892011B2 (en) 2018-09-11 2021-01-12 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips comprising non-volatile random access memory cells
US11309334B2 (en) 2018-09-11 2022-04-19 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips comprising non-volatile random access memory cells
US10937762B2 (en) 2018-10-04 2021-03-02 iCometrue Company Ltd. Logic drive based on multichip package using interconnection bridge
US11616046B2 (en) 2018-11-02 2023-03-28 iCometrue Company Ltd. Logic drive based on chip scale package comprising standardized commodity programmable logic IC chip and memory IC chip
US11211334B2 (en) 2018-11-18 2021-12-28 iCometrue Company Ltd. Logic drive based on chip scale package comprising standardized commodity programmable logic IC chip and memory IC chip
US11227838B2 (en) 2019-07-02 2022-01-18 iCometrue Company Ltd. Logic drive based on multichip package comprising standard commodity FPGA IC chip with cooperating or supporting circuits
US10985154B2 (en) 2019-07-02 2021-04-20 iCometrue Company Ltd. Logic drive based on multichip package comprising standard commodity FPGA IC chip with cryptography circuits
US11887930B2 (en) 2019-08-05 2024-01-30 iCometrue Company Ltd. Vertical interconnect elevator based on through silicon vias
US11637056B2 (en) 2019-09-20 2023-04-25 iCometrue Company Ltd. 3D chip package based on through-silicon-via interconnection elevator
US11600526B2 (en) 2020-01-22 2023-03-07 iCometrue Company Ltd. Chip package based on through-silicon-via connector and silicon interconnection bridge

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN86106824A (zh) * 1985-09-11 1987-06-03 皮尔金顿微电子技术有限公司 半导体集成电路/系统
US5233539A (en) * 1989-08-15 1993-08-03 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure, input/output structure and configurable logic block
JPH05250257A (ja) * 1992-01-29 1993-09-28 Nec Corp キャッシュ・メモリ内蔵型マイクロプロセッサ
US5905385A (en) * 1997-04-01 1999-05-18 Advanced Micro Devices, Inc. Memory bits used to couple look up table inputs to facilitate increased availability to routing resources particularly for variable sized look up tables for a field programmable gate array (FPGA)
US5920202A (en) * 1997-02-26 1999-07-06 Xilinx, Inc. Configurable logic element with ability to evaluate five and six input functions
US20010030555A1 (en) * 1999-02-25 2001-10-18 Xilinx, Inc. Configurable lookup table for programmable logic devices
US6388466B1 (en) * 2001-04-27 2002-05-14 Xilinx, Inc. FPGA logic element with variable-length shift register capability
US20020057103A1 (en) * 1999-03-04 2002-05-16 Altera Corporation. Interconnection and input/output resources for programable logic integrated circuit devices

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5343406A (en) 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
US5212652A (en) * 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5295090A (en) 1992-05-10 1994-03-15 Xilinx, Inc. Logic structure and circuit for fast carry
US5267187A (en) 1990-05-10 1993-11-30 Xilinx Inc Logic structure and circuit for fast carry
JPH0525025A (ja) * 1991-07-22 1993-02-02 Kao Corp 毛髪化粧料
US5359468A (en) 1991-08-06 1994-10-25 R-Byte, Inc. Digital data storage tape formatter
US5260611A (en) 1991-09-03 1993-11-09 Altera Corporation Programmable logic array having local and long distance conductors
US5436575A (en) 1991-09-03 1995-07-25 Altera Corporation Programmable logic array integrated circuits
US5260610A (en) 1991-09-03 1993-11-09 Altera Corporation Programmable logic element interconnections for programmable logic array integrated circuits
US5633830A (en) 1995-11-08 1997-05-27 Altera Corporation Random access memory block circuitry for programmable logic array integrated circuit devices
US5359242A (en) 1993-01-21 1994-10-25 Altera Corporation Programmable logic with carry-in/carry-out between logic blocks
US5274581A (en) 1992-05-08 1993-12-28 Altera Corporation Look up table implementation of fast carry for adders and counters
US5365125A (en) 1992-07-23 1994-11-15 Xilinx, Inc. Logic cell for field programmable gate array having optional internal feedback and optional cascade
US5483478A (en) 1992-10-16 1996-01-09 Xilinx, Inc. Method and structure for reducing carry delay for a programmable carry chain
US5349250A (en) 1993-09-02 1994-09-20 Xilinx, Inc. Logic structure and circuit for fast carry
US5629886A (en) 1993-09-02 1997-05-13 Xilinx, Inc. Method and structure for providing fast propagation of a carry signal in a field programmable gate array
US5481206A (en) 1993-09-02 1996-01-02 Xilinx, Inc. Circuit for fast carry and logic
US6154053A (en) 1993-09-02 2000-11-28 Xilinx, Inc. Look-ahead carry structure with homogeneous CLB structure and pitch larger than CLB pitch
US6288570B1 (en) 1993-09-02 2001-09-11 Xilinx, Inc. Logic structure and circuit for fast carry
US5898319A (en) 1993-09-02 1999-04-27 Xilinx, Inc. Method and structure for providing fast conditional sum in a field programmable gate array
US5546018A (en) 1993-09-02 1996-08-13 Xilinx, Inc. Fast carry structure with synchronous input
US5689195A (en) 1995-05-17 1997-11-18 Altera Corporation Programmable logic array integrated circuit devices
US5606266A (en) 1994-11-04 1997-02-25 Altera Corporation Programmable logic array integrated circuits with enhanced output routing
US5909126A (en) 1995-05-17 1999-06-01 Altera Corporation Programmable logic array integrated circuit devices with interleaved logic array blocks
US5631576A (en) 1995-09-01 1997-05-20 Altera Corporation Programmable logic array integrated circuit devices with flexible carry chains
US5818255A (en) 1995-09-29 1998-10-06 Xilinx, Inc. Method and circuit for using a function generator of a programmable logic device to implement carry logic functions
US5675262A (en) 1995-10-26 1997-10-07 Xilinx, Inc. Fast carry-out scheme in a field programmable gate array
JPH09181598A (ja) * 1995-12-18 1997-07-11 At & T Corp フィールドプログラマブルゲートアレイ
US5672985A (en) 1995-12-18 1997-09-30 Altera Corporation Programmable logic array integrated circuits with carry and/or cascade rings
US5898602A (en) 1996-01-25 1999-04-27 Xilinx, Inc. Carry chain circuit with flexible carry function for implementing arithmetic and logical functions
US6107822A (en) * 1996-04-09 2000-08-22 Altera Corporation Logic element for a programmable logic integrated circuit
US5724276A (en) 1996-06-17 1998-03-03 Xilinx, Inc. Logic block structure optimized for sum generation
US5999016A (en) 1996-10-10 1999-12-07 Altera Corporation Architectures for programmable logic devices
US6288568B1 (en) * 1996-11-22 2001-09-11 Xilinx, Inc. FPGA architecture with deep look-up table RAMs
US6297665B1 (en) * 1996-11-22 2001-10-02 Xilinx, Inc. FPGA architecture with dual-port deep look-up table RAMS
US6323682B1 (en) * 1996-11-22 2001-11-27 Xilinx, Inc. FPGA architecture with wide function multiplexers
US5963050A (en) * 1997-02-26 1999-10-05 Xilinx, Inc. Configurable logic element with fast feedback paths
US5889411A (en) 1997-02-26 1999-03-30 Xilinx, Inc. FPGA having logic element carry chains capable of generating wide XOR functions
US6021423A (en) 1997-09-26 2000-02-01 Xilinx, Inc. Method for parallel-efficient configuring an FPGA for large FFTS and other vector rotation computations
US6191611B1 (en) 1997-10-16 2001-02-20 Altera Corporation Driver circuitry for programmable logic devices with hierarchical interconnection resources
US6118300A (en) 1998-11-24 2000-09-12 Xilinx, Inc. Method for implementing large multiplexers with FPGA lookup tables
US6157209A (en) 1998-12-18 2000-12-05 Xilinx, Inc. Loadable up-down counter with asynchronous reset
US6154052A (en) 1999-02-04 2000-11-28 Xilinx, Inc. Combined tristate/carry logic mechanism
US6150838A (en) * 1999-02-25 2000-11-21 Xilinx, Inc. FPGA configurable logic block with multi-purpose logic/memory circuit
JP3580785B2 (ja) * 2001-06-29 2004-10-27 株式会社半導体理工学研究センター ルックアップテーブル、ルックアップテーブルを備えるプログラマブル論理回路装置、および、ルックアップテーブルの構成方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN86106824A (zh) * 1985-09-11 1987-06-03 皮尔金顿微电子技术有限公司 半导体集成电路/系统
US5233539A (en) * 1989-08-15 1993-08-03 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure, input/output structure and configurable logic block
JPH05250257A (ja) * 1992-01-29 1993-09-28 Nec Corp キャッシュ・メモリ内蔵型マイクロプロセッサ
US5920202A (en) * 1997-02-26 1999-07-06 Xilinx, Inc. Configurable logic element with ability to evaluate five and six input functions
US5905385A (en) * 1997-04-01 1999-05-18 Advanced Micro Devices, Inc. Memory bits used to couple look up table inputs to facilitate increased availability to routing resources particularly for variable sized look up tables for a field programmable gate array (FPGA)
US20010030555A1 (en) * 1999-02-25 2001-10-18 Xilinx, Inc. Configurable lookup table for programmable logic devices
US20020057103A1 (en) * 1999-03-04 2002-05-16 Altera Corporation. Interconnection and input/output resources for programable logic integrated circuit devices
US6388466B1 (en) * 2001-04-27 2002-05-14 Xilinx, Inc. FPGA logic element with variable-length shift register capability

Also Published As

Publication number Publication date
JP2004248282A (ja) 2004-09-02
US7323902B2 (en) 2008-01-29
JP4537086B2 (ja) 2010-09-01
US20040155677A1 (en) 2004-08-12
US7312632B2 (en) 2007-12-25
US6943580B2 (en) 2005-09-13
CN101820278A (zh) 2010-09-01
CN1540865A (zh) 2004-10-27
CN104320129B (zh) 2020-10-23
CN1540865B (zh) 2010-05-12
EP1445864A2 (en) 2004-08-11
US20070222477A1 (en) 2007-09-27
US20060017460A1 (en) 2006-01-26
EP1445864A3 (en) 2005-12-14

Similar Documents

Publication Publication Date Title
CN104320129A (zh) 可分裂的查找表及逻辑元件
US6400180B2 (en) Configurable lookup table for programmable logic devices
US6501296B2 (en) Logic/memory circuit having a plurality of operating modes
US6847229B2 (en) Configurable logic element with expander structures
US6417694B1 (en) Programmable logic device with hierarchical interconnection resources
GB2318199A (en) Programmable logic with hierarchical interconnects
US7075333B1 (en) Programmable circuit optionally configurable as a lookup table or a wide multiplexer
US6603332B2 (en) Configurable logic block for PLD with logic gate for combining output with another configurable logic block
US7284228B1 (en) Methods of using ant colony optimization to pack designs into programmable logic devices
US7486110B2 (en) LUT based multiplexers
WO2000035093A1 (en) Efficient interconnect network for use in fpga device having variable grain architecture
US8217678B1 (en) Fracturable lookup table and logic element
US7360197B1 (en) Methods for producing equivalent logic designs for FPGAs and structured ASIC devices
US7119575B1 (en) Logic cell with improved multiplexer, barrel shifter, and crossbarring efficiency
WO2017132200A1 (en) Transformable logic and routing structures for datapath optimization
Wu et al. Routing for array-type FPGA's
US7098687B1 (en) Flexible routing resources in a programmable logic device
GB2346724A (en) Programmable logic

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201023

Termination date: 20210209