CN117494622B - 一种异或多数逻辑的逻辑函数分解方法、装置和电子设备 - Google Patents
一种异或多数逻辑的逻辑函数分解方法、装置和电子设备 Download PDFInfo
- Publication number
- CN117494622B CN117494622B CN202311843762.3A CN202311843762A CN117494622B CN 117494622 B CN117494622 B CN 117494622B CN 202311843762 A CN202311843762 A CN 202311843762A CN 117494622 B CN117494622 B CN 117494622B
- Authority
- CN
- China
- Prior art keywords
- logic
- target
- node
- decomposition
- gate
- 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.)
- Active
Links
- 238000000354 decomposition reaction Methods 0.000 title claims abstract description 216
- 238000000034 method Methods 0.000 title claims abstract description 114
- 230000006870 function Effects 0.000 claims description 88
- 238000004422 calculation algorithm Methods 0.000 claims description 60
- 238000012545 processing Methods 0.000 claims description 19
- 208000011580 syndromic disease Diseases 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 6
- 230000015572 biosynthetic process Effects 0.000 description 14
- 238000003786 synthesis reaction Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000005457 optimization Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 239000000306 component Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 125000002015 acyclic group Chemical group 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000008358 core component Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供了一种异或多数逻辑的逻辑函数分解方法、装置和电子设备,涉及数字逻辑电路的技术领域,包括:获取待分解布尔逻辑函数的逻辑网表和真值表;重复执行下述步骤,直至将函数分解为由基本逻辑门构成的有向无环图:判断目标逻辑节点的真值表是否与目标基本逻辑门的真值表相匹配;若是,则使用目标基本逻辑门替代目标逻辑节点;否则,判断目标逻辑节点支持集中输入变量数目是否小于或等于预设阈值;若是,则对目标逻辑节点进行精确综合处理;否则,基于不相交支持集分解条件和多数逻辑门分解条件选择不相交支持集分解法或者多数逻辑门分解法或者香农分解法对目标逻辑节点进行分解,并更新当前逻辑网表;该方法提升了逻辑函数的分解效率。
Description
技术领域
本发明涉及数字逻辑电路的技术领域,尤其是涉及一种异或多数逻辑的逻辑函数分解方法、装置和电子设备。
背景技术
电子设计自动化(Electronic design automation,EDA)工具在现代数字集成电路发展中起着至关重要的作用。逻辑综合,作为EDA工具的核心组成部分,负责将寄存器传输级描述转换为门级逻辑网表,并在满足设计约束的情况下进行功耗、性能和面积优化。
逻辑综合的方法在很大程度上取决于如何表示布尔逻辑函数,目前主要依赖于有向无环图来描述多级逻辑网络。对于复杂逻辑网络,每一步的优化都与前一步的结果紧密相关,因此,在优化的初始阶段,拥有一个更优秀的有向无环图尤为关键。用更简单的子函数表示复杂的逻辑函数成为逻辑综合过程的主要任务之一,而逻辑函数的分解方法则是应对这一问题的有效途径。
然而,现有的逻辑函数化简方法例如卡诺图化简法等,多仅适用于输入变量数量少的逻辑函数,随着电路的复杂性不断增加,求解空间也随之急剧增大,导致逻辑函数分解算法的运行时间暴增,出现逻辑函数分解效率低下的情况。
发明内容
本发明的目的在于提供一种异或多数逻辑的逻辑函数分解方法、装置和电子设备,以缓解了现有针对异或多数逻辑的逻辑函数分解方法存在的分解效率低下的技术问题。
第一方面,本发明提供一种异或多数逻辑的逻辑函数分解方法,包括:获取待分解布尔逻辑函数的逻辑网表和真值表;重复执行下述步骤,直至将所述待分解布尔逻辑函数分解为由基本逻辑门构成的有向无环图;判断当前逻辑网表中目标逻辑节点的真值表是否与目标基本逻辑门的真值表相匹配;其中,所述目标逻辑节点表示所述当前逻辑网表中的任一逻辑节点;所述目标基本逻辑门表示多种基本逻辑门中的任一基本逻辑门;若是,则使用所述目标基本逻辑门替代所述目标逻辑节点;若否,则判断所述目标逻辑节点的支持集中的输入变量数目是否小于或等于预设阈值;若小于或等于,则对所述目标逻辑节点进行精确综合处理,以将所述目标逻辑节点分解为若干基本逻辑门;若大于,则基于不相交支持集分解条件和多数逻辑门分解条件从预设分解算法中选择目标算法,以基于所述目标算法对所述目标逻辑节点进行分解,并基于分解结果更新所述当前逻辑网表;其中,所述预设分解算法包括:不相交支持集分解法,多数逻辑门分解法和香农分解法。
在可选的实施方式中,所述方法还包括:计算目标输入变量关于所述目标逻辑节点的正余子式和负余子式;其中,所述目标输入变量表示所述目标逻辑节点的所有输入变量中的任一输入变量;基于所述正余子式和所述负余子式计算所述目标逻辑节点关于所述目标输入变量的布尔差分;基于所述目标逻辑节点的所有输入变量对应的布尔差分,确定所述目标逻辑节点的支持集中的输入变量数目。
在可选的实施方式中,基于不相交支持集分解条件和多数逻辑门分解条件从预设分解算法中选择目标算法,包括:基于不相交支持集分解条件判断所述目标逻辑节点是否支持不相交支持集分解;若支持,则将不相交支持集分解法作为所述目标算法;若不支持,则判断所述目标逻辑节点的目标输入变量是否满足多数逻辑门分解条件;若是,则将多数逻辑门分解法作为所述目标算法;若否,则将香农分解法作为所述目标算法。
在可选的实施方式中,若所述多数逻辑门为三输入多数逻辑门,则判断所述目标逻辑节点的目标输入变量是否满足多数逻辑门分解条件,包括:获取所述目标输入变量关于所述目标逻辑节点的正余子式和负余子式;计算所述正余子式的反相结果与所述负余子式的乘积,得到乘积结果;若所述乘积结果等于0,则确定所述目标逻辑节点的目标输入变量满足多数逻辑门分解条件;若所述乘积结果等于1,则确定所述目标逻辑节点的目标输入变量不满足多数逻辑门分解条件。
在可选的实施方式中,若将不相交支持集分解法作为所述目标算法,则基于所述目标算法对所述目标逻辑节点进行分解,包括:基于所述不相交支持集分解条件从所述目标逻辑节点的输入变量中命中待分解的输入变量;利用所述待分解的输入变量、相应的基本逻辑门和剩余输入变量替代所述目标逻辑节点;其中,所述剩余输入变量表示从所述目标逻辑节点的输入变量中剔除所述待分解的输入变量后的输入变量。
在可选的实施方式中,若将多数逻辑门分解法作为所述目标算法,则基于所述目标算法对所述目标逻辑节点进行分解,包括:使用多数逻辑门和所述多数逻辑门的输入变量替代所述目标逻辑节点。
在可选的实施方式中,所述基本逻辑门包括:与门,或门,异或门,二选一多路复用器和多数逻辑门。
第二方面,本发明提供一种异或多数逻辑的逻辑函数分解装置,包括:获取模块,用于获取待分解布尔逻辑函数的逻辑网表和真值表;重复执行模块,用于重复执行下述步骤,直至将所述待分解布尔逻辑函数分解为由基本逻辑门构成的有向无环图;第一判断模块,用于判断当前逻辑网表中目标逻辑节点的真值表是否与目标基本逻辑门的真值表相匹配;其中,所述目标逻辑节点表示所述当前逻辑网表中的任一逻辑节点;所述目标基本逻辑门表示多种基本逻辑门中的任一基本逻辑门;替代模块,用于在确定匹配的情况下,使用所述目标基本逻辑门替代所述目标逻辑节点;第二判断模块,用于在确定不匹配的情况下,判断所述目标逻辑节点的支持集中的输入变量数目是否小于或等于预设阈值;精确综合处理模块,用于在确定小于或等于的情况下,对所述目标逻辑节点进行精确综合处理,以将所述目标逻辑节点分解为若干基本逻辑门;选择和分解模块,用于在确定大于的情况下,基于不相交支持集分解条件和多数逻辑门分解条件从预设分解算法中选择目标算法,以基于所述目标算法对所述目标逻辑节点进行分解,并基于分解结果更新所述当前逻辑网表;其中,所述预设分解算法包括:不相交支持集分解法,多数逻辑门分解法和香农分解法。
第三方面,本发明提供一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述实施方式中任一项所述的异或多数逻辑的逻辑函数分解方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现前述实施方式中任一项所述的异或多数逻辑的逻辑函数分解方法。
本发明提供的异或多数逻辑的逻辑函数分解方法,综合了精确综合、不相交支持集分解、多数逻辑门分解、以及香农分解的逻辑函数分解方法,优化了逻辑函数的分解流程,可以快速地将异或多数逻辑的逻辑函数转化为由基本逻辑门构成的有向无环图,有效地提升了逻辑函数的分解效率,降低了有向无环图中的节点数量和层级,减少了生成异或多数逻辑图时的复杂度,为后续的电路优化提供了更好的初始解。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种异或多数逻辑的逻辑函数分解方法的流程图;
图2为本发明实施例提供的一种待分解布尔逻辑函数的逻辑网表的示意图;
图3为对图2中的逻辑网表分解完成的结果示意图;
图4为对图3中的所有节点进行等价替换得到的结果示意图;
图5为本发明实施例提供的一种异或多数逻辑的逻辑函数分解装置的功能模块图;
图6为本发明实施例提供的一种电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
实施例一
图1为本发明实施例提供的一种异或多数逻辑的逻辑函数分解方法的流程图,如图1所示,该方法具体包括如下步骤:
步骤S102,获取待分解布尔逻辑函数的逻辑网表和真值表。
本发明实施例所提供的方法是针对异或多数逻辑的逻辑函数进行分解的方法,定义拥有n个输入变量的待分解布尔逻辑函数表示为:,其中/>,而为n个布尔输入变量集合。图2为一种待分解布尔逻辑函数的逻辑网表的示意图,图2中,倒三角形po0代表函数输出(prime output),椭圆形代表逻辑节点(logicnode),正三角形代表函数输入(prime input)。图2的示例中,函数的布尔输入变量集合包括11个布尔输入变量。真值表是指包括待分解布尔逻辑函数的输入和输出之间全部可能状态的表格。
在获取到逻辑网表和真值表之后,需要重复执行下述步骤S104至步骤S112,直至将待分解布尔逻辑函数分解为由基本逻辑门构成的有向无环图:
步骤S104,判断当前逻辑网表中目标逻辑节点的真值表是否与目标基本逻辑门的真值表相匹配。
其中,目标逻辑节点表示当前逻辑网表中的任一逻辑节点;目标基本逻辑门表示多种基本逻辑门中的任一基本逻辑门。在本发明实施例中,基本逻辑门包括:与门,或门,异或门,二选一多路复用器和多数逻辑门。
若是,则执行下述步骤S106;若否,则执行下述步骤S108。
步骤S106,使用目标基本逻辑门替代目标逻辑节点。
要对布尔逻辑函数进行分解,首先判断当前逻辑网表中目标逻辑节点的真值表是否与目标基本逻辑门的真值表相匹配,初始状态下,当前逻辑网表是指上述步骤S102中所获取到的待分解布尔逻辑函数的逻辑网表,随着步骤S104至步骤S112的递归执行,当前逻辑网表将不断更新。
如果确定目标逻辑节点的真值表与目标基本逻辑门的真值表相匹配,那么说明目标逻辑节点与目标基本逻辑门等价,因此,函数分解时可直接使用目标基本逻辑门替代目标逻辑节点,然后更新当前逻辑网表。但是,如果目标逻辑节点的真值表不能与任意一个基本逻辑门的真值表相匹配,则说明目标逻辑节点不能直接使用基本逻辑门表示,还需要进一步被分解,这类逻辑节点可称为素数节点。
也就是说,上述步骤S104等同于检查当前逻辑网表中是否存在素数节点,其中,素数节点是指不能被基本逻辑门表示还需要进一步被分解的逻辑节点。如果不存在素数节点,则说明当前逻辑网表中的逻辑节点均能被基本逻辑门替代;如果存在素数节点,则需要执行后续步骤S108。
本发明实施例使用有向无环图作为管理和存储布尔逻辑函数以及分解中间结果的数据结构,其中末端节点为输入变量,内部节点是各种基本逻辑门或素数节点。
步骤S108,判断目标逻辑节点的支持集中的输入变量数目是否小于或等于预设阈值。
若小于或等于,则执行下述步骤S110;若大于,则执行下述步骤S112。
步骤S110,对目标逻辑节点进行精确综合处理,以将目标逻辑节点分解为若干基本逻辑门。
在确定目标逻辑节点不能直接使用基本逻辑门表示之后,本发明实施例进一步判断目标逻辑节点的支持集中的输入变量数目是否小于或等于预设阈值,本发明实施例不对预设阈值的取值进行具体限定,用户可以根据实际需求进行设置,例如,预设阈值取值为4。预设阈值的取值越小,精确综合处理的难度越小,对目标逻辑节点进行处理的速度越快,反之,难度越大,速度越慢。
如果确定目标逻辑节点的支持集中的输入变量数目小于或等于预设阈值,则本发明实施例直接对目标逻辑节点进行精确综合处理(exact synthesis),精确综合能够得到目标逻辑节点的最优解,精确综合的结果形式是若干基本逻辑门。也即,在此情况下,目标逻辑节点使用精确综合结果代替,然后更新当前逻辑网表。
步骤S112,基于不相交支持集分解条件和多数逻辑门分解条件从预设分解算法中选择目标算法,以基于目标算法对目标逻辑节点进行分解,并基于分解结果更新当前逻辑网表。
其中,预设分解算法包括:不相交支持集分解法,多数逻辑门分解法和香农分解法。
如果目标逻辑节点的支持集中输入变量较多,则无法使用精确综合直接处理,此时需要进一步根据不相交支持集分解条件和多数逻辑门分解条件,从不相交支持集分解法,多数逻辑门分解法和香农分解法中选择一种适合的方法对目标逻辑节点进行分解,也即,当确定无法使用精确综合处理之后,本发明实施例并不是直接使用常规的香农分解法对逻辑节点进行分解,而是增加了不相交支持集分解和多数逻辑门分解作为可选条件,如果满足不相交支持集分解条件则使用不相交支持集分解法对目标逻辑节点进行分解,如果不满足,再考虑多数逻辑门分解,如果上述两种条件均不满足,则使用香农分解法进行分解。上文中所提供的函数分解法在整个待分解布尔逻辑函数上递归执行,直至待分解布尔逻辑函数由基本逻辑门构成的有向无环图表示。
本发明提供的异或多数逻辑的逻辑函数分解方法,综合了精确综合、不相交支持集分解、多数逻辑门分解、以及香农分解的逻辑函数分解方法,优化了逻辑函数的分解流程,可以快速地将异或多数逻辑的逻辑函数转化为由基本逻辑门构成的有向无环图,有效地提升了逻辑函数的分解效率,降低了有向无环图中的节点数量和层级,减少了生成异或多数逻辑图时的复杂度,为后续的电路优化提供了更好的初始解。
在一个可选的实施方式中,在判断目标逻辑节点的支持集中的输入变量数目是否小于或等于预设阈值之前,本发明方法还包括如下步骤:
步骤S1071,计算目标输入变量关于目标逻辑节点的正余子式和负余子式。
其中,目标输入变量表示目标逻辑节点的所有输入变量中的任一输入变量。
已知待分解布尔逻辑函数表示为:,且/>,初始状态下,当前逻辑网表中只有一个逻辑节点,也即函数/>(记为/>),那么目标布尔输入变量/>关于目标逻辑节点/>的正余子式记为:/>;目标布尔输入变量/>关于目标逻辑节点/>的负余子式记为:/>。也即,正、负余子式就是分别将/>=1和/>=0带入逻辑表达式。
步骤S1072,基于正余子式和负余子式计算目标逻辑节点关于目标输入变量的布尔差分。
步骤S1073,基于目标逻辑节点的所有输入变量对应的布尔差分,确定目标逻辑节点的支持集中的输入变量数目。
在得到正余子式和负余子式之后,计算目标逻辑节点关于目标输入变量的布尔差分表示为:。其中,“/>”为异或逻辑运算符,“/>”为与运算符,“+”为或运算符。如果/>不为0,那么/>属于/>的支持集。基于相同的处理方法计算目标逻辑节点关于每一个输入变量的布尔差分,进而将非0结果对应的输入变量存入目标逻辑节点/>的支持集,从而可确定出目标逻辑节点/>的支持集中输入变量的总数。
在一个可选的实施方式中,上述步骤S112中,基于不相交支持集分解条件和多数逻辑门分解条件从预设分解算法中选择目标算法,具体包括如下步骤:
步骤S1121,基于不相交支持集分解条件判断目标逻辑节点是否支持不相交支持集分解。
若支持,则执行下述步骤S1122;若不支持,则执行下述步骤S1123。
步骤S1122,将不相交支持集分解法作为目标算法。
步骤S1123,判断目标逻辑节点的目标输入变量是否满足多数逻辑门分解条件。
若是,则执行下述步骤S1124;若否,则执行下述步骤S1125。
步骤S1124,将多数逻辑门分解法作为目标算法。
步骤S1125,将香农分解法作为目标算法。
基于以上内容可知,本发明实施例在确定目标逻辑节点无法使用精确综合方法进行分解时,首先利用不相交支持集分解条件判断目标逻辑节点是否支持不相交支持集分解,其中,不相交支持集分解条件是若干余子式相关的公式,包括:自上而下分解(Top-Decomposition)的多个公式,自下而上分解(Bottom-Decomposition)的多个公式,二选一多路复用器的不相交支持集分解方法(MUX supported DSD)的公式。
如果目标逻辑节点的输入变量中能够命中上述其中一种公式,那么说明目标逻辑节点支持不相交支持集分解,在此情况下,选择不相交支持集分解法作为目标算法;否则进一步判断目标逻辑节点的目标输入变量是否满足多数逻辑门分解条件,如果满足,则选择多数逻辑门分解法作为目标算法;如果不满足,则选择香农分解法作为目标算法。
一般地,只有在进行香农分解时,分解结果中可能分解出二选一多路复用器,而本发明实施例中,引入了对二选一多路复用器的不相交支持集分解判定,改变了原本仅能采用香农分解的限制,使得能够在分解流程的更早阶段应用二选一多路复用器进行分解,从而优化了分解流程效率,并最终降低了有向无环图中的节点数量和层级。
在一个可选的实施方式中,若将不相交支持集分解法作为目标算法,则上述步骤S112中,基于目标算法对目标逻辑节点进行分解,具体包括如下内容:
首先,基于不相交支持集分解条件从目标逻辑节点的输入变量中命中待分解的输入变量;然后,利用待分解的输入变量、相应的基本逻辑门和剩余输入变量替代目标逻辑节点;其中,剩余输入变量表示从目标逻辑节点的输入变量中剔除待分解的输入变量后的输入变量。
本发明实施例中,不相交支持集分解包括:自上而下分解、自下而上分解和二选一多路复用器的不相交支持集分解,不相交支持集分解条件即为上述三种分解方法的相关公式,下面分别对以上三种分解方法的分解条件进行具体介绍。
判断目标逻辑节点是否可以进行自上而下分解,那么应该参考以下分解条件及相对应的分解方式:。其中,“/>”表示真(true),“/>”表示假(false),/>表示/>的反相,/>表示将目标逻辑节点分解后代替目标逻辑节点的函数。
以上述第一条公式所表征的分解条件及相对应的分解方式为例进行解释说明,表示如果输入变量/>关于目标逻辑节点/>的正余子式/>为真,则在对目标逻辑节点进行分解时,从目标逻辑节点的输入变量中命中的待分解的输入变量即为:,“相应的基本逻辑门”为逻辑“或”,目标逻辑节点具体分解为:/>与其负余子式进行“或”运算,其中,负余子式是由剩余输入变量构成的表达式。也即,/>与/>的负余子式共同作为新的逻辑函数/>的输入。
判断目标逻辑节点是否可以进行自下而上分解,那么应该参考以下分解条件及相对应的分解方式:;其中,,/>,,/>,ite是if-then-else的缩写,故ite(A,B,C)的意思就是如果A是真就返回B,否则返回C,/>表示将目标逻辑节点分解后代替目标逻辑节点的函数。
同理,以第一条公式所表征的分解条件及相对应的分解方式为例进行解释说明,表示如果满足/>,则从目标逻辑节点的输入变量中命中的待分解的输入变量即为:/>和/>,“相应的基本逻辑门”为逻辑“或”,并且,如果/>为真,则确定函数/>的真值表与/>的真值表一致;如果/>为假,则确定函数/>的真值表与/>的真值表一致。并且,最终得到的目标逻辑节点的分解结果为:将/>和/>作为逻辑“或”的输入,并将逻辑“或”的输出与剩余输入变量共同作为新的逻辑函数/>的输入。
如果要判断目标逻辑节点是否可以进行二选一多路复用器的不相交支持集分解方法,那么应该参考以下分解条件,注意,MUX DSD分解需要满足以下所有公式:;其中,第1个公式表示输入变量/>关于目标逻辑节点/>的正余子式/>与输入变量/>关于目标逻辑节点/>的正余子式/>不相等,第2个公式表示在输入变量/>与输入变量/>同时为真时目标逻辑节点/>为假,第3个公式表示/>时/>为0,第4个公式表示时/>为0,第5个和第6个公式是关于/>的条件,它们表示在/>,/>,或/>,时,在/>的所有取值上/>都为零,即无论/>还是/>,/>都是0。
如果满足上述二选一多路复用器的不相交支持集分解条件,那么从目标逻辑节点的输入变量中命中的待分解的输入变量即为:,/>和/>,“相应的基本逻辑门”即为二选一多路复用器,对目标逻辑节点分解即为:从/>的输入变量中分离出/>,/>和/>,并将上述三个变量作为二选一多路复用器的输入,然后再将该二选一多路复用器的输出与剩余输入变量共同作为新的逻辑函数/>的输入。
在一个可选的实施方式中,若多数逻辑门为三输入多数逻辑门,则上述步骤S1123,判断目标逻辑节点的目标输入变量是否满足多数逻辑门分解条件,具体包括如下步骤:
步骤S11231,获取目标输入变量关于目标逻辑节点的正余子式和负余子式。
步骤S11232,计算正余子式的反相结果与负余子式的乘积,得到乘积结果。
若乘积结果等于0,则执行下述步骤S11233;若乘积结果等于1,则执行下述步骤S11234。
步骤S11233,确定目标逻辑节点的目标输入变量满足多数逻辑门分解条件;
步骤S11234,确定目标逻辑节点的目标输入变量不满足多数逻辑门分解条件。
如果目标逻辑节点无法使用不相交支持集分解,那么这个节点所代表的函数可称为素数函数(prime function),此时根据目标输入变量关于目标逻辑节点的正余子式和负余子式/>,计算正余子式的反相结果与负余子式的乘积,也即/>,如果/>,则确定目标逻辑节点的目标输入变量满足多数逻辑门分解条件;否则,确定目标逻辑节点的目标输入变量不满足多数逻辑门分解条件。
在一个可选的实施方式中,若将多数逻辑门分解法作为目标算法,则上述步骤S112中,基于目标算法对目标逻辑节点进行分解,具体包括如下内容:使用多数逻辑门和多数逻辑门的输入变量替代目标逻辑节点。
以多数逻辑门为三输入多数逻辑门为例,如果确定目标输入变量关于目标逻辑节点的正余子式和负余子式/>满足/>,则当前逻辑网表中的目标逻辑节点可以使用三个输入变量分别为:/>,/>和/>的多数逻辑门代替。
基于上文中所提供的方法对图2中的逻辑网表进行递归分解,直至整个待分解布尔逻辑函数已经变为由对应逻辑门节点组成的图,图3为对图2中的逻辑网表分解完成的结果示意图,图3中的每个椭圆形节点为对应的基本逻辑门,图3中,矩形0表示false,矩形1表示true。程序运行所得到的对应bench文件内容如下:
1 INPUT(n2)
2 INPUT(n3)
3 INPUT(n4)
4 INPUT(n5)
5 INPUT(n6)
6 INPUT(n7)
7 INPUT(n8)
8 INPUT(n9)
9 INPUT(n10)
10 INPUT(n11)
11 INPUT(n12)
12 OUTPUT(po0)
13 n0 = gnd
14 n1 = vdd
15 n13 = LUT 0x8 (n8, n1)
16 n14 = LUT 0x6(n7, n13)
17 n15 = LUT 0x8(n7, n1)
18 n16 = LUT 0x6(n6, n15)
19 n17 = LUT 0x6(n5, n6)
20 n18 = LUT 0x6(n4, n5)
21 n19 = LUT 0x6(n3, n4)
22 n20 = LUT 0x8(n3, n6)
23 n21 = LUT 0x6 (n2, n20)
24 n22 = LUT 0xd8 (n7, n19, n21)
25 n23 = LUT 0xd8 (n8, n18, n22)
26 n24 = LUT 0xd8 (n9, n17, n23)
27 n25 = LUT 0xd8 (n10, n16, n24)
28 n26 = LUT 0xd8 (n11, n14, n25)
29 n27 = LUT 0xd8 (n12, n9, n26)
30 po0 = LUT 0x2 (n27)
其中,真值表为0xd8的n22,n23,n24,n25,n26,n27即为分解得到的二选一多路复用器门。为得到异或多数逻辑图,对所有节点进行等价替换得到的结果可参考图4。
上述分解方法中所涉及的与门、或门、异或门、三输入多数逻辑门、二选一多路复用器是二输入或三输入的,用户还可以根据实际需求将这些基本逻辑门扩展为多输入,即三输入、四输入、五输入等。
综上所述,与现有技术相比,本发明实施例的优点在于综合了不相交支持集分解、多数逻辑门分解、香农分解以及精确综合等多种方法。特别地,本发明引入了对二选一多路复用器的不相交支持集分解判定,改变了原本仅能采用香农分解的限制,使得能够在分解流程的更早阶段应用二选一多路复用器进行分解,从而优化了分解流程效率并最终降低了有向无环图中的节点数量和层级。这使得本发明可以快速将布尔逻辑函数转化为有向无环图,减少了生成异或多数逻辑图时的复杂度,为后续的优化提供了更好的初始解。本发明拓展了现有的分解方法,能够更好地分解布尔函数,对逻辑综合的工艺无关优化具有重要实际意义。
实施例二
本发明实施例还提供了一种异或多数逻辑的逻辑函数分解装置,该装置主要用于执行上述实施例一所提供的异或多数逻辑的逻辑函数分解方法,以下对本发明实施例提供的异或多数逻辑的逻辑函数分解装置做具体介绍。
图5是本发明实施例提供的一种异或多数逻辑的逻辑函数分解装置的功能模块图,如图5所示,该装置主要包括:获取模块11,重复执行模块12(图5中未示出),第一判断模块13,替代模块14,第二判断模块15,精确综合处理模块16,选择和分解模块17,其中:
获取模块11,用于获取待分解布尔逻辑函数的逻辑网表和真值表。
重复执行模块12,用于重复执行下述步骤,直至将待分解布尔逻辑函数分解为由基本逻辑门构成的有向无环图。
第一判断模块13,用于判断当前逻辑网表中目标逻辑节点的真值表是否与目标基本逻辑门的真值表相匹配;其中,目标逻辑节点表示当前逻辑网表中的任一逻辑节点;目标基本逻辑门表示多种基本逻辑门中的任一基本逻辑门。
替代模块14,用于在确定匹配的情况下,使用目标基本逻辑门替代目标逻辑节点。
第二判断模块15,用于在确定不匹配的情况下,判断目标逻辑节点的支持集中的输入变量数目是否小于或等于预设阈值。
精确综合处理模块16,用于在确定小于或等于的情况下,对目标逻辑节点进行精确综合处理,以将目标逻辑节点分解为若干基本逻辑门。
选择和分解模块17,用于在确定大于的情况下,基于不相交支持集分解条件和多数逻辑门分解条件从预设分解算法中选择目标算法,以基于目标算法对目标逻辑节点进行分解,并基于分解结果更新当前逻辑网表;其中,预设分解算法包括:不相交支持集分解法,多数逻辑门分解法和香农分解法。
本发明提供的异或多数逻辑的逻辑函数分解装置,综合了精确综合、不相交支持集分解、多数逻辑门分解、以及香农分解的逻辑函数分解方法,优化了逻辑函数的分解流程,可以快速地将异或多数逻辑的逻辑函数转化为由基本逻辑门构成的有向无环图,有效地提升了逻辑函数的分解效率,降低了有向无环图中的节点数量和层级,减少了生成异或多数逻辑图时的复杂度,为后续的电路优化提供了更好的初始解。
可选地,该装置还包括:
第一计算模块,用于计算目标输入变量关于目标逻辑节点的正余子式和负余子式;其中,目标输入变量表示目标逻辑节点的所有输入变量中的任一输入变量。
第二计算模块,用于基于正余子式和负余子式计算目标逻辑节点关于目标输入变量的布尔差分。
确定模块,用于基于目标逻辑节点的所有输入变量对应的布尔差分,确定目标逻辑节点的支持集中的输入变量数目。
可选地,选择和分解模块17,包括:
第一判断单元,用于基于不相交支持集分解条件判断目标逻辑节点是否支持不相交支持集分解。
第一确定单元,用于在确定支持的情况下,将不相交支持集分解法作为目标算法。
第二判断单元,用于在确定不支持的情况下,判断目标逻辑节点的目标输入变量是否满足多数逻辑门分解条件。
第二确定单元,用于在确定满足的情况下,将多数逻辑门分解法作为目标算法。
第三确定单元,用于在确定不满足的情况下,将香农分解法作为目标算法。
可选地,若多数逻辑门为三输入多数逻辑门,则第二判断单元具体用于:
获取目标输入变量关于目标逻辑节点的正余子式和负余子式。
计算正余子式的反相结果与负余子式的乘积,得到乘积结果。
若乘积结果等于0,则确定目标逻辑节点的目标输入变量满足多数逻辑门分解条件。
若乘积结果等于1,则确定目标逻辑节点的目标输入变量不满足多数逻辑门分解条件。
可选地,若将不相交支持集分解法作为目标算法,则选择和分解模块具体用于:
基于不相交支持集分解条件从目标逻辑节点的输入变量中命中待分解的输入变量。
利用待分解的输入变量、相应的基本逻辑门和剩余输入变量替代目标逻辑节点;其中,剩余输入变量表示从目标逻辑节点的输入变量中剔除待分解的输入变量后的输入变量。
可选地,若将多数逻辑门分解法作为目标算法,则选择和分解模块具体用于:
使用多数逻辑门和多数逻辑门的输入变量替代目标逻辑节点。
可选地,基本逻辑门包括:与门,或门,异或门,二选一多路复用器和多数逻辑门。
实施例三
参见图6,本发明实施例提供了一种电子设备,该电子设备包括:处理器60,存储器61,总线62和通信接口63,所述处理器60、通信接口63和存储器61通过总线62连接;处理器60用于执行存储器61中存储的可执行模块,例如计算机程序。
其中,存储器61可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线62可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器61用于存储程序,所述处理器60在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的过程定义的装置所执行的方法可以应用于处理器60中,或者由处理器60实现。
处理器60可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器60中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器60可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器61,处理器60读取存储器61中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的一种异或多数逻辑的逻辑函数分解方法、装置和电子设备的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,术语“水平”、“竖直”、“悬垂”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种异或多数逻辑的逻辑函数分解方法,其特征在于,包括:
获取待分解布尔逻辑函数的逻辑网表和真值表;
重复执行下述步骤,直至将所述待分解布尔逻辑函数分解为由基本逻辑门构成的有向无环图;
判断当前逻辑网表中目标逻辑节点的真值表是否与目标基本逻辑门的真值表相匹配;其中,所述目标逻辑节点表示所述当前逻辑网表中的任一逻辑节点;所述目标基本逻辑门表示多种基本逻辑门中的任一基本逻辑门;
若是,则使用所述目标基本逻辑门替代所述目标逻辑节点;
若否,则判断所述目标逻辑节点的支持集中的输入变量数目是否小于或等于预设阈值;
若小于或等于,则对所述目标逻辑节点进行精确综合处理,以将所述目标逻辑节点分解为若干基本逻辑门;
若大于,则基于不相交支持集分解条件和多数逻辑门分解条件从预设分解算法中选择目标算法,以基于所述目标算法对所述目标逻辑节点进行分解,并基于分解结果更新所述当前逻辑网表;其中,所述预设分解算法包括:不相交支持集分解法,多数逻辑门分解法和香农分解法。
2.根据权利要求1所述的异或多数逻辑的逻辑函数分解方法,其特征在于,所述方法还包括:
计算目标输入变量关于所述目标逻辑节点的正余子式和负余子式;其中,所述目标输入变量表示所述目标逻辑节点的所有输入变量中的任一输入变量;
基于所述正余子式和所述负余子式计算所述目标逻辑节点关于所述目标输入变量的布尔差分;
基于所述目标逻辑节点的所有输入变量对应的布尔差分,确定所述目标逻辑节点的支持集中的输入变量数目。
3.根据权利要求2所述的异或多数逻辑的逻辑函数分解方法,其特征在于,基于不相交支持集分解条件和多数逻辑门分解条件从预设分解算法中选择目标算法,包括:
基于不相交支持集分解条件判断所述目标逻辑节点是否支持不相交支持集分解;
若支持,则将不相交支持集分解法作为所述目标算法;
若不支持,则判断所述目标逻辑节点的目标输入变量是否满足多数逻辑门分解条件;
若是,则将多数逻辑门分解法作为所述目标算法;
若否,则将香农分解法作为所述目标算法。
4.根据权利要求3所述的异或多数逻辑的逻辑函数分解方法,其特征在于,若所述多数逻辑门为三输入多数逻辑门,则判断所述目标逻辑节点的目标输入变量是否满足多数逻辑门分解条件,包括:
获取所述目标输入变量关于所述目标逻辑节点的正余子式和负余子式;
计算所述正余子式的反相结果与所述负余子式的乘积,得到乘积结果;
若所述乘积结果等于0,则确定所述目标逻辑节点的目标输入变量满足多数逻辑门分解条件;
若所述乘积结果等于1,则确定所述目标逻辑节点的目标输入变量不满足多数逻辑门分解条件。
5.根据权利要求3所述的异或多数逻辑的逻辑函数分解方法,其特征在于,若将不相交支持集分解法作为所述目标算法,则基于所述目标算法对所述目标逻辑节点进行分解,包括:
基于所述不相交支持集分解条件从所述目标逻辑节点的输入变量中命中待分解的输入变量;
利用所述待分解的输入变量、相应的基本逻辑门和剩余输入变量替代所述目标逻辑节点;其中,所述剩余输入变量表示从所述目标逻辑节点的输入变量中剔除所述待分解的输入变量后的输入变量。
6.根据权利要求3所述的异或多数逻辑的逻辑函数分解方法,其特征在于,若将多数逻辑门分解法作为所述目标算法,则基于所述目标算法对所述目标逻辑节点进行分解,包括:
使用多数逻辑门和所述多数逻辑门的输入变量替代所述目标逻辑节点。
7.根据权利要求1所述的异或多数逻辑的逻辑函数分解方法,其特征在于,所述基本逻辑门包括:与门,或门,异或门,二选一多路复用器和多数逻辑门。
8.一种异或多数逻辑的逻辑函数分解装置,其特征在于,包括:
获取模块,用于获取待分解布尔逻辑函数的逻辑网表和真值表;
重复执行模块,用于重复执行下述步骤,直至将所述待分解布尔逻辑函数分解为由基本逻辑门构成的有向无环图;
第一判断模块,用于判断当前逻辑网表中目标逻辑节点的真值表是否与目标基本逻辑门的真值表相匹配;其中,所述目标逻辑节点表示所述当前逻辑网表中的任一逻辑节点;所述目标基本逻辑门表示多种基本逻辑门中的任一基本逻辑门;
替代模块,用于在确定匹配的情况下,使用所述目标基本逻辑门替代所述目标逻辑节点;
第二判断模块,用于在确定不匹配的情况下,判断所述目标逻辑节点的支持集中的输入变量数目是否小于或等于预设阈值;
精确综合处理模块,用于在确定小于或等于的情况下,对所述目标逻辑节点进行精确综合处理,以将所述目标逻辑节点分解为若干基本逻辑门;
选择和分解模块,用于在确定大于的情况下,基于不相交支持集分解条件和多数逻辑门分解条件从预设分解算法中选择目标算法,以基于所述目标算法对所述目标逻辑节点进行分解,并基于分解结果更新所述当前逻辑网表;其中,所述预设分解算法包括:不相交支持集分解法,多数逻辑门分解法和香农分解法。
9.一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的异或多数逻辑的逻辑函数分解方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现权利要求1至7中任一项所述的异或多数逻辑的逻辑函数分解方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311843762.3A CN117494622B (zh) | 2023-12-29 | 2023-12-29 | 一种异或多数逻辑的逻辑函数分解方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311843762.3A CN117494622B (zh) | 2023-12-29 | 2023-12-29 | 一种异或多数逻辑的逻辑函数分解方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117494622A CN117494622A (zh) | 2024-02-02 |
CN117494622B true CN117494622B (zh) | 2024-03-01 |
Family
ID=89678635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311843762.3A Active CN117494622B (zh) | 2023-12-29 | 2023-12-29 | 一种异或多数逻辑的逻辑函数分解方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117494622B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259609A (zh) * | 2020-01-17 | 2020-06-09 | 宁波大学 | 一种数字电路逻辑函数的最佳蕴含逻辑表示方法 |
CN114781296A (zh) * | 2022-04-27 | 2022-07-22 | 山东大学 | 一种基于矩阵分解的逻辑电路简化方法及系统 |
CN116341441A (zh) * | 2023-05-22 | 2023-06-27 | 芯行纪科技有限公司 | 对数字逻辑电路进行优化的方法及相关设备 |
CN116822422A (zh) * | 2023-08-31 | 2023-09-29 | 芯行纪科技有限公司 | 数字逻辑电路的分析优化方法及相关设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6938223B2 (en) * | 2001-02-15 | 2005-08-30 | Zenasis Technologies, Inc. | Logic circuit having a functionally redundant transistor network |
US10394988B2 (en) * | 2014-02-20 | 2019-08-27 | Ecole Polytechnique Federale De Lausanne (Epfl) | Majority logic synthesis |
US9685959B2 (en) * | 2014-09-12 | 2017-06-20 | Ecole Polytechnique Federale De Lausanne (Epfl) | Method for speeding up boolean satisfiability |
US10380309B2 (en) * | 2015-06-01 | 2019-08-13 | Ecole Polytechnique Federale De Lausanne (Epfl) | Boolean logic optimization in majority-inverter graphs |
-
2023
- 2023-12-29 CN CN202311843762.3A patent/CN117494622B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259609A (zh) * | 2020-01-17 | 2020-06-09 | 宁波大学 | 一种数字电路逻辑函数的最佳蕴含逻辑表示方法 |
CN114781296A (zh) * | 2022-04-27 | 2022-07-22 | 山东大学 | 一种基于矩阵分解的逻辑电路简化方法及系统 |
CN116341441A (zh) * | 2023-05-22 | 2023-06-27 | 芯行纪科技有限公司 | 对数字逻辑电路进行优化的方法及相关设备 |
CN116822422A (zh) * | 2023-08-31 | 2023-09-29 | 芯行纪科技有限公司 | 数字逻辑电路的分析优化方法及相关设备 |
Non-Patent Citations (3)
Title |
---|
Haaswijk W et al..SAT-based exact synthesis: encodings, topology families,and parallelism.《IEEE》.2020,第871-884页. * |
储著飞 等.基于布尔可满足性的精确逻辑综合综述.《电子与信息学报》.2023,第14-23页. * |
张会红 等.基于余子式的组合逻辑电路覆盖等效性检测算法.《计算机辅助设计与图形学学报》.2017,第180-186页. * |
Also Published As
Publication number | Publication date |
---|---|
CN117494622A (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alaghi et al. | Exploiting correlation in stochastic circuit design | |
Mrazek et al. | Scalable construction of approximate multipliers with formally guaranteed worst case error | |
De Dinechin et al. | Automatic generation of polynomial-based hardware architectures for function evaluation | |
US8434036B2 (en) | Arithmetic program conversion apparatus, arithmetic program conversion method, and program | |
EP3286635A1 (en) | High performance division and root computation unit | |
CN116205171B (zh) | 电源开关单元的匹配方法、装置、设备及存储介质 | |
CN116542190B (zh) | 用户设计综合方法、装置、设备、介质及产品 | |
CN116341441B (zh) | 对数字逻辑电路进行优化的方法及相关设备 | |
CN116466910A (zh) | 一种基于浮点数的查表方法、装置、电子设备及存储介质 | |
CN111936965A (zh) | 随机舍入逻辑 | |
CN117494622B (zh) | 一种异或多数逻辑的逻辑函数分解方法、装置和电子设备 | |
JP6362318B2 (ja) | 半導体集積回路設計支援装置、方法及びプログラム | |
US20140164462A1 (en) | Residue-based error detection for a processor execution unit that supports vector operations | |
US6190433B1 (en) | Method of recovering a gate-level netlist from a transistor-level | |
KR102228995B1 (ko) | 여러 가지 수치 포맷의 데이터를 갖는, 데이터 베이스화된 함수 모델의 연산을 위한 모델 연산 유닛 및 제어 장치 | |
WO2011074029A1 (ja) | 集積回路消費電力計算装置,処理方法およびプログラム | |
CN113535722A (zh) | 基于映射的dag溯源取样方法、系统、设备及存储介质 | |
CN115729554A (zh) | 一种形式化验证约束求解的方法及相关设备 | |
JP2011186999A (ja) | 浮動小数点表現プログラムの固定小数点表現化支援装置及び支援プログラム | |
Sravya et al. | Hardware posit numeration system primarily based on arithmetic operations | |
GB2542162A (en) | Trailing or leading digit anticipator | |
Echeverria et al. | FPGA gaussian random number generator based on quintic hermite interpolation inversion | |
US11182524B1 (en) | Fixing device for clock tree and fixing method thereof | |
Sedighi et al. | A heuristic algorithm for high level synthesis of decimal arithmetic circuits using SystemC | |
JP5915154B2 (ja) | 集積回路最適化プログラム及び集積回路最適化装置 |
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 |