CN114925640A - 一种多级mprm逻辑电路功耗优化方法 - Google Patents
一种多级mprm逻辑电路功耗优化方法 Download PDFInfo
- Publication number
- CN114925640A CN114925640A CN202210414539.6A CN202210414539A CN114925640A CN 114925640 A CN114925640 A CN 114925640A CN 202210414539 A CN202210414539 A CN 202210414539A CN 114925640 A CN114925640 A CN 114925640A
- Authority
- CN
- China
- Prior art keywords
- list
- mprm
- power consumption
- logic
- node
- 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.)
- Pending
Links
Images
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/337—Design optimisation
-
- 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
本发明公开了一种多级MPRM逻辑电路功耗优化方法,通过列表法和onset法改变逻辑网络布局与节点顺序,在保证逻辑网络功能不变的前提下,可以有效降低高度优化后的多级MPRM逻辑电路的功耗。由于结合了先进的切割算法,本发明方法对大面积电路也有着较好的优化效率。对EPFL和MCNC测试集实验结果表明,与原电路相比本文算法的平均功耗优化率达到27.87%和32.44%。与二级MPRM功耗优化算法相比,平均面积优化率为4.04%,平均功耗优化率达到2.74%。本发明为多级MPRM逻辑电路的功耗优化提供了新的研究思路:既为减少多级MPRM功耗提供新的方法,又有效减少了集成电路设计时的成本,对电子设计自动化具有较强的理论意义和实践意义。
Description
技术领域
本发明涉及一种数字逻辑电路的简化方法,具体是一种多级MPRM逻辑电路功耗优化方法。
背景技术
随着集成电路的集成度提高,功耗问题在高端芯片设计领域已成为性能之后的第二大问题,在便携式设备领域更是成为了首要问题。在逻辑级中,集成电路可以表示为AND/XOR结构的Reed-Muller逻辑电路(即RM逻辑电路)。与以AND/OR为结构的布尔逻辑电路不同,RM逻辑电路的优化技术尚不成熟。同时,研究表明在算数电路、奇偶校验电路、通信电路中,RM逻辑电路比布尔逻辑电路在功耗、面积、速度与可测试线上更具优势。因此对RM逻辑电路的研究可以有效完善和发展电子设计自动化。
RM逻辑电路根据极性不同可以分为固定极性RM(fixed polarity Reed-Muller,FPRM)与混合极性RM(mixed polarity Reed-Muller,MPRM)。FPRM要求变量在逻辑表达式中均以正变量或反变量存在,而在MPRM中变量可以以任意形式存在。形式的多样性使得MPRM比FPRM有着更优的性能,但同时也带来了优化方法上的复杂性。目前对MPRM的研究主要围绕着二级MPRM,其输入与输出之间串联的门的最大数值为二。而多级MPRM对输入与输出门之间串联的门数量没有限制,允许对二级MPRM的逻辑门数量进行进一步简化。
研究表明Reed-Muller的功耗与各逻辑节点跳变概率之和呈正比,多级MPRM在逻辑门数量上的优势可能伴随着功耗上的优势。因此为了完善MPRM功耗优化方法,同时迎合日益增长的对低功耗集成电路设计的需求,本发明提出一种多级MPRM逻辑电路功耗优化方法,通过列表法和onset法改变逻辑网络布局与节点顺序,在保证逻辑网络功能不变的前提下有效地优化了多级MPRM逻辑电路的功耗。
发明内容
本发明所要解决的技术问题是,针对现有技术的空缺,提供一种多级MPRM逻辑电路功耗优化方法,该方法分别基于列表法和onset法得到功耗优化后的二级与多级MPRM表达式,同时选取最优功耗的表达式来代替原表达式,为多级MPRM逻辑电路的功耗优化提供了新的研究思路;该方法对大面积电路也有着较好的优化效率。
本发明解决上述技术问题所采用的技术方案为:一种多级MPRM逻辑电路功耗优化方法,包括以下步骤:
步骤1、以待优化的多级MPRM逻辑电路作为输入电路,基于动态逻辑功耗关系式评估出输入电路的总功耗E,其中,pr(va)为输入电路中的节点a的跳变概率,N为输入电路中的节点总数,N≥1,k为固定系数,令k=1;
对于输入电路中的AND逻辑节点va1,其跳变概率计算公式为pr(va1)=pr(xa1)pr(ya1),其中pr(xa1)、pr(ya1)分别为逻辑节点va1的输入;
对于输入电路中的XOR逻辑节点va2,其跳变概率计算公式为pr(va2)=pr(xa2)+pr(ya2)-2pr(xa2)pr(ya2),其中pr(xa2)、pr(ya2)分别为逻辑节点va2的输入;
步骤2、定义一种子电路作为割集,割集同时满足以下两个条件:(1)任何从电路的输入节点到割集的输出节点的路径需要经过割集的至少一个节点;(2)除割集的输入节点外,其他节点的输出均在割集中;搜寻输入电路中符合上述两个条件的割集,记为割集C;基于步骤1中的动态逻辑功耗关系式评估出割集C的功耗,并记为E1;
步骤3、对割集C进行功耗优化,具体步骤如下:
步骤3-1、对于割集C中的连续AND逻辑门:
步骤3-1-1、将连续AND逻辑门中输入节点按跳变概率从小到大排列,得到节点序列A1;
步骤3-1-2、对于节点序列A1中跳变概率最小的两个节点,按步骤1中AND逻辑节点跳变概率计算公式计算其跳变概率并得到新节点,将这两个节点从节点序列A1中删除,并将新节点按计算得到的跳变概率的大小排入节点序列A1;
步骤3-1-3、重复步骤3-1-2,直到节点序列A1中只剩下一个节点;
步骤3-2、对于割集C中的连续XOR逻辑门:
步骤3-2-1、将连续XOR逻辑门中输入节点按跳变概率从小到大排列,得到节点序列A2;
步骤3-2-2、对于节点序列A2中跳变概率大于0.5的节点中跳变概率最大和最小的两个节点,按步骤1中XOR逻辑节点跳变概率计算公式计算其跳变概率并得到新节点,将这两个节点从节点序列A2中删除,将新节点按计算得到的跳变概率的大小排入节点序列A2;
步骤3-2-3、重复步骤3-2-2,直到节点序列A2中跳变概率大于0.5的节点的数量小于或等于1;
步骤3-2-4、对于节点序列A2中跳变概率最小的两个节点,按步骤1中XOR逻辑节点跳变概率计算公式计算其跳变概率并得到新节点,将这两个节点从节点序列A2中删除,并将新节点按计算得到的跳变概率的大小排入节点序列A2;
步骤3-2-5、重复步骤3-2-4,直到节点序列A2中只剩下一个节点;
步骤4、具有n个输入变量的MPRM存在n位三进制数极性P,将该n位三进制数极性P中第k位的极性记为Pk,其中0≤k<n,n≥1,Pk决定了MPRM中各输入变量xk的表现形式:当Pk=0时,允许输入变量xk以正变量形式出现或不出现;当Pk=1时,允许输入变量xk以反变量形式出现或不出现;当Pk=2时,允许输入变量xk以正变量或反变量形式出现;
由于不同极性的MPRM逻辑电路的繁简不同,基于列表法,遍历割集C对应的子电路的所有极性,寻找功耗最优的二级MPRM,具体步骤如下:
步骤4-1、读取具有n个输入变量的割集C的真值表,将其展开成极性P=3n-1的二级MPRM函数,并将其转化为初始列表L0,其中初始列表L0的表栏为极性P,列表内容i由{0,1}表示;当初始列表L0中第k列的极性Pk=0时,列表内容i为0表示输入变量xk不出现,列表内容i为1表示输入变量xk以正变量形式出现;当初始列表L0中第k列的极性Pk=1时,列表内容i为0表示输入变量xk不出现,列表内容i为1表示输入变量xk以反变量形式出现;当初始列表L0中第k列的极性Pk=2时,列表内容i为0表示输入变量xk以反变量形式出现,列表内容i为1表示输入变量xk以正变量形式出现;
初始化目标极性P=0;
步骤4-2、初始化k=n-1,此时初始列表L0即为当前列表L;
步骤4-3、若Pk=2,则转至步骤4-5;若Pk=0则将当前列表L中第k列i=0的行提取出来生成临时列表L′,并使临时列表L′中第k列的i=1,转至步骤4-4;若Pk=1则将当前列表L中第k列i=1的行提取出来生成临时列表L′,并使临时列表L′中第k列的i=0,转至步骤4-4;
步骤4-4、将当前列表L中的与临时列表L′中内容相同的行删去,并将临时列表L′中的与当前列表L中内容不同的行加入当前列表L,若当前列表L中第k列的极性Pk=1,则将第k列的内容i取反,转至步骤4-5;
步骤4-5、令k=k-1,若k≥0,则转至步骤4-3,否则转至步骤4-6;
步骤4-6、对当前列表L对应的二级MPRM通过步骤3进行功耗优化,记录功耗;令P=P+1,若P<n3,则转至步骤4-2,否则转至步骤4-7;
步骤4-7、比较所有极性的割集C对应的子电路的功耗,将最小功耗记为E2,与E2对应的二级MPRM表达式即为功耗最优的二级MPRM;
步骤5、通过onset法,将极性为0的二级MPRM转化为多级MPRM,并优化其功耗,具体步骤如下:
步骤5-1、将极性为0的二级MPRM转化为onset列表T,onset列表T的表栏为变量序号,列表每行的内容为极性为0的二级MPRM表达式的各个AND项,由j=0,1表示,列表每行的内容为0表示输入变量xk出现,列表每行的内容为1表示输入变量xk不出现,行与行之间为XOR关系,列与列之间为AND关系;由于AND逻辑和XOR逻辑满足交换律,故onset法的行列交换不影响其本质;由于AND逻辑和XOR逻辑满足结合律,故onset法的行列提取不影响其本质;
步骤5-2、若onset列表T中某列内容均相同,则提取该列,其在本质上可看成:
记录提取后剩余的列表为当前onset列表T′;
步骤5-3、不断调整当前onset列表T′的行列,寻找面积最大的内容全为1的矩形子表ST1,将当前onset列表T′分解为:矩形子表ST1、矩形子表ST1对应的行的剩余子表ST12、剩余行所形成的子表ST2,将ST12代替当前onset列表T′,将ST2存入寄存器;
步骤5-4、若当前onset列表T′中各行内只有一个j=1,或当前onset列表T′只剩一行,则将寄存器中剩余的子表代替当前onset列表T′,并转至步骤5-2;若寄存器中无子表则onset列表优化完成,转至步骤5-5;
步骤5-5、将优化后的onset列表转化为多级MPRM表达式,并利用步骤3对多级MPRM进行功耗优化,记录功耗为E3以及与E3对应的多级MPRM表达式;
步骤6、比较功耗E1、E2、E3,将三者中最小值对应的MPRM表达式代替割集C并入输入电路;若三者中有二者的功耗值相对较小且相同,则选择这二者对应的门电路数量最少的MPRM表达式代替割集C并入输入电路;若三者的功耗值相同,则选择这三者对应的门电路数量最少的MPRM表达式代替割集C并入输入电路;若三者的功耗值和对应的门电路数量均相同,则任选一者对应的门电路数量最少的MPRM表达式代替割集C并入输入电路;
步骤7、重复步骤2~步骤6,直至输入电路中找不到任何割集,即完成对多级MPRM逻辑电路的功耗优化。
与现有技术相比,本发明具有如下优点:
(1)本发明方法通过列表法和onset法改变逻辑网络布局与节点顺序,在保证逻辑网络功能不变的前提下,可以有效降低高度优化后的多级MPRM逻辑电路的功耗。与通常的二级MPRM功耗优化方法相比,本发明方法在有效减少MPRM逻辑电路功耗的同时还可以有效减少电路的面积。在MCNC测试集的实验表明,与原电路相比,本发明方法的平均功耗优化率为32.44%;与现有的二级MPRM功耗优化方法相比,本发明方法的平均面积优化率达到4.04%,功耗优化率达到2.74%。
(2)由于结合了先进的切割算法,本发明方法对大面积电路也有着较好的优化效率。在EPFL电路集的实验表明,本发明方法的平均功耗优化率达到27.87%。本发明为多级MPRM逻辑电路的功耗优化提供了新的研究思路:既为减少多级MPRM功耗提供新的方法,又有效减少了集成电路设计时的成本,对电子设计自动化具有较强的理论意义和实践意义。
附图说明
图1为router.aig某一割集电路,其中虚线代表反相器,数字代表节点跳变概率;
图2为该割集经过本发明方法优化得到的二级MPRM表达式;
图3为onset法求解步骤;
图4为onset求解得出的多级MPRM表达式。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
图1为EPFL测试集中的router.aig电路的某一个割集,其为多级MPRM函数,其表达式为:[(!((((ab)c)d)f)e)!e],式中()表示AND逻辑,[]表示XOR逻辑,!表示取反。采用本发明方法对其进行功耗优化。该割集各初始输入节点的跳变概率分别是0.5、0.5、0.5、0.5、1、0,通过本发明步骤1中基于动态逻辑功耗关系式得到该割集的功耗为5.44。图2为该割集通过本发明方法优化得到的二级MPRM表达式,其表达式为:[(((((f!e)d)c)b)a)!e],其总功耗降低为3,与原割集表达式相比功耗优化率为12.94%。图3为该割集的onset法优化过程,其通过onset表将图2的二级MPRM表达式转化为多级MPRM表达式。图4为该多级MPRM逻辑电路,其表达式式:(!e!((((ab)c)d)f)),其功耗为3,与原割集表达式相比功耗优化率为12.94%。
对于上述router.aig电路的功耗优化,采用的具体优化方法包括以下步骤:
步骤2、定义一种子电路作为割集,通过对各个割集的优化实现电路的总体优化,为了避免对割集的优化改变电路的逻辑结构,割集应同时满足以下两个条件:(1)任何从电路的输入节点到割集的输出节点的路径需要经过割集的至少一个节点;(2)除割集的输入节点外,其他节点的输出均在割集中;搜寻输入电路中符合上述两个条件的割集,记为割集C;
基于步骤1中的动态逻辑功耗关系式评估出割集C的功耗,并记为E1=5.44;
步骤3、对割集C进行功耗优化,具体步骤如下:
步骤3-1、对于割集C中的连续AND逻辑门:
步骤3-1-1、将连续AND逻辑门中输入节点按跳变概率从小到大排列,得到节点序列A1;
步骤3-1-2、对于节点序列A1中跳变概率最小的两个节点,按步骤1中AND逻辑节点跳变概率计算公式计算其跳变概率并得到新节点,将这两个节点从节点序列A1中删除,并将新节点按计算得到的跳变概率的大小排入节点序列A1;
步骤3-1-3、重复步骤3-1-2,直到节点序列A1中只剩下一个节点;
步骤3-2、对于割集C中的连续XOR逻辑门:
步骤3-2-1、将连续XOR逻辑门中输入节点按跳变概率从小到大排列,得到节点序列A2;
步骤3-2-2、对于节点序列A2中跳变概率大于0.5的节点中跳变概率最大和最小的两个节点,按步骤1中XOR逻辑节点跳变概率计算公式计算其跳变概率并得到新节点,将这两个节点从节点序列A2中删除,将新节点按计算得到的跳变概率的大小排入节点序列A2;
步骤3-2-3、重复步骤3-2-2,直到节点序列A2中跳变概率大于0.5的节点的数量小于或等于1;
步骤3-2-4、对于节点序列A2中跳变概率最小的两个节点,按步骤1中XOR逻辑节点跳变概率计算公式计算其跳变概率并得到新节点,将这两个节点从节点序列A2中删除,并将新节点按计算得到的跳变概率的大小排入节点序列A2;
步骤3-2-5、重复步骤3-2-4,直到节点序列A2中只剩下一个节点;
步骤4、具有n个输入变量的MPRM存在n位三进制数极性P,将该n位三进制数极性P中第k位的极性记为Pk,其中0≤k<n,n≥1,Pk决定了MPRM中各输入变量xk的表现形式:当Pk=0时,允许输入变量xk以正变量形式出现或不出现;当Pk=1时,允许输入变量xk以反变量形式出现或不出现;当Pk=2时,允许输入变量xk以正变量或反变量形式出现;
由于不同极性的MPRM逻辑电路的繁简不同,基于列表法,遍历割集C对应的子电路的所有极性,寻找功耗最优的二级MPRM,具体步骤如下:
步骤4-1、读取具有n个输入变量的割集C的真值表,将其展开成极性P=3n-1的二级MPRM函数(其与最小项在极性上等价),并将其转化为初始列表L0,其中初始列表L0的表栏为极性P,列表内容i由{0,1}表示;当初始列表L0中第k列的极性Pk=0时,列表内容i为0表示输入变量xk不出现,列表内容i为1表示输入变量xk以正变量形式出现;当初始列表L0中第k列的极性Pk=1时,列表内容i为0表示输入变量xk不出现,列表内容i为1表示输入变量xk以反变量形式出现;当初始列表L0中第k列的极性Pk=2时,列表内容i为0表示输入变量xk以反变量形式出现,列表内容i为1表示输入变量xk以正变量形式出现;
初始化目标极性P=0;
步骤4-2、初始化k=5,此时初始列表L0即为当前列表L;
步骤4-3、若Pk=2,则转至步骤4-5;若Pk=0则将当前列表L中第k列i=0的行提取出来生成临时列表L′,并使临时列表L′中第k列的i=1,转至步骤4-4;若Pk=1则将当前列表L中第k列i=1的行提取出来生成临时列表L′,并使临时列表L′中第k列的i=0,转至步骤4-4;
步骤4-4、将当前列表L中的与临时列表L′中内容相同的行删去,并将临时列表L′中的与当前列表L中内容不同的行加入当前列表L,若当前列表L中第k列的极性Pk=1,则将第k列的内容i取反,转至步骤4-5;
步骤4-5、令k=k-1,若k≥0,则转至步骤4-3,否则转至步骤4-6;
步骤4-6、对当前列表L对应的二级MPRM通过步骤3进行功耗优化,记录功耗;令P=P+1,若P<n3,则转至步骤4-2,否则转至步骤4-7;
步骤4-7、比较所有极性的割集C对应的子电路的功耗,将最小功耗记为E2=3,与E2对应的二级MPRM表达式即为功耗最优的二级MPRM,如图2所示;
步骤5、通过onset法,将极性为0的二级MPRM转化为多级MPRM,并优化其功耗,具体步骤如下:
步骤5-1、如图3所示,将极性为0的二级MPRM转化为onset列表T,onset列表T的表栏为变量序号,列表每行的内容为极性为0的二级MPRM表达式的各个AND项,由j=0,1表示,列表每行的内容为0表示输入变量xk出现,列表每行的内容为1表示输入变量xk不出现,行与行之间为XOR关系,列与列之间为AND关系;由于AND逻辑和XOR逻辑满足交换律,故onset法的行列交换不影响其本质;由于AND逻辑和XOR逻辑满足结合律,故onset法的行列提取不影响其本质;
步骤5-2、若onset列表T中某列内容均相同,则提取该列,其在本质上可看成:
记录提取后剩余的列表为当前onset列表T′;
步骤5-3、不断调整当前onset列表T′的行列,寻找面积最大的内容全为1的矩形子表ST1,将当前onset列表T′分解为:矩形子表ST1、矩形子表ST1对应的行的剩余子表ST12、剩余行所形成的子表ST2,将ST12代替当前onset列表T′,将ST2存入寄存器;
步骤5-4、若当前onset列表T′中各行内只有一个j=1,或当前onset列表T′只剩一行,则将寄存器中剩余的子表代替当前onset列表T′,并转至步骤5-2;若寄存器中无子表则onset列表优化完成,转至步骤5-5;
步骤5-5、如图4所示,将优化后的onset列表转化为多级MPRM表达式,并利用步骤3对多级MPRM进行功耗优化,记录功耗为E3=3以及与E3对应的多级MPRM表达式;
步骤6、比较功耗E1、E2、E3,由于E2和E3均为3且小于E1,E2和E3对应的门电路数(即面积数)分别为6和5,选择E3对应的MPRM表达式代替割集C并入输入电路;
步骤7、重复步骤2~步骤6,直至输入电路中找不到任何割集,即完成对router.aig电路的功耗优化。
本发明所提出的多级MPRM逻辑电路功耗优化方法在开源EDA软件also中实现,对EPFL和MCNC测试集进行测试,并与文献(李辉,"混合极性Reed-Muller逻辑电路功耗和面积优化,"硕士,宁波大学,2011.)中所提到的二级MPRM功耗优化方法进行比较。结果如表1和表2所示。
表1 EPFL测试集测试结果
表2 MCNC测试集测试结果
EPFL测试集的实验结果表明,本发明方法可以有效减少电路功耗,且对大面积电路也有较好的优化效率,本发明方法的平均功耗优化率达到27.87%。MCNC测试集测试结果表明,本发明方法与二级MPRM功耗优化方法相比,在有效减少电路功耗的同时也可以减少电路的面积。与原电路相比,本发明方法的平均功耗优化率为32.44%。与现有的二级MPRM功耗优化方法相比,本发明方法的平均面积优化率达到4.04%,功耗优化率达到2.74%。
本发明为多级MPRM逻辑电路的功耗优化提供了新的研究思路:既为减少逻辑电路功耗提供新的算法,又有效减少了逻辑电路设计时的成本,对电子设计自动化具有较强的理论意义和实践意义。
Claims (1)
1.一种多级MPRM逻辑电路功耗优化方法,其特征在于,包括以下步骤:
步骤1、以待优化的多级MPRM逻辑电路作为输入电路,基于动态逻辑功耗关系式评估出输入电路的总功耗E,其中,pr(va)为输入电路中的节点va的跳变概率,N为输入电路中的节点总数,N≥1,k为固定系数,令k=1;
对于输入电路中的AND逻辑节点va1,其跳变概率计算公式为pr(va1)=pr(xa1)pr(ya1),其中pr(xa1)、pr(ya1)分别为逻辑节点va1的输入;
对于输入电路中的XOR逻辑节点va2,其跳变概率计算公式为pr(va2)=pr(xa2)+pr(ya2)-2pr(xa2)pr(ya2),其中pr(xa2)、pr(ya2)分别为逻辑节点va2的输入;
步骤2、定义一种子电路作为割集,割集同时满足以下两个条件:(1)任何从电路的输入节点到割集的输出节点的路径需要经过割集的至少一个节点;(2)除割集的输入节点外,其他节点的输出均在割集中;搜寻输入电路中符合上述两个条件的割集,记为割集C;基于步骤1中的动态逻辑功耗关系式评估出割集C的功耗,并记为E1;
步骤3、对割集C进行功耗优化,具体步骤如下:
步骤3-1、对于割集C中的连续AND逻辑门:
步骤3-1-1、将连续AND逻辑门中输入节点按跳变概率从小到大排列,得到节点序列A1;
步骤3-1-2、对于节点序列A1中跳变概率最小的两个节点,按步骤1中AND逻辑节点跳变概率计算公式计算其跳变概率并得到新节点,将这两个节点从节点序列A1中删除,并将新节点按计算得到的跳变概率的大小排入节点序列A1;
步骤3-1-3、重复步骤3-1-2,直到节点序列A1中只剩下一个节点;
步骤3-2、对于割集C中的连续XOR逻辑门:
步骤3-2-1、将连续XOR逻辑门中输入节点按跳变概率从小到大排列,得到节点序列A2;
步骤3-2-2、对于节点序列A2中跳变概率大于0.5的节点中跳变概率最大和最小的两个节点,按步骤1中XOR逻辑节点跳变概率计算公式计算其跳变概率并得到新节点,将这两个节点从节点序列A2中删除,将新节点按计算得到的跳变概率的大小排入节点序列A2;
步骤3-2-3、重复步骤3-2-2,直到节点序列A2中跳变概率大于0.5的节点的数量小于或等于1;
步骤3-2-4、对于节点序列A2中跳变概率最小的两个节点,按步骤1中XOR逻辑节点跳变概率计算公式计算其跳变概率并得到新节点,将这两个节点从节点序列A2中删除,并将新节点按计算得到的跳变概率的大小排入节点序列A2;
步骤3-2-5、重复步骤3-2-4,直到节点序列A2中只剩下一个节点;
步骤4、具有n个输入变量的MPRM存在n位三进制数极性P,将该n位三进制数极性P中第k位的极性记为Pk,其中0≤k<n,n≥1,Pk决定了MPRM中各输入变量xk的表现形式:当Pk=0时,允许输入变量xk以正变量形式出现或不出现;当Pk=1时,允许输入变量xk以反变量形式出现或不出现;当Pk=2时,允许输入变量xk以正变量或反变量形式出现;
由于不同极性的MPRM逻辑电路的繁简不同,基于列表法,遍历割集C对应的子电路的所有极性,寻找功耗最优的二级MPRM,具体步骤如下:
步骤4-1、读取具有n个输入变量的割集C的真值表,将其展开成极性P=3n-1的二级MPRM函数,并将其转化为初始列表L0,其中初始列表L0的表栏为极性P,列表内容i由{0,1}表示;当初始列表L0中第k列的极性Pk=0时,列表内容i为0表示输入变量xk不出现,列表内容i为1表示输入变量xk以正变量形式出现;当初始列表L0中第k列的极性Pk=1时,列表内容i为0表示输入变量xk不出现,列表内容i为1表示输入变量xk以反变量形式出现;当初始列表L0中第k列的极性Pk=2时,列表内容i为0表示输入变量xk以反变量形式出现,列表内容i为1表示输入变量xk以正变量形式出现;
初始化目标极性P=0;
步骤4-2、初始化k=n-1,此时初始列表L0即为当前列表L;
步骤4-3、若Pk=2,则转至步骤4-5;若Pk=0则将当前列表L中第k列i=0的行提取出来生成临时列表L′,并使临时列表L′中第k列的i=1,转至步骤4-4;若Pk=1则将当前列表L中第k列i=1的行提取出来生成临时列表L′,并使临时列表L′中第k列的i=0,转至步骤4-4;
步骤4-4、将当前列表L中的与临时列表L′中内容相同的行删去,并将临时列表L′中的与当前列表L中内容不同的行加入当前列表L,若当前列表L中第k列的极性Pk=1,则将第k列的内容i取反,转至步骤4-5;
步骤4-5、令k=k-1,若k≥0,则转至步骤4-3,否则转至步骤4-6;
步骤4-6、对当前列表L对应的二级MPRM通过步骤3进行功耗优化,记录功耗;令P=P+1,若P<n3,则转至步骤4-2,否则转至步骤4-7;
步骤4-7、比较所有极性的割集C对应的子电路的功耗,将最小功耗记为E2,与E2对应的二级MPRM表达式即为功耗最优的二级MPRM;
步骤5、通过onset法,将极性为0的二级MPRM转化为多级MPRM,并优化其功耗,具体步骤如下:
步骤5-1、将极性为0的二级MPRM转化为onset列表T,onset列表T的表栏为变量序号,列表每行的内容为极性为0的二级MPRM表达式的各个AND项,由j=0,1表示,列表每行的内容为0表示输入变量xk出现,列表每行的内容为1表示输入变量xk不出现,行与行之间为XOR关系,列与列之间为AND关系;由于AND逻辑和XOR逻辑满足交换律,故onset法的行列交换不影响其本质;由于AND逻辑和XOR逻辑满足结合律,故onset法的行列提取不影响其本质;
步骤5-2、若onset列表T中某列内容均相同,则提取该列,其在本质上可看成:
记录提取后剩余的列表为当前onset列表T′;
步骤5-3、不断调整当前onset列表T′的行列,寻找面积最大的内容全为1的矩形子表ST1,将当前onset列表T′分解为:矩形子表ST1、矩形子表ST1对应的行的剩余子表ST12、剩余行所形成的子表ST2,将ST12代替当前onset列表T′,将ST2存入寄存器;
步骤5-4、若当前onset列表T′中各行内只有一个j=1,或当前onset列表T′只剩一行,则将寄存器中剩余的子表代替当前onset列表T′,并转至步骤5-2;若寄存器中无子表则onset列表优化完成,转至步骤5-5;
步骤5-5、将优化后的onset列表转化为多级MPRM表达式,并利用步骤3对多级MPRM进行功耗优化,记录功耗为E3以及与E3对应的多级MPRM表达式;
步骤6、比较功耗E1、E2、E3,将三者中最小值对应的MPRM表达式代替割集C并入输入电路;若三者中有二者的功耗值相对较小且相同,则选择这二者对应的门电路数量最少的MPRM表达式代替割集C并入输入电路;若三者的功耗值相同,则选择这三者对应的门电路数量最少的MPRM表达式代替割集C并入输入电路;若三者的功耗值和对应的门电路数量均相同,则任选一者对应的门电路数量最少的MPRM表达式代替割集C并入输入电路;
步骤7、重复步骤2~步骤6,直至输入电路中找不到任何割集,即完成对多级MPRM逻辑电路的功耗优化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210414539.6A CN114925640A (zh) | 2022-04-20 | 2022-04-20 | 一种多级mprm逻辑电路功耗优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210414539.6A CN114925640A (zh) | 2022-04-20 | 2022-04-20 | 一种多级mprm逻辑电路功耗优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114925640A true CN114925640A (zh) | 2022-08-19 |
Family
ID=82806427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210414539.6A Pending CN114925640A (zh) | 2022-04-20 | 2022-04-20 | 一种多级mprm逻辑电路功耗优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114925640A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116341441A (zh) * | 2023-05-22 | 2023-06-27 | 芯行纪科技有限公司 | 对数字逻辑电路进行优化的方法及相关设备 |
-
2022
- 2022-04-20 CN CN202210414539.6A patent/CN114925640A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116341441A (zh) * | 2023-05-22 | 2023-06-27 | 芯行纪科技有限公司 | 对数字逻辑电路进行优化的方法及相关设备 |
CN116341441B (zh) * | 2023-05-22 | 2023-08-08 | 芯行纪科技有限公司 | 对数字逻辑电路进行优化的方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6185719B1 (en) | Pass-transistor logic circuit and a method of designing thereof | |
CN110428048B (zh) | 一种基于模拟延时链的二值化神经网络累加器电路 | |
JP2017228295A (ja) | 演算装置 | |
CN108984149B (zh) | 一种高速低功耗的近似4-2压缩器 | |
CN112507644B (zh) | 优化的sm4算法线性层电路 | |
Aljaam et al. | Novel ternary adder and multiplier designs without using decoders or encoders | |
CN101140511A (zh) | 串行进位二进制加法器 | |
CN114925640A (zh) | 一种多级mprm逻辑电路功耗优化方法 | |
Chen et al. | A time-domain computing accelerated image recognition processor with efficient time encoding and non-linear logic operation | |
CN102982205A (zh) | 一种用于数字电路设计的固定极性转换方法 | |
CN108449091B (zh) | 一种基于近似计算的极化码置信传播译码方法及译码器 | |
CN110765730A (zh) | 一种组合逻辑电路简化方法 | |
Kajstura et al. | Binary tree-based low power state assignment algorithm | |
CN113128141B (zh) | 一种基于无误差随机计算的中值滤波系统 | |
CN115526131A (zh) | 多级编码近似计算Tanh函数的方法及装置 | |
CN111897513B (zh) | 一种基于反向极性技术的乘法器及其代码生成方法 | |
CN109684761B (zh) | 一种宽同或电路优化方法 | |
CN110890895B (zh) | 借助表示法变换执行极化解码的方法及相关极化解码器 | |
Sinha et al. | BDD based Logic synthesis and optimization for low power comparator circuit | |
CN113360131A (zh) | 面向卷积神经网络加速器的对数近似乘累加器 | |
CN111444180A (zh) | 一种双层结构的索引及其查询方法 | |
Natsui et al. | MTJ-based nonvolatile ternary logic gate for quantized convolutional neural networks | |
Li | A Single Precision Floating Point Multiplier for Machine Learning Hardware Acceleration | |
Teja et al. | Design and Analysis of CNTFET based Dynamic Comparator | |
CN109714043B (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 |