当前位置: 首页 > 专利查询>宁波大学专利>正文

一种基于贪婪算法的同或/或电路的分解方法技术

技术编号:8300898 阅读:203 留言:0更新日期:2013-02-07 04:28
本发明专利技术公开了一种基于贪婪算法的同或/或电路的分解方法,首先引入同或/或电路表达式,将多输入同或/或门的分解问题转换为最小二叉树搜索问题,然后采用贪婪算法分解同或/或电路中的多输入或门,再在多输入或门分解的基础上采用贪婪算法分解同或/或电路中的多输入同或门;优点是采用统一的方法依次进行或门和同或门的低功耗分解,其功耗分解稳定性较强,且低功耗分解效果好。

【技术实现步骤摘要】

本专利技术涉及一种逻辑门电路的低功耗分解技术,尤其是涉及。
技术介绍
随着集成电路的发展,功耗已成为集成电路设计中的关键性限制因素。以低功耗为目标的里德穆勒(RM)电路极性优化已引起了广泛关注。其中,多输入门分解是影响RM 电路功耗的关键性环节之一,不同的分解方法将使电路具有不同的功耗。因此,研究RM电路的低功耗分解具有现实意义。目前,对于同或/或电路,其多输入或门由于输出信号的概率随着输入信号的概率而增大,一般采用霍夫曼算法进行分解;而同或/或电路中的多输入同或门目前主要采用随机顺序分解方法或者分类分解方法(分类分解方法见P. Wang, J. Lu, J. Xu, et al.Power optimization algorithm based on XN0R/0R logic ·· 2009,26(I):138-144. )。随机顺序分解方法按照随机顺序将待分解的多输入同或门分解为一系列二输入同或门,没有进行优化组合,其低功耗分解效果较差;而分类分解方法中将待分解的多输入同或门分为三种情况待分解的多输入同或门的所有输入信号的概率均大于0. 5、待分解的多输入同或门的所有输入信号的概率均小于0. 5和待分解的多输入同或门同时包含概率大于0. 5、等于0. 5和小于0. 5的输入信号,通过将输入信号分为三类,不同的类别采取不同的分解算法,其相对于随机顺序分解方法低功耗效果较好。但是由于分类分解方法中对于一个或多个输入信号的概率为0. 5的多输入同或门往往留待最后考虑, 因此无法保证低功耗分解的最优性。
技术实现思路
本专利技术所要解决的技术问题是提供一种可以通用于同或门和或门的低功耗分解, 低功耗分解效果好的基于贪婪算法的同或/或电路的分解方法,本专利技术解决上述技术问题所采用的技术方案为,首先导入或读入同或/或电路表达式,将多输入同或/或门的分解问题转换为最小二叉树搜索问题,然后采用贪婪算法分解同或/或电路中的多输入或门,再在多输入或门分解的基础上采用贪婪算法分解同或/或电路中的多输入同或门,具体包括以下步骤①读入同或/或电路表达式/( &,···,W )= Θ Π(4+^->,η为函数k=Qf (X1, X2,…,Xi···,Xn)的变量数,为函数 f (X1, X2,…,Xi···,Xn)的 η个输入变量,i为正整数,且I < i < n,Sk项代表同或/或电路中的某个或门,且 Sk = (^i +-^2 +·■· +乂'…+ D,dk为或项系数,且dk E {O, 1},当dk=0时,表不Sk项在同或/或CN 102915392 A书明说2/6页电路表达式中出现,当dk=l时,表示Sk项不在同或/或电路表达式中出现,ΘΠ表示同或操作,k为Sk项序号,k用二进制形式表示为为正整数,且I彡j彡η,当k」=O时,. 当kj = I时,.n Sk项代表的或门的输入变量Xi的数量为m,w =;= Xi ,Xi = O jj=i②定义Sk项代表的或门的开关活动性为SA_0R_Sk,将Sk项代表的或门的输入变量 Xi定义为最小二叉树搜索问题中的树,树的数量为m,将Sk项代表的或门分解得到的二输入或门的开关活动性定义为两棵树间的距离,每个输入变量Xi的输入概率P(Xi)作为其对应树的概率,记在该树的树根,Sk项代表的或门的输出概率记为P(Sk);③采用贪婪算法分解同或/或电路中的多输入或门,得到Sk项代表的或门的开关活动性SA_0R_Sk和Sk项代表的或门的输出概率P (Sk);④将所有或门的开关活动性累加,得到同或/或电路中所有或门的总开关活动2B性,同或/或电路中或门的数量为q,,其中? = ^(1-<4),SA_0R表示同或/或电路中所有或门的总开关活动性,— =,将所有或门的输出概率P(Sk)记入一个长度为·k 二Iq的数组中,将该数组作为同或/或电路中同或门输入变量的输入概率;⑤采用贪婪算法分解同或/或电路中的多输入同或门,得到同或/或电路中所有同或门的总开关活动性SA_XN0R ; ⑥将同或/或电路中所有或门的总开关活动性SA_0R和同或/或电路中所有同或门的总开关活动性SA_XN0R相加,得到同或/或电路的总开关活动性SA_total,§SA_total = V SA _OR_Sk + SA _ XNOR 免二 I采用贪婪算法分解同或/或电路中的多输入或门的具体步骤为③-I初始化函数,使SA_0R_SK=0,定义第M棵树和第N棵树之间的距离为Am, I彡M彡m,I彡N彡m,计算m棵树中两两之间的距离Am,并将所有的距离Amn存为mXm的矩阵形式,该矩阵记为A,Aw位于矩阵A中第M行和第N列,其中,如果同或/或电路为动态逻辑电路,则Aw根据公式AM=2PM M计算;如果同或/或电路为静态逻辑电路,则Aw根据公式AMN=2POT—m ( 1-2Poemn)计算,Ρ0Ε*=Ρ +ΡΝ-Ρ ΡΝ, P1表示第M棵树的概率,Pn表示第N棵树的概率,Prai N表示第M棵树和第N棵树构成的二叉树的概率;③-2检索矩阵A中所有的正数,找出距离最近的两棵树,分别记为第a棵树和第 b棵树,l^a^m, l^b^m,以第a棵树和第b棵树为子树构成一棵新树,该新树为二叉树,计算该新树的概率P (fa,b)并记入该新树的树根,P (fa;b) =Pa+Pb_PaPb,其中Pa为第a棵树的概率,Pb为第b棵树的概率,第a棵树和第b棵树之间的距离为Aab,位于矩阵A中第a行和第b列,将数值Aab累加到SA_0R_Sk ;③_3以该新树取代第a棵树,分别计算该新树与其他所有树之间的距离并用这些距离取代第a棵树在矩阵A中相关位置的距离,并将矩阵A中与第b棵树相关的距离全部用非正数取代;③-4重复步骤③-2和③-3,直到只剩下最后一棵树,该树即为搜索到的最小二叉树,此时矩阵A中均为非正数,输出最后一棵树树根的概率P (Sk)以及SA_0R_Sk的值。采用贪婪算法分解同或/或电路中的多输入同或门的原理与采用贪婪算法分解5同或/或电路中的多输入或门的原理相同,区别仅在于同或门的输出概率的计算公式为 ΡχΝΟΕ=1+2Ρ Ρ2_Ρ _Ρ2 Pl和P2分别表不二输入同或门的两个输入概率,卩_表不二输入同或门的输出概率。与现有技术相比,本专利技术的优点在于引入同或/或电路表达式,将多输入同或/ 或门的分解问题转换为最小二叉树搜索问题,然后采用贪婪算法分解同或/或电路中的多输入或门,再在多输入或门分解的基础上采用贪婪算法分解同或/或电路中的多输入同或门,实现同或/或电路的低功耗分解,本方法中采用统一的方法依次进行或门和同或门的低功耗分解,其功耗分解稳定性较强,且低功耗分解效果好。附图说明图I为采用分类分解方法以及本专利技术的分解方法分别分解inc电路的开关活动性分布对照图2为采用分类分解方法以及本专利技术的分解方法分别分解9sym电路的开关活动性分布对照图。具体实施方式以下结合附图实施例对本专利技术作进一步详细描述。实施例,首先引入同或/或电路表达式,将多输入同或/或门的分解问题转换为最小二叉树搜索问题,然后采用贪婪算法分解同或/或电路中的多输入或门,再在多输入或门分解的基础上采用贪婪算法分解同或/ 或电路中的多输入本文档来自技高网...

【技术保护点】
一种基于贪婪算法的同或/或电路的分解方法,其特征在于首先引入同或/或电路表达式,将多输入同或/或门的分解问题转换为最小二叉树搜索问题,然后采用贪婪算法分解同或/或电路中的多输入或门,再在多输入或门分解的基础上采用贪婪算法分解同或/或电路中的多输入同或门,具体包括以下步骤:①读入同或/或电路表达式n为函数f(x1,x2,…,xi…,xn)的变量数,(x1,x2,…,xi…,xn)为函数f(x1,x2,…,xi…,xn)的n个输入变量,i为正整数,且1≤i≤n,Sk项代表同或/或电路中的某个或门,且dk为或项系数,且dk∈{0,1},当dk=0时,表示Sk项在同或/或电路表达式中出现,当dk=1时,表示Sk项不在同或/或电路表达式中出现,⊙∏表示同或操作,k为Sk项序号,k用二进制形式表示为k1k2…kj…kn,j为正整数,且1≤j≤n,当kj=0时,当kj=1时,Sk项代表的或门的输入变量xi的数量为m,m=Σj=1n(1+kj);②定义Sk项代表的或门的开关活动性为SA_OR_Sk,将Sk项代表的或门的输入变量xi定义为最小二叉树搜索问题中的树,树的数量为m,将Sk项代表的或门分解得到的二输入或门的开关活动性定义为两棵树间的距离,每个输入变量xi的输入概率P(xi)作为其对应树的概率,记在该树的树根,Sk项代表的或门的输出概率记为P(Sk);③采用贪婪算法分解同或/或电路中的多输入或门,得到Sk项代表的或门的开关活动性SA_OR_Sk和Sk项代表的或门的输出概率P(Sk);④将所有或门的开关活动性累加,得到同或/或电路中所有或门的总开关活动性,同或/或电路中或门的数量为q,,其中SA_OR表示同或/或电路中所有或门的总开关活动性,将所有或门的输出概率P(Sk)记入一个长度为 q的数组中,将该数组作为同或/或电路中同或门输入变量的输入概率;⑤采用贪婪算法分解同或/或电路中的多输入同或门,得到同或/或电路中所有同或门的总开关活动性SA_XNOR;⑥将同或/或电路中所有或门的总开关活动性SA_OR和同或/或电路中所有同或门的总开关活动性SA_XNOR相加,得到同或/或电路的总开关活动性SA_total,SA_total=Σk=1qSA_OR_Sk+SA_XNOR.FDA00002255334600011.jpg,FDA00002255334600012.jpg,FDA00002255334600013.jpg,FDA00002255334600014.jpg,FDA00002255334600016.jpg,FDA00002255334600017.jpg...

【技术特征摘要】

【专利技术属性】
技术研发人员:张会红汪鹏君
申请(专利权)人:宁波大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1