CN1666417A - 具有可编程逻辑单元阵列的电子电路 - Google Patents
具有可编程逻辑单元阵列的电子电路 Download PDFInfo
- Publication number
- CN1666417A CN1666417A CN03816244XA CN03816244A CN1666417A CN 1666417 A CN1666417 A CN 1666417A CN 03816244X A CN03816244X A CN 03816244XA CN 03816244 A CN03816244 A CN 03816244A CN 1666417 A CN1666417 A CN 1666417A
- Authority
- CN
- China
- Prior art keywords
- input
- programmable logic
- signal
- output
- 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
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims description 68
- 230000009471 action Effects 0.000 claims description 41
- 230000008878 coupling Effects 0.000 claims description 17
- 238000010168 coupling process Methods 0.000 claims description 17
- 238000005859 coupling reaction Methods 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000001902 propagating effect Effects 0.000 claims 1
- 230000008676 import Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 241000193935 Araneus diadematus Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007664 blowing Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000006880 cross-coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Logic Circuits (AREA)
Abstract
一种电子电路包括具有多个可编程逻辑部件的可编程逻辑单元,所述可编程逻辑部件能够被配置成操作在多位操作数模式和随机逻辑模式中。所述可编程逻辑部件并联耦合在输入电路和输出电路之间。在随机逻辑模式中,输入电路可被配置成将来自逻辑输入的相同组合的逻辑输入信号提供给可编程逻辑部件。在多位操作数处理模式中,输入电路被配置成将来自不同逻辑输入的逻辑输入信号提供给可编程逻辑部件。至少在多位操作数模式中,这些可编程逻辑部件被耦合到沿进位链的连续位置,以便处理来自进位链的进位信号。输出电路在随机逻辑模式中在另外的输入信号的控制下选择来自可编程逻辑部件的输出信号,并且在多位操作数模式中并行传送来自可编程逻辑部件的输出。
Description
本发明涉及具有可编程逻辑单元(cell)阵列的电子电路。
可编程逻辑单元使电路设计者能够采用已经大量生产的电子电路诸如集成电路的个体实例的逻辑功能。这减少工作电路从设计到生产的时间间隔,并且降低生产小批量产品以及设计样机的制造成本。
在一个实施的实例中,可编程单元包括利用该单元的输入信号寻址的存储器,且该存储器将输入信号值的每个组合的预编程输出信号存储在利用这些值寻址的相应地址上。据说该存储器具有LUT(查找表)功能,用于查找响应于各种输入信号而产生的输出信号。
可以利用LUT实现任何逻辑功能,假定其包含足够的存储空间。然而,实际上只有需要有限数量(通常不超过4个)输入的逻辑功能才在具有可编程逻辑单元的电路中利用LUT来实现。这样的LUT需要16个存储位置。这允许对具有4个输入位的随机逻辑功能进行编程。在很多情况下,具有包括4个输入位功能的这样的单元的电路就足够了。具有这种单元的阵列的电路允许设计者实现更复杂的逻辑功能,在该电路中单元的输出耦合到其它单元的输入。
设计者越来越多地实现这样的逻辑功能,对于这些功能可编程逻辑单元阵列的一部分用于实现诸如加法的信号处理运算。许多信号处理运算具有这样的特性,即较宽的输入操作数的许多比特均能够通过进位效应来影响输出结果中的许多比特。当使用4位输入LUT实现这种宽依赖性时,获得效率非常低的实现。
Xilinx在其可编程逻辑器件的Virtex家族中通过将进位链加到4位输入LUT单元的阵列已经解决了这个问题。图1示出了这种器件的可编程逻辑单元。该单元包含执行LUT功能的4位地址存储器10以及具有进位输入和进位输出的进位电路12。存储器10的输出耦合到进位电路12,进位电路12将进位输入信号与LUT的输出信号组合,以形成进位输出信号。异或门14用于从进位输入信号和LUT的输出信号中形成输出信号。该单元的进位输入和进位输出耦合到该阵列(未示出)中相邻单元的进位输出和进位输入,以形成进位链。该进位链从一个4位输入LUT的输出到另一个执行进位功能。因此,不需要分配LUT来执行进位功能。当电路用于执行包括一些信号处理运算的逻辑功能时,这节省了可观数量的LUT。
然而,与专用信号处理电路相比,在也能够实现随机逻辑功能的这种更通用电路中信号处理功能的实现仍然相当低效。希望该效率可以提高。
这对于不使用存储器而使用可编程单元执行LUT的可编程逻辑电路也是如此。更通常地,可编程逻辑单元的逻辑功能利用该电路中的一组配置位的值来控制。这些配置位的值可以例如在存储元件中进行设置,或者通过诸如熔丝熔固(blowing of fuses)的技术被不可逆地进行编程。LUT的内容可以由配置位来设置,但是至逻辑门的输入或逻辑电路的控制信号也可以利用配置位来设置。在这些电子电路中,配置位的数量是一个重要设计参数。大数量的配置位通常允许更宽的用于编程电路的范围,但是存储大量比特的需要也使得此电路更加昂贵并且其响应可能变慢。已经发现在这些电路中实施信号处理运算或需要具有大量配置位的单元,或需要更多的其中每一个具有较少配置位的单元。希望该效率可以提高。
发明内容
特别地,本发明的一个目的是提供具有可编程逻辑单元阵列的电子电路,允许实施随机逻辑功能和信号处理运算,其中有效使用配置位。
在权利要求1中阐述了根据本发明的电子电路。该电子电路包括具有多个可编程逻辑部件的可编程逻辑单元,这些可编程逻辑部件并联耦合在该单元的信号输入端和输出端之间。该可编程逻辑单元被配置成在随机逻辑模式和多位操作数模式中操作。在多位操作数模式中,该单元中的不同可编程逻辑部件均从该单元的信号输入端接收输入信号,并且这些可编程逻辑部件的输出并行提供给该单元的输出。进位信号在这些可编程逻辑部件之间传播。在随机逻辑模式中,该单元的每个可编程逻辑部件从该单元的信号输入端接收相同的信号;来自信号输入端的另外信号选择哪个可编程逻辑部件具有耦合到该单元输出的输出。
因而,可以编程该单元以利用可编程逻辑部件的少量配置位来执行随机逻辑功能和多位信号处理操作。例如使用4个双输入可编程逻辑部件,该单元可以被配置成实现信号处理运算以及4位输入随机逻辑运算(两个输入位提供给可编程逻辑部件中的每一个,且剩余两位选择哪个可编程逻辑部件用于提供输出信号)的4位有效级(level)。使用用于编程该单元的可编程逻辑部件的仅仅16位完全实现这种可配置性。
在一个实施例中,进位信号对可编程逻辑部件中的至少一个的影响利用将可编程部件的输出信号反相或不反相的专用电路来实现,这取决于该进位信号。该专用电路通常具有异或功能。因此,不需要配置位来实现进位效应。
在其他实施例中,该单元可以包括用于配置进位链的操作的电路,至少以便确定适合于减法和加法的进位信号。此外,可以提供用于以相同被乘数倍增该单元中的多位操作数的每个位的电路。输入电路可以只提供该单元的信号输入和可编程逻辑部件的输入之间的耦合的有限选择,包括用于多位操作数信号处理和用于计算随机逻辑功能的耦合。通过只提供有限的选择,可以减少配置该输入电路所需的配置位的数量而不影响配置该单元以实现多位信号处理和随机逻辑功能的能力。
在还一个实施例中,该单元使用用于说明多位操作数模式中的进位信号的电路支持多路复用器模式中的多路复用功能的配置。
本发明也涉及这种类型的可编程电路,这些电路已经被配置成分别执行多位操作数功能、随机逻辑功能和多路复用器功能。
附图说明
将使用以下附图来描述本发明的这些和其它目标和有益方面。
图1示出了现有技术的可编程逻辑单元;
图2示出了根据本发明的可编程逻辑单元;
图3示出了逻辑单元的阵列;
图4示出了可编程逻辑部件和进位链的一部分;
图5示出了图4的电路的修改;
图6示出了进位链;
图6a示出了可供选择的进位链;
图6b示出了另一可供选择的进位链;和
图7示出了输入电路。
具体实施方式
图2示出了可编程逻辑单元20。单元20包括输入电路22、多个可编程逻辑部件24a-d、输出电路26和进位链28。单元20的信号输入21和信号输出27通过输入电路22的级联、可编程逻辑部件24a-d和输出电路26的并联安排进行耦合。进位链28具有进位输入29a和进位输出29b,并且在沿该链的一系列位置上被耦合到可编程逻辑部件。
输出电路26包括许多级的多路复用器264a、b和266以及转换级268。第一级中的多路复用器264a、b的控制输入耦合到输入电路22的相应输出。第一级中的多路复用器264a、b的信号输入耦合到可编程逻辑部件24a-d的对的输出、第二级中的多路复用器266的信号输入耦合到第一级的多路复用器264a、b的输出。
可编程逻辑部件24a-d以及第二级的多路复用器266的输出耦合到转换级268的输入。转换级268的输出耦合到单元20的信号输出27。转换级268可配置成将可编程逻辑部件24a-d的输出耦合到输出27,或者将第一和第二级的多路复用器264a、b、266的输出耦合到输出27,或者至少将第二级的多路复用器266的输出耦合到输出27。转换级268可以被配备有用于锁存输出信号的锁存器(未示出),以便单元20可以充当流水线电路中的流水线级的最终部分。优选地,转换级268可配置成在锁存之后或在不锁存的情况下传送信号。
单元20已被设计成使设计者能够配置单元20来实现选择的输入-输出功能。通过编程可编程逻辑部件24a-d、输入电路22、输出电路26和进位链28的配置位,可以配置单元20的功能。(配置位存储在配置存储器(未示出)中,其通过编程路径(未示出)进行装载,这二者本身对于可编程逻辑器件都是已知的)。配置位确定哪一些信号输入21被耦合到可编程逻辑部件24a-d中的哪一些,这些配置位确定可编程逻辑部件24a-d为了响应各个输入信号值而将产生哪些输出信号值,这些配置位确定转换级268将向信号输出27传送哪些信号,并且这些配置位确定来自进位输入29a的进位输入信号是否将传送到单元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是否使用来自进位输入29a的进位输入信号来确定进位信号。如果单元20处理的输入信号是较大操作数的更有效的位,则该单元被配置成使得这样的进位输入信号被用于接收处理较低有效操作数的另一单元的进位输出信号。
图3示出了图2所示类型的单元20的二维阵列。该阵列被组织成具有单元20的行和列的矩阵。相邻单元的信号输入、信号输出、进位输入和进位输出相互耦合。此外,提供总线以使不相邻单元30之间能够耦合。(仅仅为了简单起见,单元和总线之间的连接示意性地用单个交叉线来表示)。在这种类型的阵列中,可以容易地实现随机逻辑功能和多位信号处理操作的任何组合。
在操作中在随机逻辑模式中,单元20的输出信号是多个输入信号的随机逻辑函数。此随机逻辑函数使用可编程逻辑部件24a-d以及第一和第二级的多路复用器264a、b、266来实现。输入电路22将相同的输入信号传送到可编程功能部件24a-d中的每一个。在其他的输入信号的控制下,多路复用器264a、b、266从可编程逻辑部件24a-d中选择一个,输出信号从该被选择的可编程逻辑部件传送到转换级268,这些其他控制信号中的第一信号控制第一级中的多路复用器264a、b,这些其他控制信号中的第二信号控制第二级中的多路复用器266,这在第一级中的多路复用器264a、b的输出之间选择。因此,实现了依赖于可编程逻辑部件24a-d的输入信号并依赖于控制多路复用器264a、b、266的其他输入信号的逻辑功能。可编程逻辑部件24a-d中的每一个为响应于相同的输入信号而产生输出信号,这些相同的输入信号中的每一个对于其他输入信号的不同值用作输出信号。转换级268将得到的输出信号从多路复用器266传送到单元20的信号输出。
进位链28被配置,以使得没有外部进位输入信号用在随机逻辑模式中。根据进位链28的实现,进位链28仍然可以将一些在输入的某些输入值上出现的进位信号传送给可编程逻辑部件24a-d。在这种情况下,进一步沿着进位链向下的可编程逻辑部件24a-d的结构可适应于对于输入值的特定值考虑(account for)进位信号的存在。在进位链28的一个可供选择的实现中,多路复用器可以包含在进位链中,其在多位操作数模式中传送来自在前有效级的进位信号,或者在随机逻辑模式中传送预定信号(例如,对于所有有效级都为零)。在该实施例中,可编程逻辑部件24a-d的结构不需要进行改变以考虑信号相关进位信号的存在。
因此,在随机逻辑模式和多位操作数模式之间有对照。一方面,在随机逻辑模式中,每个可编程逻辑部件24a-d接收相同的输入信号,并且每个对于控制多路复用级260、262的其他输入信号的不同值提供可能不同的输入-输出功能。另一方面,在多位操作数模式中,可编程逻辑部件24a-d接收不同的输入信号,但是通常提供相同的输入-输出函数。
作为选择,一方面通过将可编程逻辑部件用于执行对两个多位操作数信号处理操作的不同有效级的计算,并且另一方面通过将其用作计算不止两个位-输入随机逻辑函数的结构的一部分,支持随机逻辑功能和多位操作数信号处理实现所需的配置位的数量被最小化。在图2的例子中,由于具有4个双输入可编程逻辑部件24a-d(每个都可使用4个配置位进行完全编程),16位足以定义任何4位-输入随机逻辑函数,并在同时定义任何双操作数信号处理操作的4个有效级。相反,考虑已经使用4位输入可编程逻辑部件24a-d(其中每一个需要16个配置位来完全编程)的情况。这样的可编程逻辑部件可以在多位操作数信号处理操作的两个有效级上执行计算,但是这对于每个有效级将需要两倍的配置位。
在另一实施例中,安排单元20,以使得其也可配置成产生具有三个输入位的两个随机逻辑功能的结果。在这种情况下,输出电路26的第一级的多路复用器264a,b的输出用作单元的输出。由于单元20具有用于传送多位结果的4位的4个输出,这些来自多路复用器264a、b的输出的结果可以与来自第二级中的多路复用器266的输出信号并行进行传送。
在该另一实施例中,优选地,安排单元20,以使得其能够被配置成使这两个随机逻辑功能的输入信号来自不同的输入21,或者至少可以被选择成来自不同的输入。即,两个可编程逻辑部件24a、b接收相同对的输入信号,并且两外其他的可编程逻辑部件24c、d接收另一对的输入信号。为此,优选安排输入电路22,以使得其能够被配置成独立地选择这些对。此外,在配置位的控制下,输出电路26的第二级中的多路复用器266的控制信号被馈送至第一级的多路复用器264a、b之一。因此,由多路复用器264a、b作出的选择也受控于独立选择的位。单元20在此第三模式(两个3位输入随机逻辑功能)中的操作处于随机逻辑模式和多位操作数模式之间,其中可编程逻辑部件24a-d部分地接收相同的信号并且部分地接收不同的信号,以及其中产生两个输出信号。
图4示出了可编程逻辑部件40和进位链42的一部分的一个实施例。可编程逻辑部件包含LCT部件400、配置存储器404和第一异或门402。进位链42的这部分包含第二异或门420和多路复用器422。可编程逻辑部件40的信号输入A、B耦合到LUT部件400的输入。配置存储器404也耦合到LUT部件400。LUT部件400的输出耦合到第一异或门402的输入。第一异或门402的第二输入耦合到进位链42的进位输入,并且第一异或门402的输出形成可编程逻辑部件40的输出。可编程逻辑部件40的信号输入A、B耦合到第二异或门420的输入,第二异或门420的输出耦合到多路复用器422的控制输入。多路复用器422的输入分别耦合到进位输入以及可编程逻辑部件40的信号输入之一。LUT部件400与配置存储器404的组合可以实现为多个用于具有多路复用结构的配置位的存储元件,所述多路复用结构在来自信号输入的信号的控制下选择所述存储元件之一的输出,并且从LUT部件400输出所选存储元件的内容。常规的4位存储结构可用于此目的。配置存储器404具有用于通过传统配置路径(未示出)将配置位装载到配置存储器404的输入406。
在工作中,LUT部件400实现可配置的输入输出功能。响应于输入信号A、B的每个可能组合,LUT部件400输出利用输入信号选择的相应的输出信号。输入信号的每个组合具有通过存储在配置存储器404中的配置位指定给它的输出信号。4个配置位足以使得配置任何可能的指定成为可能。通过异或门402的动作,当进位输入信号是逻辑低时,LUT部件400的输出信号的副本从该可编程逻辑部件输出,并且如果进位输入信号是逻辑高,输出该输出信号的反相副本。从进位输入信号和可编程逻辑部件的输入信号A、B中确定进位输出信号。当输入信号A、B相等时,多路复用器422输出一个输入信号A作为进位输出信号,并且当输入信号A、B不等时,多路复用器422输出进位输入信号作为进位输出信号。
存在具有相同逻辑功能的可编程逻辑部件的几个可供选择的实施例是清楚的。作为一种选择,例如,可以利用三输入LUT部件(未示出)实现可编程逻辑部件40的功能,所述三输入LUT部件在其输入上除了接收输入信号A、B之外还接收进位信号,并且产生可配置的输出信号。然而,这种LUT部件需要8个配置位来完全可编程。使用第一异或门402实现进位使得有可能编程任何随机2位逻辑功能以及信号处理操作,所述信号处理操作在LUT部件400中涉及具有不超过4个配置位的进位。类似地,进位输出信号的确定可能已经使用另一LUT(未示出)来实现,但代价是更多的配置位。但是,甚至在利用硬接线电路来实现上,进位信号的计算的几个可供选择的实施例也是可能的,当然,使用具有与图4所示的电路相同的输入输出功能的逻辑电路。
利用图4的电路,可以通过编程LUT部件400的配置位以执行异或功能来实施算术加法运算。在逻辑高进位输入信号用在最低有效级上时,除了加法之外的运算也可以通过不同地编程LUT部件400来实现,并且当然第一和第二操作数的相加等效于从第一操作数中减去第二操作数的补数。
图5示出了对进位链42和可编程逻辑部件40的一些添加,以使其适于执行算术减法而没有外部补数形成以及1位相乘-加-累加(multiplication-plus-accumulation)(例如,作为多位乘法的一步)。通过在一侧上LUT部件和第二异或门以及在另一侧上信号输入A、B之一之间增加异或门50来有助于减法的实现,所述信号输入A、B之一接收必须被减去的操作数的位。向异或门50的输入之一提供减法控制信号,以便输入信号被逻辑反相。当需要加法时,将减法控制信号设定为零。为此,可以使用用于单元20中所有可编程逻辑部件的公用减法控制信号。该减法控制信号可以由单元20的配置位加以控制,或者利用外部单元20的信号进行控制。在减法的情况中,逻辑高进位输入信号被施加到与最低有效级相关联的可编程逻辑部件。
通过在一侧上LUT部件和第二异或门以及在另一侧上信号输入A、B之一之间增加ADD(与)门52并且向该与门的输入之一提供因子信号来支持相乘-加-累加的实现,其中所述信号输入A、B之一接收操作数的必须被乘的位。为此,可以使用用于单元20中所有可编程逻辑部件的公共因子信号。在需要加法时,该因子信号被设定为一。
如所示的,可以组合提供与门52和异或门50,但是,当然,在不需要减法或乘法时可以略去任何一个。同样,可以理解,能够以各种可供选择的方式利用电路中不同位置上的异或门50的等效物和/或LUT部件400的不同配置来实现乘法和减法。例如,异或门50可以耦合在输入电路的输出和进位链42的输入之间,所述输入电路的输出不通过异或门50被耦合到可编程逻辑部件40,假设可编程逻辑部件40的配置位在减法的情况下适于不存在异或门50的影响。然而,在这种情况下,当从加法转换到减法时,可编程逻辑部件的配置需要被改变。
图6更详细地示出了单元20的进位链60。进位链60包括输入多路复用器62、进位输入配置存储器64、选择配置存储器66以及多个进位逻辑部件68a-d。单元20的进位输入和进位输入配置存储器64耦合到多路复用器62的的信号输入。选择配置存储器66耦合到多路复用器62的控制输入。多路复用器62的输出耦合到级联的进位逻辑单元68a-d,这些进位逻辑部件68a-d的输入耦合到每个可编程逻辑部件24a-d的输入A、B且输出耦合到这些可编程逻辑部件24a-d。进位输入配置存储器64、选择配置存储器66的内容可通过配置路径(未示出)进行编程。
在工作中,选择配置存储器66在使用来自外部单元20的进位输入信号和使用来自进位输入配置存储器64的进位输入内容之间选择。在单元的操作的随机逻辑模式下选择后者,以及在操作的多位操作数模式下(当单元20必须处理多位操作数的最低有效位时)选择后者。根据所需的多位操作数运算或者根据适于随机逻辑运算的级别设定进位输入配置存储器64的进位输入内容。在后一种情况下,当可编程逻辑部件24a-d中的每一个接收相同的输入信号A、B时,这些可编程逻辑部件24a-d被编程以考虑来自进位链的进位信号的影响。
图6a示出了可供选择的进位链,其中使用可配置进位抑制电路实现进位逻辑部件68a-d,所述可配置进位抑制电路例如为多路复用器69a-d,其或者将进位逻辑电路68a-c的进位输出耦合到可编程逻辑部件(未示出)的进位信号输入,或者将预定信号值的源例如配置存储器64或者硬连线逻辑零耦合到可编程逻辑部件的进位信号输入。进位抑制电路受配置位控制,所述配置位控制该电路是操作在随机逻辑模式中还是操作在多位操作数模式中。当该电路被配置在随机逻辑模式中时,进位抑制电路利用具有预定逻辑级的信号取代被馈送至可编程逻辑部件的进位信号。因此,在随机逻辑模式中,没有进位传播影响单元20。这使得该电路更快且不太容易在输出信号中产生闪信号。在这种情况下,当处于随机逻辑模式中时,给定预定进位输入信号,可编程逻辑部件24a-d全部被编程为执行相同的逻辑功能。虽然已经示出多路复用器69b-d在进位链和可编程逻辑部件之间,但是当然它们也可以被包含在连续的进位逻辑电路68a-d之间的路径中。在这种情况下,这些进位逻辑电路68a-d也不受进位传播的影响。
多路复用器功能需要相对大量的输入:最小可能的多路复用器需要3个输入,两个用于信号以及一个用于控制。4路多路复用器需要6个输入。由于大量的输入,因此用于实现多路复用器功能的可编程单元的输入配置通常效率低。
图6b示出了支持该单元作为多路复用器的配置的图6a的进位链的修改。异或门600的和与门602的级联已经加在每个多路复用器62、69b-d的输入上。每个异或门600的输入耦合到相应信号输入A、B,并且异或门的输出耦合到相应与门602的输入。与门的输出耦合到多路复用器62、69b-d的第一输入,多路复用器62、69b-d接收图6a中的预定信号。与门的第二输入共同耦合到辅助输入604。
在操作中,异或门600和与门602支持该单元配置成多路复用器。当该单元被配置成多路复用器时,其操作是多位操作数模式中操作和随机逻辑模式中操作的混合。如在多位操作数模式中一样,输入电路22将不同的输入信号传送到每个可编程功能部件24a-d。也象在多位操作数模式中一样,每个可编程逻辑部件被配置成实现相同的逻辑功能。象在随机逻辑模式中一样,在其他一些输入信号的控制下,多路复用器264a、b、266选择可编程逻辑部件24a-d之一,从中将输出信号传送到转换级268。可编程逻辑部件24a-d中的每个在辅助输入604处的信号的控制下实现2∶1多路复用器功能。为此,可编程逻辑部件被配置成在它们的输出上再现它们的输入信号A、B之一(假定A)的值。当辅助输入604处的信号是零时,将该信号传送到异或门402的输出。当辅助输入604处的信号是1时,如果输入信号A、B不相等(如由异或门600所表示的),异或门402的输出上的信号被反相,即信号A的副本被反相成等于信号B。在异或门402的所有输出信号中为:
output=EXOR(A,C*EXOR(A,B))
此处C是辅助输入604上的信号。这是2∶1多路复用器函数(multiplexer function)。在与多路复用器264a、b、266的选择组合中,实现8∶1或者一对4∶1多路复用器函数。有利的是,进位链42的异或门402可用于执行异或门600的功能。作为辅助输入604处的信号,可使用该单元的输入信号,或者可以使用用于在加法和减法之间选择的控制信号。
当然,可编程逻辑部件的配置可用于将多路复用功能与一些逻辑运算进行组合,以便例如转换A和B输入的作用。
图7示出了输入电路70。输入电路70具有耦合到单元20的输入的多个输入72以及多个输出74,这些输出74耦合到可编程逻辑部件24a-d的输入和单元20的输出电路中的多路复用器。输入72和输出74通过两层转换电路76、78进行耦合。可以使用每个转换电路76、78(只详细示出了一个)中的两个多路复用器760来实现所述转换电路,每个多路复用器760提供从该转换电路的每个输入到相应一个输出的可配置耦合。输入电路70也包括第三多路复用器(未示出),用于选择被馈送至输出级的多路复用器264a、b、266的输入信号。转换电路76、78以及第三多路复用器的操作利用配置存储器(未示出)的配置位进行控制。
两层76、78被组织成转换电路76、78(每一个将这些输入的相应对耦合到输出的相应对)的组并且被安排成使得每个组中的转换电路76、78能够可配置地在一方面将来自每一个输入对的信号复制到其输出对中的两个输出和另一方面将来自输入对中的每个输入的信号耦合到输出对中的相应输出之间进行转换。层76、78串联组合,其中来自第一层的转换电路76的对的输出被交叉耦合到第二层78中的一对不同转换电路78的输入。结果,层76、78将输入72的四联体(quadruplet)耦合到输出74的相应四联体,并且能够在将来自输入72的每个四联体的信号复制到输出74的相应四联体中的所有输出和将输入的相应四联体耦合到输出的相应四联体之间可配置地转换。
单元20具有耦合到转换电路76、78的控制输入的配置存储器(未示出),以便所述配置存储器的内容控制输入电路的多路复用器的转换。所述配置存储器至少在随机逻辑模式和多位操作数模式之间选择。在随机逻辑模式中,转换电路76、78被控制以便将来自两个输入72的信号复制到每个可编程逻辑部件的输入,且第三多路复用器(未示出)被控制以便将来自所述输入的其它一些输入的信号耦合到输出电路中的多路复用器的控制输入。在多位操作数模式中,转换电路76、78被控制,以便将相应输入72耦合到相应输出74。原则上,用于一个配置位的存储器足以在这两种模式之间选择,但是在随机逻辑模式中,优选地提供用于额外配置位的存储器,该存储器选择哪一些输入被复制到所有可编程逻辑部件。在后一情况下,可以使用5个配置位:一个配置位用于在多位操作数模式(一个信号到一个信号传送)和随机逻辑模式(4次复制)之间选择;以及2×2配置位,每个用于选择被耦合到每个可编程逻辑部件的输入的四个输入之一。
第三多路复用器(未示出)选择输入,从所述输入中信号被馈送至输出电路26中的多路复用器级的控制输入。优选地,提供两个第三复用器,每一个用于选择用于控制输出电路26的相应级的输入信号。
原则上,该单元的信号输入可以被组成为(例如4个)信号输入的组,其中一组的每个信号输入提供对应于该组的多位操作数中的相应位。为了支持随机逻辑模式和多位操作数模式,该单元具有在传送来自逻辑输入组的各对的输入信号以及传送一套输入的副本给所有可编程逻辑部件之间选择的配置位就足够了,其中每个可编程逻辑部件接收来自该对中的两个组的信号。可以提供额外的配置位来选择所述组或所述套。
在本上下文中,具有四个可编程逻辑部件的单元尤其有利,因为在此情况下随机逻辑功能的输入信号的数量与多位操作数中的位数相同。这意味着,对应于操作数的每个组也可以被选择为用于随机逻辑功能的一套输入。用于选择多位操作数模式中的组的配置位(如果有的话)可用于选择随机逻辑模式中的组。在这种情况下,单个额外配置位足以用于随机逻辑模式中,以选择将在多位操作数模式中用作操作数的组将用作随机逻辑功能的输入组。
如将意识到的,当使用在可编程逻辑电路中时,前面所述的单元使得有可能配置该电路以执行涉及不同位级别之间的进位信号的多位操作数信号处理运算以及4位输入随机逻辑功能。也可以支持两个三位输入随机逻辑功能的配置。少量的配置位足以选择操作的模式。16个配置位足以定义4位输入随机逻辑功能和多位信号处理运算。
然而,将认识到,在能够进行相似可配置性的单元20中各种变化是可能的。例如,可以使用具有较大数量的2位输入可编程逻辑部件24a-d的单元,例如,具有8个这种元件并且具有多路复用器在三个输入信号的控制下选择这8个可编程逻辑部件之一的输出的单元。因此,可以使用例如8位多位信号处理操作。
Claims (13)
1、一种具有可编程逻辑单元阵列的电子电路,每个单元包括:
具有多个逻辑输入的输入电路;
输出电路;
进位输入和进位输出,进位链,耦合在进位输入、输入电路和进位输出之间;
多个可编程逻辑部件,并联耦合在输入电路和输出电路之间,输入电路可配置在随机逻辑模式和多位操作数处理模式之间,在随机逻辑模式中每个可编程逻辑部件从逻辑输入的相同组合中接收逻辑输入信号,而在多位操作数处理模式中每个可编程逻辑部件从不同的逻辑输入中接收逻辑输入信号,所述可编程逻辑部件至少在多位操作数处理模式中被耦合到沿进位链的连续位置,以便处理来自进位链的进位信号,输出电路在随机逻辑模式中在另外的输入信号的控制下选择自可编程逻辑部件的输出信号,并在多位操作数处理模式中并行传送来自可编程逻辑部件的输出。
2、根据权利要求1的电子电路,其中至少一个可编程逻辑部件包括:
可配置查找表电路,具有输出和耦合以接收来自输入电路的逻辑输入信号的输入;
可控反相器/非反相器电路,查找表电路的输出经由该反相/非反相电路耦合到输出电路,进位链的进位输出耦合到该反相/非反相电路的反相非反相控制输入。
3、根据权利要求1的电子电路,其中所述单元包括被安排成控制进位链的至少一个进位输出确定运算的减法控制电路,进位链从输入信号和沿该进位链的每个位置上的进位输入信号中确定进位输出信号,通过减法控制电路的控制在减法控制信号的控制下至少在适于加法的确定和适于减法的确定之间转换进位输出确定。
4、根据权利要求1的电子电路,其中所述单元包括用于每个可编程逻辑部件的相应乘法电路,所述乘法电路被耦合以便在将输入信号中的至少一个提供给可编程逻辑部件的输入之前利用被乘数乘以可编程逻辑部件的输入信号中的至少一个。
5、根据权利要求1的电子电路,其中每个可编程逻辑部件具有用于来自逻辑输入的信号的两个部件输入,每个可编程逻辑部件可配置成独立地实现逻辑输入的任何2-输入位逻辑功能。
6、根据权利要求1的电子电路,其中进位链电路具有在所述位置和所述单元的进位输出之间的可配置耦合,用于在配置存储器的配置信息的控制下可配置地将进位输出信号或将标准信号提供给进位链。
7、根据权利要求1的电子电路,其中进位链电路具有多个可配置耦合,每个耦合在相应一个所述位置和相应一个可编程逻辑部件之间,用于在配置存储器的配置信息的控制下可配置地将来自所述位置的进位信号提供给可编程逻辑电路,或者通过进位链将不是传播结果的另外的信号提供给可编程逻辑电路。
8、根据权利要求7的电子电路,其中每个可编程逻辑部件包括:
可配置查找表电路,具有输出和耦合以接收来自输入电路的逻辑输入信号的输入;
可控反相器/非反相器电路,查找表电路的输出经由该反相/非反相电路耦合到输出电路,可配置耦合被耦合到该反相/非反相电路的反相非反相控制输入;
异或电路,具有输入耦合到可编程逻辑部件的输入和可配置耦合以便根据多路复用控制信号的断言提供另外信号的输出,其中所述多路复用控制信号对于可编程逻辑单元是公共的。
9、根据权利要求1的电子电路,其中输入电路被安排成可配置为只提供在所述单元的信号输入和可编程逻辑部件的输入之间的所有可能耦合的一个合适子集,该子集包括多位操作数耦合和随机逻辑耦合,其中在多位操作数耦合中相应信号输入被耦合到相应可编程逻辑部件的相应输入,而在随机逻辑耦合中信号输入的一个子集耦合到每个可编程逻辑部件的输入。
10、根据权利要求7的电子电路,其中所述子集包括2位输出随机逻辑耦合,其中第一和第二子集的信号输入分别耦合到第一和第二子集的多个可编程逻辑部件中的每一个的输入。
11、根据权利要求1的电子电路,被配置成执行随机逻辑功能,其中每个可编程逻辑部件被配置成提供相应输入-输出关系,并且来自逻辑输入的逻辑输入信号选择逻辑输出信号从哪个可编程逻辑部件传送到输出电路的逻辑输出。
12、根据权利要求1的电子电路,被配置成执行多位操作数信号处理功能,其中每个可编程逻辑部件被配置成提供受进位链的进位输入信号控制的相同的输入-输出关系,并且输出电路并行从可编程逻辑部件中输出输出信号。
13、根据权利要求1的电子电路,被配置成执行多路复用功能,其中每个可编程逻辑部件被配置成将其输入信号之一传送到输出,并且在对于可编程逻辑部件是公共的多路复用器控制信号被确定以及可编程逻辑部件的输入信号相互不同时在所述传送期间将这一个输入信号反相。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02077755.3 | 2002-07-10 | ||
EP02077755 | 2002-07-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1666417A true CN1666417A (zh) | 2005-09-07 |
Family
ID=30011177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN03816244XA Pending CN1666417A (zh) | 2002-07-10 | 2003-07-04 | 具有可编程逻辑单元阵列的电子电路 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20060097750A1 (zh) |
EP (1) | EP1522144A1 (zh) |
JP (1) | JP2005532756A (zh) |
KR (1) | KR20050025325A (zh) |
CN (1) | CN1666417A (zh) |
AU (1) | AU2003238633A1 (zh) |
TW (1) | TW200406987A (zh) |
WO (1) | WO2004008641A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104145427A (zh) * | 2012-03-05 | 2014-11-12 | 索泰克公司 | 查找表 |
CN105391443A (zh) * | 2014-08-27 | 2016-03-09 | 快速逻辑公司 | 用于可编程逻辑装置的逻辑单元 |
CN105471422A (zh) * | 2015-11-25 | 2016-04-06 | 中国科学院电子学研究所 | 集成辅助逻辑运算单元的可编程逻辑模块 |
CN107016292A (zh) * | 2016-01-26 | 2017-08-04 | 华邦电子股份有限公司 | 防止通过功率分析进行窃听的电子电路及防止窃听的方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1751438A (zh) * | 2003-02-19 | 2006-03-22 | 皇家飞利浦电子股份有限公司 | 具有可编程逻辑单元阵列的电子电路 |
US7196541B2 (en) * | 2003-02-19 | 2007-03-27 | Koninklijke Philips Electronics N.V. | Electronic circuit with array of programmable logic cells |
US7350176B1 (en) * | 2003-07-17 | 2008-03-25 | Altera Corporation | Techniques for mapping to a shared lookup table mask |
CN100340970C (zh) * | 2004-02-11 | 2007-10-03 | 复旦大学 | 可编程数模混合器 |
WO2007119300A1 (ja) | 2006-03-15 | 2007-10-25 | Nec Corporation | 再構成可能デバイスのテストシステム及びその方法並びにそれに用いる再構成可能デバイス |
US9515656B2 (en) * | 2013-11-01 | 2016-12-06 | Semiconductor Energy Laboratory Co., Ltd. | Reconfigurable circuit, storage device, and electronic device including storage device |
WO2017044812A1 (en) * | 2015-09-11 | 2017-03-16 | Xilinx, Inc. | Cascaded lookup-table (lut) carry logic circuit |
CN106485318B (zh) * | 2015-10-08 | 2019-08-30 | 上海兆芯集成电路有限公司 | 具有混合协处理器/执行单元神经网络单元的处理器 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5546018A (en) * | 1993-09-02 | 1996-08-13 | Xilinx, Inc. | Fast carry structure with synchronous input |
US5898319A (en) * | 1993-09-02 | 1999-04-27 | Xilinx, Inc. | Method and structure for providing fast conditional sum in a field programmable gate array |
US6288570B1 (en) * | 1993-09-02 | 2001-09-11 | Xilinx, Inc. | Logic structure and circuit for fast carry |
US5761099A (en) * | 1994-11-04 | 1998-06-02 | Altera Corporation | Programmable logic array integrated circuits with enhanced carry routing |
US6107822A (en) * | 1996-04-09 | 2000-08-22 | Altera Corporation | Logic element for a programmable logic integrated circuit |
US5920202A (en) * | 1997-02-26 | 1999-07-06 | Xilinx, Inc. | Configurable logic element with ability to evaluate five and six input functions |
US6140839A (en) * | 1998-05-13 | 2000-10-31 | Kaviani; Alireza S. | Computational field programmable architecture |
US6066960A (en) * | 1998-05-21 | 2000-05-23 | Altera Corporation | Programmable logic device having combinational logic at inputs to logic elements within logic array blocks |
US6603332B2 (en) * | 1999-02-25 | 2003-08-05 | Xilinx, Inc. | Configurable logic block for PLD with logic gate for combining output with another configurable logic block |
US6617876B1 (en) * | 2002-02-01 | 2003-09-09 | Xilinx, Inc. | Structures and methods for distributing high-fanout signals in FPGAs using carry multiplexers |
US6987401B1 (en) * | 2002-10-22 | 2006-01-17 | Altera Corporation | Compare, select, sort, and median-filter apparatus in programmable logic devices and associated methods |
-
2003
- 2003-07-04 EP EP03732973A patent/EP1522144A1/en not_active Withdrawn
- 2003-07-04 US US10/520,441 patent/US20060097750A1/en not_active Abandoned
- 2003-07-04 JP JP2004520940A patent/JP2005532756A/ja not_active Withdrawn
- 2003-07-04 WO PCT/IB2003/002714 patent/WO2004008641A1/en not_active Application Discontinuation
- 2003-07-04 KR KR1020057000328A patent/KR20050025325A/ko not_active Application Discontinuation
- 2003-07-04 CN CN03816244XA patent/CN1666417A/zh active Pending
- 2003-07-04 AU AU2003238633A patent/AU2003238633A1/en not_active Abandoned
- 2003-07-07 TW TW092118498A patent/TW200406987A/zh unknown
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104145427A (zh) * | 2012-03-05 | 2014-11-12 | 索泰克公司 | 查找表 |
CN104145427B (zh) * | 2012-03-05 | 2018-06-12 | 索泰克公司 | 查找表 |
CN105391443A (zh) * | 2014-08-27 | 2016-03-09 | 快速逻辑公司 | 用于可编程逻辑装置的逻辑单元 |
CN105391443B (zh) * | 2014-08-27 | 2021-01-05 | 快速逻辑公司 | 用于可编程逻辑装置的逻辑单元 |
CN105471422A (zh) * | 2015-11-25 | 2016-04-06 | 中国科学院电子学研究所 | 集成辅助逻辑运算单元的可编程逻辑模块 |
CN107016292A (zh) * | 2016-01-26 | 2017-08-04 | 华邦电子股份有限公司 | 防止通过功率分析进行窃听的电子电路及防止窃听的方法 |
CN107016292B (zh) * | 2016-01-26 | 2020-05-12 | 华邦电子股份有限公司 | 防止通过功率分析进行窃听的电子电路及防止窃听的方法 |
Also Published As
Publication number | Publication date |
---|---|
AU2003238633A1 (en) | 2004-02-02 |
US20060097750A1 (en) | 2006-05-11 |
TW200406987A (en) | 2004-05-01 |
JP2005532756A (ja) | 2005-10-27 |
WO2004008641A1 (en) | 2004-01-22 |
KR20050025325A (ko) | 2005-03-14 |
EP1522144A1 (en) | 2005-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1751439A (zh) | 具有可编程逻辑单元阵列的电子电路 | |
CN1666417A (zh) | 具有可编程逻辑单元阵列的电子电路 | |
CN1232041C (zh) | 可重新配置的逻辑器件以及包括该器件的乘法阵列 | |
CN1191519C (zh) | 快速规则的乘法器层次结构 | |
Hauck et al. | High-performance carry chains for FPGAs | |
CN1751438A (zh) | 具有可编程逻辑单元阵列的电子电路 | |
US7461234B2 (en) | Loosely-biased heterogeneous reconfigurable arrays | |
US7471643B2 (en) | Loosely-biased heterogeneous reconfigurable arrays | |
EP0827069B1 (en) | Arithmetic circuit and method | |
CN1751361A (zh) | 具有可编程逻辑单元阵列的电子电路 | |
WO1995006979A1 (en) | Logic structure and circuit for fast carry | |
CN101571796A (zh) | 可配置的混合加法器电路 | |
JPH04242825A (ja) | プログラマブル論理デバイスと論理ブロックの順序アレイと集積回路構造とコンフィグラブル論理ブロックアレイ | |
US5303175A (en) | Floating point arithmetic unit | |
CN1490714A (zh) | 用于高效模数归约和模数乘法的电路和方法 | |
CN1108557C (zh) | 减少高速算术单元中超前进位加法器级数的结构和方法 | |
CN1232561A (zh) | 数字加法器电路 | |
US6782406B2 (en) | Fast CMOS adder with null-carry look-ahead | |
Debnath et al. | Fast Boolean matching under permutation using representative | |
US20060031279A1 (en) | Highly parallel structure for fast multi cycle binary and decimal adder unit | |
CN112667560A (zh) | 基于fpga的数据分发装置和计算平台 | |
Amagasaki et al. | An embedded reconfigurable IP core with variable grain logic cell architecture | |
US5661660A (en) | Method for providing multiple function symbols | |
Farooqui et al. | Area-time optimal adder with relative placement generator | |
CN110597485B (zh) | 模块化多位加法器及计算系统 |
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 |