CN1751438A - 具有可编程逻辑单元阵列的电子电路 - Google Patents
具有可编程逻辑单元阵列的电子电路 Download PDFInfo
- Publication number
- CN1751438A CN1751438A CNA2004800046090A CN200480004609A CN1751438A CN 1751438 A CN1751438 A CN 1751438A CN A2004800046090 A CNA2004800046090 A CN A2004800046090A CN 200480004609 A CN200480004609 A CN 200480004609A CN 1751438 A CN1751438 A CN 1751438A
- Authority
- CN
- China
- Prior art keywords
- output
- input
- signal
- programmable logic
- circuit
- 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.)
- Pending
Links
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/501—Half or full adders, i.e. basic adder cells for one denomination
- G06F7/503—Half or full adders, i.e. basic adder cells for one denomination using carry switching, i.e. the incoming carry being connected directly, or only via an inverter, to the carry output under control of a carry propagate signal
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
一种电子电路具有可编程逻辑单元,所述可编程逻辑单元具有多个可编程逻辑部件,所述可编程逻辑部件能够被配置在多位操作数模式和随机逻辑模式下操作。所述可编程逻辑部件并联耦合在输入电路和输出电路之间。在随机逻辑模式下,所述输入电路可以被配置为把来自逻辑输入端的相同组合的逻辑输入信号提供到可编程逻辑部件。在多位操作数处理模式下,所述输入电路可以被配置为把来自不同逻辑输入端的逻辑输入信号提供到可编程逻辑部件。在多位操作数模式下,至少把可编程逻辑部件耦合到沿着进位链的连续位置,以便处理来自所述进位链的进位信号。在随机逻辑模式下,输出电路在其他输入信号的控制之下选择来自可编程逻辑部件的第一输出信号OR,并且在多位操作数模式下,并行地传递来自所述可编程逻辑部件的第二输出OD。所述输出信号OR不依赖于所述进位信号。
Description
本发明涉及具有可编程逻辑单元阵列的电子电路。
可编程逻辑单元使电路设计者能够适应已经大量生产的电子电路(诸如集成电路)的单个实例的逻辑函数。这降低了从设计到生产工作电路的时间间隔,并且降低了用于生产小批量产品以及样机的生产成本。
在实现的一个例子中,可编程单元包含由所述单元的输入信号来编址的存储器,所述存储器为输入信号值的每个组合把预编程的输出信号存储在由这些值所编址的各自地址上。所述存储器被认为具有LUT(Look-Up Table查找表)功能,用于查找响应于各个输入信号而生成的输出信号。
如果LUT包含足够的存储空间,那么可以利用所述LUT来实现任何逻辑函数。然而在实践中,在具有可编程逻辑单元的电路中利用LUT只实现那些要求有限数目(一般至多四个)输入的逻辑函数。这种LUT要求16个存储单元。这允许编程四输入位的随机逻辑函数。多数情况下,具有四输入位函数的这种单元的电路足以够用。具有这种单元阵列的电路(其中把单元的输出与其它单元的输入耦合)允许设计者实现更复杂的逻辑函数。
设计者日益在实现如下的逻辑函数,其中使用一部分可编程逻辑单元阵列来实现诸如加法之类的信号处理操作。许多信号处理操作具有这样的属性,较宽输入操作数的许多位通过进位作用都可以影响输出结果中的许多位。然而,当使用4位输入LUT来实现这种宽度依赖性时,只获得非常低效的实施方式。
XilinxTM通过把进位链添加到4位输入LUT单元阵列来在其可编程逻辑装置的VirtexTM系列中解决此问题。图1示出了这种装置的可编程逻辑单元。所述单元包含用于执行LUT功能的四输入查找表10,以及具有进位输入端和进位输出端的进位电路12。把存储器10的输出端与进位电路12耦合,所述进位电路12把进位输入信号与LUT的输出信号组合以便形成进位输出信号。使用异或门14根据进位输入信号和LUT的输出信号来形成单元的输出信号。在该阵列中把所述单元的进位输入端和进位输出端与相邻单元(未示出)的进位输出端和进位输入端耦合,以便形成进位链。所述进位链执行从一个4位输入LUT的输出到另一个的进位功能。结果,不需要分配LUT来实现进位功能。当使用这种电路来实现包括某些信号处理操作的逻辑函数时,节省了大量的LUT。
尽管如此,与专用信号处理电路相比较,在这种更通用电路中实现信号处理函数还远不够高效,所述更通用电路还能够实现随机逻辑功能。因而,人们希望能够改进这种效率。
鉴于此,本发明的目的是向电子电路提供可编程逻辑单元阵列,所述可编程逻辑单元阵列提供随机逻辑函数和信号处理操作,并且在所述可编程逻辑单元阵列中,当提供随机逻辑函数时,降低进位依赖性的影响。
在权利要求1中阐述了依照本发明的电子电路。所述电子电路包含具有多个可编程逻辑部件的可编程逻辑单元,所述可编程逻辑部件并联地耦合在所述单元的信号输入端和输出端之间。所述可编程逻辑单元可配置来在随机逻辑模式和多位操作数模式下操作。可编程逻辑部件包括可配置的查找表电路,具有耦合来接收来自输入电路的逻辑输入信号的输入端并且具有输出端,所述可编程逻辑部件还包括可控制的反相器/非反相器电路,具有连接到查找表电路的输出端的输入端,并且可由输入进位信号控制。所述可编程逻辑部件具有第一输出节点,连接来接收反相器/非反相器电路的输出,并且与输出电路耦合以便提供多位操作数处理模式输出信号,还具有第二输出节点,连接来接收查找表电路的输出,以便提供随机逻辑模式输出信号。
直接根据查找表的输出来提供专用输出信号,具有去除对进位信号依赖的优点,在随机逻辑模式下,所述进位信号是不合需要的。此外,本发明还节省了硅面积,并且能够使得随机逻辑函数的产生更加快速。
在一个实施例中,所述可编程逻辑部件还包括多路复用器,具有耦合来接收来自输入电路的逻辑输入信号的输入端,还具有输出端,所述多路复用器接收控制信号以便确定把哪个输入信号传递到多路复用器的输出端。此布置提供了具有改进多路复用能力的可编程逻辑单元。
在进一步的实施例中,可编程逻辑部件包括第一辅助多路复用器,具有耦合来接收反相器/非反相器电路的输出和多路复用器的输出的输入端,把第一辅助多路复用器的输出端连接到第一输出节点,所述可编程逻辑部件还包括第二辅助多路复用器,具有耦合来接收查找表电路的输出和多路复用器的输出的输入端,把第二辅助多路复用器的输出端连接到第二输出节点。第一和第二辅助多路复用器依照配置信息来提供输出信号。此布置降低了来自可编程逻辑部件的输出信号的数目。
将要使用以下附图来描述本发明的这些及其它目的和有益方面。
图1示出了现有技术的可编程逻辑单元;
图2示出了可配置来在数据路径模式和随机逻辑模式下运行的可编程逻辑单元;
图3示出了依照本发明实施例的可编程逻辑部件;
图4示出了当与多路复用器映射一起使用时本发明的可编程逻辑部件;
图5示出了具有如图3或4所示的可编程逻辑部件的可编程逻辑单元;
图6示出了具有图3的可编程逻辑部件的进位链的更多细节;
图7示出了共享引脚的逻辑单元的实施方式;和
图8示出了输入电路。
图2示出了具有如下体系结构的可编程逻辑单元20,所述体系结构使设计者能够在随机逻辑模式下操作时实现随机逻辑函数,或者当在多位操作数处理模式下操作时实现多位操作数处理函数。单元20包含输入电路22、多个可编程逻辑部件24a-d、输出电路26和进位链28。经由输入电路22的级联、可编程逻辑部件24a-d和输出电路26的并联布置来把单元20的信号输入端21和信号输出端27耦合。进位链28具有进位输入端Cin和进位输出端Cout,并且所述进位链28耦合到沿着所述链的一连串位置上的可编程逻辑部件。
输出电路26包含多级多路复用器264a、264b、266和切换级268。第一级多路复用器264a、264b的控制输入端23与输入电路22的各输出端耦合。第一级多路复用器264a、264b的信号输入端与可编程逻辑部件24a-d对的输出端耦合。第二级多路复用器266的控制输入端25与输入电路22的各输出端耦合。第二级多路复用器266的信号输入端与第一级的多路复用器264a、264b的输出端耦合。应当注意,尽管所示出的多路复用器264a、264b具有共用的控制输入端23,然而所述电路可以被配置为提供独立的控制信号23a、23b。另外应当理解的是,尽管图2只示出了两级多路复用器264a/264b和266,然而也可以有更多级,例如在逻辑单元包含四个以上的逻辑单元24a-d的情况下就是如此。
把第二级的多路复用器266和可编程逻辑部件24a-d的输出端与切换级268的输入端耦合。把切换级268的输出端与单元20的信号输出端27耦合。切换级268可配置来把可编程逻辑部件24a-d的输出端耦合到输出端27,或者把第一、二级的多路复用器264a、264b、266的输出端耦合到输出端27,或者至少耦合第二级的多路复用器266的输出端。切换级268可具有用于锁存输出信号的锁存器或触发器(未示出),以便单元20可以作为流水线电路中的流水线级的最终部件而运行。优选地是,切换级268可配置来传递寄存的信号(即使用了锁存器或触发器)或未寄存的信号(即直接信号)。
通过编程可编程逻辑部件24a-d、输入电路22、输出电路26和进位链28的配置位,可以配置单元20的功能。(配置位存储在配置存储器(未示出)中,经由编程路径(未示出)来加载所述配置位,对于可编程逻辑装置本身来说这两者都是已知的)。配置位确定把哪些信号输入端21与哪些可编程逻辑部件24a-d耦合,所述配置位确定可编程逻辑部件24a-d响应于各个输入信号值将生成哪些输出信号值,所述配置位确定切换级268将把哪些信号传递到信号输出端27,并且所述配置位确定是否将把来自进位输入端Cin的进位输入信号传递到单元20。
在操作中,单元20可以被配置为在随机逻辑模式和多位操作数处理模式下运行。在操作中,在多位操作数模式下,单元20输出多位输出结果,所述输出结果取决于具有多位的输入操作数。每个输入操作数中的位具有依次更高的权级。在多位操作数模式下,每个可编程逻辑部件24a-d与不同的权级相关联。输入电路22被配置为向每个可编程逻辑部件24a-d传递信号,所述信号表示来自不同操作数的位,其中每个位对应于与可编程逻辑部件24a-d相关联的权级。每个可编程逻辑部件24a-d通过计算该结果在与可编程逻辑部件24a-d相关联的权级的位,考虑从较低权级的进位链28接收的信号中的进位,并且提供进位输出来响应这些信号。在多位操作数模式下,通常将所有可编程逻辑部件24a-d配置为在它们的输入信号和输出信号之间提供相同的关系。输出电路26被配置为把所计算的结果位作为输出信号并行地从所有可编程逻辑部件24a-d传递到输出端27。
进位链28计算进位信号并且把这些进位信号从一个可编程逻辑部件24a-d传递到另一个。进位链28的配置控制进位链28是否使用来自进位输入端Cin的进位输入信号来确定所述进位信号。如果单元20处理的输入信号是较大操作数的较高有效位,那么所述单元就被配置成使得这种进位输入信号被使用来接收另一单元的进位输出信号,所述另一单元处理较低有效操作数。
在操作中,在随机逻辑模式下,单元20的输出信号是许多输入信号的随机逻辑函数。使用可编程逻辑部件24a-d和第一、二级多路复用器264a,264b、266来实现此随机逻辑函数。输入电路22向每个可编程功能部件24a-d传递相同的输入信号。在形成第一和第二控制信号23、25的其它输入信号的控制下,多路复用器264a、264b、266选择可编程逻辑部件24a-d之一,从所选择的可编程逻辑部件24a-d之一向切换级268传递输出信号。第一控制信号23控制第一级的两个多路复用器264a、b,而第二控制信号25控制第二级多路复用器266,所述多路复用器266在第一级多路复用器264a、b的输出端之间选择。从而,实现了一个逻辑函数,该逻辑函数取决于可编程逻辑部件24a-d的输入信号以及其它输入信号,即用于控制多路复用器264a、264b、266的控制信号23、25。每个可编程功能部件24a-d响应于相同的输入信号生成输出信号,每个输出信号作为用于形成控制信号23、25的其它输入信号的不同值的输出信号。切换级268把所产生的输出信号从单元20的多路复用器266传递到信号输出端。
应当注意可以根据辅助信号Y和Z(如本申请中稍后所述,该辅助信号可以与控制信号SUB和MUL共享),或者根据主要输入信号21,或两者组合来导出信号23、25。
配置进位链28以便在随机逻辑模式下不使用外部进位输入信号。根据进位链28的实现方式,进位链28仍然可以传递某些进位信号到可编程逻辑部件24a-d,所述进位信号在输入端的某些输入值出现。在这种情况下,在进位链下游的可编程逻辑部件24a-d的配置可以适于说明存在用于输入值的具体值的进位信号。在进位链28的候选实施方式中,多路复用器可以包括在进位链中,所述多路复用器在多位操作数模式下传递来自前一权级的进位信号或者在随机逻辑模式下传递预先确定的信号(例如,对于所有权级为零)。在此实施例中,可编程逻辑部件24a-d的配置不必适于说明存在对进位信号依赖的信号。在稍后描述中提供了进位链的更多细节。
从而,在随机逻辑模式和多位操作数模式之间存在对比。一方面,在随机逻辑模式下,每个可编程逻辑部件24a-d接收相同的输入信号,并且为用于控制多路复用级264a、264b、266的其它输入信号的不同值提供可能不同的输入/输出函数。另一方面,在多位操作数模式下,可编程逻辑部件24a-d接收不同的输入信号,但是总体上提供相同的输入/输出函数。使用异或门402来实现进位就使得编程任何随机的两位逻辑函数和信号处理操作成为可能,所述信号处理操作涉及在LUT部件400中仅具有四个配置位的进位。
作为选择,一方面通过使用可编程逻辑部件来实现两个多位操作数信号处理操作的不同权级的计算,另一方面通过把所述可编程逻辑部件用作为用于计算两个以上位输入的随机逻辑函数的部分结构,就使需要用于支持实现随机逻辑函数和多位操作数信号处理的配置位数目最小化。然而在图2的例子中,利用四个双输入的可编程逻辑部件24a-d,每个可编程逻辑部件24a-d可用四个配置位完全编程,十六位足以定义任何四位输入的随机逻辑函数,以及同时定义任何两个操作数信号处理操作的四个权级。相比之下,考虑其中可能会使用四位输入的可编程逻辑部件24a-d的情况(对于完全编程,每个可编程逻辑部件24a-d要求16个配置位)。当使用4输入的逻辑部件代替2输入的逻辑部件时,如果不存在专用进位信号,那么可以实现多位操作数处理的两个权级,或者如果存在这种电路,那么可以实现四个权级。然而在这两种情况中,四个4位输入的逻辑部件总共将要求64个配置位,即是图2的实施例所要求配置位数目的四倍。
图3示出了依照本发明的可编程逻辑部件24的实施例。所述可编程逻辑部件24包含LUT部件400和异或门402。所述LUT部件400包括选择逻辑403(例如4∶1多路复用器)和配置存储器404。可编程逻辑部件24的信号输入端A、B与LUT部件400的选择逻辑403的输入端耦合。LUT部件400的输出端与异或门402的输入端耦合。第一异或门402的第二输入端耦合来接收来自进位链28的进位输入信号Cin,并且异或门402的输出形成输出信号OD。
在操作中,在多位操作数处理模式下,LUT部件400实现可配置的输入输出函数。响应于输入信号A、B的每个可能组合,LUT部件400输出按照输入信号所选择的相应输出信号。输入信号的每个组合具有由配置位分配的输出信号,所述配置位存储在配置存储器404中。对于此例子中的2位LUT 400,四个配置位足以为输入位的每个可能组合存储一个配置位。通过异或门402的动作,当进位输入信号为逻辑低时,从异或门402输出LUT部件400的输出信号,而当进位输入信号为逻辑高时从异或门402反向输出所述输出信号。
因此,当可编程逻辑部件24处理数据路径函数时,就可以得到所述输出信号OD。所述可编程逻辑部件24还能处理随机逻辑函数。
依照本发明,除输出信号OD之外,从可编程逻辑部件24提供独立的输出信号OR,而从LUT 400的输出端直接提供第二输出信号OR。由于去除了对进位信号的依赖,所以输出信号OR提供了增强的随机逻辑操作模式。从而,除经由异或门402的输出端可得到数据路径输出信号OD之外,还使随机逻辑信号OR可得到。所述随机逻辑信号降低了随机逻辑模式下逻辑单元的延迟。
图4示出了可编程逻辑部件24的候选实施例。在图4的实施例中,LUT部件400(包括选择逻辑403和配置存储器404)和异或门402的功能与在图3中示出的部件相应特征的功能相同。异或门402生成输出信号O1,而LUT 400生成输出信号O3。另外,通过使多路复用器406与LUT 400并联,每个可编程逻辑部件24适于处理多路复用功能。多路复用器406由信号X控制,所述信号X是逻辑单元的辅助信号。多路复用器406在信号X的控制下生成输出信号O2。这意味着该可编程逻辑部件可以获得第一输出O1(是具有进位依赖的数据路径函数的输出)、可以获得第二输出O2(是多路复用器的输出)和第三输出O3(是随机逻辑的输出,该输出绕过了了异或门402)。
优选地是,提供第一和第二辅助多路复用器408、410以便减少来自可编程逻辑部件24的输出信号的数目,不过,如果希望的话,可以省略所述多路复用器。第一辅助多路复用器408在来自多路复用器406的输出信号O2和来自异或门402的输出信号O1之间选择。第二辅助多路复用器410在来自多路复用器406的输出信号O2和来自LUT 400的输出信号O3之间选择。第一和第二辅助多路复用器408、410由配置位409控制。如参考图3所描述,当把逻辑单元配置为在随机逻辑模式下工作时,这种布置改进了该逻辑单元的性能,这是因为利用了直接LUT输出O3,当在随机逻辑模式下操作时,这去除了对进位信号的依赖,这是因为进位信号对异或门402的作用并不影响随机逻辑输出O3。
图5示出了具有依照图3或4的可编程逻辑部件24a-d的可编程逻辑单元。每个可编程逻辑部件24a-d具有连接到输出电路26的第一和第二输出信号OD、OR。把在数据路径模式下使用的输出信号OD直接连接到输出切换电路268,而把在随机逻辑模式下使用的输出信号OR连接到第一级多路复用器264a、264b。
利用图3或4的可编程逻辑部件,可以通过编程LUT部件400的配置位来实现算术加法运算以便执行异或函数。可以通过不同地编程LUT部件400来实现除加法以外的操作,当然,当在最低权级使用逻辑高的进位输入信号时,第一和第二操作数的相加等价于从第一操作数减去第二操作数的补码。
图6示出了图3的可编程逻辑部件和进位链28的一部分42。如先前所提及,可编程逻辑部件24包含LUT 400、配置存储器404和第一异或门402。部分进位链42包含第二异或门420和多路复用器422。可编程逻辑部件24的信号输入端A、B与第二异或门420的输入端耦合,所述第二异或门420具有耦合到多路复用器422的控制输入端的输出。多路复用器422具有分别耦合到进位输入端以及耦合到可编程逻辑部件24的信号输入端之一的输入端。根据进位输入信号和可编程逻辑部件24的输入信号A、B来确定进位输出信号。当输入信号相等时(即异或门420的输出为逻辑低),多路复用器422输出一个输入信号(例如B)作为进位输出信号。当输入信号A、B不相等时(即异或门420的输出为逻辑高),多路复用器422输出进位输入信号作为进位输出信号。作为上述例子的候选,由于在数据路径模式下LUT部件400实现异或门,所以可以去除专用的异或门420,并且多路复用器422的选择信号由LUT部件400的输出提供。
附加的门50、52使可编程逻辑部件24能够执行不必形成外部补码的算术减法和1位乘加累加(例如作为多位乘法中的一个步骤)。通过在一边是LUT部件和第二异或门而另一边是信号输入端A、B之一之间增加异或门50就使得减法方便实现,所述异或门50接收必须减去的操作数位。把减法控制信号SUB提供到异或门50的输入端之一,在逻辑上使得所述输入信号反相。当要求加法时,把减法控制信号设置为零。为此,对于单元20中所有的可编程逻辑部件可以使用共用的减法控制信号。可以由单元20的配置位或由来自单元20外部的信号来控制所述减法信号。在减法情况下,把逻辑高进位输入信号施加到与最低权级相关联的可编程逻辑部件。
通过在一边是LUT部件和第二异或门而另一边是信号输入端A、B之一之间增加与门52,并且向此与门的输入端之一提供系数信号来支持实现乘加累加,其中所述与门52接收必须乘的操作数位。为此,对于单元20中所有的可编程逻辑部件可以使用共用的系数信号。当要求加法时,把该系数信号MUL设置为一。
应当注意,尽管图6示出了以组合方式提供的与门52和异或门50,然而对本领域的技术人员来说显而易见的是,当不要求减法或乘法时可以省略其中的任何一个。还应当理解可以依照候选方式来实现乘法和减法,所述方式在电路中不同位置采用异或门50的等效物和/或采用LUT部件400的不同配置。例如,可以把异或门50耦合在输入电路的输出端和进位链42的输入端之间,把所述输入电路的输出耦合到可编程逻辑部件40而不传递通过异或门50,假设在减法情况下,可编程逻辑部件40中的配置位适应于没有异或门50的影响。然而,在这种情况下,当从加法切换到减法时需要改变可编程逻辑部件的配置。
还应当注意:控制信号Cin、MUL和SUB可以与控制多路复用器406、264a、264b和266的控制信号X、Y和Z共享相同的控制线。图7示出了依照此方式可以共享控制信号X/Cin、Y/MUL和Z/SUB的示例性实施方式。此布置具有降低了所要求输入引脚数目的进一步优点。
图8示出了输入电路22。输入电路22具有与单元20的输入端耦合的多个输入端72,和与可编程逻辑部件24a-d的输入端以及单元20的输出电路的多路复用器耦合的多个输出端74。所述输入端72和输出端74经由两层切换电路76、78耦合。在每个切换电路76、78(仅详细示出了一个)中可以使用两个多路复用器760来实现所述切换电路,每个多路复用器760在从切换电路的每个输入端到相应的输出端之间提供了可配置的耦合。输入电路22还包含第三多路复用器(未示出),用于选择馈送到输出级多路复用器264a、b、266的输入信号。由来自配置存储器(未示出)的配置位来控制切换电路76、78和第三多路复用器的操作。
层76、78组成了切换电路76、78的组,都把各自的输入端对耦合到相应的输出端对,并且层76、78被布置成使得每个组中的切换电路76、78能够可配置地在一方面把来自输入端对中的每一个的信号拷贝到输出端对中的两个输出端,另一方面把来自输入端对中每个输入端的信号耦合到各自的输出端对之间切换。串联地组合层76、78,来自第一层切换电路76对的输出与第二层78中一对不同切换电路78的输入端交叉耦合。结果,层76、78把各四个一组的输入端72分别耦合到相应四个一组的输出端74,并且能够可配置地在把来自四个一组的输入端72中每一个的信号拷贝到在相应的四个一组的输出端74中的所有输出端,和把各四个一组的输入端分别耦合到相应四个一组的输出端之间切换。
单元20具有与切换电路76、78的控制输入端耦合的配置存储器(未示出),以便配置存储器的内容控制输入电路的多路复用器的切换。配置存储器至少在随机逻辑模式和多位操作数模式之间选择。在随机逻辑模式下,控制切换电路76、78以便把来自两个输入端72的信号拷贝到每个可编程逻辑部件的输入端,并且控制第三多路复用器(未示出)以便把来自其它输入端的信号耦合到输出电路中的多路复用器的控制输入端。在多位操作数模式下,控制切换电路76、78以便把各自的输入端72耦合到各自的输出端74。原则上,一个配置位的存储器足以在这两种模式之间选择,但是优选地,为附加配置位提供存储器,所述附加配置位在随机逻辑模式下选择把哪些输入拷贝到所有可编程逻辑部件。在后一种情况,可以使用五个配置位:一个配置位用于在多位操作数模式(一对一的信号转送)和随机逻辑模式(四倍拷贝)之间选择,和两组两个配置位,每组都用于选择与每个可编程逻辑部件的输入端耦合的四个输入端之一。
第三多路复用器(未示出)选择从其把信号馈送到输出电路26中多路复用器级的控制输入端的输入端。优选地是,提供两个第三多路复用器,每个第三多路复用器选择用于控制各自级输出电路26的输入信号。
原则上,可以把所述单元的信号输入端组成信号输入端组(例如四个),其中一组的每个信号输入端提供对应于所述组的多位操作数的相应位。为了支持随机逻辑模式和多位操作数模式,所述单元具有用于在传递来自逻辑输入端组对的输入信号和把一个输入集合的拷贝传递到所有可编程逻辑部件之间选择的配置位是足够的,其中每个可编程逻辑部件接收来自所述对中两个组的信号。可以提供附加的配置位来选择所述组或所述集合。
在这里,具有四个可编程逻辑部件的单元是尤为有益的,这是因为在这种情况下随机逻辑函数的输入信号的数目和多位操作数中位的数目是相同的。这意味着:还可以把对应于操作数的每个组选择为一个随机逻辑函数输入的集合。可以使用用于在多位操作数模式下选择所述组的配置位(如果有的话)来在随机逻辑模式下选择一个组。此时,在随机逻辑模式下,为了要选择在多位操作数模式下可能会用作操作数的那些组中的哪些组将被用作随机逻辑函数输入的集合,使用单个附加配置位就足够了。
应当理解的是,在单元20中可以采用能够实现类似可配置性的许多变化。例如,可以使用具有更大数目的两位输入的可编程逻辑部件24a-d的单元,例如使用具有八个这种部件并具有在三个输入信号的控制之下选择这八个可编程逻辑部件之一的输出的多路复用器的单元。这样,就可以使用例如8位的多位信号处理操作。
上述发明提供了一种逻辑单元,所述逻辑单元可在随机逻辑函数和数据路径函数之间配置,并且本发明提供了不依赖于进位信号的增强的随机逻辑操作函数。
Claims (21)
1.一种具有可编程逻辑单元阵列的电子电路,每个单元包括:
具有多个逻辑输入端的输入电路;
输出电路;
多个可编程逻辑部件,并联地耦合在输入电路和输出电路之间,所述逻辑单元可在随机逻辑模式和多位操作数处理模式之间配置;其中至少一个所述可编程逻辑部件包括:
可配置的查找表电路,具有耦合来接收来自所述输入电路的逻辑输入信号的输入端并具有输出端;
可控制的反相器/非反相器电路,具有连接到所述查找表电路的输出的输入端,并且由输入进位信号控制;
第一输出节点,连接来接收所述反相器/非反相器电路的输出,并且耦合到输出电路以便提供多位操作数处理模式输出信号;和
第二输出节点,连接来接收所述查找表电路的输出,以便提供随机逻辑模式输出信号。
2.如权利要求1所述的电子电路,还包括进位输入端和进位输出端,一进位链耦合在进位输入端、输入电路和进位输出端之间;
至少在多位操作数处理模式下,把所述可编程逻辑部件耦合到沿着进位链的连续位置,以便处理来自所述进位链的进位信号,在随机逻辑模式下,所述输出电路在另外输入信号的控制之下选择来自可编程逻辑部件的输出信号,并且在多位操作数处理模式下,并行地传递来自所述可编程逻辑部件的输出。
3.如权利要求2所述的电子电路,其中把由所述可编程逻辑部件接收的进位输入信号耦合到所述反相器/非反相器电路的反相非反相控制输入端。
4.如权利要求1所述的电子电路,所述可编程逻辑部件还包括:
多路复用器,具有耦合来接收来自所述输入电路的逻辑输入信号的输入端和输出端,所述多路复用器接收控制信号以便确定把哪个输入信号传递到所述多路复用器的输出端。
5.如权利要求4所述的电子电路,其中所述可编程逻辑部件还包括辅助多路复用器,具有耦合来接收所述反相器/非反相器电路的输出和所述多路复用器的输出的输入端,并且所述辅助多路复用器具有连接到所述可编程逻辑部件的第一输出节点的输出端。
6.如权利要求5所述的电子电路,其中所述辅助多路复用器接收控制信号以便选择是把所述反相器/非反相器电路的输出还是把所述多路复用器的输出传递到所述可编程逻辑部件的第一输出节点。
7.如权利要求6所述的电子电路,其中所述控制信号被提供在配置存储器中的配置信息内。
8.如权利要求4所述的电子电路,所述可编程逻辑部件包括:
第一辅助多路复用器,具有耦合来接收所述反相器/非反相器电路的输出和所述多路复用器的输出的输入端,所述第一辅助多路复用器的输出端连接到第一输出节点;
第二辅助多路复用器,具有耦合来接收所述查找表电路的输出和所述多路复用器的输出的输入端,所述第二辅助多路复用器的输出端连接到第二输出节点;
其中第一和第二辅助多路复用器依照配置信息来提供输出信号。
9.如权利要求1所述的电子电路,其中所述输出电路包括第一级多路复用器,用于接收所述可编程逻辑部件的随机逻辑模式输出信号。
10.如权利要求9所述的电子电路,其中所述输出电路包括至少一个另一级多路复用,所述至少一个另一级多路复用包括至少一个多路复用器,可配置来接收第一级多路复用器中多路复用器的输出,以便向一输出切换电路的输入端提供随机逻辑输出信号。
11.如权利要求2所述的电子电路,其中所述单元包括减法控制电路,被布置成至少控制所述进位链的进位输出确定操作,所述进位链根据在沿着所述进位链的每个位置上的进位输入信号和输入信号来确定进位输出信号,还被布置成在减法控制信号的控制之下,由减法控制电路控制至少在适于加法的确定和适于减法的确定之间切换进位输出确定。
12.如权利要求2所述的电子电路,其中所述单元为每个可编程逻辑部件分别包括一个乘法电路,耦合来在向可编程逻辑部件的输入端提供可编程逻辑部件的至少一个输入信号之前,把所述至少一个输入信号与被乘数相乘。
13.如权利要求2所述的电子电路,其中所述进位链电路在所述位置和单元的进位输入端之间具有可配置的耦合,以便在来自配置存储器的配置信息的控制之下,可配置地把进位输入信号提供给所述进位链或提供标准信号。
14.如权利要求2所述的电子电路,其中所述进位链电路具有多个可配置的耦合,每一个都分别耦合在所述位置中的一个和一个相应的可编程逻辑部件之间,以便在来自配置存储器的配置信息的控制下,可配置地把来自所述位置的进位信号提供到可编程逻辑电路或者提供另一信号,该另一信号不是传播通过进位链的结果。
15.如权利要求1所述的电子电路,其中每个可编程逻辑部件具有用于来自所述逻辑输入的信号的两单位输入端,每个可编程逻辑部件可配置来独立地实现所述逻辑输入端的任何两个输入位的逻辑函数。
16.如权利要求1所述的电子电路,其中可控制的反相器/非反相器电路包括异或电路,具有与所述查找表电路的输出端耦合的第一输入端,并具有与进位输入端耦合的第二输入端。
17.如权利要求1所述的电子电路,其中所述输入电路被布置得可配置成在所述单元的信号输入端和可编程逻辑部件的输入端之间只提供所有可能耦合的真子集,所述子集包括多位操作数耦合,其中分别把信号输入端与可编程逻辑部件的相应输入端耦合,并且所述子集还包括随机逻辑耦合,其中把信号输入端的子集与每个可编程逻辑部件的输入端耦合。
18.如权利要求17所述的电子电路,其中所述子集包括两位输出随机逻辑耦合,其中把第一和第二子集的信号输入端分别与多个可编程逻辑部件的每个第一和第二子集中的输入端耦合。
19.如权利要求1所述的电子电路,被配置为执行随机逻辑函数,其中每个可编程逻辑部件被配置为提供各自的输入/输出关系,并且来自所述逻辑输入端的逻辑输入信号选择从哪个可编程逻辑部件把逻辑输出信号传递到输出电路的逻辑输出端。
20.如权利要求1所述的电子电路,被配置为执行多位操作数的信号处理函数,其中每个可编程逻辑部件被配置为根据来自进位链的进位输入信号提供相同的输入/输出关系,并且输出电路并行输出来自可编程逻辑部件的输出信号。
21.如权利要求1所述的电子电路,被配置为执行多路复用功能,其中每个可编程逻辑部件被配置为把输入信号之一传递到输出端,并且在所述传递期间当把多路复用控制信号置为有效并且可编程逻辑部件的输入信号互不相同时使所述输入信号之一反相,其中所述多路复用控制信号对可编程逻辑部件是共用的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03100387 | 2003-02-19 | ||
EP03100387.4 | 2003-02-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1751438A true CN1751438A (zh) | 2006-03-22 |
Family
ID=32892954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004800046090A Pending CN1751438A (zh) | 2003-02-19 | 2004-02-12 | 具有可编程逻辑单元阵列的电子电路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7164288B2 (zh) |
EP (1) | EP1597826B1 (zh) |
JP (1) | JP2006518144A (zh) |
CN (1) | CN1751438A (zh) |
WO (1) | WO2004075410A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259523A (zh) * | 2012-02-17 | 2013-08-21 | 京微雅格(北京)科技有限公司 | 一种加法链优化的方法和采用该加法链的集成电路 |
CN103762974A (zh) * | 2014-01-26 | 2014-04-30 | 中国电子科技集团公司第五十八研究所 | 多功能可配置的六输入查找表结构 |
WO2017079947A1 (zh) * | 2015-11-12 | 2017-05-18 | 京微雅格(北京)科技有限公司 | 一种支持引脚交换的加法器布线方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1606878A1 (en) * | 2003-02-19 | 2005-12-21 | Koninklijke Philips Electronics N.V. | Electronic circuit with array of programmable logic cells |
US7565387B1 (en) * | 2005-05-23 | 2009-07-21 | Altera Corporation | Systems and methods for configuring a programmable logic device to perform a computation using carry chains |
WO2007029167A1 (en) | 2005-09-05 | 2007-03-15 | Nxp B.V. | Logic modules for semiconductor integrated circuits |
US9564902B2 (en) * | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US8516025B2 (en) * | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8098080B2 (en) | 2008-02-29 | 2012-01-17 | Renesas Electronics Corporation | Semiconductor programmable device |
US8661394B1 (en) | 2008-09-24 | 2014-02-25 | Iowa State University Research Foundation, Inc. | Depth-optimal mapping of logic chains in reconfigurable fabrics |
US8438522B1 (en) | 2008-09-24 | 2013-05-07 | Iowa State University Research Foundation, Inc. | Logic element architecture for generic logic chains in programmable devices |
CN103580678B (zh) * | 2013-11-04 | 2016-08-17 | 复旦大学 | 一种基于fgpa的高性能查找表电路 |
US9602108B1 (en) * | 2015-09-11 | 2017-03-21 | Xilinx, Inc. | Lut cascading circuit |
CN110045944A (zh) * | 2019-04-23 | 2019-07-23 | 陈新豫 | 新型快速加法器 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6288570B1 (en) * | 1993-09-02 | 2001-09-11 | Xilinx, Inc. | Logic structure and circuit for fast carry |
US5606266A (en) * | 1994-11-04 | 1997-02-25 | Altera Corporation | Programmable logic array integrated circuits with enhanced output routing |
US5570039A (en) * | 1995-07-27 | 1996-10-29 | Lucent Technologies Inc. | Programmable function unit as parallel multiplier cell |
US6107822A (en) * | 1996-04-09 | 2000-08-22 | Altera Corporation | Logic element for a programmable logic integrated circuit |
US6075380A (en) * | 1997-06-26 | 2000-06-13 | Altera Corporation | Programmable logic device with expandable-width memory regions |
CN1666417A (zh) * | 2002-07-10 | 2005-09-07 | 皇家飞利浦电子股份有限公司 | 具有可编程逻辑单元阵列的电子电路 |
EP1606878A1 (en) * | 2003-02-19 | 2005-12-21 | Koninklijke Philips Electronics N.V. | Electronic circuit with array of programmable logic cells |
-
2004
- 2004-02-12 EP EP04710454.2A patent/EP1597826B1/en not_active Expired - Lifetime
- 2004-02-12 WO PCT/IB2004/050110 patent/WO2004075410A1/en active Application Filing
- 2004-02-12 JP JP2006502588A patent/JP2006518144A/ja not_active Withdrawn
- 2004-02-12 CN CNA2004800046090A patent/CN1751438A/zh active Pending
- 2004-02-12 US US10/545,642 patent/US7164288B2/en not_active Expired - Lifetime
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259523A (zh) * | 2012-02-17 | 2013-08-21 | 京微雅格(北京)科技有限公司 | 一种加法链优化的方法和采用该加法链的集成电路 |
CN103762974A (zh) * | 2014-01-26 | 2014-04-30 | 中国电子科技集团公司第五十八研究所 | 多功能可配置的六输入查找表结构 |
CN103762974B (zh) * | 2014-01-26 | 2016-09-14 | 无锡中微亿芯有限公司 | 多功能可配置的六输入查找表结构 |
WO2017079947A1 (zh) * | 2015-11-12 | 2017-05-18 | 京微雅格(北京)科技有限公司 | 一种支持引脚交换的加法器布线方法 |
CN107005240A (zh) * | 2015-11-12 | 2017-08-01 | 京微雅格(北京)科技有限公司 | 一种支持引脚交换的加法器布线方法 |
CN107005240B (zh) * | 2015-11-12 | 2020-08-14 | 京微雅格(北京)科技有限公司 | 一种支持引脚交换的加法器布线方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1597826A1 (en) | 2005-11-23 |
US20060066345A1 (en) | 2006-03-30 |
US7164288B2 (en) | 2007-01-16 |
EP1597826B1 (en) | 2017-12-13 |
JP2006518144A (ja) | 2006-08-03 |
WO2004075410A1 (en) | 2004-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1751439A (zh) | 具有可编程逻辑单元阵列的电子电路 | |
CN1751438A (zh) | 具有可编程逻辑单元阵列的电子电路 | |
CN1191519C (zh) | 快速规则的乘法器层次结构 | |
US7853632B2 (en) | Architectural floorplan for a digital signal processing circuit | |
CN1751361A (zh) | 具有可编程逻辑单元阵列的电子电路 | |
US6535902B2 (en) | Multiplier circuit for reducing the number of necessary elements without sacrificing high speed capability | |
Kim et al. | Memristive stateful logic for edge Boolean computers | |
WO2004003778A2 (en) | Loosely-biased heterogeneous reconfigurable arrays | |
Rawat et al. | A low power and reduced area carry select adder | |
CN111047034B (zh) | 一种基于乘加器单元的现场可编程神经网络阵列 | |
CN110858137B (zh) | 除以整数常数的浮点除法 | |
CN1666417A (zh) | 具有可编程逻辑单元阵列的电子电路 | |
US6484193B1 (en) | Fully pipelined parallel multiplier with a fast clock cycle | |
CN1731344A (zh) | 快速多周期二进制及十进制加法器单元的高度并行结构 | |
Neelima et al. | Low Power and Area Efficient Borrow Select Subtractor | |
US5661660A (en) | Method for providing multiple function symbols | |
Lee et al. | Digit-serial reconfigurable FPGA logic block architecture | |
Pang | Architectures for pipelined Wallace tree multiplier-accumulators | |
Parandeh-Afshar et al. | A flexible DSP block to enhance FPGA arithmetic performance | |
CN117971157A (zh) | 进位逻辑电路 | |
Shahana et al. | Automated synthesis of delay-reduced Reed-Muller universal logic module networks | |
US20030182344A1 (en) | Integrated multiplier circuit with interchanged interconnections | |
JP4158264B2 (ja) | ソート・マージ処理装置およびソート・マージ回路 | |
Poulose Jacob et al. | Automated synthesis of delay-reduced Reed-Muller universal logic module networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
C20 | Patent right or utility model deemed to be abandoned or is abandoned |