发明名称 一种利用穷举法的三值FPRM电路功耗优化方法
摘要 本发明公开了一种利用穷举法的三值FPRM电路功耗优化方法,首先将三值FPRM电路采用p极性下的三值FPRM逻辑函数进行表示,然后分解三值FPRM逻辑函数中含有的多输入运算,得到p极性下的多个二输入模3加门和多个二输入模3乘门,将二输入模3加门和二输入模3乘门引起的功耗作为p极性下的三值FPRM电路的功耗,构建得到三值FPRM电路的功耗估计模型,最后采用穷举法对三值FPRM电路进行功耗最佳极性搜索,搜索得到三值FPRM电路的最小功耗和功耗最佳极性;优点是可实现三值FPRM电路的功耗优化;随机采用13个MCNC Benchmark电路进行仿真验证,本发明搜索到的最佳极性与0极性比较,模3加门数量平均节省54.94%,模3乘门数量平均节省46.89%,功耗平均节省72.72%,功耗优化效果显著。
申请公布号 CN105205214A 申请公布日期 2015.12.30
申请号 CN201510524262.2 申请日期 2015.08.25
申请人 宁波大学 发明人 汪鹏君;厉康平;张会红
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 33226 代理人 方小惠
主权项 一种利用穷举法的三值FPRM电路功耗优化方法,其特征在于包括如下步骤:①建立三值FPRM电路的功耗估计模型:①‑1将三值FPRM电路采用三值FPRM逻辑函数表示为如下形式:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msup><mi>f</mi><mi>p</mi></msup><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>x</mi><mrow><mi>n</mi><mo>-</mo><mn>2</mn></mrow></msub><mo>,</mo><mn>...</mn><mo>,</mo><msub><mi>x</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>=</mo><mo>&CirclePlus;</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><msup><mn>3</mn><mi>n</mi></msup><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>a</mi><mi>i</mi></msub><mo>*</mo><munderover><mo>&Pi;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></munderover><msubsup><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>j</mi><msub><mi>i</mi><mi>j</mi></msub></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000787965740000011.GIF" wi="1300" he="164" /></maths>其中,n为函数f<sup>p</sup>(x<sub>n‑1</sub>,x<sub>n‑2</sub>,…,x<sub>0</sub>)的变量数,x<sub>n‑1</sub>,x<sub>n‑2</sub>,…,x<sub>0</sub>表示函数f<sup>p</sup>(x<sub>n‑1</sub>,x<sub>n‑2</sub>,…,x<sub>0</sub>)的n个输入变量,p表示函数f<sup>p</sup>(x<sub>n‑1</sub>,x<sub>n‑2</sub>,…,x<sub>0</sub>)的极性,极性p用n位三进制形式表示为p<sub>n‑1</sub>p<sub>n‑2</sub>…p<sub>0</sub>,p<sub>j</sub>∈{0,1,2},j=0,1,2,…,n‑1,⊕表示多输入模3加运算,∑为累加符号,符号“*”表示乘号,i=0,1,2,…,3<sup>n</sup>‑1,i用n位三进制形式表示为i<sub>n‑1</sub>i<sub>n‑2</sub>…i<sub>0</sub>,i<sub>j</sub>∈{0,1,2},a<sub>i</sub>为FPRM系数;a<sub>i</sub>∈{0,1,2};∏表示多输入模3乘运算,<img file="FDA0000787965740000012.GIF" wi="123" he="133" />的展开式为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><munderover><mo>&Pi;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></munderover><msubsup><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>j</mi><msub><mi>i</mi><mi>j</mi></msub></msubsup><mo>=</mo><msubsup><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>i</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msub></msubsup><msubsup><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mrow><mi>n</mi><mo>-</mo><mn>2</mn></mrow><msub><mi>i</mi><mrow><mi>n</mi><mo>-</mo><mn>2</mn></mrow></msub></msubsup><mo>...</mo><msubsup><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mn>0</mn><msub><mi>i</mi><mn>0</mn></msub></msubsup><mo>,</mo></mrow>]]></math><img file="FDA0000787965740000013.GIF" wi="427" he="135" /></maths>其中<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>j</mi></msub><mo>=</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>&CirclePlus;</mo><msub><mi>p</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000787965740000016.GIF" wi="287" he="82" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msubsup><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>j</mi><mn>0</mn></msubsup><mo>=</mo><mn>1</mn><mo>,</mo><msubsup><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>j</mi><mn>1</mn></msubsup><mo>=</mo><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>j</mi></msub><mo>,</mo><msubsup><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>j</mi><mn>2</mn></msubsup><mo>=</mo><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>j</mi></msub><mo>*</mo><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>j</mi></msub><mo>,</mo></mrow>]]></math><img file="FDA0000787965740000014.GIF" wi="520" he="84" /></maths>极性p和下标i决定变量<img file="FDA0000787965740000015.GIF" wi="50" he="69" />的表示形式;①‑2p极性下的三值FPRM逻辑函数包含两类多输入运算,两类多输入运算分别为多输入模3加运算和多输入模3乘运算,根据三值FPRM逻辑函数展开式将三值FPRM逻辑函数分解为多个多输入模3加运算和多个多输入模3乘运算,然后将每个多输入运算分别分解为二输入运算,得到二输入模3加运算和二输入模3乘运算,具体分解过程为:将多输入运算的第1个输入变量和第2个输入变量作为第一个二输入运算的两个输入变量,得到第一个二输入运算的输出变量;将第一个二输入运算的输出变量和多输入运算的第3个输入变量作为第二个二输入运算的两个输入变量,得到第二个二输入运算的输出变量;将第二个二输入运算的输出变量和多输入运算的第4个输入变量作为第三个二输入运算的两个输入变量,得到第三个二输入运算的输出变量;依此类推,直到所有的多输入运算的输入变量作为二输入运算的输入变量,完成多输入运算的分解;将p极性下的三值FPRM逻辑函数分解后得到多个多输入模3加运算和多个多输入模3乘运算,多输入模3加运算也称为多输入模3加门,多输入模3乘运算也称为多输入模3乘门,将p极性下三值FPRM逻辑函数分解后的多输入模3加门的数量记为N,将p极性下三值FPRM逻辑函数分解后的多输入模3乘门的数量记为W;将每个多输入模3加运算分解后得到多个二输入模3加运算,将每个多输入模3乘运算分解后得到多个二输入模3乘运算,二输入模3加运算也称为二输入模3加门,二输入模3乘运算也称为二输入模3乘门;将第u个多输入模3加门分解后的二输入模3加门的数量记为N<sub>u</sub>,u=1,2,…,N;将第o个多输入模3乘门分解后的二输入模3乘门的数量记为W<sub>o</sub>,o=1,2,…,W;①‑3将p极性下的三值FPRM逻辑函数分解后得到的所有二输入模3加门和二输入模3乘门引起的功耗作为p极性下的三值FPRM电路的功耗,二输入模3加门引起的功耗采用其开关活动性表示,二输入模3乘门引起的功耗采用其开关活动性表示,门电路的开关活动性用其输出端的输出变量概率表示,二输入模3加门引起的功耗采用其输出端的输出变量概率表示,二输入模3乘门引起的功耗采用其输出端的输出变量概率表示;①‑4根据公式(2)、(3)和(4)计算第u个多输入模3加门分解后的第k个二输入模3加门的输出变量概率;k=1,2,…,N<sub>u</sub>;P<sub>1</sub>(k)<sub>u</sub>=Pk<sub>y11</sub>*Pk<sub>y20</sub>+Pk<sub>y10</sub>*Pk<sub>y21</sub>+Pk<sub>y12</sub>*Pk<sub>y22</sub>   (2)P<sub>2</sub>(k)<sub>u</sub>=Pk<sub>y12</sub>*Pk<sub>y20</sub>+Pk<sub>y11</sub>*Pk<sub>y21</sub>+Pk<sub>y10</sub>*Pk<sub>y22</sub>   (3)P<sub>0</sub>(k)<sub>u</sub>=1‐P<sub>1</sub>(k)<sub>u</sub>‐P<sub>2</sub>(k)<sub>u</sub>   (4)根据公式(5)、(6)和(7)计算第o个多输入模3乘门分解后的第g个二输入模3乘门的输出变量概率,g=1,2,…,W<sub>o</sub>:Q<sub>1</sub>(g)<sub>o</sub>=Qg<sub>r11</sub>*Qg<sub>r21</sub>+Qg<sub>r12</sub>*Qg<sub>r22</sub>  (5)Q<sub>2</sub>(g)<sub>o</sub>=Qg<sub>r11</sub>*Qg<sub>r22</sub>+Qg<sub>r12</sub>*Qg<sub>r21</sub>  (6)Q<sub>0</sub>(g)<sub>o</sub>=1‐Q<sub>1</sub>(g)<sub>o</sub>‐Q<sub>2</sub>(g)<sub>o</sub>  (7)其中,P<sub>1</sub>(k)<sub>u</sub>表示第u个多输入模3加门分解后的第k个二输入模3加门输出变量为1的概率,P<sub>2</sub>(k)<sub>u</sub>表示第u个多输入模3加门分解后的第k个二输入模3加门输出变量为2的概率,P<sub>0</sub>(k)<sub>u</sub>表示第u个多输入模3加门分解后的第k个二输入模3加门输出变量为0的概率,y1和y2表示二输入模3加门的两个输入变量,Pk<sub>y1m</sub>表示第k个二输入模3加门中输入变量y1为m的概率,m∈{0,1,2},Pk<sub>y2m</sub>表示第k个二输入模3加门中输入变量y2为m的概率,当k=1时,Pk<sub>y1m</sub>为多输入模3加运算的第1个输入变量为m的概率,Pk<sub>y2m</sub>为多输入模3加运算的第2个输入变量为m的概率,当k&gt;1时,Pk<sub>y1m</sub>为第k‑1个二输入模3加门输出变量为m的概率,Pk<sub>y2m</sub>为多输入模3加门的第k+1个输入变量为m的概率;Q<sub>1</sub>(g)<sub>o</sub>表示第o个多输入模3乘门分解后的第g个二输入模3乘门输出变量为1的概率,Q<sub>2</sub>(g)<sub>o</sub>表示第o个多输入模3乘门分解后的第g个二输入模3乘门输出变量为2的概率,Q<sub>0</sub>(g)<sub>o</sub>表示第o个多输入模3乘门分解后的第g个二输入模3乘门输出变量为0的概率,r1和r2表示二输入模3乘门的两个输入变量,Qg<sub>r1m</sub>表示第g个二输入模3乘门中输入变量r1为m的概率,Qg<sub>r2m</sub>表示第g个二输入模3乘门中输入变量r2为m的概率;当g=1时,Qg<sub>r1m</sub>为多输入模3乘运算的第1个输入变量为m的概率,Qg<sub>r2m</sub>为多输入模3乘运算的第2个输入变量为m的概率,当g&gt;1时,Qg<sub>r1m</sub>为第g‑1个二输入模3乘门输出变量为m的概率,Qg<sub>r2m</sub>为多输入模3乘门的第g+1个输入变量为m的概率;输入变量x<sub>j</sub>为1和2的概率是由随即函数产生的概率对(P1,P2),P0=1‑P1‑P2;P0,P1和P2分别为0到1之间某个值,P0表示输入变量为0的概率,P1表示输入变量为1的概率,P2表示输入变量为2的概率;①‑5根据二输入模3加门的输出变量概率和二输入模3乘门的输出变量概率计算三值FPRM电路的功耗,将三值FPRM电路的功耗估计模型表示为:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>E</mi><mrow><mi>s</mi><mi>w</mi><mi>d</mi></mrow></msub><mo>=</mo><mn>2</mn><mrow><mo>(</mo><munderover><mo>&Sigma;</mo><mrow><mi>u</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mo>(</mo><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mi>u</mi></msub></munderover><mo>(</mo><msub><mi>P</mi><mn>1</mn></msub><msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mi>u</mi></msub><mo>+</mo><msub><mi>P</mi><mn>2</mn></msub><msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mi>u</mi></msub><mo>)</mo></mrow><mo>)</mo><mo>+</mo><munderover><mo>&Sigma;</mo><mrow><mi>o</mi><mo>=</mo><mn>1</mn></mrow><mi>W</mi></munderover><mrow><mo>(</mo><munderover><mo>&Sigma;</mo><mrow><mi>g</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>W</mi><mi>o</mi></msub></munderover><mo>(</mo><msub><mi>Q</mi><mn>1</mn></msub><msub><mrow><mo>(</mo><mi>g</mi><mo>)</mo></mrow><mi>o</mi></msub><mo>+</mo><msub><mi>Q</mi><mn>2</mn></msub><msub><mrow><mo>(</mo><mi>g</mi><mo>)</mo></mrow><mi>o</mi></msub><mo>)</mo></mrow><mo>)</mo><mo>)</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000787965740000031.GIF" wi="1617" he="188" /></maths>其中,E<sub>swd</sub>表示p极性下三值FPRM电路的功耗,N为p极性下三值FPRM逻辑函数分解后的多输入模3加门的数量,W为p极性下三值FPRM逻辑函数分解后的多输入模3乘门的数量;②采用穷举法对三值FPRM电路进行功耗最佳极性搜索,得到三值FPRM电路的功耗最佳极性和该功耗最佳极性下三值FPRM电路的最小功耗。
地址 315211 浙江省宁波市江北区风华路818号