CN109639267B - 一种异或-多数逻辑图中的反相器数量优化方法 - Google Patents
一种异或-多数逻辑图中的反相器数量优化方法 Download PDFInfo
- Publication number
- CN109639267B CN109639267B CN201811414894.3A CN201811414894A CN109639267B CN 109639267 B CN109639267 B CN 109639267B CN 201811414894 A CN201811414894 A CN 201811414894A CN 109639267 B CN109639267 B CN 109639267B
- Authority
- CN
- China
- Prior art keywords
- inverters
- node
- xmg
- optimization
- logic
- 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
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/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
- H03K19/21—EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
-
- 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
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
本发明公开的异或‑多数逻辑图中的反相器数量优化方法,首先计算XMG中反相器总数并判断XMG中任意一个结点是多数逻辑结点还是异或逻辑结点,然后反复执行优化步骤,且一级优化与二级优化交替执行,直到达到最优的反相器数量为止。本发明不改变XMG的结构,降低了XMG中反相器的数量。本发明方法在基准电路中平均优化17.3%,在应用到量子元胞自动机(QCA)中有2.1%的平均优化。本发明方法能有效降低XMG中反相器的数量,为EDA设计减少成本,同时丰富逻辑综合中反相器优化的研究方法。本发明为异或‑多数逻辑图中的反相器数量的优化提供了一种新思路,既提出了新的设计优化方法,又降低了设计成本,对EDA的发展具有较强的现实意义和实践意义。
Description
技术领域
本发明涉及一种逻辑表达图形的优化方法,具体是一种异或-多数逻辑图(XOR-Majority Graphs,XMGs)中的反相器数量优化方法。
背景技术
XMG(XOR-Majority Graph)是由异或(XOR)、三输入多数门(Majority-of-three)和反相器组成的逻辑表达图形。在过去的几十年里,逻辑综合已经从异构逻辑表达转向同构逻辑表达,这是因为同构逻辑表达具有统一的数据结构,易于操作并且使用较少的内存。为了对算术操作更好的支持和得到更紧凑的逻辑图形表达,研究者在同构逻辑表达图形MIG(Majority-Inverter Graph)中引入了XOR操作,提出了异构逻辑表达图形表示XMG。现如今,XMG已被广泛应用于量子电路综合、精确综合等,对集成电路设计自动化的发展起到巨大的推动作用。
逻辑表达图形直接对应着相应的电路实现,对于一些纳米电路,实现反相器的成本远高于多操作数运算符的物理实现,例如在量子细胞自动机(Quantum-dot CellularAutomata,QCA)中,一个反相器由十三个细胞单元构成,比一个三输入多数逻辑门所使用的细胞数要多一倍。因此,本发明提出一种异或-多数逻辑图中的反相器数量优化方法,通过改变反相器的分布,利用反相器传输规则减少XMG中反相器数量而不改变逻辑功能,从而得到优化的纳米电路设计。
发明内容
本发明所要解决的技术问题是,针对现有技术的不足,提供一种异或-多数逻辑图中的反相器数量优化方法,该方法首先计算XMG中反相器总数并判断XMG中任意一个结点是多数逻辑结点(即Majority结点)还是异或逻辑结点(即XOR结点),然后反复执行优化步骤,且一级优化与二级优化交替执行,直到达到最优的反相器数量为止。本发明优化方法在整个优化过程中,不改变XMG的结构,同时降低了XMG中反相器的数量。本发明方法能有效降低XMG中反相器的数量,为EDA设计减少成本,同时丰富逻辑综合中反相器优化的研究方法。
本发明解决上述技术问题所采用的技术方案为:一种异或-多数逻辑图中的反相器数量优化方法,包括以下步骤:
步骤①:计算出XMG中反相器初始总数C1;
步骤②:对于XMG中任一结点q,根据该结点的输入连接线的条数M判断该结点的类型,如果M=3,则判断该结点为多数逻辑结点;如果M=2,则判断该结点为异或逻辑结点;
步骤③:判断结点q执行反相器传输规则前后所引起的反相器数量的改进值,记为savings;
对于多数逻辑结点,满足如下反相器传输规则(1)或(2)或(3):
对于异或逻辑结点,满足如下反相器传输规则(4)或(5):
式(1)~(3)中,“<>”表示多数逻辑运算,x、y、z表示任一多数逻辑结点的三个输入,x、y、z上的横线表示该多数逻辑结点的输入连接线上有反相器,“=”表示等式左右两个多数逻辑结点的逻辑功能一致;式(4)~(5)中,表示异或逻辑运算,m、n表任一异或逻辑结点的两个输入,m、n上的横线表示该异或逻辑结点的输入连接线上有反相器;
针对任一多数逻辑结点,记A1为该多数逻辑结点的输入连接线和输出连接线上的所有反相器的数量,B1为该多数逻辑结点的输入连接线和输出连接线上没有反相器的连接线的数量,记S1为该多数逻辑结点的savings值:
S1=A1-B1 (6)
针对任一异或逻辑结点,记A2为该异或逻辑结点的输入连接线和输出连接线上的所有反相器的数量,B2为该异或逻辑结点的输入连接线和输出连接线上没有反相器的连接线的数量,C为修正参数,记S2为该异或逻辑结点的savings值:
S2=A2-B2+C (7)
S2的计算分三种情况:
1)当该异或逻辑结点的输入连接线上没有反相器时,C=-1,则S2=A2-B2-1;
2)当该异或逻辑结点的输入连接线上只有一个反相器时,C=1,则S2=A2-B2+1;
3)当该异或逻辑结点的输入连接线上有两个反相器时,对于该异或逻辑结点的所有输出连接线,若存在反相器的输出连接线数量小于或等于没有反相器的输出连接线数量,则直接令S2=2;否则按照公式(7)计算,此时令C=1,则S2=A2-B2+1;
计算出savings值S1或者S2后,如果S1为正数,则在XMG中执行反相器传输规则(1)或(2)或(3),转至步骤⑤;如果S2为正数,则在XMG中执行反相器传输规则(4)或(5),转至步骤⑤;如果S1或者S2为负数,则执行步骤④;
步骤④:定义结点集合Q由结点q及与q的输出连接线相连接的所有结点组成,判断集合Q中所有结点执行反相器传输规则前后所引起的反相器数量的改进值,记为savings_two_level;针对集合Q中的每个结点,分别按照步骤②判断结点的类型,并分别按照结点的类型调用式(6)或式(7)计算savings值,则savings_two_level为集合Q中所有结点的savings值之总和;如果savings_two_level为正数,则分别对集合Q中所有结点在XMG中按照结点的类型执行相应的反相器传输规则,否则执行步骤⑤;
步骤⑤:遍历XMG中下一个结点,重复步骤②~④,直到将XMG中所有结点遍历一遍为止,完成对XMG中反相器数量的第一遍优化;
步骤⑥:完成对XMG中反相器数量的第一遍优化后,计算当前XMG中反相器总数C2,比较当前XMG中反相器总数C2与执行步骤②~⑤之前的XMG中反相器初始总数C1,如果C2=C1,则说明第一遍优化已得到XMG中反相器数量的最优结果,优化结束;如果C2﹤C1,则以该当前XMG中反相器总数C2作为第二遍优化前XMG中反相器初始总数,再次执行步骤②~⑤进行第二遍优化,如此循环进行第i遍优化,i为等于或大于2的正整数,直至第i遍优化后XMG中反相器总数与第i遍优化前XMG中反相器初始总数相等,则说明已得到XMG中反相器数量的最优结果,优化结束。
与现有技术相比,本发明的优点在于:本发明基于对XMG的基础研究,针对当今的XMG在其主要应用的量子电路中反相器代价较大的问题,提出一种异或-多数逻辑图中的反相器数量优化方法。该方法首先计算XMG中反相器总数并判断XMG中任意一个结点是多数逻辑结点(即Majority结点)还是异或逻辑结点(即XOR结点),然后反复执行优化步骤,且一级优化与二级优化交替执行,直到达到最优的反相器数量为止。本发明优化方法在整个优化过程中,不改变XMG的结构,同时降低了XMG中反相器的数量。本发明所提出的优化方法在基准电路中平均优化17.3%,在应用到量子元胞自动机(QCA)中有2.1%的平均优化。本发明方法能有效降低XMG中反相器的数量,为EDA设计减少成本,同时丰富逻辑综合中反相器优化的研究方法。本发明为异或-多数逻辑图中的反相器数量的优化提供了一种新思路,既在优化方面提出了新的设计优化方法,又降低了设计成本,对EDA的发展具有较强的现实意义和实践意义。
附图说明
图1为量子元胞自动机的布图表示;
图2为一个简单的XMG示例。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
图1所示是量子元胞自动机的布图表示,其中图1(a)为三输入多数门,图1(b)为反相器,图1(c)为异或(即XOR)的量子元胞自动机表示。从图1可以看出,一个反相器由13个细胞构成,三输入多数门量子细胞数为5,XOR包含12个细胞。在XMG中,对于量子元胞自动机来说,优化反相器的数量可以大幅减少其所需的细胞数。
图2所示是一个简单的XMG优化过程示例,其中图2(a)为该XMG优化前的结构示意图,图2(b)为该XMG一级优化后的结构示意图,图2(c)为该XMG二级优化后的结构示意图。图2中,结点a、b是三输入多数门(即Majority结点),结点c是一个XOR结点。Majority结点与XOR结点之间连接线上的黑点表示反相器。本发明的优势是在不改变连接线和结点(即不改变XMG的结构)的情况下,通过反相器传输规则,起到减少反相器数量的优化作用。
采用本发明优化方法对图2(a)所示XMG中反相器进行优化,优化过程包括以下步骤:
步骤①:计算出XMG中反相器初始总数C1,计算得到C1为6;
步骤②:对于该XMG中结点a,根据结点a的输入连接线的条数,判断出结点a为Majority结点;
步骤③:判断结点a的输入连接线和输出连接线上的反相器的位置和数量,根据结点a的输入连接线和输出连接线上的反相器的位置和数量,计算出结点a的savings值S1为2,执行反相器传输规则(1);
步骤④:对于该XMG中结点b,重复步骤②~③,判断出结点b为Majority结点,计算出结点b的savings值S1为1,执行反相器传输规则(2);
结点a执行反相器传输规则(1)、结点b执行反相器传输规则(2)后,该XMG的结构示意图见图2(b);
步骤⑤:对于该XMG中结点c,重复步骤②~③,判断出结点c为XOR结点,计算出结点c的savings值S2为2,执行反相器传输规则(4),完成对XMG中反相器数量的第一遍优化;
结点c执行反相器传输规则(4)后,该XMG的结构示意图见图2(c);
步骤⑥:完成对XMG中反相器数量的第一遍优化后,计算当前XMG中反相器总数C2,计算得到C2为1,C2﹤C1,则以该当前XMG中反相器总数C2(C2=1)作为第二遍优化前XMG中反相器初始总数,再次执行步骤②~⑤进行第二遍优化,第二遍优化后XMG中反相器总数与第二遍优化前XMG中反相器初始总数相等(均为1),则说明已得到XMG中反相器数量的最优结果,优化结束。
对于常见的基准电路,分别采用本发明方法对其XMG中反相器进行优化,其优化结果见表1。表1中,XMG基准电路优化百分比的计算公式为:[(原XMG中反相器数量-优化后XMG中反相器数量)/原XMG中反相器数量]×100%,应用到QCA电路后优化百分比的计算公式为:[(原QCA电路单元细胞数-优化后QCA电路单元细胞数)/原QCA电路单元细胞数]×100%。从表1可以看出,本发明所提出的异或-多数逻辑图中的反相器数量优化方法在基准电路中平均优化17.3%,在应用到量子元胞自动机(QCA)中有2.1%的平均优化。因此,本发明方法能有效降低XMG中反相器的数量,为EDA设计减少成本,同时丰富了逻辑综合中反相器优化的研究方法。
表1
Claims (1)
1.一种异或-多数逻辑图中的反相器数量优化方法,其特征在于包括以下步骤:
步骤①:计算出XMG中反相器初始总数C1;
步骤②:对于XMG中任一结点q,根据该结点的输入连接线的条数M判断该结点的类型,如果M=3,则判断该结点为多数逻辑结点;如果M=2,则判断该结点为异或逻辑结点;
步骤③:判断结点q执行反相器传输规则前后所引起的反相器数量的改进值,记为savings;
对于多数逻辑结点,满足如下反相器传输规则(1)或(2)或(3):
对于异或逻辑结点,满足如下反相器传输规则(4)或(5):
式(1)~(3)中,“<>”表示多数逻辑运算,x、y、z表示任一多数逻辑结点的三个输入,x、y、z上的横线表示该多数逻辑结点的输入连接线上有反相器,“=”表示等式左右两个多数逻辑结点的逻辑功能一致;式(4)~(5)中,表示异或逻辑运算,m、n表任一异或逻辑结点的两个输入,m、n上的横线表示该异或逻辑结点的输入连接线上有反相器;
针对任一多数逻辑结点,记A1为该多数逻辑结点的输入连接线和输出连接线上的所有反相器的数量,B1为该多数逻辑结点的输入连接线和输出连接线上没有反相器的连接线的数量,记S1为该多数逻辑结点的savings值:
S1=A1-B1 (6)
针对任一异或逻辑结点,记A2为该异或逻辑结点的输入连接线和输出连接线上的所有反相器的数量,B2为该异或逻辑结点的输入连接线和输出连接线上没有反相器的连接线的数量,C为修正参数,记S2为该异或逻辑结点的savings值:
S2=A2-B2+C (7)
S2的计算分三种情况:
1)当该异或逻辑结点的输入连接线上没有反相器时,C=-1,则S2=A2-B2-1;
2)当该异或逻辑结点的输入连接线上只有一个反相器时,C=1,则S2=A2-B2+1;
3)当该异或逻辑结点的输入连接线上有两个反相器时,对于该异或逻辑结点的所有输出连接线,若存在反相器的输出连接线数量小于或等于没有反相器的输出连接线数量,则直接令S2=2;否则按照公式(7)计算,此时令C=1,则S2=A2-B2+1;
计算出savings值S1或者S2后,如果S1为正数,则在XMG中执行反相器传输规则(1)或(2)或(3),转至步骤⑤;如果S2为正数,则在XMG中执行反相器传输规则(4)或(5),转至步骤⑤;如果S1或者S2为负数,则执行步骤④;
步骤④:定义结点集合Q由结点q及与q的输出连接线相连接的所有结点组成,判断集合Q中所有结点执行反相器传输规则前后所引起的反相器数量的改进值,记为savings_two_level;针对集合Q中的每个结点,分别按照步骤②判断结点的类型,并分别按照结点的类型调用式(6)或式(7)计算savings值,则savings_two_level为集合Q中所有结点的savings值之总和;如果savings_two_level为正数,则分别对集合Q中所有结点在XMG中按照结点的类型执行相应的反相器传输规则,否则执行步骤⑤;
步骤⑤:遍历XMG中下一个结点,重复步骤②~④,直到将XMG中所有结点遍历一遍为止,完成对XMG中反相器数量的第一遍优化;
步骤⑥:完成对XMG中反相器数量的第一遍优化后,计算当前XMG中反相器总数C2,比较当前XMG中反相器总数C2与执行步骤②~⑤之前的XMG中反相器初始总数C1,如果C2=C1,则说明第一遍优化已得到XMG中反相器数量的最优结果,优化结束;如果C2﹤C1,则以该当前XMG中反相器总数C2作为第二遍优化前XMG中反相器初始总数,再次执行步骤②~⑤进行第二遍优化,如此循环进行第i遍优化,i为等于或大于2的正整数,直至第i遍优化后XMG中反相器总数与第i遍优化前XMG中反相器初始总数相等,则说明已得到XMG中反相器数量的最优结果,优化结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811414894.3A CN109639267B (zh) | 2018-11-26 | 2018-11-26 | 一种异或-多数逻辑图中的反相器数量优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811414894.3A CN109639267B (zh) | 2018-11-26 | 2018-11-26 | 一种异或-多数逻辑图中的反相器数量优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109639267A CN109639267A (zh) | 2019-04-16 |
CN109639267B true CN109639267B (zh) | 2023-04-07 |
Family
ID=66069117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811414894.3A Active CN109639267B (zh) | 2018-11-26 | 2018-11-26 | 一种异或-多数逻辑图中的反相器数量优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109639267B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111221497B (zh) * | 2020-01-10 | 2022-04-22 | 宁波大学 | 一种量子元胞自动机十进制全加器 |
CN111221502B (zh) * | 2020-01-10 | 2022-04-22 | 宁波大学 | 一种量子元胞自动机的广义流水线细胞电路 |
CN115374947B (zh) * | 2022-10-25 | 2022-12-20 | 上海芯联芯智能科技有限公司 | 量子点胞自动机电路与其运作方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510780A (zh) * | 2009-03-31 | 2009-08-19 | 炬力集成电路设计有限公司 | 一种循环冗余校验码生成装置及其构建、生成校验码的方法 |
WO2010126738A2 (en) * | 2009-04-30 | 2010-11-04 | Tela Innovations, Inc. | Circuitry and layouts for xor and xnor logic |
CN107517055A (zh) * | 2017-08-16 | 2017-12-26 | 宁波大学 | 一种cmos数字逻辑电路的设计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9231594B2 (en) * | 2011-12-21 | 2016-01-05 | Ecole Polytechnique Federale De Lausanne (Epfl) | Non-LUT field-programmable gate arrays |
-
2018
- 2018-11-26 CN CN201811414894.3A patent/CN109639267B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510780A (zh) * | 2009-03-31 | 2009-08-19 | 炬力集成电路设计有限公司 | 一种循环冗余校验码生成装置及其构建、生成校验码的方法 |
WO2010126738A2 (en) * | 2009-04-30 | 2010-11-04 | Tela Innovations, Inc. | Circuitry and layouts for xor and xnor logic |
TW201104480A (en) * | 2009-04-30 | 2011-02-01 | Tela Innovations Inc | Circuitry and layouts for XOR and XNOR logic |
CN107517055A (zh) * | 2017-08-16 | 2017-12-26 | 宁波大学 | 一种cmos数字逻辑电路的设计方法 |
Non-Patent Citations (1)
Title |
---|
张爱华 ; 夏银水 ; .低功耗异或门的设计.浙江大学学报(理学版).2017,(第04期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN109639267A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109639267B (zh) | 一种异或-多数逻辑图中的反相器数量优化方法 | |
Downey et al. | Fixed-parameter tractability and completeness II: On completeness for W [1] | |
US5490268A (en) | Method for changing an arrangement of an initial combinational circuit to satisfy prescribed delay time by computing permissible functions of output gates and remaining gates | |
US6353919B2 (en) | Pass-transistor logic circuit and a method of designing thereof | |
Matsuo et al. | Reducing the overhead of mapping quantum circuits to IBM Q system | |
CN112507644B (zh) | 优化的sm4算法线性层电路 | |
CN115017850A (zh) | 一种数字集成电路优化方法 | |
US7283460B1 (en) | Bus switch encoding for reducing crosstalk effects in buses | |
Chu et al. | A high-performance design of generalized pipeline cellular array | |
CN109522630B (zh) | 一种基于对角加边形式的电力系统暂态稳定仿真并行计算方法 | |
CA3187339A1 (en) | Reducing resources in quantum circuits | |
Werner et al. | Parallel and pipelined filter operator for hardware-accelerated operator graphs in semantic web databases | |
KR102505205B1 (ko) | 삼진 논리 회로 장치 | |
CN114511089B (zh) | 量子连通图谱的连通度优化方法、装置、终端及存储介质 | |
CN115238638A (zh) | Fpga集成电路布局优化方法、装置、设备及存储介质 | |
CN115358390A (zh) | 神经网络的训练方法、装置、电子设备及存储介质 | |
CN106027032A (zh) | 一种单位延时模型下rm逻辑电路延时优化方法 | |
Xiao et al. | Optimization of best polarity searching for mixed polarity Reed-Muller logic circuit | |
CN110991034B (zh) | 基于全并行嵌套bbdf的电力系统暂态稳定仿真并行计算方法 | |
Siddiqui et al. | Variable ordering of BDD mapped multi-input multi-output adders using modified genetic algorithm | |
US7020865B2 (en) | Process for designing comparators and adders of small depth | |
CN110598172B (zh) | 一种基于csa加法器的卷积运算方法和电路 | |
CN115358381B (zh) | 光学全加器及其神经网络设计方法、设备及介质 | |
CN108170957B (zh) | 数据控制流图的生成方法、系统及集成电路设计方法 | |
CN108958702A (zh) | 一种排序网络、排序方法及排序装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |