一种异或-多数逻辑图中的反相器数量优化方法与流程

文档序号:17428513发布日期:2019-04-17 03:10阅读:867来源:国知局
一种异或-多数逻辑图中的反相器数量优化方法与流程

本发明涉及一种逻辑表达图形的优化方法,具体是一种异或-多数逻辑图(xor-majoritygraphs,xmgs)中的反相器数量优化方法。



背景技术:

xmg(xor-majoritygraph)是由异或(xor)、三输入多数门(majority-of-three)和反相器组成的逻辑表达图形。在过去的几十年里,逻辑综合已经从异构逻辑表达转向同构逻辑表达,这是因为同构逻辑表达具有统一的数据结构,易于操作并且使用较少的内存。为了对算术操作更好的支持和得到更紧凑的逻辑图形表达,研究者在同构逻辑表达图形mig(majority-invertergraph)中引入了xor操作,提出了异构逻辑表达图形表示xmg。现如今,xmg已被广泛应用于量子电路综合、精确综合等,对集成电路设计自动化的发展起到巨大的推动作用。

逻辑表达图形直接对应着相应的电路实现,对于一些纳米电路,实现反相器的成本远高于多操作数运算符的物理实现,例如在量子细胞自动机(quantum-dotcellularautomata,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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1