CN108028655A - 级联查找表(lut)进位逻辑电路 - Google Patents
级联查找表(lut)进位逻辑电路 Download PDFInfo
- Publication number
- CN108028655A CN108028655A CN201680052821.7A CN201680052821A CN108028655A CN 108028655 A CN108028655 A CN 108028655A CN 201680052821 A CN201680052821 A CN 201680052821A CN 108028655 A CN108028655 A CN 108028655A
- Authority
- CN
- China
- Prior art keywords
- input
- look
- multiplexer
- coupled
- output
- 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
Links
- 238000000034 method Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 230000008878 coupling Effects 0.000 description 8
- 238000010168 coupling process Methods 0.000 description 8
- 238000005859 coupling reaction Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 101100521345 Mus musculus Prop1 gene Proteins 0.000 description 5
- 108700017836 Prophet of Pit-1 Proteins 0.000 description 5
- 239000002131 composite material Substances 0.000 description 3
- 238000012905 input function Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 241001280173 Crassula muscosa Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000004209 hair Anatomy 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1733—Controllable logic circuits
- H03K19/1737—Controllable logic circuits using multiplexers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17748—Structural details of configuration resources
- H03K19/17758—Structural details of configuration resources for speeding up configuration or reconfiguration
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)
Abstract
在一个示例中,一种用于可编程集成电路(IC)的可配置逻辑元件包括第一查找表(LUT)(302‑0)、第二查找表(302‑1)以及第一和第二级联多路复用器(3220、322‑1),所述第一查找表包括第一输入和第一输出、以及耦接在所述第一输入与所述第一输出之间的第一求和逻辑(312‑0)和第一进位逻辑(310‑0);所述第二查找表包括第二输入和第二输出、以及耦接在所述第二输入与所述第二输出之间的第二求和逻辑(312‑1);所述第一和第二级联多路复用器分别耦接至所述第一和第二查找表,所述第二级联多路复用器的输入耦接至所述第一查找表中的所述第一进位逻辑的输出。
Description
技术领域
本公开的示例大体涉及电子电路,且更具体来讲,涉及一种级联查找表(LUT)进位逻辑电路。
背景技术
可编程集成电路(IC)通常用于根据用户可配置的输入实现数字逻辑运算。示例性可编程集成电路包括复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)。CPLD通常包括若干基于具有积和(sum-of-products)逻辑的可编程逻辑阵列(PLA)架构的功能块。可配置的互连矩阵在功能块之间传输信号。
一种类型的FPGA包括可编程单元块阵列。可编程单元块包括各种类型的逻辑块,其可包括,例如输入/输出块(IOB)、可配置逻辑块(CLB)、专用随机存取存储块(BRAM)、乘法器、数字信号处理块(DSP)、处理器、时钟管理器、延迟锁定环(DLL)、总线或网络接口(如外围组件互连高速(PCIe)和以太网等)。每个可编程单元块通常包括可编程互连和可编程逻辑。可编程互连通常包括由可编程互连点(PIP)互连的大量不同长度的互连线。可编程逻辑使用可编程元件来实现用户设计的逻辑,所述可编程元件可包括,例如函数发生器、寄存器、算术逻辑等等。
发明内容
本公开描述了一种级联查找表(LUT)进位逻辑电路。在一个示例中,一种用于可编程集成电路(IC)的可配置逻辑元件包括第一查找表(LUT)、第二查找表、以及第一和第二级联多路复用器,所述第一查找表包括第一输入和第一输出、以及耦接在所述第一输入与所述第一输出之间的第一求和逻辑和第一进位逻辑;所述第二查找表包括第二输入和第二输出、以及耦接在所述第二输入与所述第二输出之间的第二求和逻辑;所述第一和第二级联多路复用器分别耦接至所述第一和第二查找表,所述第二级联多路复用器的输入耦接至所述第一查找表中的所述第一进位逻辑的输出。
在另一个示例中,一种可编程集成电路(IC)包括配置存储器和耦接至所述配置存储器的多个可配置逻辑元件。所述多个可配置逻辑元件中的每个包括第一查找表(LUT)、第二查找表、以及第一和第二级联多路复用器,所述第一查找表包括第一输入和第一输出、以及耦接在所述第一输入与所述第一输出之间的第一求和逻辑和第一进位逻辑;所述第二查找表包括第二输入和第二输出、以及耦接在所述第二输入与所述第二输出之间的第二求和逻辑;所述第一和第二级联多路复用器分别耦接至所述第一和第二查找表,所述第二级联多路复用器的输入耦接至所述第一查找表中的所述第一进位逻辑的输出。
在另一个示例中,一种配置可编程集成电路(IC)的方法包括:配置可配置逻辑元件中的第一查找表(LUT)以计算第一总和,所述第一查找表包括第一输入和第一输出、以及耦接在所述第一输入与所述第一输出之间的第一求和逻辑和第一进位逻辑;配置所述可配置逻辑元件中的第二查找表以计算第二总和,所述第二查找表包括第二输入和第二输出、以及耦接在所述第二输入与所述第二输出之间的第二求和逻辑;以及配置级联多路复用器以将所述第一查找表中的所述第一进位逻辑的输出耦接至所述第二查找表中的所述第二求和逻辑的输入。
在另一个示例中,描述了一种查找表(LUT)级联电路。
在一个示例中,一种用于可编程集成电路(IC)的查找表包括多个输入端和耦接至所述可编程集成电路中的至少一个其他查找表的级联输入。所述查找表进一步包括查找表逻辑,所述查找表逻辑具有各自耦接至一组公共输入端的多个查找表。所述查找表进一步包括多个多路复用器和输出多路复用器,所述多个多路复用器具有耦接至所述多个查找表的输出的输入,所述输出多路复用器具有耦接至所述多个多路复用器的输出的输入。所述查找表进一步包括多个级联多路复用器,所述多个级联多路复用器各自具有耦接至所述多个多路复用器中的相应一个的控制输入的输出,所述多个级联多路复用器中的每个包括多个输入,所述多个输入中的至少一个耦接至所述级联输入。
在另一个示例中,一种可编程集成电路包括配置存储器和耦接至所述配置存储器的至少一个可配置逻辑元件(CLE)。所述至少一个可配置逻辑元件包括多个。所述多个查找表中的每个包括输出端和级联输入。所述多个查找表的第一查找表的级联输入耦接至所述多个查找表的第二查找表的输出端。
在另一个示例中,一种操作可编程集成电路中查找表的方法包括:将一组公共输入信号耦接至查找表逻辑中的多个查找表;将级联输入耦接至多个级联多路复用器中的每个,所述级联输入耦接至所述可编程集成电路中的至少一个其他查找表;控制所述多个级联多路复用器中的至少一个以选择所述级联输入的信号;以及将所述级联多路复用器的输出耦接至可用于在所述查找表逻辑中的多个查找表的输出之中进行选择的多路复用器逻辑。
参考以下详细描述可以理解这些和其他方面。
附图说明
为了能够详细理解上述特征的方式,可以通过参考示例实施方式来获得上面简要概述的更具体的描述,其中一些示例性实施方式在附图中示出。然而,应当理解,附图仅示出了典型的示例性实施方式,因此不被认为是对其范围的限制。
图1A示出了FPGA的示例性架构。
图1B是根据一个示例,示出图1中FPGA的较高级视图的方框图。
图2是示出图1中FPGA的可编程结构的平面布置图的方框图。
图3是根据一个示例,示出可配置逻辑元件的方框图。
图4是根据另一个示例,示出可配置逻辑元件的方框图。
图5是根据一个示例,示出一种配置可编程集成电路(IC)的方法的流程图。
图6是示出图1A-1B中FPGA的可编程结构的平面布置图一部分的方框图。
图7是根据一个示例,示出查找表的方框图。
图8是示出包括实施宽组合函数的查找表链的示例性电路的方框图。
图9是示出包括实施多路复用器的多个查找表的示例性电路500的方框图。
图10是根据一个示例,示出一种操作可编程集成电路中查找表的方法的流程图。
为了便于理解,在可能的情况下使用相同的附图标记来表示附图中共有的相同元件。预期一个示例的元件可有利地并入其他示例中。
具体实施方式
以下参考附图描述各种特征。应该注意的是,附图可以或不可以按比例绘制,并且整个附图中,类似结构或功能的元件由相同的附图标记表示。应该指出,这些附图只是为了便于描述这些特征。它们不旨在作为对要求保护的发明的详尽描述或作为对要求保护的发明的范围的限制。另外,所示实施例不需要具有所示的所有方面或优点。结合特定实施例描述的方面或优点不一定限于该实施例,且可以在任何其他实施例中实施,即使没有如此说明或如果没有如此明确地描述。
本公开描述了一种级联查找表(LUT)进位逻辑电路。在一个示例中,一种用于可编程集成电路(IC)(比如FPGA)的可配置逻辑元件(CLE)包括一对查找表(LUT)。第一查找表(LUT)包括第一输入和第一输出、以及耦接在第一输入与第一输出之间的第一求和逻辑和第一进位逻辑。第二查找表包括第二输入和第二输出、以及耦接在第二输入与第二输出之间的第二求和逻辑。可配置逻辑元件包括分别耦接至第一和第二查找表的第一和第二级联多路复用器。第二级联多路复用器的输入耦接至第一查找表中的第一进位逻辑的输出。在另一个示例中,进位逻辑也可并入到查找表对中的第二查找表中。
在本文所述的示例性可配置逻辑元件中,求和和进位逻辑并入到可配置逻辑元件的一个或多个查找表中。进位初始化可以由级联多路复用器执行。级联多路复用器可加速通用查找表至查找表直接连接。求和和进位输出的输出都由查找表直接提供。这使得由这些信号驱动的输出多路复用器的大小得到减小,因为这些输出多路复用器否则将需要单独的输出用于查找表的求和、进位和输出。由于每个查找表包括与其耦接的级联多路复用器,所以可在每个查找表处开启/启动进位链,这使得能够实现更有效的多进位链堆砌。下面将参考下列附图说明这些及进一步的方面。
图1A示出了FPGA 100的示例性架构,其包括大量不同的可编程单元块,这些单元块包括多千兆位收发器(MGT)101、可配置逻辑块(CLB)102、随机存取存储器块(BRAM)103、输入/输出块(IOB)104、配置及定时逻辑(CONFIG/CLOCKS)105、数字信号处理块(DSP)106、专用输入/输出块(I/O)107(例如,配置端口和时钟端口)及其他可编程逻辑108,比如数字时钟管理器、模数转换器、系统监控逻辑等等。一些FPGA也包括专用处理器块(PROC)110。
在一些FPGA中,每个可编程单元块都可包括至少一个可编程互连元件(INT)111,其具有到同一个单元块内的可编程互连元件的输入和输出端120的连接,如图1A顶部所包括的示例所示。每个可编程互连元件111(也称作“互连元件111”)还可包括到同一个单元块或其他单元块内相邻可编程互连元件的互连段122的连接。每个可编程互连元件111还可包括到逻辑块(未示出)之间通用布线(routing)资源的互连段124的连接。通用布线资源可包括逻辑块(未示出)之间的布线通道,其包括互连段(例如,互连段124)的轨道和用于连接互连段的开关块(未示出)。通用布线资源的互连段(例如,互连段124)可跨越一个或多个逻辑块。可编程互连元件111与通用布线资源一起为所示FPGA实施可编程互连结构(“可编程互连”)。如下进一步所述,在一些示例中,一些或所有的互连元件111可包括用于有效实施TCAM的附加电路。
在示例性实施方案中,CLB 102可包括可配置逻辑元件(CLE)112,其可经编程以实施用户逻辑加上单个可编程互连元件(INT)111。除了一个或多个可编程互连元件外,BRAM103还可包括BRAM逻辑元件(BRL)113。一般来说,单元块中包括的互连元件的数量取决于单元块的高度。在图示示例中,BRAM单元块具有如同五个CLB的高度,但也可使用其他数量(例如,四个)。除了适当数量的可编程互连元件外,DSP单元块106还可包括DSP逻辑元件(DSPL)114。除了可编程互连元件111的一个实例外,IOB 104还可包括例如两个输入/输出逻辑元件(IOL)115的实例。如本领域技术人员将清楚的那样,连接到例如I/O逻辑元件115的实际I/O焊盘通常不限于输入/输出逻辑元件115的区域。
在图示示例中,使用芯片中心附近的水平区域(如图1A所示)来用于配置、时钟和其他控制逻辑。从该水平区域或柱延伸出的竖直柱109用来在FPGA的整个宽度上分配时钟和配置信号。
一些使用图1A所示架构的FPGA包括附加逻辑块,其打乱构成FPGA大部分的规则柱状结构。附加逻辑块可为可编程块和/或专用逻辑。例如,处理器块110跨过CLB和BRAM的若干柱。处理器块110可包括各种部件,其范围从单个微处理器到完整的由微处理器、存储控制器、外围设备等构成的可编程处理系统。
应注意,图1A旨在仅示出示例性FPGA架构。例如,一排逻辑块的数量、这些排的相对宽度、这些排的数量和顺序、这些排中包括的逻辑块类型、逻辑块的相对大小以及图1A顶部所包括的互连/逻辑实施方案都完全是示例性的。例如,在实际的FPGA中,CLB出现的地方通常包括多于一个相邻CLB排,以便于用户逻辑的高效实施,但相邻CLB排的数量随FPGA的整体大小而变化。在另一个示例中,FPGA可包括整个处理系统(例如,处理器、存储器、外围设备等)而替代处理器块110,或者除了处理器块110还包括整个处理系统。在该实施方案中,片上系统(Soc)可包括与处理系统通信的可编程结构(如FPGA 100中示出的可编程逻辑)。
图1B是根据一个示例,示出FPGA 100的较高级视图的方框图。FPGA 100包括可编程结构150,其可包括各种如上所述的可编程单元块。可编程结构150耦接至配置存储器152。配置存储器152包括随机存取存储器(RAM),比如静态RAM(SRAM)等。可编程结构150还可包括CLE 112,其具有如本文所述的级联查找表(LUT)进位逻辑。配置存储器152可加载用于编程(“配置”)可编程结构150的配置比特流。例如,配置比特流可加载进配置存储器152中以配置可编程结构150的CLE 112,如本文所述。
图2是示出FPGA 100的可编程结构150的平面布置图的方框图。图2示出了可编程结构150中可编程单元块的两个柱202和206。柱202和206中的可编程单元块包括CLE112。在柱202和206中的每个中,仅示出一个CLE 112,但柱202和206一般包括多个CLE。每个CLE112都耦接至互连元件111。
每个CLE 112都包括四个单元片SM1-SM0和SL0-SL1。单元片SM0-SM1属于一种类型(类型“M”),单元片SL0-SL1属于另一种类型(类型“L”)。M类型单元片SM0和SM1包括查找表(LUT)208和支持逻辑210。LUT 208可被配置为函数发生器以执行具有多个输入和多个输出的任何组合函数。LUT 208还可被配置为LUT-RAM,其被配置成存储多个比特。支持逻辑210可包括支持LUT 208的触发器、多路复用器、进位链逻辑等。L类型单元片SL0和SL1包括LUT212和支持逻辑210。LUT 212可被配置为函数发生器,但不是LUT-RAM。图2所示的架构仅为一个示例。在其他示例中,CLE 112中的所有LUT都可包括LUT-RAM(每个单元片都属于类型“M”),或CLE 112中的所有LUT都可包括无法配置为RAM的LUT(每个单元片都属于类型“L”)。
在示例中,柱202中的L类型单元片SL0和SL1与柱206中的M类型单元片SM0和SM1相邻,其之间具有两个互连元件111。柱202中的单元片SL0-SL1耦接至互连元件111中的一个,且柱206中的单元片SM0-SM1耦接至互连元件111中的另一个。互连元件111可互相耦接。每个互连元件111都可包括多路复用器214。多路复用器214中不同的多路复用器可具有不同的输入,比如,来自柱202中的CLE 112的输入、来自柱206中的CLE112的输入、来自另一个互连元件111中的多路复用器214的输入、或来自互连的输入。相似地,多路复用器214中不同的多路复用器可具有不同的输出,比如,到柱202中的CLE112的输出、到柱206中的CLE 112的输出、到另一个互连元件111的输出、或到互连的输出。
如本文所述,LUT 208和/或LUT 212可包括内部求和和进位逻辑,消除对将这样的求和和进位逻辑包括在支持逻辑210中的需要。这减小了CLE 112的输出多路复用器成本。这也导致可能的关键路径更少,优化了CLE 112的性能。此外,进位链可在CLE 112中的任何LUT处启动,这能够以更精细的粒度堆砌多个进位链。
图3是根据一个示例,示出可配置逻辑元件112的方框图。在本示例中,可配置逻辑元件112包括一对LUT 302-0和302-1(统称LUT 302)。如上所述,虽然示例中仅示出了两个LUT,但CLE 112可具有一个或更多的单元片,每个都具有一个或多个LUT。
LUT 302中的每个中都包括求和逻辑312和进位逻辑310。在示例中,LUT 302-0包括求和逻辑312-0和进位逻辑310-0,且LUT 302-1包括求和逻辑312-1和进位逻辑310-1。在示例中,求和逻辑312包括异或(XOR)门,且进位逻辑310包括多路复用器。因此,求和逻辑312-0包括逻辑门320,且求和逻辑312-1包括逻辑门308。在示例中,逻辑门308和320中的每个都包括异或门。相似地,进位逻辑310-0包括多路复用器318,且进位逻辑310-1包括多路复用器306。LUT 302-0进一步包括逻辑门304-0,LUT 302-1进一步包括逻辑门304-1。在示例中,逻辑门304-0和304-1中的每个都包括异或门。
LUT 302中的每个都包括标注为A1到A6的六个输入。在LUT 302-0中,输入A3和A4耦接至逻辑门304-0的输入。输入A5耦接至级联多路复用器322-0的输出。所示输入A6连接至参考电压(例如,电气接地)。在本示例中,输入A1和A2未连接。逻辑门304-0的输出标注为prop0。多路复用器318的控制输入经耦接以接收prop0。多路复用器318的输入耦接至输入A4和A5。逻辑门320的输入耦接至输入A5和逻辑门304-0的输出(prop0)。多路复用器318的输出标注为Cout0,且逻辑门320的输出标注为Sum0。
在LUT 302-1中,输入A3和A4耦接至逻辑门304-1的输入。输入A5耦接至级联多路复用器322-1的输出。所示输入A6连接至参考电压(例如,电气接地)。在本示例中,输入A1和A2未连接。逻辑门304-1的输出标注为prop1。多路复用器306的控制输入经耦接以接收prop1。多路复用器306的输入耦接至输入A4和A5。逻辑门308的输入耦接至输入A5和逻辑门304-1的输出(prop1)。多路复用器306的输出标注为Cout1’,且逻辑门308的输出标注为Sum1。
级联多路复用器322-0的一个输入标注为A5’,且级联多路复用器322-0的另一个输入耦接至节点Cin。级联多路复用器322-1的一个输入标注为A5’,且级联多路复用器322-1的另一个输入耦接至多路复用器318的输出(Cout0)。
在示例中,CLE 112的支持逻辑210包括进位链多路复用器314。进位链多路复用器314的输出由Cout标注。进位链多路复用器314的控制接口可经耦接以接收prop0、prop1或它们二者。进位链多路复用器314的一个输入经耦接以接收Cout1’。进位链多路复用器314的其他输入可经耦接以接收级联多路复用器322-0的输出、Cin或它们二者。
在操作中,LUT 302-0和302-1计算数据字A_data和B_data的总和。在本示例中,数据字A_data和B_data各自具有标注为<0>和<1>的两个比特。LUT 302-0的输入A3和A4分别接收A_data<0>和B_data<0>。LUT 302-1的输入A3和A4分别接收A_data<1>和B_data<1>。
逻辑门304-0计算A_data<0>和B_data<0>的总和(即prop0=A_data<0>+B_data<0>)。逻辑门320将进位比特加到A_data<0>和B_data<0>的总和上(即sum0=A_data<0>+B_data<0>+进位)。该进位比特由级联多路复用器322-0输出,其可通过A5’或通过Cin来输入(到CLE 112的进位输入)。多路复用器318输出进位比特用于通过LUT 302-0执行的求和操作(标注为Cout0)。
逻辑门304-1计算A_data<1>和B_data<1>的总和(即prop1=A_data<1>+B_data<1>)。逻辑门308将进位比特加到A_data<1>和B_data<1>的总和上(即sum1=A_data<1>+B_data<1>+进位)。该进位比特由级联多路复用器322-1输出,其可通过A5’或通过多路复用器318的输出(例如,Cout0)来输入。为了确定A_data+B_data,多路复用器322-1选择Cout0作为进位比特。多路复用器306输出进位比特用于通过LUT302-1执行的求和操作(标注Cout1’)。
进位链多路复用器314输出进位比特用于CLE 112。该用于CLE 112的进位比特可以为Cout1(用于操作A_data+B_data)。对于其他操作来说,Cout也可能为Cin(进位通过)或级联多路复用器322-0的输出。图3所示CLE 112可经复制和链接在一起来计算具有任意数量比特的A_data和B_data的总和。
在图3所示的示例中,求和和进位逻辑并入到CLE 112的LUT 302中。进位初始化可由级联多路复用器322来执行。级联多路复用器322加速通用查找表至查找表直接连接。求和和进位输出的输出都由LUT 302直接提供。这使得由这些信号驱动的输出多路复用器(例如,在互连元件111内)的大小得到减小,因为这些输出多路复用器否则将需要各自的输出用于求和、进位和LUT 302的输出。由于LUT 302中的每个都包括与其耦接的级联多路复用器322,所以可在每个LUT处开启/启动进位链,这使得能够实现更有效的多进位链堆砌。此外,求和输出并不是专用的,且计算总和的逻辑门304可为异或门之外的一些其他函数。
图4是根据另一个示例,示出可配置逻辑元件112的方框图。与上文描述的元件相同或类似的元件使用相同附图标记来标注。在本示例中,进位逻辑310-0中多路复用器318的输出(Cout0)耦接至进位链多路复用器314的输入。此外,进位逻辑310-1从LUT 302-1中省去。替代地,LUT 302-1的输入A4耦接至进位链多路复用器314的输入。可配置逻辑元件112的剩余部分则如上所述参考图3实现。
在图4所示的可配置逻辑元件112中,进位链多路复用器314的输入扩展以直接从LUT302-0接收进位输出(Cout0)。按此方式,来自LUT 302-0的进位输出(Cout0)不必为了到达进位链多路复用器314而传送通过至LUT 302-1。此外,由于LUT 302-0的进位输出(Cout0)直接连接至多路复用器314,所以进位逻辑310-1可从中移除。
在图3和图4所示的示例中,示出了两个进位比特(Cout0和Cout1)。一般来说,图3和图4所示的电路可扩展以产生N个进位比特,其中N为正整数。在这些示例中,进位链多路复用器314可包括增加的宽度以容纳由其他LUT产生的附加进位比特。此外,在上述示例中,参考附加操作说明了进位逻辑结构。一般来说,可使用本文所述的进位逻辑结构来执行所有或一部分其他类型算法操作。
图5是根据一个示例,示出一种配置可编程集成电路(IC)的方法500的流程图。方法500在方框502处开始,其中,配置可配置逻辑元件中的第一查找表以计算第一总和,第一查找表包括第一输入和第一输出、以及耦接在第一输入与第一输出之间的第一求和逻辑和第一进位逻辑。在方框504处,配置可配置逻辑元件中的第二查找表以计算第二总和,第二查找表包括第二输入和第二输出、以及耦接在第二输入与第二输出之间的第二求和逻辑和第二进位逻辑。在方框506处,配置级联多路复用器以将第一查找表中的第一进位逻辑的输出耦接至第二查找表中的第二求和逻辑的输入。可重复方法500用于一个或多个附加查找表以计算具有任意数量比特的数据字的总和。
一些其他示例一般涉及电子电路,且更具体来讲,涉及一种查找表(LUT)级联电路。
再次参考图1B,在一个示例中,可编程结构150还可包括具有查找表(LUT)154的CLE 112。LUT 154可包括级联输入,如本文所述。
现在转到参考图6,其示出FPGA 100的可编程结构150的平面布置图一部分的另一个方框图。图6示出了可编程结构150中可编程单元块的两个柱602和606。柱602和606中的可编程单元块包括CLE 612。在柱602和606中的每个中,仅示出一个CLE 612,但柱602和606一般包括多个CLE。每个CLE 612都耦接至互连元件611。
每个CLE 612都包括四个单元片SM0-SM1和SL0-SL1。单元片SM0-SM1属于一种类型(类型“M”),单元片SL0-SL1属于另一种类型(类型“L”)。M类型的单元片SM0和SM1包括查找表(LUT)154A和支持逻辑610。LUT 154A可被配置为函数发生器以执行具有多个输入和多个输出的组合函数。LUT 154A还可被配置为LUT-RAM,其配置成存储多个比特。支持逻辑610可包括支持LUT 154A的触发器、多路复用器、进位链逻辑等。L类型的单元片SL0和SL1包括LUT154B和支持逻辑610。LUT 154B可被配置为函数发生器,但不是LUT-RAM。图6所示的架构仅为一个示例。在其他示例中,CLE 612中的所有LUT都可包括LUT-RAM(每个单元片都属于类型“M”),或CLE 612中的所有LUT都可包括无法配置为RAM的LUT(每个单元片都属于类型“L”)。
两种类型的LUT 154A和154B都可具有级联连接620。级联连接620可实现查找表到查找表连接而不使用可编程互连(例如,INT 611和MUX 614)。图2中级联连接620大体上示为单元片间连接(例如,两个不同单元片中查找表之间的查找表到查找表连接)。级联连接620还可为CLE间连接(例如,两个不同CLE 612中的LUT之间的连接)。级联连接620还可为单元片内连接(例如,相同单元片中查找表之间的查找表到查找表连接)。
在示例中,柱602中的L类型单元片SL0和SL1与柱606中的M类型单元片SM0和SM1靠近,其之间具有两个互连元件611。柱602中的单元片SL0-SL1耦接至互连元件611中的一个,且柱606中的单元片SM0-SM1耦接至互连元件611中的另一个。互连元件611可互相耦接。每个互连元件611都包括多路复用器614。多路复用器214中不同的多路复用器214可具有不同的输入,比如,来自柱602中的CLE 612的输入、来自柱606中的CLE 612的输入、来自另一个互连元件611中的多路复用器614的输入、或来自互连的输入。相似地,多路复用器614中不同的多路复用器可具有不同的输出,比如,到柱602中的CLE 612的输出、到柱606中的CLE612的输出、到另一个互连元件611的输出、或到互连的输出。
图7是根据一个示例,示出查找表154的方框图。LUT 154包括LUT逻辑702、多路复用器704、多路复用器706、多路复用器708、多路复用器710和多路复用器712。LUT 154包括六个标注为A1到A6的输入。LUT 154还包括标注为casc_in的级联输入。级联输入可为单个输入或可为信号总线。一般来说,级联输入包括N个比特或信号,其中N为正整数。LUT 154包括标注为O5_1、O5_2及O6的输出。
LUT逻辑702包括四个4输入LUT 702A、702B、702C和702D。在一个示例中,LUT逻辑702可包括至少四个LUT 702。4输入LUT在本文中还称为“4LUT”。每个4LUT702A-702D都耦接至公共输入端722。输入端722向4LUT 702A-702D中的每个提供输入A1、A2、A3和A4。4LUT702A的输出耦接至多路复用器706的输入,4LUT 702B的输出耦接至多路复用器706的另一个输入。4LUT 702A和702B一起包括LUT 154的第一半部分。4LUT 702C的输出耦接至多路复用器710的输入,4LUT 702D的输出耦接至多路复用器710的另一个输入。4LUT 702C和702D一起包括LUT 154的第二半部分。多路复用器706的输出提供输出O5_1(LUT 154第一半部分的输出),而多路复用器710的输出提供输出O5_2(LUT 154第二半部分的输出)。
多路复用器706的输出还耦接至多路复用器708的输入,多路复用器710的输出还耦接至多路复用器708的另一个输入。多路复用器708的输出提供LUT 154的输出O6。输出O5_1、O5_2和O6一起由LUT 154的输出端724提供。输出端724中的一个或多个可耦接至FPGA中一个或多个附加LUT的casc_in。多路复用器708在本文中还称作“输出多路复用器”。多路复用器704的输出耦接至多路复用器706的控制输入。多路复用器704的一个输入耦接至输入端720,所述输入端720提供LUT 154的输入A5。多路复用器704的另一个输入耦接至输入端724,所述输入端724提供LUT 154的输入A6。多路复用器704的一个或多个附加输入端耦接至提供casc_in的输入718。多路复用器704的控制输入耦接至控制端714。控制端714可从FPGA中的另一个电路接收信号,比如从存储器(例如,BRAM、LUTRAM、配置存储器等)。
多路复用器712的输出耦接至多路复用器710的控制输入。多路复用器712的一个输入耦接至输入端720,所述输入端720提供LUT 154的输入A5。多路复用器712的另一个输入耦接至输入端724,所述输入端724提供LUT 154的输入A6。多路复用器712的一个或多个附加输入端耦接至提供casc_in的输入718。多路复用器712的控制输入耦接至控制端716。控制端716可从FPGA中的另一个电路接收信号,比如从存储器(例如,BRAM、LUTRAM、配置存储器等)。多路复用器704和712在本文中还称作“级联多路复用器”。
操作中,4LUT 702A-702D中的每个都可基于输入A1-A4来实施任意的4-输入函数。多路复用器706从4LUT 702A或4LUT 702B中的一个选择输出作为用于LUT 154第一半部分的输出O5_1。多路复用器710从4LUT 702C或4LUT 702D中的一个选择输出作为用于LUT 154第二半部分的输出O5_2。按此方式,LUT 154可实施两个5-输入LUT,5-输入LUT可用来实施两个5-输入函数。多路复用器708在多路复用器706和710的输出中进行选择以提供LUT 154的输出O6。因此,LUT 154可实施一个6-输入LUT,6-输入LUT可用来实施6-输入函数。
在一种配置中,多路复用器704和/或712可选择输入A5来分别控制多路复用器706和/或710。在另一个配置中,多路复用器704和/或712可选择输入A6来分别控制多路复用器706和/或710。在又一个配置中,多路复用器704和/或712可选择casc_in输入中的一个来分别控制多路复用器706和/或710。输入718可耦接至FPGA中一个或多个其他LUT的一个或多个输出端。按此方式,LUT 154可通过casc_in直接耦接至FPGA中的一个或多个其他LUT。因此,LUT 154可链接在一起以合成多级函数,下面将说明关于此的一些示例。
将casc_in输入与A5输入复用具有以下优点:不会增加最快LUT输入的延迟,并使不同的信号能够馈送至LUT的上半部分和下半部分。多路复用器704和712使得可通过将一个LUT的输出连接至另一个LUT的casc_in来创建快速LUT到LUT连接。在一些示例中,casc_in输入可包括多个信号。在这样的示例中,LUT 154的上半部分可使用不同于LUT 154下半部分的casc_in信号,使得宽多路复用器树可实施。
图7所示的LUT 154可缩放来提供不同数量的LUT和输入。例如,LUT逻辑702可包括不止四个LUT,且LUT逻辑702中的LUT可包括不止四个输入。多路复用器706和710是在LUT逻辑702中LUT的输出中进行选择的复用逻辑的一部分。在一些示例中,该复用逻辑可包括不止两个多路复用器,其中每个都耦接至级联多路复用器。因此,虽然示出了两个级联多路复用器704和712,但LUT 154可包括多个级联多路复用器。
图8是示出包括从LUT 154-1到154-4的链的示例性电路800的方框图。LUT 154-1的casc_in输入耦接至LUT 154-2的输出。LUT 154-2的casc_in输入耦接至LUT 154-3的输出。LUT 154-3的casc_in输入耦接至LUT 154-4的输出。LUT 154-1到154-3中的每个LUT中的多路复用器604和/或多路复用器612在casc_in输入处选择LUT 154-2到154-4的各自的输出。在图3所示的示例中,LUT 154-1到154-3中的每个都包括除casc_in外可使用的五个其他输入A1-A4和A6。LUT 154-4包括可使用的六个输入A1-A6。因此,电路400可实施21-输入函数,其输出由LUT 154-1提供。在其他示例中,LUT 154可具有不同数量的输入端,但一般来说,级联输入可用于级联LUT并可实施宽组合函数。
图9是示出包括154-5到154-9的多个LUT的示例性电路900的方框图。假设如图7所示进行实施,则电路900实施16:1多路复用器。16:1多路复用器的输入包括LUT 154-5的输入A1到A4、LUT 154-6的输入A1到A4、LUT 154-7的输入A1到A3、LUT 154-8的输入A1到A3、以及LUT 154-9的输入A1和A2。16:1多路复用器的输出由LUT 154-9的输出O6提供。16:1多路复用器的控制输入包括LUT 154-5的输入A5-A6、LUT 154-6的输入A5-A6、LUT 154-7的输入A4和A6、LUT 154-8的输入A4和A6、LUT 154-9的输入A4和A6。LUT 154-5的输出O6耦接至LUT154-7的casc_in输入。LUT 154-6的输出O6耦接至LUT 154-8的casc_in输入。LUT 154-7和154-8的输出O6耦接至LUT 154-9的casc_in输入。本示例假设LUT 154-9的casc_in输入是包括多个信号的总线。
图8和图9所示的电路800和900仅仅是该类型电路的两个示例,其可使用具有如本文所述的级联输入的LUT来形成。一般来说,例如,如图7中的示例所示,每个LUT都可包括具有一个或多个比特或信号的casc_in输入。因此,每个LUT都可耦接至一个或多个附加LUT。附加LUT可位于相同单元片上、位于相邻单元片中和/或位于相邻CLE中。一组级联LUT可用来形成更宽型号的可用单个LUT形成的组合函数、多路复用器等。
图10是根据一个示例,示出一种在可编程集成电路中操作查找表的方法1000的流程图。方法1000在步骤1002处开始,其中一组公共输入信号耦接至LUT逻辑中的多个LUT。例如,如图7所示,输入A1到A4耦接至LUT 702A到702B。
在步骤604处,级联输入耦接至多个级联多路复用器中的每个,其中该级联输入耦接至可编程集成电路中的至少一个其他LUT。例如,如图3所示,输入casc_in耦接至LUT 154中的多路复用器304和312。
在步骤1006处,级联多路复用器中的至少一个受到控制以选择级联输入的信号。例如,多路复用器704和712中的任一个或二者可受到控制以选择casc_in的信号。在一个示例中,多路复用器304和312可使用可编程集成电路中的存储器来控制,比如配置存储器。
在步骤1008处,第一和第二级联多路复用器受到控制以选择级联输入的第一和第二信号。第一信号可与第二信号不同。例如,如图7所示,casc_in输入可为具有多个信号的总线,多路复用器704可选择该casc_in信号中的一个,而多路复用器312选择该casc_in信号中的另一个。
在步骤1010处,级联多路复用器的输出耦接至多路复用器逻辑以在LUT逻辑中的多个LUT的输出中进行选择。例如,如图7所示,多路复用器704和712的输出耦接至多路复用器706和710以在LUT 702A到702D的输出中进行选择。
下面是其他示例。
在一个示例中,可提供一种用于可编程集成电路(IC)的可配置逻辑元件。该可配置逻辑元件可包括:第一查找表(LUT)、第二查找表以及第一和第二级联多路复用器;第一查找表包括第一输入和第一输出、以及耦接在第一输入与第一输出之间的第一求和逻辑和第一进位逻辑;第二查找表包括第二输入和第二输出、以及耦接在第二输入与第二输出之间的第二求和逻辑;第一和第二级联多路复用器分别耦接至第一和第二查找表,第二级联多路复用器的输入耦接至第一查找表中的第一进位逻辑的输出。
该可配置逻辑元件可进一步包括进位链多路复用器,其耦接至第一查找表和第二查找表中的至少一个。
在一些该可配置逻辑元件中,第二查找表可包括第二进位逻辑,且进位链多路复用器的输入可耦接至第二查找表中第二进位逻辑的输出。
该可配置逻辑元件可进一步包括耦接至第一级联多路复用器的进位输入。
在一些该可配置逻辑元件中,进位输入可进一步耦接至进位链多路复用器的输入。
在一些该可配置逻辑元件中,进位链多路复用器的输入可耦接至第一级联多路复用器的输出。
在一些该可配置逻辑元件中,第一和第二求和逻辑中的每个包括异或门,并且,第一进位逻辑包括多路复用器。
在一些该可配置逻辑元件中,第一进位逻辑的多路复用器的控制端可耦接至第一查找表中的第一逻辑门。
一些该可配置逻辑元件可进一步包括:进位链多路复用器,其耦接至第一查找表或第二查找表中的至少一个,进位链多路复用器的控制接口耦接至第一逻辑门或第二逻辑门中的至少一个。
在一些该可配置逻辑元件中,第一和第二级联多路复用器的控制端可耦接至可编程集成电路中的可配置存储单元。
在另一个示例中,可提供一种可编程集成电路(IC)。该可编程集成电路可包括:配置存储器;以及耦接至配置存储器的多个可配置逻辑元件,该多个可配置逻辑元件中的每一个包括第一查找表(LUT)、第二查找表以及第一和第二级联多路复用器;第一查找表包括第一输入和第一输出、以及耦接在第一输入与第一输出之间的第一求和逻辑和第一进位逻辑;第二查找表包括第二输入和第二输出、以及耦接在第二输入与第二输出之间的第二求和逻辑;第一和第二级联多路复用器分别耦接至第一和第二查找表,第二级联多路复用器的输入耦接至第一查找表中的第一进位逻辑的输出。
该可编程集成电路可进一步包括进位链多路复用器,其耦接至第一查找表或第二查找表中的至少一个。
在一些该可编程集成电路中,第二查找表可包括第二进位链逻辑,并且,进位链多路复用器的输入可耦接至第二查找表中第二进位逻辑的输出。
一些该可编程集成电路可进一步包括耦接至第一级联多路复用器的进位输入。
在一些该可编程集成电路中,进位输入可进一步耦接至进位链多路复用器的输入。
在一些该可编程集成电路中,进位链多路复用器的输入可耦接至第一级联多路复用器的输出。
在一些该可编程集成电路中,第一和第二求和逻辑中的每个可包括异或门,且第一进位逻辑可包括多路复用器。
在一些该可编程集成电路中,第一进位逻辑的多路复用器的控制端可耦接至第一查找表中的第一逻辑门。
在一些该可编程集成电路中,第一和第二级联多路复用器的控制端可耦接至可编程集成电路中的可配置存储单元。
在另一个示例中,可提供一种配置可编程集成电路(IC)的方法。该方法可包括:配置可配置逻辑元件中的第一查找表(LUT)以计算第一总和,第一查找表包括第一输入和第一输出、以及耦接在第一输入与第一输出之间的第一求和逻辑和第一进位逻辑;配置可配置逻辑元件中的第二查找表以计算第二总和,第二查找表包括第二输入和第二输出、以及耦接在第二输入与第二输出之间的第二求和逻辑;以及配置级联多路复用器以将第一查找表中的第一进位逻辑的输出耦接至第二查找表中的第二求和逻辑的输入。
在另一个示例中,一种用于可编程集成电路(IC)的查找表包括多个输入端和耦接至可编程集成电路中的至少一个其他查找表的级联输入。该查找表进一步包括查找表逻辑,查找表逻辑具有各自耦接至一组公共输入端的多个查找表。查找表进一步包括多个多路复用器和输出多路复用器,该多个多路复用器具有耦接至该多个查找表的输出的输入,输出多路复用器具有耦接至该多个多路复用器的输出的输入。查找表进一步包括多个级联多路复用器,该多个级联多路复用器各自具有耦接至该多个多路复用器中的相应一个的控制输入的输出,该多个级联多路复用器中的每个包括多个输入,该多个输入中的至少一个耦接至级联输入。
在另一个示例中,可提供一种用于可编程集成电路(IC)的查找表(LUT)。该查找表可包括:多个输入端;级联输入,其耦接至可编程集成电路中的至少一个其他查找表;查找表逻辑,其具有各自耦接至一组公共输入端的多个查找表;多个多路复用器,其具有耦接至该多个查找表的输出的输入;输出多路复用器,其具有耦接至该多个多路复用器的输出的输入;以及多个级联多路复用器,其中每个具有耦接至该多个多路复用器中相应一个的控制输入的输出,该多个级联多路复用器中的每个包括多个输入,该多个输入中的至少一个耦接至级联输入。
在一些该查找表中,该多个查找表包括至少四个查找表;该多个多路复用器包括耦接至该至少四个查找表的至少两个多路复用器;且该多个级联多路复用器包括经耦接以控制该至少两个多路复用器的至少两个级联多路复用器。
在一些该查找表中,该至少四个查找表中的每个可包括4-输入查找表;该多个输入端包括耦接至4-输入查找表中的每个的四个输入。
在一些该查找表中,该多个级联多路复用器中的每个的多个输入中的至少一个可耦接至该多个输入端中的至少一个。
在一些该查找表中,级联输入可包括具有多个信号的总线。
在一些该查找表中,该多个级联多路复用器的控制输入可耦接至可编程集成电路中的存储器。
在一些该查找表中,存储器可包括可编程集成电路的配置存储器。
在一些该查找表中,输出多路复用器的控制输入可耦接至该多个输入端的一个端。
一些该查找表可进一步包括多个输出端,该多个输出端耦接至该多个多路复用器和输出多路复用器的输出。
在另一个示例中,可提供一种可编程集成电路。该可编程集成电路可包括:配置存储器;以及至少一个可配置逻辑元件(CLE),其耦接至配置存储器并具有多个查找表(LUT),该多个查找表中的每个包括输出端和级联输入;其中,该多个查找表中的第一查找表的级联输入耦接至该多个查找表中的第二查找表的输出端。
在一些该可编程集成电路中,该多个查找表中的每个进一步包括:多个输入端;查找表逻辑,其具有各自耦接至一组公共输入端的多个查找表;多个多路复用器,其具有耦接至该多个查找表的输出的输入;输出多路复用器,其具有耦接至该多个多路复用器的输出的输入和耦接至输出端的输出;以及多个级联多路复用器,其中每个具有耦接至该多个多路复用器中相应一个的控制输入的输出,该多个级联多路复用器中的每个包括多个输入,该多个输入中的至少一个耦接至级联输入。
在一些该可编程集成电路中,对于该多个查找表中的每个来说,该多个级联多路复用器中的每个的多个输入中的至少一个可耦接至该多个输入端中的至少一个。
在一些该可编程集成电路中,对于该多个查找表中的每个来说,级联输入可包括具有多个信号的总线。
在一些该可编程集成电路中,对于该多个查找表中的每个来说,该多个级联多路复用器的控制输入可耦接至可编程集成电路中的存储器。
在一些该可编程集成电路中,存储器可包括配置存储器。
在一些该可编程集成电路中,对于该多个查找表中的每个来说,输出多路复用器的控制输入可耦接至该多个输入端的一个端。
在一些该可编程集成电路中,第一查找表和第二查找表经配置以实施组合函数。
在一些该可编程集成电路中,第一查找表和第二查找表可经配置以实施多路复用器。
在另一个示例中,可提供一种操作可编程集成电路中的查找表的方法。该操作查找表的方法可包括:将一组公共输入信号耦接至查找表逻辑中的多个查找表;将级联输入耦接至多个级联多路复用器中的每个,级联输入耦接至可编程集成电路中的至少一个其他查找表;控制该多个级联多路复用器中的至少一个以选择级联输入的信号;以及将级联多路复用器的输出耦接至可用于在查找表逻辑中的多个查找表的输出之中进行选择的多路复用器逻辑。
在一些该方法中,控制操作可包括:控制该多个多路复用器的第一级联多路复用器以选择级联输入的第一信号;以及控制该多个多路复用器的第二级联多路复用器以选择级联输入中不同于第一信号的第二信号。
虽然前述内容针对具体示例,但是在不脱离所述具体示例的基本范围的情况下可以设计其他和进一步的示例,并且其范围由所附的权利要求确定。
Claims (11)
1.一种用于可编程集成电路(IC)的可配置逻辑元件,其特征在于,所述可配置逻辑元件包括:
第一查找表(LUT),所述第一查找表包括第一输入和第一输出、以及耦接在所述第一输入与所述第一输出之间的第一求和逻辑和第一进位逻辑;
第二查找表,所述第二查找表包括第二输入和第二输出、以及耦接在所述第二输入与所述第二输出之间的第二求和逻辑;以及
第一和第二级联多路复用器,所述第一和第二级联多路复用器分别耦接至所述第一和第二查找表,所述第二级联多路复用器的输入耦接至所述第一查找表中的所述第一进位逻辑的输出。
2.根据权利要求1所述的可配置逻辑元件,其特征在于,所述可配置逻辑元件进一步包括:
进位链多路复用器,所述进位链多路复用器耦接至所述第一查找表或所述第二查找表中的至少一个。
3.根据权利要求2所述的可配置逻辑元件,其特征在于,所述第二查找表包括第二进位逻辑,并且所述进位链多路复用器的输入耦接至所述第二查找表中所述第二进位逻辑的输出。
4.根据权利要求2所述的可配置逻辑元件,其特征在于,所述可配置逻辑元件进一步包括:
进位输入,所述进位输入耦接至所述第一级联多路复用器。
5.根据权利要求4所述的可配置逻辑元件,其特征在于,所述进位输入进一步耦接至所述进位链多路复用器的输入。
6.根据权利要求2所述的可配置逻辑元件,其特征在于,所述进位链多路复用器的输入耦接至所述第一级联多路复用器的输出。
7.根据权利要求1所述的可配置逻辑元件,其特征在于,所述第一和第二求和逻辑中的每个包括异或门,并且所述第一进位逻辑包括多路复用器。
8.根据权利要求7所述的可配置逻辑元件,其特征在于,所述第一进位逻辑的多路复用器的控制端耦接至所述第一查找表中的第一逻辑门。
9.根据权利要求8所述的可配置逻辑元件,其特征在于,所述可配置逻辑元件进一步包括:
进位链多路复用器,所述进位链多路复用器耦接至所述第一查找表或所述第二查找表中的至少一个,所述进位链多路复用器的控制接口耦接至所述第一逻辑门或所述第二逻辑门中的至少一个。
10.根据权利要求1所述的可配置逻辑元件,其特征在于,所述第一和第二级联多路复用器的控制端耦接至所述可编程集成电路中的可配置存储单元。
11.一种配置可编程集成电路(IC)的方法,其特征在于,所述方法包括:
配置可配置逻辑元件中的第一查找表(LUT)以计算第一总和,所述第一查找表包括第一输入和第一输出、以及耦接在所述第一输入与所述第一输出之间的第一求和逻辑和第一进位逻辑;
配置所述可配置逻辑元件中的第二查找表以计算第二总和,所述第二查找表包括第二输入和第二输出、以及耦接在所述第二输入与所述第二输出之间的第二求和逻辑;以及
配置级联多路复用器以将所述第一查找表中的所述第一进位逻辑的输出耦接至所述第二查找表中的所述第二求和逻辑的输入。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/852,164 | 2015-09-11 | ||
US14/851,577 US9455714B1 (en) | 2015-09-11 | 2015-09-11 | Cascaded LUT carry logic circuit |
US14/852,164 US9602108B1 (en) | 2015-09-11 | 2015-09-11 | Lut cascading circuit |
US14/851,577 | 2015-09-11 | ||
PCT/US2016/051052 WO2017044812A1 (en) | 2015-09-11 | 2016-09-09 | Cascaded lookup-table (lut) carry logic circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108028655A true CN108028655A (zh) | 2018-05-11 |
CN108028655B CN108028655B (zh) | 2021-08-17 |
Family
ID=56985692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680052821.7A Active CN108028655B (zh) | 2015-09-11 | 2016-09-09 | 级联查找表(lut)进位逻辑电路 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP3347990B1 (zh) |
JP (1) | JP6697545B2 (zh) |
KR (1) | KR102561988B1 (zh) |
CN (1) | CN108028655B (zh) |
WO (1) | WO2017044812A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115495044A (zh) * | 2022-09-01 | 2022-12-20 | 深圳市紫光同创电子有限公司 | 一种进位逻辑电路 |
CN115686985A (zh) * | 2022-12-30 | 2023-02-03 | 无锡亚科鸿禹电子有限公司 | 基于查找表结构的触发条件实现方法 |
CN116069721A (zh) * | 2022-11-22 | 2023-05-05 | 深圳市紫光同创电子有限公司 | 一种可编程逻辑单元结构 |
CN117157880A (zh) * | 2021-05-21 | 2023-12-01 | 微芯片技术股份有限公司 | 用于可编程门阵列的逻辑单元 |
WO2024045825A1 (zh) * | 2022-09-01 | 2024-03-07 | 深圳市紫光同创电子有限公司 | 一种查找表电路 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2601255A (en) * | 2017-07-19 | 2022-05-25 | Joseph Mark | A locking device |
KR101986206B1 (ko) * | 2018-01-03 | 2019-06-05 | 연세대학교 산학협력단 | 비휘발성 메모리 소자를 이용한 가변 입출력 구조의 룩업 테이블 회로 |
KR102110044B1 (ko) | 2018-05-21 | 2020-05-12 | 한양대학교 산학협력단 | 자기 저항을 이용하는 논리 기억 회로 및 이를 이용한 논리 연산 수행 방법 |
US11954457B2 (en) | 2019-10-31 | 2024-04-09 | SK Hynix Inc. | Arithmetic devices for neural network including a function storage circuit and an activation function circuit |
US11915125B2 (en) | 2019-10-31 | 2024-02-27 | SK Hynix Inc. | Arithmetic devices for neural network |
US12131249B2 (en) | 2019-10-31 | 2024-10-29 | SK Hynix Inc. | Arithmetic devices with look-up table for neural network |
US11676651B2 (en) | 2019-10-31 | 2023-06-13 | SK Hynix Inc. | Arithmetic devices conducting auto-load operation |
US11386947B2 (en) | 2019-10-31 | 2022-07-12 | SK Hynix Inc. | Arithmetic devices conducting auto-load operation for writing the activation functions |
US12014184B2 (en) | 2019-10-31 | 2024-06-18 | SK Hynix Inc. | Arithmetic devices for neural network including an input distribution signal generation circuit, an output distribution signal generation circuit, and an output distribution signal compensation circuit |
US12248763B2 (en) | 2019-10-31 | 2025-03-11 | SK Hynix Inc. | Arithmetic devices for neural network |
US12254283B2 (en) | 2019-10-31 | 2025-03-18 | SK Hynix Inc. | Arithmetic devices for neural network |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6621298B2 (en) * | 1997-10-09 | 2003-09-16 | Lattice Semiconductor Corporation | Variable grain architecture for FPGA integrated circuits |
CN1462507A (zh) * | 2001-05-16 | 2003-12-17 | 皇家菲利浦电子有限公司 | 可重新配置的逻辑器件 |
EP1447910A2 (en) * | 2003-02-11 | 2004-08-18 | Altera Corporation | A fracturable incomplete look up table for area efficient logic elements |
US6833730B1 (en) * | 2002-08-30 | 2004-12-21 | Xilinx, Inc. | PLD configurable logic block enabling the rapid calculation of sum-of-products functions |
US20060097750A1 (en) * | 2002-07-10 | 2006-05-11 | Katarzyna Leijten-Nowak | Electronic circuit with array of programmable logic cells |
US7772879B1 (en) * | 2007-04-11 | 2010-08-10 | Actel Corporation | Logic module including versatile adder for FPGA |
CN103257842A (zh) * | 2012-02-17 | 2013-08-21 | 京微雅格(北京)科技有限公司 | 一种加法进位信息输出的方法和一种加法器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5898319A (en) * | 1993-09-02 | 1999-04-27 | Xilinx, Inc. | Method and structure for providing fast conditional sum in a field programmable gate array |
US5481206A (en) * | 1993-09-02 | 1996-01-02 | Xilinx, Inc. | Circuit for fast carry and logic |
US5815003A (en) * | 1994-11-04 | 1998-09-29 | Altera Corporation | Programmable logic integrated circuits with partitioned logic element using shared lab-wide signals |
KR100203742B1 (ko) * | 1996-05-20 | 1999-06-15 | 윤종용 | 멀티플렉스를 이용한 가산기 |
US6118300A (en) * | 1998-11-24 | 2000-09-12 | Xilinx, Inc. | Method for implementing large multiplexers with FPGA lookup tables |
JP4438000B2 (ja) * | 2005-11-15 | 2010-03-24 | 株式会社半導体理工学研究センター | リコンフィギャラブルロジックブロック、リコンフィギャラブルロジックブロックを備えるプログラマブル論理回路装置、および、リコンフィギャラブルロジックブロックの構成方法 |
-
2016
- 2016-09-09 CN CN201680052821.7A patent/CN108028655B/zh active Active
- 2016-09-09 KR KR1020187008097A patent/KR102561988B1/ko active Active
- 2016-09-09 WO PCT/US2016/051052 patent/WO2017044812A1/en active Application Filing
- 2016-09-09 JP JP2018512948A patent/JP6697545B2/ja active Active
- 2016-09-09 EP EP16770414.7A patent/EP3347990B1/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6621298B2 (en) * | 1997-10-09 | 2003-09-16 | Lattice Semiconductor Corporation | Variable grain architecture for FPGA integrated circuits |
CN1462507A (zh) * | 2001-05-16 | 2003-12-17 | 皇家菲利浦电子有限公司 | 可重新配置的逻辑器件 |
US20060097750A1 (en) * | 2002-07-10 | 2006-05-11 | Katarzyna Leijten-Nowak | Electronic circuit with array of programmable logic cells |
US6833730B1 (en) * | 2002-08-30 | 2004-12-21 | Xilinx, Inc. | PLD configurable logic block enabling the rapid calculation of sum-of-products functions |
EP1447910A2 (en) * | 2003-02-11 | 2004-08-18 | Altera Corporation | A fracturable incomplete look up table for area efficient logic elements |
US7772879B1 (en) * | 2007-04-11 | 2010-08-10 | Actel Corporation | Logic module including versatile adder for FPGA |
CN103257842A (zh) * | 2012-02-17 | 2013-08-21 | 京微雅格(北京)科技有限公司 | 一种加法进位信息输出的方法和一种加法器 |
Non-Patent Citations (1)
Title |
---|
GANG ZHOU: "AREA OPTIMIZATION OF BIT PARALLEL FINITE FIELD MULTIPLIERS WITH FAST CARRY LOGIC ON FPGAS", 《2008 INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117157880A (zh) * | 2021-05-21 | 2023-12-01 | 微芯片技术股份有限公司 | 用于可编程门阵列的逻辑单元 |
CN117157880B (zh) * | 2021-05-21 | 2024-11-08 | 微芯片技术股份有限公司 | 用于可编程门阵列的逻辑单元 |
CN115495044A (zh) * | 2022-09-01 | 2022-12-20 | 深圳市紫光同创电子有限公司 | 一种进位逻辑电路 |
CN115495044B (zh) * | 2022-09-01 | 2023-08-29 | 深圳市紫光同创电子有限公司 | 一种进位逻辑电路 |
WO2024045825A1 (zh) * | 2022-09-01 | 2024-03-07 | 深圳市紫光同创电子有限公司 | 一种查找表电路 |
WO2024045824A1 (zh) * | 2022-09-01 | 2024-03-07 | 深圳市紫光同创电子有限公司 | 一种进位逻辑电路 |
CN116069721A (zh) * | 2022-11-22 | 2023-05-05 | 深圳市紫光同创电子有限公司 | 一种可编程逻辑单元结构 |
CN115686985A (zh) * | 2022-12-30 | 2023-02-03 | 无锡亚科鸿禹电子有限公司 | 基于查找表结构的触发条件实现方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017044812A1 (en) | 2017-03-16 |
EP3347990B1 (en) | 2019-07-10 |
CN108028655B (zh) | 2021-08-17 |
EP3347990A1 (en) | 2018-07-18 |
JP6697545B2 (ja) | 2020-05-20 |
KR102561988B1 (ko) | 2023-07-31 |
KR20180053314A (ko) | 2018-05-21 |
JP2018530958A (ja) | 2018-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108028655A (zh) | 级联查找表(lut)进位逻辑电路 | |
Boutros et al. | FPGA architecture: Principles and progression | |
US8495122B2 (en) | Programmable device with dynamic DSP architecture | |
US7472155B2 (en) | Programmable logic device with cascading DSP slices | |
US7480690B2 (en) | Arithmetic circuit with multiplexed addend inputs | |
US7567997B2 (en) | Applications of cascading DSP slices | |
US7467177B2 (en) | Mathematical circuit with dynamic rounding | |
US11899746B2 (en) | Circuitry for high-bandwidth, low-latency machine learning | |
US20050144211A1 (en) | Programmable logic device with pipelined DSP slices | |
US8159268B1 (en) | Interconnect structures for metal configurable integrated circuits | |
CN104969208B (zh) | 可配置的嵌入式存储器系统 | |
US20050218929A1 (en) | Field programmable gate array logic cell and its derivatives | |
CN109993272B (zh) | 卷积及降采样运算单元、神经网络运算单元和现场可编程门阵列集成电路 | |
Strukov et al. | Reconfigurable nano-crossbar architectures | |
CN109564585A (zh) | 基于点积的处理元件 | |
US20210173617A1 (en) | Logarithmic Addition-Accumulator Circuitry, Processing Pipeline including Same, and Methods of Operation | |
US7812635B1 (en) | Programmable logic device architecture with the ability to combine adjacent logic elements for the purpose of performing high order logic functions | |
Sasao et al. | A method to decompose multiple-output logic functions | |
US8159266B1 (en) | Metal configurable integrated circuits | |
US8159265B1 (en) | Memory for metal configurable integrated circuits | |
CN111752529B (zh) | 支持高效乘累加运算的可编程逻辑单元结构 | |
US9235498B1 (en) | Circuits for and methods of enabling the modification of an input data stream | |
CN111565035A (zh) | 一种基于全加器进位链实现可调延时的电路、装置及方法 | |
US7750673B2 (en) | Interconnect structure and method in programmable devices | |
WO2022088683A1 (zh) | 计算芯片、算力板和数据处理设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |