并行计数器和用于执行乘法的逻辑电路的制作方法

文档序号:6473327阅读:308来源:国知局
专利名称:并行计数器和用于执行乘法的逻辑电路的制作方法
技术领域
本发明一般涉及一种数字电子设备,特别地,本发明涉及一种执行二进制逻辑的数字电子设备。本发明的一个方面涉及一种并行计数器,本发明的另一方面涉及一种执行二进制数字的乘法的逻辑电路。
全加器是具有三位输入和两位输出的特殊并行计数器。较高位并行计数器,即具有较大数量的输入的并行计数器的当前实施基于对全加器的使用(C.C.Foster and F.D.Stockton,Counting Responders in anAssociative Memoty,IEEE Trans.Comput.C-201580-1583(1971))(在此引入其内容以用做参考)。通常,输出的最低有效位是在这种实现过程中所产生的最快的位,而其它的位通常比较慢。
下面的符号用于逻辑运算
“异或”;∨“或”;∧“与”;“非”。
并行计数器的有效率的在先技术设计(Foster和Stockton)使用了全加器。被表示为FA的全加器是

图1所示的三位输入并行计数器。它具有三个输入X1,X2,X3和两个输出S和C。用于输出的逻辑的表达式是S=X1X2X3,C=(X1∧X2)∨(X1∧X3)∨(X2∧X3).
被表示为HA的半加器是图1中所示的两位输入并行计数器。它具有两个输入X1,X2和两个输出S和C。用于输出的逻辑表达式是S=X1X2,C=X1∧X2.
图2描述了七位输入并行计数器的已有技术的实施方式。
Irving T.To和Tien Chi Chen的名称为“Multiple Addition by ResidueThreshold Functions and Their Representation by Array Logic(通过余式阈值函数的多倍加法以及它们使用阵列逻辑的表示)”(IEEE Trans.Comput.C-22762-767(1973))(在此引入其内容以用做参考)的论文公开了使用精确的对称函数以执行余式阈值函数的、将数字的集合一起相加的方法。该设置提供一些对常规全加器的速度上的改进,但是由于需要精确计算,所以需要极大地增加其面积。
乘法是基本的运算。给出两个n位数二进制数字An-12n-1+An-22n-2+...+A12+A0and Bn-12n-1+Bn-22n-2+...+B12+B0它们的乘积p2n-122n-1+P2n-222n-2+...+P12+P0
可以达到2n位数。产生用做输出的所有Pi的逻辑电路通常遵循图14的方案。Wallace已经发明了用于乘法器的第一快速结构,现在被称为Wallace-tree乘法器(Wallace,C.S.,Auggestion for a Fast Multiplier(对于快速乘法器的建议),IEEE Trans.Electron.Comput.C-22762-767(1973))(在此引入其内容以用做参考)。Dadda已经研究了乘法器中的位行为(L.Dadda,Some Schemes for Parallel Multipliers(关于并行乘法器的一些方案),AltaFreq 34349-356(1965))(在此引入其内容以用做参考)。他已经构造了多种乘法器,以及大多的乘法器遵循Dadda或Wallace的方案。
Dadda的乘法器使用了图22所示的方案。如果输入具有8位,则64个并行“与”门产生图23所示的阵列。为了清楚,省略“与”门符号∧,因此Ai∧Bj变成AiBj。图23剩余部分的描述了包含全加器(FA)和半加器(HA)的阵列简化。由半加器或全加器增加来自相同列的位。被馈送到全加器的位的一些组是矩形的。被馈送到半加器中的位的一些组是椭圆形的。阵列简化的结果仅仅是在最后一步增加了两个二进制数。通过快速加法方案之一,例如条件加法器或向前查看进位加法器可以将这两个数字相加。
初等对称函数包括逻辑“与”组合一个或多个二进制输入的集合,以及逻辑“或”或“异或”组合该二进制输入的逻辑组合的集合,以产生二进制输出。“或”和“异或”对称函数是初等对称函数,以及产生的输出二进制位取决于输入二进制位中的高位输入的数量。对于“或”对称函数来说,如果高位输入的数量是m,当且仅当m≥k时,输出为高位,其中k是二进制输入的集合的大小。类似地,当且仅当m≥k以及高位输入集合的输入子集合的数量是奇数时,使用“异或”对称函数产生的输出二进制位是高位。在一个实施例中可以选择集合的大小。通过将集合的大小选为2i,由使用“异或”逻辑的对称函数产生第i个输出位,其中i是从1到N的整数,N是二进制输出的数量,以及i表示各个二进制输出的有效性。
在一个实施例中,初等对称函数中使用的二进制输入的集合是唯一的,以及它们包括了二进制输入的所有的可能组合。
在本发明一个实施例中,逻辑电路被划分为多个逻辑单元。设置各个逻辑单元,以产生逻辑单元二进制输出,作为逻辑单元的二进制输入的初等对称函数,二进制输入被划分为到多个逻辑单元的输入,以及使用多个逻辑单元的二进制输出产生二进制输出。
该实施例减少了电路中扇出的数量,并增加了逻辑共享的数量。因此,可以使用于大量二进制数字的并行计数器更实际可用。
在本发明一个实施例中,逻辑电路被划分为多个分层设置的逻辑单元。设置各个逻辑单元,以产生逻辑单元二进制输出,作为到逻辑单元的二进制输入的初等对称函数。在层次中的较高层或各个较高层的逻辑单元的逻辑包括在层次中的较低层或各个较低层的逻辑单元,并且它们具有更多的输入。
在本发明的具体实施例中,按照二进制树来划分并行计数器的逻辑和输入。该逻辑电路被划分为多个逻辑单元。设置各个逻辑单元,以产生逻辑单元二进制输出,作为到逻辑单元的二进制输入的初等对称函数。该二进制输入被划分为到多个逻辑单元的输入,以及使用多个逻辑单元的二进制输出产生多个输出的二进制输出。
在优选实施例中,设置各个逻辑电路,以接收2n个所述的二进制输入,其中n是表示逻辑单元在二进制树中的层级的整数,该逻辑电路在每层具有m个逻辑单元,其中m是从(二进制输入的数量)/2n中确定的上舍入整数,在二进制树中的较高层的逻辑单元包括二进制树中较低层的逻辑单元的逻辑,以及设置各个逻辑单元,以产生逻辑单元二进制输出,作为到逻辑单元的二进制输入的对称函数。
在一个实施例中,设置在第一层的各个逻辑单元,以产生逻辑单元二进制输出,作为到所述逻辑电路的二进制输入的最小初等对称函数。
在一个实施例中,设置第一层的各个逻辑单元,以使用“或”逻辑产生逻辑单元二进制输出,作为到逻辑电路的二进制输入的初等对称函数,以便组合二进制输入。
在一个实施例中,设置第一层的各个逻辑单元,以逻辑“与”到逻辑单元的各个二进制输入,以及逻辑“或”到逻辑单元的各个二进制输入,以产生逻辑单元二进制输出。
在一个实施例中,设置第一层的各个逻辑单元,以使用“异或”逻辑产生逻辑单元二进制输出,作为到逻辑电路的二进制输入的初等对称函数,以便组合二进制输入。
在一个实施例中,设置第一层的各个逻辑单元,以逻辑“与”到逻辑单元的各个二进制输入,以及逻辑“异或”到逻辑单元的各个二进制输入,以产生逻辑单元二进制输出。
在一个实施例中,在第一层提供用作逻辑单元的初等逻辑单元,以便执行初等对称函数,从所述多个输入端接收四个逻辑上相邻的二进制输入的两个一级初等逻辑单元的各个输出被输入到两个二级初等逻辑单元,各个二级初等逻辑单元的输出被输入到三级初等逻辑单元,以及所述的一级、二级和三级初等逻辑单元形成二进制树的第二层的第二逻辑单元,所述的二级逻辑单元具有包括来自各个二级初等逻辑单元的二进制输出,和来自三级初等逻辑单元的两个二进制输出。
在一个实施例中,二进制树的第三层的各个三级逻辑单元包括两个二级逻辑单元,从多个输入端接收八个逻辑上相邻的二进制输入;四个初等逻辑单元,接收用作两个二级逻辑单元的输出的输入,以及进一步的逻辑,使用四个初等逻辑单元的二进制输出产生二进制输出,用作到三级逻辑单元的二进制输入的对称函数。
在一个实施例中,二进制树的第四层的各个四级逻辑单元包括两个三级逻辑单元,从多个输入端接收十六个逻辑上相邻的二进制输入;四个初等逻辑单元,接收用做输入的两个三级逻辑单元的输出,以及进一步的逻辑使用四个初等逻辑单元的二进制输出产生二进制输出,用作到四级逻辑单元的二进制输入的初等对称函数。
在一个实施例中,初等逻辑电路被用做第一层的逻辑单元,以执行最小初等对称函数,以及较高层的逻辑单元包括较低层的逻辑单元。
在一个实施例中,用于在第二层之上的较高层的逻辑单元包括紧挨的前一层的逻辑单元和初等逻辑单元。
在一个实施例中,设置各层的各个逻辑单元,以使用“或”逻辑产生逻辑单元二进制输出,用作到逻辑电路的二进制输入的初等对称函数以便组合二进制输入。
在一个实施例中,设置各层的各个逻辑单元,以使用“异或”逻辑产生逻辑单元二进制输出,用作到逻辑电路的二进制输入的初等对称函数以便组合二进制输入。
在本发明的一个实施例中,通过使用“异或”逻辑的初等对称函数可以产生各个二进制输出。然而,“异或”逻辑没有“或”逻辑快。
根据本发明的另一实施例,使用“或”逻辑产生至少一个二进制输出,用作二进制输入的初等对称函数以组合一个或多个二进制输入的多种集合。设置该逻辑,以逻辑“与”二进制输入的各个集合的成员并逻辑“或”所述“与”运算的结果。
因此对使用“或”逻辑的初等对称函数的利用要更快速,并且可以用于产生最高有效输出位。在该实施例中,集合的大小是2N-1,其中N是二进制输出的数量,而第N个二进制输出是最有效的。
也可以根据较高有效位的输出值来由较低有效位利用使用了“与”逻辑的初等对称函数。在这种情况下,使用“或”逻辑为比第N个二进制输出的有效性小的二进制输出产生二进制输出,用作二进制输入的初等对称函数的多个可能以便组合一个或多个二进制输入的集合,其中N是二进制输出的数量。设置选择器逻辑,以按照更高有效输出值来选择可能的二进制输出之一。用于第(N-1)位的在这种设置中使用的集合的大小最好分别是2N-1+2N-2和2N-2,以及按照第N个二进制输出值来选择可能的二进制输出之一。
在本发明的一个实施例中,以模块化形式设计电路。设计多个子电路逻辑模块,各个模块用来产生用做一些二进制输入的初等对称函数的中间二进制输出。也在该实施例中提供逻辑,以逻辑组合即刻的二进制输出,产生二进制输出。
在本发明的一个实施例中,分层设置逻辑单元,并且层次中至少一层中的至少一个逻辑单元执行了反相初等对称函数。在一个设置中,在层次中的奇数层的逻辑单元执行反相初等对称函数,在层次中的偶数层的逻辑单元执行对称函数,以及将层次中第一层的逻辑单元的输入反相。在另一设置中,层次中偶数层的逻辑单元执行反相初等对称函数,层次中奇数层的逻辑单元执行对称函数,以及层次中第一层的逻辑单元的输入被输入到未反相的层次中第一层的逻辑单元中。本发明的该实施例使得逻辑电路中可以使用更快的反相逻辑门。
由于“或”逻辑更快,在优选实施例中,子电路模块使用“或”逻辑执行初等对称函数。在一个实施例中,子电路模块可以用来产生一些二进制输出,以及可以提供一个或多个逻辑模块,以产生其它的二进制输出,其中,各个逻辑模块产生二进制输出,用作二进制输入“异或”逻辑的初等对称函数,以组合一个或多个二进制输入的多个集合。
本发明的另一方面提供了一种设计逻辑电路的方法,该方法包括提供逻辑模块设计库,每个逻辑模块设计都执行小对称函数;设计逻辑电路,以执行大对称函数;识别出可以执行所述初等对称函数的小初等对称函数;从所述库中选择逻辑模块,以执行所述的小初等对称函数;在所选的逻辑电路中识别出执行对称函数并可以用于执行另一对称函数的逻辑电路;选择与识别的对称函数相对应的逻辑电路,并使用带有”非”门的选择的逻辑电路,以使用对称函数之间的关系来执行所述的另一对称函数{OR_n_k(X1...Xn)=OR_n_(n+1-k)(X1…Xn)其中表示反相,n是输出的数量,k是组合在一起的输入“和”的集合的数量。
本发明的另一方面使用一种具有n个输入的m个可能的高位输入的条件并行计数器,其中m<n,以及n和m是整数,该条件并行计数器包括用于计数输入以便为m个输入产生p个输出的并行计数器,其中到该计数器的输入的数量n大于2p,其中p是整数。
因此本发明的这些方面提供了可在使用并行计数器的任何结构中使用的快速电路。该设计适用于用来建立逻辑电路的任何类型的技术。
根据本发明该方面的并行计数器通常是可应用的,并且可以用于比现有技术的执行更快的乘法电路。
本发明的一个方面使用了n个输入的m个可能的高位输入的条件并行计数器,其中m<n,以及n和m是整数,该条件并行计数器包括上述的用于计数输入以便为m个输入产生p个输出的并行计数器,其中到该计数器的输入的数量n大于2p。例如,该条件乘法器可以用于数字滤波器中。
根据本发明的另一方面,用于二进制数相乘的技术包括阵列产生步骤,其中产生了在两个二进制数字的位之间的逻辑组合的阵列,该阵列与现有技术相比,具有简化的大小。
根据本发明的另一方面,用于二进制数相乘的技术包括阵列产生逻辑,用于执行一个二进制数字的各位和另一个二进制数字的各位之间的逻辑二进制运算,来产生包括二进制值阵列的逻辑二进制组合,以及用于进一步地逻辑组合逻辑相邻值,以将阵列的最大深度简化为N位以下,其中N是两个二进制数字中的最大的一个的位数;阵列简化逻辑,用于将阵列的深度简化为两个二进制数字;加法逻辑,用于将两个二进制数字的二进制值相加。
在一个实施例中,当将两个二进制数字相乘时,正如常规的一样,将第一二进制数字的各位Ai和第二数字的各位Bj逻辑组合,以产生包括由逻辑组合Ai和Bj表示的二进制数字的顺序的阵列。由逻辑组合A1和BN-2、A1和BN-1、A0和BN-2与A0和BN-1来执行进一步的逻辑组合,其中N是二进制数字中的位数。以这种方式,减少了在阵列中一起相加的数字的最大列的大小。
更具体地,设置阵列产生逻辑,以便使用“异或”组合A1AND BN-2、A0AND BN-1的组合,来代替这些组合,以及组合A1AND BN-1和A0ANDBN-2以代替A1AND BN-1组合。
在本发明的一个实施例中,阵列简化逻辑可以包括至少下面之一至少一个全加器,至少一个半加器,以及至少一个并行计数器。该并行计数器或各个并行计数器可以包括根据本发明第一方面的并行计数器。
本发明的这一方面提供减少阵列中的最大列长度,由此减少阵列简化所选步骤数。当结合本发明第二方面使用本发明第一方面时,可以提供一种更有效的乘法电路。
本发明的一个实施例提供一种乘法-累加逻辑电路,包括上述的逻辑电路,其中设置所述的阵列产生逻辑,以包括先前乘法的累加。
本发明的另一方面提供了一种逻辑电路,包括至少四个输入端,用于接收用作多个二进制输入的二进制数字;至少一个输出端,用于输出二进制代码;以及逻辑元件,连接在多个输入端与该二进制输出端或各个二进制输出端之间,以按照实现为二进制树的阈值函数来产生该二进制输出或各个二进制输出,以及具有至少为2的阈值。阈值函数是当且仅当至少输入的一个阈值数字k是高位时,该函数为高位,其中k≥2。
在本发明的一个实施例中,设置逻辑单元,以产生用作二进制输入的初等对称函数的该二进制输出或各个二进制输出,即,将阈值函数作为初等对称函数来执行。
本发明的另一方面提供了一种逻辑电路,包括至少四个输入端,用于接收用作多个二进制输入的二进制数字;至少一个输出端,用于输出二进制代码;以及逻辑元件,连接在多个输入端与设置的多个二进制输出端之间,以产生用作二进制输入的初等对称函数的该二进制输出端或各个二进制输出。
本发明的另一方面提供一种用于设计逻辑电路的方法和系统,包括多个输入端,用于接收用作多个二进制输入的二进制数字;至少一个输出端,用于输出二进制代码;逻辑元件,连接在多个输入端和该二进制输出端和各个二进制输出之间,并被设置,以产生用作二进制输入的该二进制输出和各个二进制输出。该方法包括确定用来执行阈值函数的逻辑元件;和通过识别执行两个阈值函数的逻辑“与”的逻辑元件来简化逻辑元件,以及将识别的逻辑元件简化为用来执行具有较高阈值的阈值函数的逻辑元件,以及识别执行两个阈值函数的逻辑“或”的逻辑元件,并将识别的逻辑元件简化为用来执行具有较低阈值的阈值函数的逻辑元件。
本发明的该方面可以凭借使用包括一个或多个网络上的计算机的计算机系统中的软件来实现。本发明由此包括用于控制计算机系统的程序代码。可以在任何一种合适的载体介质上将所述代码提供给计算机系统,所述介质例如是软盘、硬盘、CD ROM或可编程存储设备,或暂态介质,例,电、光、微波、声或RF信号。暂态介质的例子为通过如因特网的网络带有代码的信号。
本发明的另一方面提供一种用于设计逻辑电路的方法和系统,该逻辑电路包括多个二进制输入端,用于接收二进制数字用做多个二进制输入;至少一个输出端,用于输出二进制代码;逻辑元件,连接在多个输入端与二进制输出端之间,并被设置,以产生用作二进制输入的对称函数的二进制输出。该方法包括使用“异或”逻辑设计该逻辑电路;识别出不具有同时为高位输出的任何逻辑;以及使用“或”逻辑来代替识别的“异或”逻辑。
在本发明此方面的一个实施例中,设计逻辑电路,以产生各个二进制输出,用作二进制输入的对称函数。
在本发明的此方面的具体实施例中,逻辑电路包括并行计数器。
本发明的该方面可以凭借使用包括一个或多个网络上的计算机的计算机系统中的软件来实现。本发明由此包括用于控制计算机系统的程序代码。可以在任何一种合适的载体介质上将所述代码提供给计算机系统,所述介质例如是软盘、硬盘、CD ROM或可编程存储设备,或暂态介质,例,电、光、微波、声或RF信号。暂态介质的例子为通过如因特网的网络带有代码的信号。
本发明的另一方面提供一种用于设计逻辑电路的方法和系统,该逻辑电路包括提供逻辑模块设计库,每个逻辑模块设计都执行小对称函数;设计逻辑电路,以执行大对称函数;识别出可以执行所述初等对称函数的小初等对称函数;从所述库中选择逻辑模块,以执行所述的小初等对称函数;在所选的逻辑电路中识别出执行对称函数并可以用于执行另一对称函数的逻辑电路;选择与识别的对称函数相对应的逻辑电路,并使用带有”非”门的选择的逻辑电路,以使用对称函数之间的关系来执行所述的另一对称函数OR_n_k(X1...Xn)=OR_n_(n+1-k)(X1...Xn)其中表示反相,n是输出的数量,k是组合在一起的输入“与”的集合的数量。
在本发明的一个方面,对称函数是初等对称函数。
本发明的该方面可以凭借使用包括一个或多个网络上的计算机的计算机系统中的软件来实现。本发明由此包括用于控制计算机系统的程序代码。可以在任何一种合适的载体介质上将所述代码提供给计算机系统,所述介质例如是软盘、硬盘、CD ROM或可编程存储设备,或暂态介质,例,电、光、微波、声或RF信号。暂态介质的例子为通过如因特网的网络带有代码的信号。
图12是根据本发明一个实施例的使用OR_7_1对称函数以从所有的输入位产生较小有效性输出位的并行计数器,与使用“或”逻辑执行对称函数以产生第二和第三输出位的较小模块的图表,图13是本发明一个实施例的并行计数器的另一图表,所述并行计数器与图12的相似,并认可不同选择的输入的划分,以使用不同功能的子模块,图14是描述本发明第二方面的并行计数器中的逻辑的二进制树结构的示意图,图15是描述根据本发明一个实施例用于执行初等对称函数OR_2_2和OR_2_1的逻辑块(块1)的图表,图16是描述根据本发明一个实施例用于执行二级对称函数OR_4_4、OR_4_3、OR_4_2和OR_4_1的逻辑块(块2)的图表,图17是描述根据本发明一个实施例用于执行三级对称函数OR_8_8、OR_8_7、OR_8_6、OR_8_5、OR_8_4、OR_8_3、OR_8_2和OR_8_1的逻辑块(块3)的图表,图18是描述根据本发明一个实施例用于执行对称函数OR_15_12、OR_15_8和OR_15_4的逻辑块(块4)的图表,图19是描述根据本发明一个实施例用于执行初等对称函数EXOR_4_2和OR_4_1的逻辑块(块5)的图表,图20是描述根据本发明一个实施例用于执行初等对称函数EXOR_15_2和OR_15_1的逻辑块(块6)的图表,图21是描述根据本发明一个实施例使用图15到20的逻辑块的并行计数器的示意图,图22是描述根据本发明一个实施例用于逻辑单元的分层结构的示意图,图23是描述根据本发明一个实施例用于逻辑单元的另一分层结构的示意图,图24是描述根据本发明一个实施例用于逻辑单元的另一分层结构的示意图,图25是描述根据本发明实施例以便执行初等对称函数OR_8_4的树结构中逻辑单元的分层结构的示意图,图26是用于高速执行图25的电路第一层的逻辑的图表,图27是用于高速执行图25的电路第二层的逻辑的图表,图28是用于高速执行图25的电路第三层的逻辑的图表,图29是已有技术中使用的乘法的步骤的图表,图30是更详细地描述图29的步骤的示意图,图31是描述阵列中的对角线区域的属性的图表,图32是描述根据本发明实施例的阵列变形与阵列减少和增加的随后的步骤的图表,图33是本实施例中用于阵列产生的逻辑的图表,和图34是用于产生用作阈值函数的输出的逻辑电路的图表。
本发明的第一方面涉及一种计算二进制数字中的高位值数量的并行计数器。该计数器具有i个输出端和n个输入端,其中i被确定为log2n的整数部分加1。
本发明的第一方面的数学基础是对称函数的理论。我们指定Cnk为n个元素的集合的不同的k个元素子集的数量。我们考虑由下式给出的n个变量X1,X2...Xn的两个函数EXOR_n_k和OR_n_kEXOR_n_k(X1,X2...Xn)=(Xi1∧Xi2∧...∧Xik)OR_n_k(X1,X2...Xn)=∨(Xi1∧Xi2∧...∧Xik)其中(i1,i2...ik)是包括k个元素的{X1,X2...Xn}的所有可能的子集。产生这些输出的块如图3所示。
函数EXOR_n_k和OR_n_k是初等对称函数。它们的值仅取决于X1,X2,...Xn中的高位输入的数量。更确切地来说,如果m是X1,X2,...Xn中的高位输入的数量,则当且仅当m≥k时OR_n_k(X1,X2,...Xn)是高位的。相似地,当且仅当m≥k以及Cmk是奇数时,EXOR_n_k(X1,X2,...Xn)是高位。
虽然EXOR_n_k和OR_n_k看起来相似,由于EXOR-门比OR-门更慢,所以可以更快地产生OR_n_k。
在上述说明中,n是输入的数量,k是所选的输入的子集的大小。K个输入的各个集合是唯一的集合以及子集包括输入端集合的所有可能的子集。例如,对称函数OR_3_1具有三个输入X1,X2和X3并且集合的大小为1。因此该集合包括X1,X2和X3。然后逻辑“或”来组合这些集合中的各个元素,以产生二进制输出。在图4中描述了用于执行这一函数的逻辑。
图5描述了用于执行对称函数OR_4_1的逻辑。
当输入端的数量增大时,不可能使用简单的逻辑。
图6描述了使用两个用来执行对称函数OR_5_1的“或”门。
图7类似地描述了用于执行OR_7_1的逻辑。该集合包括输入X1,X2,X3,X4,X5、X6和X7。这些输入是到“异或”门的三层的输入。
当k大于1时,必须逻辑“与”组合子集中的输入。图8描述了用于执行对称函数OR_3_2的逻辑。输入X1和X2包括第一集合,以及被输入到第一“与”门。输入X1和X3组成了第二集合以及被输入到第二“与”门。输入X2和X3组成了第三集合以及被输入到第三“与”门。“与”门的输出被输入到“或”门,以产生输出函数。
图9描述了用于执行对称函数EXOR_5_3的逻辑。为执行这一函数,用于五个输入的大小为3的子集包括十个集合,以及需要十个“与”门。“与”门的输出被输入到“异或”门,以产生函数。
执行对称函数的特定逻辑将是依赖技术的。因此可以根据要使用的技术来设计逻辑。
根据本发明的第一实施例,由使用了“异或”逻辑的对称函数来产生各个输出的并行计数器。
设并行计数器具有n个输入X1,...Xn,以及t+1个输出St,St-1...S0。S0是较低有效位,而St是最高有效位。对于所有的i从0到t,Si=EXOR_n_2i(X1,X2,...Xn)可以看出,对于七位输入,即,n=7,i将具有值0、1和2。因此为了产生输出S0,函数将是EXOR_7_1,为了产生输出S1,函数将是EXOR_7_2,以及为了产生输出S2,函数将是EXOR_7_4。因此对于最低有效位来说,集合的大小是1,对于第二位,该集合的大小是2,而对于最高有效位来说,集合的大小是4。很清楚,有效位越高,所需要的逻辑就越复杂,因此执行起来就越慢。
因此根据本发明第二实施例,由使用“或”逻辑的对称函数来产生最高有效输出位。
由于OR_n_k函数比EXOR_n_k函数更快,所以这样更易于实现。对于最高有效输出位Sk=OR_n_2t(X1,X2,...Xn)。
特别地,具有七位输出S2=OR_7_4(X1,X2,X3,X4,X5,X6,X7)。
因此根据本发明第二实施例,由使用“或”逻辑的对称函数来产生最高有效位,而由使用“异或”逻辑的对称函数来产生其它位。
现在将描述由使用“或”逻辑的对称函数来产生中间位的第三实施例。
如果已知更高有效位的话,可以使用OR_n_k函数来表示任意输出位。例如,给出第二最高有效位St-1=(St∧OR_n_2t+2t-1)∨((St)∧OR_n_2t-1)。
特别地,具有七位输入S1=(S2∧OR_7_6(X1,X2,X3,X4,X5,X6,X7))∨((S2)∧OR_7_2(X1,X2,X3,X4,X5,X6,X7))。
进一步的简化是S1=OR_7_6(X1,X2,X3,X4,X5,X6,X7))∨((S2)∧OR_7_2(X1,X2,X3,X4,X5,X6,X7))。
如图3所示的多路复用器MU实现这一逻辑。它具有两个输入端X0,X1,控制C,和由下面的式子确定的输出端ZZ=(C∧X1)∨((C)∧X0)。
单独地使用EXOR_n_k函数或OR_n_k函数是不实际的。最好是一些最高有效位使用OR_n_k函数,以及剩下的位使用EXOR_n_k函数。图10中示出了具有7个输入端的最快的TSMC.25并行计数器。
具有快速OR_15_8块的未来技术将允许建立具有15个输入端的并行计数器。用于使用OR_n_m函数的第三有效位的公式为St-2=(St∧St-1∧OR_n_2t+2t-1+2t-2)∨(St∧(St-1)∧OR_n_2t+2t-2)∨((St)∧St-1∧OR_n_2t-1+2t-2)∨((St)∧(St-1)∧OR_n_2t-2)。
现在将描述本发明的第四实施例其中将执行对称函数的逻辑块划分为可以重用的小块。
图11示出OR_7_2的执行。7个输入被划分为两组从X1到X5的五个输入以及剩下的两个输入X6和X7。然后下面的识别是执行图11的基础。
OR_7_2(X1,...,X7)=OR_5_2(X1,...,X5)∨(OR_5_1(X1,...,X5)∧OR_2_1(X6,X7))∨OR_2_2(X6,X7)。
可以写下与OR_7_4和OR_7_6相似的公式。当然,OR_7_4(X1,...,X7)=OR_5_4(X1,...,X5)∨(OR_5_3(X1,...,X5)∧OR_2_1(X6,X7))∨(OR_5_2(X1,...,X5)∧OR_2_2(X6,X7)),OR_7_6(X1,...,X7)=(OR_5_5(X1,...,X5)∧OR_2_1(X6,X7))∨(OR_5_4(X1,...,X5)∧OR_2_2(X6,X7))。
因此,在并行计数器划分变量并重用较小的OR_n_k函数是有利的。例如,图12按照将七个输入划分为两个和五个的组实现了并行计数器。
类似地,可以将七个输入划分为四个和三个。图13示出了基于这一划分的并行计数器的实施。在该实施中使用了下面的逻辑公式OR_7_2(X1,...,X7)=OR_4_2(X1,X2,X3,X4)∨(OR_4_1(X1,X2,X3,X4)∧OR_3_1(X5,X6,X7))∨OR_3_2(X5,X6,X7),OR_7_4(X1,...,X7)=OR_4_4(X1,X2,X3,X4)∨(OR_4_3(X1,X2,X3,X4)∧OR_3_1(X5,X6,X7))∨(OR_4_2(X1,X2,X3,X4)∧OR_3_2(X5,X6,X7))∨(OR_4_1(X1,X2,X3,X4)∧OR_3_3(X5,X6,X7)),OR_7_6(X1,...,X7)=
(OR_4_4(X1,X2,X3,X4)∧OR_3_2(X5,X6,X7))∨(OR_4_3(X1,X2,X3,X4)∧OR_3_3(X5,X6,X7))。
需要一种在图12和13的实施之间进行选择的方法。有一种用于进行选择的呼吸(pneumonic)规则。如果一个或两个输入实质上到达的较迟,则应该使用基于划分7=5+2的图12的实施方式。否则,可能最优使用基于划分7=4+3的图13的实施方式。
可以根据用于七个输入并行计数器的逻辑来实现具有6个、5个、4个输入的并行计数器。简化输入的数量极大地减少了逻辑的面积以及稍微地增加了执行速度。使用划分6、3+3、或4+2的六个输入并行计数器的执行是有利的。
现在将参考图14到21描述本发明的优选实施例。
虽然可以用两层逻辑来执行OR_n_k或EXOR_n_k函数,各个输入端的扇出非常大,以及“或”门的扇入也非常大。已知高扇出和高扇入很大程度上导致了电路的迟延。同一个输入通常需要一个以上的OR_n_k或EXOR_n_k函数。两层的实施不需要共用逻辑,因此导致了逻辑的较大面积。
本发明的实施例使用划分输入及逻辑的二进制数,以便减少扇出,并重用逻辑。图14描述了逻辑结构的示意图。在第一层使用了8个初等逻辑块,各个所述的块具有两个二进制输入,并提供两个输出。第一层的初等逻辑块1执行初等对称函数。这些函数可以是“异或”对称函数或“或”对称函数。在第二层的四个二级逻辑块2分别使用了两个初等逻辑块1的逻辑,并因此具有四个输入和四个输出。在第三层的两个三级逻辑块3分别使用了两个二级逻辑块2的逻辑,并因此具有八个输入和八个输出。三级逻辑块3执行较大的对称函数。在第四层的并行计数器4使用了两个三级逻辑块1的逻辑,并因此具有十六个输入和十六个输出。
正如图14所示,逻辑的二进制树设置使得用于执行较小对称函数的逻辑能够用于并行计数器。而且,该设置提供了有效位逻辑共享。这样相当程度上降低了扇出。
正如将要详细描述的那样,也可以通过使用初等对称函数逻辑来提供进一步的逻辑共享,以组合二进制数中前面的逻辑块的输出。
由输入X1,X2...X16的集合来构成函数OR_16_8,OR_16_12。虽然,结合OR_n_k函数描述了实施例,在使用EXOR门代替了各个OR门之后,相同的结构也适用于EXOR_n_k函数。
现在将描述本发明实施例背后的原则。可以使用函数OR_r_k∧OR_s_t-k的“或”计算函数OR(r+s)t,其中t为从0,1,2...k,OR_(r+s)_t(X1...Xr+s)=∨k=0t[OR_r_k(X1...Xr)∧OR_s_(t-k)(Xr+1...Xr+s].
在具有16个输入的实施例中,在第一层,16个输入被划分为8个子集-{X1,X2},{X3,X4},...{X15,X16},各个子集包含两个输入。对于各个子集,构成了计算OR_2_1和OR_2_2的逻辑块1。8个块形成了树的第一层。由于各个输入扇出到“或”门和“与”门,可以看到各个输入具有两个扇出。而且,第一层非常规则地包含8个相同的块。在图15中描述了用于计算对称函数OR_2_1和OR_2_2的逻辑块。
在第二层,通过组合来自层一的两个邻近逻辑块的输出形成4个逻辑块2。这4个逻辑块包括树的第二层。各个块具有用做输入的来自层一的两个邻近块的输出。组合这些输入,以形成函数OR_4_1,OR_4_2,OR_4_3,OR_4_4。在图16中描述了用于计算这些对称函数的逻辑块2。在下面方程中使用的下标1和2是为了识别在输入的集合的不同子集中形成的函数。这些对称函数可以表示为OR_4_1=[OR_2_1]1∨[OR_2_1]2,OR_4_2=([OR_2_1]1∧[OR_2_]2)∨([OR_2_2]1+[OR_2_2]2),OR_4_3=([OR_2_1]1∧[OR_2_2]2)∨([OR_2_2]1∧[OR_2_1]2),OR_4_4=[OR_2_2]1∧[OR_2_2]2.
在第三层,通过组合来自层二的两个邻近逻辑块的输出形成2个逻辑块3。这2个逻辑块包括树的第三层。各个块具有用做输入的来自层二的两个邻近块的输出。组合这些输入,以形成函数OR_8_1,OR_8_2,OR_8_3,OR_8_4,OR_8_5,OR_8_6,OR_8_7和OR_8_8。在图17中描述了用于计算这些对称函数的逻辑块3。这些对称函数可以表示为OR_8_1=[OR_4_1]1∨[OR_4_1]2,OR_8_2=([OR_4_1]1∧[OR_4_1]2)∨[OR_4_2]1∨[OR_4_2]2,OR_8_3=([OR_4_1]1∧[OR_4_2]2)∨([OR_4_2]1∧[OR_4_1]2)∨[OR_4_3]1∨[OR_4_3]2,OR_8_4=([OR_4_1]1∧[OR_4_3]2)∨(OR_4_2]1∧[OR_4_2]2)∨([OR_4_3]1∧[OR_4_1]2)∨[OR_4_4]1∨[OR_4_4]2,OR_8_5=([OR_4_1]1∧[OR_4_4]2)∨([OR_4_2]1∧[OR_4_3]2)∨([OR_4_3]1∧[OR_4_2]2)∨([OR_4_4]1∧[OR_4_1]2),OR_8_6=([OR_4_2]1∧[OR_4_4]2)∨([OR_4_3]1∧[OR_4_3]2)∨([OR_4_4]1∧[OR_4_2]2),OR_8_7=([OR_4_3]1∧[OR_4_4]2)∨([OR_4_4]1∧[OR_4_3]2),OR_8_8=[OR_4_4]1∧[OR_4_4]2.
在最末层,通过组合来自层3的两个邻近逻辑块3的输出形成3个输出。这个逻辑包括树的第三层。组合来自层三的两个邻近块的输出,以形成函数OR_16_8,OR_16_4,OR_16_12。在图18中描述用于计算这些对称函数的逻辑块4。这些对称函数可以表示为OR_16_4=([OR_8_1]1∧[OR_8_3]2)∨([OR_8_2]1∧[OR_8_2]2)∨([OR_8_3]1∧[OR_8_1]2)∨[OR_8_4]1∨[OR_8_4]2,OR_16_8=([OR_8_1]1∧[OR_8_7]2)∨([OR_8_2]1∧[OR_8_6]2)∨([OR_8_3]1∧[OR_8_5]2)∨([OR_8_4]1∧[OR_8_4]2)∨([OR_8_5]1∧[OR_8_3]2)∨([OR_8_6]1∧[OR_8_2]2)∨([OR_8_7]1∧[OR_8_1]2)∨[OR_8_8]1∨[OR_8_8]2,OR_16_12=([OR_8_4]1∧[OR_8_8]2)∨([OR_8_5]1∧[OR_8_7]2)∨([OR_8_6]1∧[OR_8_6]2)∨([OR_8_7]1∧[OR_8_5]2)∨([OR_8_8]1∧[OR_8_4]2).
虽然可以根据本发明使用逻辑块3的输出以产生并行计数器的所有输出,但是分别确定并行计数器中的两个最低有效位还是有利的。在图19和20中描述了这些情况。虽然,会稍微增加扇出,但是却降低了树的深度,由此增加了电路的速度。
图19是用于确定对称函数EX OR_4_2和EX OR_4_1的逻辑块5的图表。在确定EX OR_4_2时,最快的“或”门代替EXOR门,其中根据EXOR_4_2=([OR_2_1]1∧[OR_2_1]2)[OR_2_2]1[OR_2_2]2==([OR_2_1]1∧[OR_2_1]2)∨([OR_2_2]1[OR_2_2]2).
使用了四个逻辑块5,以获得16个输入。因此可以将逻辑块5看作组合的层1和2的实施。
在图19中,最末的逻辑门并不是EXOR(“异或”)门,而是“或”门。这是因为到门的两个输入不能够同时为高位,即,AB=0,因此保持关系AB=A∨B。所以根据本发明的一个方面,通过识别这一关系保持的位置可以使更快速的“或”门被包括在逻辑电路的设计中。可以在逻辑电路设计中通过计算机程序来自动地执行这一方法。
图20是用于确定对称函数EX OR_15_2和EX OR_15_1的逻辑块6的图表,其中包括来自实施例的并行计数器的最低两个有效位输出。该逻辑块包括二进制树中的层3,以及它使用了四个逻辑块5。因此即使在并行确定最低有效的两位时,存在着使用二进制树结构来重用逻辑的情况。
图21是本发明实施例的并行计数器的图表,其中使用了逻辑块4,以确定最高有效位,以及使用了逻辑块6,以确定最低有效位。
从图16,17和18中描述的逻辑块可以看出除了用于输入的共享逻辑之外,初等逻辑块、二级逻辑块和三级逻辑块的输出被输入到初等逻辑块中,以提供进一步的逻辑共享。这样做的原因是“或”函数并不是独立的。假设k≥s,OR_n_k∧OR_n_s=OR_n_k.................1OR_n_k∨OR_n_s=OR_n_s.................2上面示出在用于执行小初等对称函数的逻辑的输出以执行大初等对称函数的多路复用操作中,可能存在冗余的“与”和“或”逻辑操作。
这些公式导致了用于并行计数器的逻辑的有效简化。这种简化的第一例是用于并行计数器的第二最高有效位的下列公式St-1=OR_n_(2t+2t-1)∨[OR_n_2t∧OR_n_2t-1].
例如,在图10的电路中,多路复用器(MU)使用OR(7,4),OR(7,6)和OR(7,2)产生S1。在未简化以用于逻辑产生S1的是S1=[OR(7,4)∧OR(7,6)]∨[OR(7,4)∧OR(7,2)]使用上面的方程式1和2,可简化为S1=OR(7,6)∨[OR(7,4)∧OR(7,2)]因此可以看出在确定S1中,函数OR(7,4)是冗余的。
在图21的电路中,使用三个逻辑门来执行多路复用。输出S2的未简化形式为S2=[OR(15,8)∧OR(15,12)]∨[OR(15,8)∧OR(15,4)]使用上述给出的方程式1和2,这种简化为S2=OR(15,12)∨[OR(15,8)∧OR(15,4)]这就是图21中描述的逻辑,其中包括用于组合块4的输出的三个逻辑门,即,“非”门,“与”门和“或”门。
因此可以在逻辑电路设计过程中执行这一简化处理,以识别出保持方程式1和2所给的关系的位置,由此可以执行逻辑中的简化。为了示出这种简化的第二示例,假设k≥s,
([OR_n_k]1∧[OR_m_s]2)∨([OR_m_s]1∧[OR_n_k]2)=[OR_m_s]1∧[OR_m_s]2∧([OR_n_k]1∨[OR_n_k]2).
这些公式通过共享一定的逻辑来简化扇出。正如块2所示,通过三层共享逻辑来执行函数OR_4_2和OR_4_3,OR_4_1=[OR_2_1]1∨[OR_2_1]2,OR_4_2=([OR_2_1]1∧[OR_2_1]2)∨[OR_2_2]1∨[OR_2_2]2,OR_4_3=[OR_2_1]1∧[OR_2_1]2∧([OR_2_2]1∨[OR_2_2]2),OR_4_4=[OR_2_2]1∧[OR_2_2]2.
块3是层三的电路执行逻辑。这些简化提供了用于函数OR_8_1、OR_8_2、OR_8_3、OR_8_4、OR_8_5、OR_8_6、OR_8_7和OR_8_8的下面的表达式,OR_8_1=[OR_4_1]1∨[OR_4_1]2,OR_8_2=([OR_4_1]1∧[OR_4_1]2)∨([OR_4_2]1∨[OR_4_2]2),OR_8_3=[([OR_4_1]1∧[OR_4_1]2)∧([OR_4_2]1∨[OR_4_2]2)]∨[OR_4_3]1∨[OR_4_3]2,OR_8_4=[([OR_4_1]1∧[OR_4_1]2)∧([OR_4_3]1∨[OR_4_3]2)]∨([OR_4_2]1∧[OR_4_2]2)∨[OR_4_4]1∨[OR_4_4]2,OR_8_5=[([OR_4_1]1∧[OR_4_1]2)∧([OR_4_4]1∨[OR_4_4]2)]∨[([OR_4_2]1∧[OR_4_2]2)∧([OR_4_3]1∨[OR_4_3]2)],OR_8_6=[([OR_4_2]1∧[OR_4_2]2)∧([OR_4_4]1∨[OR_4_4]2)]∨([OR_4_3]1∧[OR_4_3]2),OR_8_7=([OR_4_3]1∧[OR_4_3]2)∧([OR_4_4]1∨[OR_4_4]2),OR_8_8=[OR_4_4]1∧[OR_4_4]2.
块4是层4的电路执行逻辑。这些函数OR_16_8、OR_16_4和OR_16_12的执行遵循简化公式,OR_16_4=[([OR_8_1]1∧[OR_8-1]2)∧([OR_8_3]1∨[OR_8_3]2)]∨([OR_8_2]1∧[OR_8_2]2)∨[OR_8_4]1∨[OR_8_4]2,OR_16_8=[([OR_8_1]1∧[OR_8_1]2)∧([OR_8_7]1∨[OR_8_7]2)]∨[([OR_8_2]1∧[OR_8_2]2)∧([OR_8_6]1∨[OR_8_6]2)]∨[([OR_8_3]1∧[OR_8_3]2)∧([OR_8_5]1∨[OR_8_5]2)]∨([OR_8_4]1∧[OR_8_4]2)∨[OR_8_8]1∨[OR_8_8]2,OR_16_12=[([OR_8_4]1∧[OR_8_4]2)∧([OR_8_8]1∨[OR_8_8]2)]∨([OR_8_6]1∧[OR_8_6]2)∨[([OR_8_5]1∧[OR_8_5]2)∧([OR_8_7]1∨[OR_8_7]2)].
可以使用“或”或“异或”对称函数来实施本发明实施例的二进制树原则。当使用“异或”对称函数时,存在使用的逻辑的简化。假设k=∑i∈s2i,其中S是由用作二进制表示中的位置的集合k所唯一确定的自然数集合。然后EXOR_n_k=ANDi∈SEXOR_n_2i.
因此,设计计算EX OR_n_k的电路,可以避免计算子集上的函数EXOR_n_2i,由此虽然EXOR逻辑较慢,存在比使用“或”逻辑的更少的扇出。
正如从图21所看出的,最有效的电路可以包括“或”和“异或”对称函数逻辑电路的组合。
可以将进一步的简化应用到基于“或”初等对称函数的并行计数器所使用的逻辑。例如,第三有效位采用了下面的表达式St-2=OR_n_(2t+2t-1+2t-2)∨[OR_n_(2t+2t-1)∧OR_n_(2t+2t-2)]∨[OR_n_2t∧OR_n_(2t-1+2t-2)]∨[OR_n_2t-1∧OR_n_2t-2].
简化可以通过下面的表达式来概括说明
Sk={OR_n_2k∧OR_n_2k+1}∨{OR_n_2k+1+2k∧OR_n_2k+2}∨{OR_n_2k+2+2k∧OR_n_2k+2+2k+1}……………………………∨OR_n_2t+2t-1+2t-2+2k其中Sk是第k个输出,k=0到t-1,以及t是输出的数量。
在最高有效位之下的输出位的产生可以被解释为至少一个“与”组合了一个对称函数的输出与另一对称函数的反相输出以及“或”组合了“与”组合的结果。
简化的另一重要的应用是用于条件并行计数器的逻辑。条件并行计数器是具有n个输入的模块。设Q是{0,1...n}的子集。子集确定一个条件。如果高位输入的数量属于Q,则该模块产生高位输入的数量的二进制表示。如果高位输入的数量不属于Q,则输出可以是任何逻辑函数。如果高位输入的数量是在Q之内,则这种模块可以代替并行计数器。
有用的条件并行计数器具有用于一些m≤n的Q={0,1...m}。可以通过用OR_n_k代替每个OR_m_k从用于带有m个输入的并行计数器的逻辑获得这种计数器的逻辑。例如,如果Q={0,1,2,3},则条件并行计数器具有给出的两个输出S1,S0S1=OR_n_2,S0=OR_n_1。
条件并行计数器的另一示例具有Q={0,1,2,3,4,5},S2=OR_n_4,S1=OR_n_4∧OR_n_2,S0=EXOR_n_1.
如果用于这两个计数器之一的高位输入的数量不属于Q,则输出是Q的最大元素的二进制表示,即3=11或5=101。
虽然,前面描述的实施例包括了逻辑单元的二进制树分层设置,本发明适用于逻辑单元的任何分层设置。划分输入不需要以二进制为基础,以及所有的输入不需要被输入到逻辑单元,以执行小初等对称函数。
例如,图22描述了仅有四个输入被输入到初等逻辑单元的分层设置。四个输入仅被输入到在层次中的第三层的逻辑单元中。层次中各层的各个逻辑单元包括在前一层的逻辑单元的逻辑。在此例中,在左边的层2的逻辑单元包括在第一层的两个逻辑单元的逻辑,以及在右边的层3的逻辑单元包括在第二层的两个逻辑单元。本实施例中在右边的第三层的逻辑单元不是由逻辑的子单元构成的。在第四层的逻辑单元包括所有的逻辑单元,并包括该逻辑电路。
图23是描述将图12的逻辑电路划分为两个层级的另一示例。在此例中,在第一层的逻辑单元具有五个输入,而其它的具有两个输入。具有五个输入的逻辑单元包括用于执行图12所示的OR_5_1,OR_5_2,OR_5_3,OR_5_4和OR_5_5对称函数的逻辑。具有两个输入的逻辑单元包括用于执行图12所示的EXOR_7_1对称函数的逻辑。在第二层的逻辑单元包括在第一层的逻辑单元并包括完整的逻辑电路。
图24是描述将图13的逻辑电路划分为两个层级的另一示例。此例中,在第一层的一个逻辑单元具有四个输入,而其它的具有三个输入。具有四个输入的逻辑单元包括用于执行图13所示的OR_4_1,OR_4_2,OR_4_3和OR_4_4对称函数的逻辑。具有三个输入的逻辑单元包括用于执行图13所示的OR_3_1,OR_3_2和OR_3_3对称函数的逻辑。在第二层的逻辑单元包括在第一层的逻辑单元并包括完整的逻辑电路。
在设计并行计数器期间,可以通过重用已经可用的快速逻辑单元来节省逻辑。下面是有用的公式,OR_n_k(X1...Xn)=OR_n_(n+1-k)(X1...Xn).
因此如果一个库包含产生的OR_4_3快速模块,则可以使用带有“非”门的该模块,以产生OR_4_2。相反的观察保持为OR_4_2模块使得能产生OR_4_3。
将参考图25到28描述经济地执行晶体管和高速实现阈值函数的实施例。在本实施例中,阈值函数被按照初等对称函数执行。
在电子学中已知,AND-OR-INVERT门从实现它们的晶体管的数量来说是经济的,并且具有很好的迟延属性。因此本发明的实施例利用这一点来提供经济的和高速电路设计。
正如上述,已知OR_n_k(X1...Xn)=OR_n_(n+1-k)(X1...Xn)............(a)这样导致OR_n_k(X1...Xn)=OR_n_(n+1-k)(X1...Xn)............(b)以及OR_n_k(X1...Xn)=OR_n_(n+1-k)(X1...Xn)..............(c)为了简化符号,方程式(a)可以写成[n,k]=[n,n+1-k]’方程式(b)可以写成[n,k]’=[n,n+1-k]方程式(c)可以写成[n,k]=[n,n+1-k]’其中’表示输出的反相,而_表示反相的输入。
使用这些关系,可以与参考图14所描述的实施例的类似方式建立用于初等对称函数OR_8_4[8,4]的电路。图25描述了初等对称函数OR_8_4的二进制树的实施方式,其中使用了三层逻辑。该电路接收反相输入X1’...X8’。在第一层的逻辑电路包括如图26所示的“与非”门和“非”门。如果到该逻辑电路的输入是A’和B’,其中’表示反相,则此块的输出分别是[2,1]=(A’∧B’)’以及[2,2]=(A’∨B’)’。该逻辑电路接收反相输入并执行初等对称函数。
在第二层,组合来自两个相邻第一层逻辑电路的输出[2,1]a,[2,2]a,[2,1]b,[2,2]b,以获得输出[4,1],[4,2],[4,3]和[4,4]。为了这样做使用下面的关系 =[4,1]’=([2,1]a+[2,1]b)’[4,3]=[4,2]’=([2,1]a[2,1]b+[2,2]a+[2,2]b)’[4,2]=[4,3]’=([2,1]a[2,2]b+[2,2]a[2,1]b)’[4,1]=[4,4]’=([2,2]a[2,2]b)’实现这些逻辑方程的逻辑电路如图27所示。该逻辑电路接收非反相的输入并执行初等对称函数。
在第三层,组合来自两个相邻第二层逻辑电路的输出[4,1]a,[4,2]a,[4,3]a,[4,4]a,[4,1]b,[4,2]b,[4,3]b和[4,4]b,以获得输出[8,4]。
使用了下面的关系[8,4]=[8,5]’=[4,1]a[4,4]b+[4,2]a[4,3]b+[4,3]a[4,2]b+[4,4]a[4,1]b实现这些逻辑方程的逻辑电路如图28所示。该逻辑电路接收反相输入并执行初等对称函数。
可以从图25到29看出,在逻辑单元分层设置的交替的层中执行对称函数和反相的对称函数。如果存在奇数层,到逻辑电路的输入必须被反相,正如示例[8,4]的情况所示。使用反相的对称函数使得“与非”门的使用比“与”门的使用更快(应该注意,使用“非”门,“与”门被执行为“与非”门,因此使用“与非”门来代替“与”门减少了需要执行函数的逻辑)。所需要的逻辑的减少也减少了逻辑电路的面积。
在本发明的实施例中,分层逻辑结构的各层包括反相逻辑。
虽然针对函数[8,4]描述了这一技术,本领域的技术人员应该明白这一技术何以用于任何大小的函数。此外,虽然本发明的实施例是用做二进制数结构执行的,但是该技术可以用于任何的逻辑单元的分层结构。而且,虽然本发明的实施例中使用了反相输入,如果层次中的逻辑单元的层的数量为七,则输入就不需要反相。相反,在偶数层可以使用反相对称函数。对于具有奇数层、执行反相对称函数的电路来说,需要反相输入。
条件并行计数器的一个重要应用是常数乘法器。常数乘法器是一种模块,该模块的输入形成表示两个数字A,B的二进制,以及输出包括表示乘积A*B的二进制,只要A属于允许的常数的集合。由于常数乘法器比乘法器更小、更快,当从允许的常数的集合中选出一个被乘数时,使用它们是有利的。例如,设计数字滤波器时可以使用它。
本发明的另一方面包括用于乘法的技术,及下面将描述这一技术。
乘法是数字电路中的基本运算。给出两个n位数二进制数An-12n-1+An-22n-2+...+A12+A0and Bn-12n-1+Bn-22n-2+...+B12+B0,它们的乘积P2n-122n-1+P2n-222n-2+...+P12+P0达到2n位数。产生用作输出的所有Pi的逻辑电路通常遵循图14。Wallace发明了用于乘法器的第一快速结构,现在被称为Wallace-tree乘法器(Wallace,关于快速乘法器的建议C.S.,IEEETrans.Electron.Comput.EC-1314-17(1964))(在此引入其内容以用做参考)。Dadda已经研究了乘法器中的位行为(L.Dadda,关于并行乘法器的一些方案,AltaFreq 34349-356(1965))(在此引入其内容以用做参考)。他已经构造了多种乘法器,以及大多的乘法器遵循Dadda的方案。
Dadda的乘法器使用了图29的方案。如果输入具有8位,则64个并行“与”门产生如图30所示的阵列。为了清楚,省略“与”门符号∧,因此Ai∧Bj变成AiBj。图30余下的描述了包含全加器(FA)和半加器(HA)的阵列简化。由半加器或全加器增加来自相同列的位。被馈送到全加器的位的一些组是矩形的。被馈送到半加器中的位的一些组是椭圆形的。阵列简化的结果仅仅是在最后一步增加了两个二进制数。通过快速加法方案,例如条件加法器或向前查看进位加法器可以将这两个数字相加。
本发明的这一方面包括两个优选步骤按照本发明第一方面,使用并行计数器的阵列变形和阵列减少。
现在描述阵列变形的方法。
由图30的AiBj形成的乘法阵列的一部分具有令人感兴趣的属性。可以写下这些部分中的位的总和的简单公式。这些特殊部分的示例如图31。通常,致使i-j-k的绝对值小于或等于1而选择的整数k和阵列中的这些AiBj包括特殊部分。
设Si是图1所示的形式AiBj的所有位的总和的位。则S0=A0∧B0,S1=(A1∧B0)(A0∧B1),S2=(A1∧B1)(A1∧B1∧A0∧B0),S2k+1=(Ak+1∧Bk)(Ak∧Bk+1)(Ak∧Bk∧Ak-1∧Bk-1)对于所有k>0,S2k=(Ak∧Bk)(Ak-1∧Bk-1∧((Ak+1∧Bk+1)∨(Ak-1∧Bk-1∧(Ak+1∨Bk+1)))对于所有k>1这些公式示出用于对阵列中所选项求和的逻辑并不会很多。而如果加了随机数字,则用于第(n+1)位的逻辑比用于第n位的逻辑要多得多。使用这些公式,可以产生不同的阵列。阵列的形式变化了。这就是称为阵列变形的原因。这些公式很重要,因为通过产生特定形式的阵列可以加速乘法电路。
图32中的阵列是用于8位乘法的。为了清楚,省略“与”门符号∧,因此Ai∧Bj变成AiBj。阵列变形逻辑产生X,Y,和ZX=(A1∧B6)(A0∧B7),Y=A1∧B7∧(A0∧B6),Z=A1∧B7∧A0∧B6.
这一阵列超过图30的益处在于列中的位的最大数量比较小。图30中的阵列具有带有8位的列。图32中的阵列具有带有7位的列,但没有带有8或8以上位的列。在图33中描述了产生X,Y和Z的逻辑。在阵列简化步骤可以同时与第一两个全加器(图2所示)一起使用该逻辑,以避免由附加的逻辑产生的迟延。
图32中描述了阵列的化简。第一步使用1个半加器,3个全加器,具有四个输入的1个并行计数器,具有5个输入的2个并行计数器,具有六个输入的1个并行计数器,和具有7个输入的4个并行计数器。三个并行计数器(列7、8和9)是按照7=5+2划分实施的。位X、Y和Z并入划分中的两个组中。列6的计数器是按照6=3+3划分实施的。余下的计数器不被划分。全加器的位置由椭圆表示。半加器由矩形表示。
根据两个数字中的位的到达时间设计用于对最后两个二进制数字求和的加法器。这样稍微有些优点,但是它是根据已知技术的,即条件加法器和脉动进位加法器。
虽然已经描述了该实施例的两个8位数字的加法,本发明适用于任何的N位二进制数字加法。例如,用于16位加法,阵列简化将中间列高度从16减为15,由此允许第一层使用两个七位全加器,以产生两个3位输出,以及余下的输入可以与其它的两个3位输出一起用作到七个输入全加器的输入,由此使得16位的加法仅具有两层。
虽然参考通过逻辑“与”二进制组合进行的阵列变形,已经描述了本发明的实施例,本发明的该方面包含任何变形阵列的方法,包括逻辑组合两个二进制数字的位的任何方法,例如,“或”组合,“异或”组合和“与非”组合,以及使用Booth编码变形该阵列。另外,两个二进制数字的长度不需要相同。
虽然参考特定的乘法逻辑电路描述了本发明的这一方面,本发明也适用于任何的执行乘法的、包括乘法-累加逻辑电路(其可被看作乘法逻辑电路的特殊例)的逻辑电路。在乘法-累加电路中,执行操作A×B+C,其中C是前面乘法的累加。通过产生上面所述的阵列A×B为乘法逻辑电路操作乘法-累加电路。为位C在阵列中增加附加行。由于前面的累加,C可以具有比A或B多的位。这一扩大的阵列然后会产生如上所述的阵列简化。
可以和本发明第一方面的并行计数器一起来使用本发明的这个方面,以提供更快的电路。
本发明第一方面的并行计数器具有其它的应用,而非仅用在本发明一个方面的乘法器中。也可以在RSA中使用,以及减少面积的乘法器中使用。有时,仅建立乘法器的一段更为实用。当阵列太大时,例如在RSA算术中,被乘数可以具有1000位以上的位,此时需要使用上述的方法。然后重复使用乘法器的该段,以简化阵列。在目前的实施中,它组成了全加器的集合。相反,可以使用其后是全加器的7个输入的并行计数器。
可以在用于纠错码的电路中使用并行计数器。可以使用并行计数器以产生Hamming距离。该距离在数字通信中是有用的。特别的,必须在特定类型的解码器中计算Hamming距离,例如,Viterbi解码器或主逻辑解码器。
给出两个二进制消息(A1,A2...An)和(B1,B2...Bn),它们之间的Hamming距离是在1和n之间的使Ai和Bj不同的下标i。可以通过有n个输入的并行计数器来计算这一距离(A1B1,A2B2,...AnBn).
在数字电子中,乘法-与-加法运算是基本的运算,因为它包括了过滤。给出2n个二进制数字X1,X2...Xn,Y1,Y2...Yn,该操作的结果是X1Y1+X2Y2+...+XnYn.
可以使用描述的乘法器在硬件中执行乘法-与-加法。另一策略是可以使用图29的方案。乘法中XjYi的所有部分的乘积产生了阵列。然后,使用并行计数器X以便产生阵列。
在本发明中,只要需要增加数字的阵列就可以使用并行计数器。例如,以两种实施形式存在的相乘的负数,可以通过Booth记录(A.D.Booth,带符号的二进制乘法技术,Q.J.Mech.Appl.Math.4236-240(1951))(在此引入其内容以用做参考)或其它方法来产生不同阵列。为了获得乘积,将数字的这一阵列相加。
图34描述了本发明的另一实施例。该实施例根据具有阈值2的、作为二进制树实施的阈值函数产生输出。因此当高位输入的数字至少是2时,该电路执行初等对称函数以产生输出。
因此产生的输出用作“或”对称函数OR_4_2=X1∧X2∨X1∧X3∨X1∧X4∨X2∧X3∨X2∧X4∨X3∧X4当输入的特定数字是高位时,该电路可以充当开关以提供输出。该输出可以包括任何初等对称函数,例如,OR_n_k,其中n是输入的数量,k是高位输出的数量。
虽然仅示出了该实施例的一个输出,也可以使用本发明这一方面的原则,以产生分别是OR_n_k的多于一个的输出。例如,一个输出可以是OR_4_2,另一个是OR_4_3。因此本发明包含提供了使用阈值函数的输出的逻辑电路。这也可以用于并行计数器输出或用于其它的逻辑电路。
虽然参考具体实施例已经描述了本发明,本领域的普通技术人员应该明白,会有在本发明精神和范围之内的修改。
可以在集成电路中或在任何数字电子设备中执行上述的本发明实施例的逻辑电路。
权利要求
1.一种并行计数器,包括多个输入端,用于接收二进制数字,作为多个二进制输入;多个输出端,用于输出表示多个二进制输入中的二进制输入的数字的二进制代码;逻辑电路,连接在多个输入端和多个二进制输出端之间,用于产生多个二进制输出的每个输出,作为二进制输入的初等对称函数。
2.如权利要求1所述的并行计数器,其特征在于设置所述的逻辑电路,以使用“异或”逻辑产生至少一个二进制输出,作为二进制输入的初等对称函数,以便组合一个或多个二进制输入的多个集合。
3.如权利要求2所述的并行计数器,其特征在于设置所述的逻辑电路,以逻辑“与”二进制输入的各个集合的成员并逻辑“异或”所述“与”运算的结果。
4.如权利要求3所述的并行计数器,其特征在于设置所述的逻辑电路,以逻辑“与”2i个各集合的二进制输入来产生第i个二进制输出,其中i是从1到N的整数,N是二进制输出的数量,以及i表示各个二进制输出的有效性,各集合是唯一的,并且这些集合包括了二进制输入的所有的可能组合。
5.如权利要求3所述的并行计数器,其特征在于设置所述的逻辑电路,以逻辑“与”二进制输入的各个集合成员,其中各集合是唯一的,并且各集合包括了二进制输入的所有的可能组合。
6.如前面任何权利要求所述的并行计数器,其特征在于设置所述的逻辑电路,以使用“或”逻辑产生至少一个二进制输出,作为二进制输入的初等对称函数,以便组合一个或多个二进制输入的多个集合。
7.如权利要求6所述的并行计数器,其特征在于设置所述的逻辑电路,以逻辑“与”二进制输入的各集合的成员并逻辑“或”所述“与”运算的结果。
8.如权利要求7所述的并行计数器,其特征在于设置所述的逻辑电路,以逻辑“与”2N-1个各集合的二进制输入,来产生第N个二进制输出,其中N是二进制输出的数量,并且第N个二进制输出是最有效的,各集合是唯一的,以及这些集合包括了二进制输入的所有的可能组合。
9.如权利要求7所述的并行计数器,其特征在于设置所述的逻辑电路,以逻辑“与”二进制输入的各个集合的成员,其中各集合是唯一的,以及这些集合包括了二进制输入的所有的可能组合。
10.如权利要求1所述的并行计数器,其特征在于设置所述的逻辑电路,以使用“异或”逻辑产生第一二进制输出,作为二进制输入的初等对称函数,以便组合一个或多个二进制输入的多个集合,以及使用“或”逻辑产生第N个二进制输出,作为二进制输入的初等对称函数,以便组合一个或多个二进制输入的多个集合。
11.如前面任何权利要求之一所述的并行计数器,其特征在于设置所述的逻辑电路,以使用“或”逻辑为比第N个二进制输出的有效性小的二进制输出产生两个可能的二进制输出,作为二进制输入的初等对称函数,以便组合一个或多个二进制输入的多个集合,其中N是二进制输出的数量,各个可能的二进制输出使用的集合具有两个不同的大小,所述的两个大小是产生的二进制输出的函数;以及所述的逻辑电路包括选择器逻辑,以按照更有效的二进制输出值来选择可能的二进制输出之一。
12.如权利要求11所述的并行计数器,其特征在于设置所述的逻辑电路,以使用“或”逻辑为比第N个二进制输出的有效性小的第(N-1)个二进制输出产生两个可能的二进制输出,作为二进制输入的初等对称函数,以便组合一个或多个二进制输入的多个集合,各个可能的二进制输出使用的集合分别具有2N-1+2N-2和2N-2的大小,以及设置所述的选择器逻辑,以按照第N个二进制输出值来选择可能的二进制输出之一。
13.如权利要求1到10之一所述的并行计数器,其特征在于设置所述的逻辑电路,以便为比第N个二进制输出的有效性小的二进制输出产生两个可能的二进制输出,作为二进制输入的初等对称函数;以及所述的逻辑电路包括选择器逻辑,以按照更有效的二进制输出值来选择可能的二进制输出之一。
14.如权利要求1到10之一所述的并行计数器,其特征在于所述的逻辑电路包括逻辑单元,它用于产生作为二进制输入的初等对称函数的中间输出,并设置所述逻辑电路,以通过使用“与”组合至少一个逻辑单元的中间输出和另一逻辑单元的反相输出,以及使用“或”组合所述组合的“与”的结果和另一中间输出,来产生比第N个二进制输出的有效性小的二进制输出。
15.如权利要求14所述的并行计数器,其特征在于设置所述的逻辑电路,以产生第k个二进制输出Sk,其中k=0到t-1,以及t是根据下面关系的输出的数量Sk={OR_n_2k∧OR_n_2k+1}∨(OR_n_2k+1+2k∧OR_n_2k+2}∨{OR_n_2k+2+2k∧OR_n_2k+1+2k+1}…………………………………∨ OR_n_2t+2t-1+2t-2+2k其中∧是逻辑“与”运算,∨是逻辑“或”运算,以及是反相运算。
16.如前面任何权利要求之一所述的并行计数器,其特征在于所述的逻辑电路包括多个子电路逻辑模块,其中各个所述模块产生中间二进制输出,作为一些二进制输入的初等对称函数;以及用于逻辑组合中间的二进制输出以便产生所述的二进制输出的逻辑。
17.如权利要求16所述的并行计数器,其特征在于设置所述的子电路逻辑模块,以使用“或”逻辑来组合所述的一些所述的二进制输入集合。
18.如权利要求17所述的并行计数器,其特征在于所述的逻辑电路包括一个或多个逻辑模块,各个所述的模块使用执行的“或”逻辑产生二进制输出,作为二进制输入的初等对称函数,以组合一个或多个二进制输出的多个集合。
19.如前面权利要求1到14之一所述的并行计数器,其特征在于所述的逻辑电路通过执行多个小初等对称函数并组合该结果来执行大初等对称函数。
20.如前面任何权利要求之一所述的并行计数器,其特征在于所述的逻辑电路被划分为多个逻辑单元,设置各个逻辑单元,以产生逻辑单元二进制输出,作为到逻辑单元的二进制输入的初等对称函数,所述多个输入的二进制输入被划分为到多个所述逻辑单元的输入,以及使用多个所述逻辑单元的二进制输出产生所述多个输出的二进制输出。
21.如权利要求20所述的并行计数器,其特征在于分层设置所述的逻辑电路,致使在该层中较高层的逻辑单元包括该层中的较低层的至少一个逻辑单元的逻辑,并且具有比该层中较低层的逻辑单元多的、用做输入的二进制输入。
22.如权利要求20或21所述的并行计数器,其特征在于按照二进制树来将所述的多个输入端的二进制输入划分为多个所述的逻辑单元的输入。
23.如权利要求22所述的并行计数器,其特征在于设置所述的逻辑电路,以接收2n个所述的二进制输入,其中n是表示逻辑单元在二进制树中的层级的整数,所述的逻辑电路在每层具有m个逻辑单元,其中m是从(二进制输入的数量)/2n中确定的上舍入整数,具有二进制树中的较高层的逻辑单元包括二进制树中较低层的逻辑单元的逻辑,以及设置各个逻辑单元,以产生逻辑单元二进制输出,作为到逻辑单元的二进制输入的对称函数。
24.如权利要求23所述的并行计数器,其特征在于设置在第一层的各个逻辑单元,以产生逻辑单元二进制输出,作为到所述逻辑电路的二进制输入的小初等对称函数。
25.如权利要求23或24所述的并行计数器,其特征在于设置在第一层的各个逻辑单元,以使用“或”逻辑产生逻辑单元二进制输出,作为到所述逻辑电路的二进制输入的初等对称函数,以便组合二进制输入。
26.如权利要求25所述的并行计数器,其特征在于设置在第一层的各个逻辑单元,以便逻辑“与”到逻辑单元的各个二进制输入,以及逻辑“或”到逻辑单元的各个二进制输入,以产生逻辑单元二进制输出。
27.如权利要求24所述的并行计数器,其特征在于设置在第一层的各个逻辑单元,以使用“异或”逻辑产生逻辑单元二进制输出,作为到所述逻辑电路的二进制输入的初等对称函数,以便组合二进制输入。
28.如权利要求27所述的并行计数器,其特征在于设置在第一层的各个逻辑单元,以便逻辑“与”到逻辑单元的各个二进制输入,以及逻辑地“异或”到逻辑单元的各个二进制输入,以产生逻辑单元二进制输出。
29.如权利要求23到28之一所述的并行计数器,其特征在于在第一层提供作为逻辑单元的初等逻辑单元,以便执行初等对称函数,从所述多个输入端接收四个逻辑上相邻的二进制输入的两个一级初等逻辑单元的各个输出被输入到两个二级初等逻辑单元,各个二级初等逻辑单元的输出被输入到三级初等逻辑单元,以及所述的一级、二级和三级初等逻辑单元形成二进制树的第二层的第二逻辑单元,所述的二级逻辑单元具有二进制输出,包括来自所述二级初等逻辑单元的各个二进制输出的二进制输出和来自所述三级初等逻辑单元的两个二进制输出。
30.如权利要求29所述的并行计数器,其特征在于在二进制树的第三层的各个三级逻辑单元包括两个二级逻辑单元,从所述多个输入端接收八个逻辑上相邻的二进制输入;四个初等逻辑单元,接收用做所述的两个二级逻辑单元的输出的输入,以及进一步的逻辑,使用所述的四个初等逻辑单元的二进制输出产生二进制输出,作为到所述三级逻辑单元的二进制输入的对称函数。
31.如权利要求30所述的并行计数器,其特征在于在二进制树的第四层的各个四级逻辑单元包括两个三级逻辑单元,所述多个输入端接收十六个逻辑上相邻的二进制输入;四个初等逻辑单元,接收用做输入的所述两个三级逻辑单元的输出;以及进一步的逻辑,使用所述的四个初等逻辑单元的二进制输出产生二进制输出,作为到所述四级逻辑单元的二进制输入的对称函数。
32.如权利要求23到28之一所述的并行计数器,其特征在于初等逻辑电路被用做第一层的逻辑单元,以执行初等对称函数,以及较低层的逻辑单元包括用于较高层的逻辑单元。
33.如权利要求32所述的并行计数器,其特征在于用于在第二层之上的较高层的所述逻辑单元包括紧挨前层的逻辑单元和初等逻辑单元。
34.如权利要求23到33之一所述的并行计数器,其特征在于设置各层的各个逻辑单元,以使用“或”逻辑产生逻辑单元二进制输出,作为到所述逻辑电路的二进制输入的初等对称函数,以便组合二进制输入。
35.如权利要求23到33之一所述的并行计数器,其特征在于设置各层的各个逻辑单元,以使用“异或”逻辑产生逻辑单元二进制输出,作为到所述逻辑电路的二进制输入的初等对称函数,以便组合二进制输入。
36.如权利要求20到35之一所述的并行计数器,其特征在于分层设置逻辑单元,并且至少一层的层次中的至少一个逻辑单元执行了反相初等对称函数。
37.如权利要求36所述的并行计数器,其特征在于在层次中的奇数层的逻辑单元执行反相初等对称函数,在层次中的偶数层的逻辑单元执行对称函数,以及反相在层次中的第一层的逻辑单元的输入。
38.如权利要求36所述的并行计数器,其特征在于在层次中的偶数层的逻辑单元执行反相初等对称函数,在层次中的奇数层的逻辑单元执行对称函数,以及在层次中的第一层的逻辑单元的输入被输入到未反相的层次中的第一层的逻辑单元中。
39.如权利要求36所述的并行计数器,其特征在于在层次中的偶数层的逻辑单元执行反相初等对称函数,在层次中的奇数层的逻辑单元执行对称函数,以及反相在层次中的第一层的逻辑单元的输入。
40.如权利要求36所述的并行计数器,其特征在于在层次中的至少一层中的至少一个逻辑单元执行初等对称函数,以及在层次中的交替的层中执行该反相的初等对称函数或各个反相的初等对称函数与该初等对称函数或各个初等对称函数。
41.如权利要求36到40之一所述的并行计数器,其特征在于在层次中的至少一层的逻辑单元包括反相逻辑。
42.如权利要求36到41之一所述的并行计数器,其特征在于逻辑单元被分层次地设置为二进制树结构。
43.如前面任何权利要求之一所述的并行计数器,其特征在于输入的数量至少是四,而输出的数量至少是三。
44.一种并行计数器,包括至少五个输入端,用于接收用作多个二进制输入的二进制数字;至少三个输出端,用于输出表示多个二进制输入的二进制输入的数字的二进制代码;逻辑电路,连接在多个输入端和多个二进制输出端之间,以用于产生用作二进制输入的初等对称函数的多个二进制输出中的各个输出。
45.如权利要44所述的并行计数器,其特征在于设置所述的逻辑电路,以产生至少两个相互独立的输出。
46.一种并行计数器,包括n个输入端,用于接收用作二进制输入的二进制数字,其中4≥n≥7;三个输出端,用于输出表示多个二进制输入的二进制输入的数字的二进制代码;和逻辑电路,连接在输入端和三个输出端之间,以用于产生用作二进制输入的初等对称函数EXOR_n_1的第一输出,用作三个初等对称函数OR_n_2、OR_n_4和OR_n_6的第二输出,和用作初等对称函数OR_n_4的第三输出。
47.一种并行计数器,包括n个输入端,用于接收用作二进制输入的二进制数字,其中8≥n≥15;四个输出端,用于输出表示二进制输入的二进制输入的数字的二进制代码;和逻辑电路,连接在输入端和四个输出端之间,以用于产生用作二进制输入的初等对称函数EXOR_n_1的第一输出,用作二进制输入的初等对称函数EXOR_n_2的第二输出,用作三个初等对称函数OR_n_4、OR_n_8和OR_n_12的第三输出,和用作初等对称函数OR_n_8的第三输出。
48.一种具有n个输入的m个可能的高位输入的条件并行计数器,其中m<n,以及n和m是整数,该条件并行计数器包括如前面任何权利要求之一的、用于计数输入以便为m个输入产生p个输出的并行计数器,其中到该计数器的输入的数量n大于2p。
49.一种包括如权利要求48所述的条件并行计数器的常数乘法器。
50.一种包括如权利要求48所述的常数乘法器的数字滤波器。
51.一种包括如权利要求1到48之一所述的并行计数器的逻辑电路。
52.一种包括如权利要求1到48之一所述的并行计数器的集成电路。
53.一种包括如权利要求1到48之一所述的并行计数器的数字电子设备。
54.一种用于将两个二进制数字相乘的逻辑电路,包括阵列产生逻辑,用于产生包括各个二进制数字的各位组合的二进制数字阵列;阵列简化逻辑,包括如权利要求1到48之一所述的至少一个并行计数器,用于简化阵列中的组合的数字;以及二进制相加逻辑,用于相加简化的组合以便产生输出。
55.一种用于将两个二进制数字相乘的逻辑电路,该逻辑电路包括阵列产生逻辑,用于从两个二进制数字中产生需要增加的二进制值的阵列,以及用于逻辑组合阵列中的二进制值,以产生阵列,其中该阵列的最大深度是N位以下,N是两个二进制数字的最大的数字的位数;阵列简化逻辑,用于将阵列的深度简化为两个二进制数字;以及相加逻辑,用于相加两个二进制数字的二进制值。
56.如权利要求55所述的逻辑电路,其特征在于设置所述的阵列产生逻辑,以便执行一个二进制数字的各位和另一个二进制数字的各位之间的逻辑二进制操作,来产生包括二进制值的阵列的逻辑二进制组合。
57.如权利要求56所述的逻辑电路,其特征在于设置所述的阵列产生逻辑,以便执行一个二进制数字的各位和另一个二进制数字的各位之间的逻辑“与”操作,来产生包括二进制值的阵列的逻辑“与”组合。
58.如权利要求57所述的逻辑电路,其特征在于设置所述的阵列产生逻辑,以便执行针对通过一个二进制数字的各位Ai和另一个二进制数字的各位Bj的逻辑二进制组合形成的值的值的进一步的逻辑组合,其中i-j-k≤1,k是所选的整数,i和j是从1到N的整数。
59.如权利要求55到58之一所述的逻辑电路,其特征在于设置所述的阵列产生逻辑,以便逻辑“与”组合第一二进制数字的各位Ai和第二二进制数字的各位Bj,来产生包括由所述逻辑“和”组合所表示的二进制数字的数列,AiAND Bj,以及通过逻辑组合A1AND BN-2、A1AND BN-1来执行进一步的逻辑组合,其中N是二进制数字中的位数。
60.如权利要求59所述的逻辑电路,其特征在于设置所述的阵列产生逻辑,以逻辑组合组合A1AND BN-2和A0AND BN-1,使用“异或”代替这些组合,以及组合A1AND BN-1和A0AND BN-2,以代替A1AND BN-1组合。
61.如权利要求55到60之一所述的逻辑电路,其特征在于所述的阵列简化逻辑包括至少下面之一至少一个全加器,至少一个半加法器,以及至少一个并行计数器。
62.如权利要求61所述的逻辑电路,其特征在于所述的阵列简化逻辑包括如权利要求1到40之一所述的至少一个并行计数器。
63.一种包括如权利要求55到62之一的所述的逻辑电路的乘法累加逻辑电路,其中设置所述的阵列产生逻辑,以包括前面乘法的累加值。
64.一种包括如权利要求55到62之一的所述的逻辑电路的集成电路。
65.一种包括如权利要求55到62之一的所述的逻辑电路的数字电子设备。
66.一种逻辑电路,包括至少四个输入端,用于接收用作多个二进制输入的二进制数字;至少一个输出端,用于输出二进制代码;逻辑元件,连接在多个输入端与该二进制输出端或各个二进制输出端之间,以按照实现为二进制树的阈值函数来产生该二进制输出或各个二进制输出,以及具有阈值至少为2。
67.如权利要求66的所述的逻辑电路,其特征在于设置逻辑元件,以产生用作二进制输入的初等对称函数的该二进制输出或各个二进制输出。
68.如权利要求67的所述的逻辑电路,其特征在于设置逻辑元件,以产生用作二进制输入的“或”对称函数的至少一个二进制输出。
69.如权利要求68的所述的逻辑电路,其特征在于设置逻辑元件,以产生用作二进制输入的“异或”对称函数的至少一个二进制输出。
70.如权利要求66到69之一的所述的逻辑电路,其特征在于所述的逻辑元件包括多个子电路逻辑模块,以及用于逻辑组合中间的二进制输出以便产生该二进制输出或各个二进制输出的逻辑,其中各个所述模块产生用作一些二进制输入的初等对称函数的中间二进制输出。
71.如权利要求67所述的逻辑电路,其特征在于所述的逻辑元件包括多个逻辑模块,各个所述模块产生用作一些二进制输入的初等对称函数的中间的二进制输出;用于逻辑组合中间的二进制输出以便产生该二进制输出或各个二进制输出的逻辑;以及逻辑模块被分层次设置,和在层次中的至少一层的至少一个逻辑模块执行了反相初等对称函数。
72.如权利要求71所述的逻辑电路,其特征在于在层次中的奇数层的逻辑模块执行反相初等对称函数,在层次中的偶数层的逻辑模块执行对称函数,以及反相在层次中的第一层的逻辑模块的输入。
73.如权利要求71所述的逻辑电路,其特征在于在层次中的偶数层的逻辑模块执行反相初等对称函数,在层次中的奇数层的逻辑模块执行对称函数,以及在层次中的第一层的逻辑模块的输入被输入到未反相的层次中的第一层的逻辑单元中。
74.如权利要求71所述的逻辑电路,其特征在于在层次中的偶数层的逻辑模块执行反相初等对称函数,在层次中的奇数层的逻辑模块执行对称函数,以及反相在层次中的第一层的逻辑模块的输入。
75.如权利要求71所述的逻辑电路,其特征在于在层次中的至少一层中的至少一个逻辑模块执行初等对称函数,以及或在层次中的交替的层中执行该反相初等对称函数或各个反相初等对称函数和该初等对称函数或各个初等对称函数。
76.如权利要求71到75之一所述的逻辑电路,其特征在于在层次中的至少一层的逻辑模块包括反相逻辑。
77.如权利要求71到76之一所述的逻辑电路,其特征在于逻辑模块被分层次地设置为二进制树结构。
78.一种逻辑电路,包括至少四个输入端,用于接收用作多个二进制输入的二进制数字;至少一个输出端,用于输出二进制代码;和逻辑元件,连接在设置的多个输入端和多个二进制输出端之间,以产生用作二进制输入的初等对称函数的所述二进制输出或多个二进制输出。
79.如权利要求78所述的逻辑电路,其特征在于设置所述的逻辑元件,以使用“异或”逻辑产生至少一个二进制输出,作为二进制输入的初等对称函数,以便组合多组一个或多个二进制输入。
80.如权利要求79所述的逻辑电路,其特征在于设置所述的逻辑元件,以逻辑“与”各组二进制输入的成员,并逻辑“异或”所述“与”运算的结果。
81.如权利要求80所述的逻辑电路,其特征在于设置所述的逻辑电路,以逻辑“与”2i个各组的二进制输入来产生第i个二进制输出,其中i是从1到N的整数,N是二进制输出的数量,以及i表示各个二进制输出的有效性,各集合是唯一的,以及这些集合包括了二进制输入的所有的可能组合。
82.如权利要求80所述的逻辑电路,其特征在于设置所述的逻辑元件,以逻辑“与”各集合二进制输入的成员,其中各集合是唯一的,以及各集合包括了二进制输入的所有的可能组合。
83.如权利要求78到82之一所述的逻辑电路,其特征在于设置所述的逻辑元件,以使用“或”逻辑产生至少一个二进制输出,作为二进制输入的初等对称函数,以便组合一个或多个二进制输入的多个集合。
84.如权利要求83所述的逻辑电路,其特征在于设置所述的逻辑元件,以逻辑“与”二进制输入的各个集合的成员并逻辑“或”所述“与”运算的结果。
85.如权利要求84所述的逻辑电路,其特征在于设置所述的逻辑元件,以逻辑“与”2N-1个各集合的二进制输入,来产生第N个二进制输出,其中N是二进制输出的数量和第N个二进制输出是最有效的,各集合是唯一的,以及这些集合包括了二进制输入的所有的可能组合。
86.如权利要求84所述的逻辑电路,其特征在于设置所述的逻辑元件,以逻辑“与”二进制输入的各个集合的成员,其中各集合是唯一的,以及这些集合包括了二进制输入的所有的可能组合。
87.如权利要求78所述的逻辑电路,其特征在于设置所述的逻辑元件,以使用“异或”逻辑产生用作二进制输入的初等对称函数的第一二进制输出,以便组合一个或多个二进制输入的多个集合,以及使用“或”逻辑产生用作二进制输入的初等对称函数的第N个二进制输出,以便组合一个或多个二进制输入的多个集合。
88.如权利要求78到87所述的逻辑电路,其特征在于设置所述的逻辑元件,以使用“或”逻辑为比第N个二进制输出的有效性小的二进制输出产生用作二进制输入的初等对称函数的两个可能的二进制输出,以便组合一个或多个二进制输入的多个集合,其中N是二进制输出的数量,各个可能的二进制输出使用的集合具有两个不同的、是产生的二进制输出的函数的大小;以及所述的逻辑元件包括选择器逻辑,以按照更有效的二进制输出值来选择可能的二进制输出之一。
89.如权利要求88所述的逻辑电路,其特征在于设置所述的逻辑元件,以使用“或”逻辑为比第N个二进制输出的有效性小的第(N-1)个二进制输出产生用作二进制输入的初等对称函数的两个可能的二进制输出,以便组合一个或多个二进制输入的多个集合,各个可能的二进制输出使用的集合分别具有2N-1+2N-2和2N-2的大小,以及设置所述的选择器逻辑,以按照第N个二进制输出值来选择可能的二进制输出之一。
90.如权利要求78到87之一所述的逻辑电路,其特征在于设置所述的逻辑元件,以便为比第N个二进制输出的有效性小的二进制输出产生用作二进制输入的初等对称函数的两个可能的二进制输出;以及所述的逻辑元件包括选择器逻辑,以按照更有效的二进制输出值来选择可能的二进制输出之一。
91.如权利要求78到87之一所述的逻辑电路,其特征在于所述的逻辑元件包括逻辑单元,用于产生用作二进制输入的初等对称函数的中间输出,并设置所述逻辑元件,以通过使用“与”组合至少一个逻辑单元的中间输出和另一逻辑单元的反相输出,以及使用“或”组合所述组合的“与”的结果和另一中间输出,来产生比第N个二进制输出的有效性小的二进制输出。
92.如权利要求91所述的逻辑电路,其特征在于设置所述的逻辑元件,以产生第k个二进制输出Sk,其中k=0到t-1,以及t是根据下面关系的输出的数量Sk={OR_n_2k∧OR_n_2k+1}∨{OR_n_2k+1+2k∧OR_n_2k+2}∨{OR_n_2k+2+2k∧OR_n_2k+1+2k+1}…………………………………∨OR_n_2t+2t-1+2t-2+2k其中∧是逻辑“与”运算,∨是逻辑“或”运算,以及是反相运算。
93.如权利要求78到92之一所述的逻辑电路,其特征在于所述的逻辑元件包括多个子电路逻辑模块,以及用于逻辑组合中间的二进制输出以便产生所述的二进制输出的逻辑,其中各个所述模块产生用作一些二进制输入的初等对称函数的中间二进制输出。
94.如权利要求93所述的逻辑电路,其特征在于设置所述的子电路逻辑模块,以使用“或”逻辑来组合所述的一些所述的二进制输入集合。
95.如权利要求94所述的逻辑电路,其特征在于所述的逻辑元件包括一个或多个逻辑模块,各个所述的模块使用执行的“或”逻辑产生用作二进制输入的初等对称函数的二进制输出,以组合一个或多个二进制输出的多个集合。
96.如权利要求78到91所述的逻辑电路,其特征在于所述的逻辑元件通过执行多个小初等对称函数并组合该结果来执行大初等对称函数。
97.如权利要求78到96之一所述的逻辑电路,其特征在于所述的逻辑元件被分割为多个逻辑单元,设置各个逻辑单元,以产生逻辑单元二进制输出,作为到逻辑单元的二进制输入的初等对称函数,所述多个输入的二进制输入被划分为到多个所述逻辑单元的输入,以及使用多个所述逻辑单元的二进制输出产生所述多个输出的二进制输出。
98.如权利要求97所述的逻辑电路,其特征在于分层设置所述的逻辑单元,致使在该层中较高层的逻辑单元包括该层中的较低层的至少一个逻辑单元的逻辑,以及具有比该层中较低层的逻辑单元多的、用做输入的二进制输入。
99.如权利要求97或98所述的逻辑电路,其特征在于按照二进制树来将所述的多个输入的二进制输入划分为多个所述的逻辑单元的输入。
100.如权利要求99所述的逻辑电路,其特征在于设置所述的逻辑单元,以接收2n个所述的二进制输入,其中n是表示逻辑单元在二进制树中的层级的整数,所述的逻辑电路在每级具有m个逻辑单元,其中m是从(二进制输入的数量)/2n中确定的上舍入整数,具有二进制树中的较高层的逻辑单元包括二进制树中较低层的逻辑单元的逻辑,以及设置各个逻辑单元,以产生逻辑单元二进制输出,作为到逻辑单元的二进制输入的对称函数。
101.如权利要求100所述的逻辑电路,其特征在于设置在第一层的各个逻辑单元,以产生逻辑单元二进制输出,作为到所述逻辑电路的二进制输入的小初等对称函数。
102.如权利要求100或101所述的逻辑电路,其特征在于设置在第一层的各个逻辑单元,以使用“或”逻辑产生逻辑单元二进制输出,作为到所述逻辑电路的二进制输入的初等对称函数,以便组合二进制输入。
103.如权利要求102所述的逻辑电路,其特征在于设置在第一层的各个逻辑单元,以逻辑“与”到逻辑单元的各个二进制输入,以及逻辑“或”到逻辑单元的各个二进制输入,以产生逻辑单元二进制输出。
104.如权利要求101所述的逻辑电路,其特征在于设置在第一层的各个逻辑单元,以使用“异或”逻辑产生逻辑单元二进制输出,作为到所述逻辑电路的二进制输入的初等对称函数,以便组合二进制输入。
105.如权利要求104所述的逻辑电路,其特征在于设置在第一层的各个逻辑单元,以逻辑“与”到逻辑单元的各个二进制输入,以及逻辑地“异或”到逻辑单元的各个二进制输入,以产生逻辑单元二进制输出。
106.如权利要求100到105之一所述的逻辑电路,其特征在于在第一层提供用作逻辑单元的初等逻辑单元,以便执行初等对称函数,从所述多个输入端接收四个逻辑上相邻的二进制输入的两个一级初等逻辑单元的各个输出被输入到两个二级初等逻辑电路,各个二级初等逻辑单元的输出被输入到三级初等逻辑单元,以及所述的一级、二级和三级初等逻辑单元形成二进制树的第二层的第二逻辑单元,所述的二级逻辑单元具有包括来自所述的二级初等逻辑单元的各个二进制输出的二进制输出和来自所述三级初等逻辑单元的两个二进制输出。
107.如权利要求106所述的逻辑电路,其特征在于在二进制树的第三层的各个三级逻辑单元包括两个二级逻辑单元,从所述多个输入端接收八个逻辑上相邻的二进制输入;四个初等逻辑单元,接收用作所述的两个二级逻辑单元的输出的输入;以及进一步的逻辑,使用所述的四个初等逻辑单元的二进制输出产生二进制输出,作为到所述三级逻辑单元的二进制输入的对称函数。
108.如权利要求107所述的逻辑电路,其特征在于在二进制树的第四层的各个四级逻辑单元包括两个三级逻辑单元,从所述多个输入端接收十六个逻辑上相邻的二进制输入;四个初等逻辑单元,接收用作所述的两个三级逻辑单元的输出的输入;以及进一步的逻辑,使用所述的四个初等逻辑单元的二进制输出产生二进制输出,作为到所述四级逻辑单元的二进制输入的对称函数。
109.如权利要求100到105之一所述的逻辑电路,其特征在于初等逻辑电路被用作第一层的逻辑单元,以执行初等对称函数,以及较低层的逻辑单元包括用于较高层的逻辑单元。
110.如权利要求109所述的逻辑电路,其特征在于用于在第二层之上的较高层的所述逻辑单元包括紧挨前层的逻辑单元和初等逻辑单元。
111.如权利要求100到110之一所述的逻辑电路,其特征在于设置各层的各个逻辑单元,以使用“或”逻辑产生逻辑单元二进制输出,作为到所述逻辑电路的二进制输入的初等对称函数,以便组合二进制输入。
112.如权利要求100到110之一所述的逻辑电路,其特征在于设置各层的各个逻辑单元,以使用“异或”逻辑产生逻辑单元二进制输出,作为到所述逻辑电路的二进制输入的初等对称函数,以便组合二进制输入。
113.如权利要求97到112之一所述的逻辑电路,其特征在于分层设置逻辑单元,并且层次中的至少一层的至少一个逻辑单元执行了反相初等对称函数。
114.如权利要求113所述的逻辑电路,其特征在于在层次中的奇数层的逻辑单元执行反相初等对称函数,在层次中的偶数层的逻辑单元执行对称函数,以及反相在层次中的第一层的逻辑单元的输入。
115.如权利要求113所述的逻辑电路,其特征在于在层次中的偶数层的逻辑单元执行反相初等对称函数,在层次中的奇数层的逻辑单元执行对称函数,以及在层次中的第一层的逻辑单元的输入被输入到未反相的层次中的第一层的逻辑单元中。
116.如权利要求113所述的逻辑电路,其特征在于在层次中的偶数层的逻辑单元执行反相初等对称函数,在层次中的奇数层的逻辑单元执行对称函数,以及反相在层次中的第一层的逻辑单元的输入。
117.如权利要求113所述的逻辑电路,其特征在于在层次中的至少一层中的至少一个逻辑单元执行初等对称函数,以及在层次中的交替的层中执行该反相的初等对称函数或各个反相的初等对称函数与该初等对称函数或各个初等对称函数。
118.如权利要求113到117之一的所述的逻辑电路,其特征在于在层次中的至少一层的逻辑单元包括反相逻辑。
119.如权利要求113到118之一的所述的逻辑电路,其特征在于逻辑单元被分层次地设置为二进制树结构。
120.一种包括如权利要求78到119之一的所述的逻辑电路的集成电路。
121.一种包括如权利要求78到119之一的所述的逻辑电路的数字电子设备。
122.一种用于将两个二进制数字相乘的逻辑电路,包括阵列产生逻辑,用于产生包括各个二进制数字的各位组合的二进制数字阵列;阵列简化逻辑,包括如权利要求64到98之一所述的至少一个逻辑电路,用于简化阵列中的组合的数字;以及二进制相加逻辑,用于相加简化的组合以便产生输出。
123.一种设计逻辑电路的方法,所述的逻辑电路包括用来接收用做多个二进制输入的二进制数字的多个输入端,用于输出二进制代码的至少一个输出端,以及连接在多个输出端和该二进制输出端或各个二进制输出端之间的逻辑元件,以及设置逻辑元件,以产生用作二进制输入的阈值函数的该二进制输出或各个二进制输出,所述的方法包括确定用来执行阈值函数的逻辑元件;和通过识别执行两个阈值函数的逻辑“与”的逻辑元件来简化逻辑元件,以及将识别的逻辑元件简化为用来执行具有较高阈值的阈值函数的逻辑元件,以及识别执行两个阈值函数的逻辑“或”的逻辑元件,并将识别的逻辑元件简化为用来执行具有较低阈值的阈值函数的逻辑元件。
124.如权利要求123所述的方法,其特征在于使用具有下面关系的逻辑“或”阈值函数来执行所述的简化OR_n_k∧OR_n_s=OR_n_kOR_n_k∨OR_n_s=OR_n_s其中k≥s,n是输入的数量,k和s是高位输入的数量。
125.如权利要求123或124所述的方法,其特征在于设计所述的逻辑元件,以执行用作初等对称函数的阈值函数,以及设计所述的逻辑电路,以产生用作初等对称函数的该二进制输出或各个二进制输出。
126.一种用于设计逻辑电路的系统,其中所述的逻辑电路包括用于接收用作多个二进制输入的二进制数字的多个输入端;用于输出二进制代码的至少一个输出端;和连接在多个输入端和该二进制输出端或各个二进制输出端之间的逻辑元件,以及设置该逻辑元件,以产生用作二进制输入的阈值函数的该二进制输出或各个二进制输出,所述的系统包括确定用来执行阈值函数的逻辑元件的确定装置;和简化装置,用于通过识别执行两个阈值函数的逻辑“与”的逻辑元件来简化逻辑元件,以及将识别的逻辑元件简化为用来执行具有较高阈值的阈值函数的逻辑元件,以及识别执行两个阈值函数的逻辑“或”的逻辑元件,并将识别的逻辑元件简化为用来执行具有较低阈值的阈值函数的逻辑元件。
127.如权利要求126所述的系统,其特征在于所述的简化装置适用于使用具有下面关系的逻辑“或”阈值函数来执行所述的简化OR_n_k∧OR_n_s=OR_n_kOR_n_k∨OR_n_s=OR_n_s其中k≥s,n是输入的数量,k和s是高位输入的数量。
128.如权利要求126或127所述的系统,其特征在于所述的简化装置适用于设计逻辑元件,以执行用作初等对称函数的阈值函数,以及产生用作初等对称函数的该二进制输出或各个二进制输出。
129.一种用于设计逻辑电路的计算机系统,其中所述的逻辑电路包括用于接收用作多个二进制输入的二进制数字的多个输入端;用于输出二进制代码的至少一个输出端;和连接在多个输入端和该二进制输出端或各个二进制输出端之间的逻辑元件,以及设置该逻辑元件,以产生用做二进制输入的阈值函数的该二进制输出或各个二进制输出,所述的计算机系统包括存储计算机可读代码的存储器;用于读取并执行代码的处理器;其中,存储在存储器中的代码包括用于控制处理器的代码,以便确定用于执行阈值函数的逻辑元件;和通过识别执行两个阈值函数的逻辑“与”的逻辑元件来简化逻辑元件,以及将识别的逻辑元件简化为用来执行具有较高阈值的阈值函数的逻辑元件,以及识别执行两个阈值函数的逻辑“或”的逻辑元件,并将识别的逻辑元件简化为用来执行具有较低阈值的阈值函数的逻辑元件。
130.如权利要求129所述的计算机系统,其特征在于存储在存储器中的代码包括用于控制处理器的代码,以便使用具有下面关系的逻辑“或”阈值函数来执行所述的简化OR_n_k∧OR_n_s=OR_n_kOR_n_k∨OR_n_s=OR_n_s其中k≥s,n是输入的数量,k和s是高位输入的数量。
131.如权利要求129或130所述的计算机系统,其特征在于存储在存储器中的代码包括用于控制处理器的代码,以便设计逻辑元件,以执行用作初等对称函数的阈值函数,以及产生用作初等对称函数的该二进制输出或各个二进制输出。
132.一种带有用于控制计算机以实施如权利要求123到125之一的所述的方法的可读指令的载体介质。
133.一种设计逻辑电路的方法,其中所述的逻辑电路包括用于接收用作多个二进制输入的二进制数字的多个输入端;用于输出二进制代码的至少一个输出端;和连接在多个输入端和该二进制输出端或各个二进制输出端之间的逻辑元件,以及设置该逻辑元件,以产生用作二进制输入的对称函数的各个二进制输出,所述的方法包括使用“异或“逻辑设计该逻辑电路;识别出不能具有同时都为高位的输入的任何逻辑;用“或”逻辑代替识别的“异或”逻辑。
134.如权利要求133所述的方法,其特征在于设计该逻辑电路以产生用作二进制输入的初等对称函数的各个二进制输出。
135.如权利要求133或134所述的方法,其特征在于该逻辑电路被设计为具有多个输出端的并行计数器。
136.一种用于设计逻辑电路的系统,其中所述的逻辑电路包括用于接收用作多个二进制输入的二进制数字的多个输入端;用于输出二进制代码的多个输出端;和连接在多个输入端和所述二进制输出端之间的逻辑元件,以及设置逻辑元件,以产生用作二进制输入的对称函数的各个二进制输出,所述的系统包括使用“异或”逻辑用于设计该逻辑电路的设计装置;识别出不能具有同时都为较高的输入的任何逻辑的识别装置;和用“或”逻辑代替识别的“异或”逻辑的替代装置。
137.如权利要求136所述的系统,其特征在于所述的设计装置适用于设计该逻辑电路,以产生用作二进制输入的初等对称函数的各个二进制输出。
138.如权利要求136或137所述的系统,其特征在于所述的设计装置适用于设计该逻辑电路以产生具有多个输出端的并行计数器。
139.一种用于设计逻辑电路的计算机系统,其中所述的逻辑电路包括用于接收用作多个二进制输入的二进制数字的多个输入端;用于输出二进制代码的多个输出端;和连接在多个输入端和所述二进制输出端之间的逻辑元件,以及设置该逻辑元件,以产生用作二进制输入的对称函数的各个二进制输出,所述的计算机系统包括存储计算机可读代码的存储器;用于读取并执行代码的处理器;其中,存储在存储器中的代码包括用于控制处理器的代码,以使用“异或“逻辑设计该逻辑电路;识别出不能具有同时都为高位的输入的任何逻辑;和用“或”逻辑代替识别的“异或”逻辑。
140.如权利要求139所述的计算机系统,其特征在于存储在存储器中的代码包括用于控制处理器的代码,以设计逻辑元件,以便执产生用作二进制输入的初等对称函数的各个二进制输出。
141.如权利要求139或140所述的计算机系统,其特征在于存储在存储器中的代码包括用于控制处理器的代码,以将该逻辑电路设计为具有多个输出端的并行计数器。
142.一种带有用于控制计算机以实施如权利要求133到135之一的所述的方法的可读指令的载体介质。
143.一种设计逻辑电路的方法,包括提供每个逻辑模块设计库,以执行小对称函数;设计逻辑电路,以执行大对称函数;从所述库中选择逻辑模块,以执行所述的小对称函数;在所选的逻辑电路中识别出执行对称函数并可以用于执行另一对称函数的逻辑电路;以及选择与识别的对称函数相对应的逻辑电路,并使用带有”非”门的选择的逻辑电路,以使用对称函数之间的关系来执行所述的另一对称函数{OR_n_k(X1...Xn)=OR_n_(n+1-k)(X1...Xn)其中表示反相,n是输出的数量,k是组合在一起的输入“与”的集合的数量。
144.如权利要求143所述的方法,其特征在于对称函数是初等对称函数。
145.一种用于设计逻辑电路的系统,包括存储用于执行小对称函数的逻辑模块设计库的存储装置;用于设计逻辑电路以执行大对称函数的设计装置;识别出可以执行所述对称函数的小对称函数;第一选择装置用于从所述库中选出逻辑模块,以执行所述的小对称函数;识别装置,在所选的逻辑电路中识别出执行对称函数和可以被用来执行另一对称函数的逻辑电路,以及第二选择装置,用于选择与识别的对称函数相对应的逻辑电路,并使用带有“非”门的选择的逻辑电路,以使用对称函数之间的关系来执行所述的另一对称函数OR_n_k(X1...Xn)=OR_n_(n+1-k)(X1...Xn)其中表示反相,n是输出的数量,k是组合在一起的输入“与”的集合的数量。
146.如权利要求145所述的系统,其特征在于所述的对称函数是初等对称函数。
147.一种用于设计逻辑电路的计算机系统,包括存储各个逻辑模块设计库以便执行小对称函数的数据存储器;用于存储计算机可读代码的代码处理器;其中,存储在代码存储器中的代码包括用于控制处理器的代码,以便设计逻辑电路以执行大对称函数;识别出可以执行所述对称函数的小对称函数;从所述库中选择逻辑模块,以执行所述的小对称函数;在所选的逻辑电路中识别出执行对称函数和可以被用来执行另一对称函数的逻辑电路,以及选择与识别的对称函数相对应的逻辑电路,并使用带有“非”门的选择的逻辑电路,以使用对称函数之间的关系来执行所述的另一对称函数OR_n_k(X1...Xn)=OR_n_(n+1-k)(X1...Xn)其中表示反相,n是输出的数量,k是组合在一起的输入“与”的集合的数量。
148.如权利要求147所述的计算机系统,其特征在于所述的对称函数是初等对称函数。
149.一种带有用来控制计算机以实施如权利要求143或144所述的方法的计算机可读指令的载体介质。
全文摘要
一种如并行计数器之类的逻辑电路,包括用于产生用作输入位的初等对称函数的输出位。该并行计数器可以应用于乘法电路。也设置乘法电路,其中产生二进制数字的各位和另一二进制数字的各位的组合的、具有简化形式的阵列,以减少阵列简化所需要的步骤。
文档编号G06F7/52GK1468396SQ01816928
公开日2004年1月14日 申请日期2001年7月27日 优先权日2000年8月4日
发明者德文特里·鲁梅宁, 苏尼尔·塔瓦尔, 彼得·默历曼斯, 塔瓦尔, 德文特里 鲁梅宁, 默历曼斯 申请人:自动平行设计公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1