一种三值fprm电路功耗最佳极性搜索方法_2

文档序号:9550922阅读:来源:国知局
、个体迭代次数z= 20、基因突变概率q= 0. 01、起始温 度T0= 100。。;
[0039] ⑤采用模拟退火遗传算法得到适应度最大个体和最大适应度,适应度最大个体即 为三值FPRM电路的功耗最佳极性;最大适应度即为三值FPRM电路的最小功耗。
[0040] 所述的步骤⑤中采用模拟退火遗传算法得到适应度最大个体和最大适应度的具 体过程为:
[0041] ⑤-1用随机函数rand()产生w个用η位三进制表示的个体,将w个个体分别记 为Ρ1,Ρ2,·,·,Ρ¥;
[0042] ⑤-2通过适应度函数计算第ν个个体Ρν的适应度,ν= 1,2, 3,…,w,得到个体 Ρ1,Ρ2,"·,Ρ?的适应度;
[0043] ⑤_3比较个体Pl,Ρ2,…,Pw的适应度,筛选出适应度最大的个体作为适应度最 大个体,记录适应度最大个体和最大适应度;
[0044] ⑤-4对个体Ρ1,Ρ2,"·,Ρ?进行交叉操作产生个体F1,F2,若w为偶数, 将P1和P2、P3和P4、…、Pw-ι和Pw两两分别进行交叉操作;若W为奇数,将P1和P2、P3 和P4、和Pw-Ι两两分别进行交叉操作,Pw不参与交叉操作,Fw直接继承Pw;两个 个体Pe和Pu进行交叉操作产生个体Fe和Fu,具体过程为:将进行交叉操作的个体Pe赋 值给fe,个体Pu赋值给fu,随机产生一个η位二进制码,将该η位二进制码记为A,根据二 进制码Α更新fe和fu,当二进制码Α的第h位为1时,fe的第h位保持不变,fu的第h位 保持不变;当二进制码A的第h位为0时,fe的第h位继承fu的第h位,fu的第h位继承 fe的第h位,h= 1,2,3,···,!!,将交叉操作完成后的fe记为Fe,交叉操作完成后的fu记 为Fu;其中u=e+l,当w为偶数时,e=l,3,5,= ···,·》;当w为奇数 时,e=l,3,5,...,w-2;u= 2,4,6,
[0045] ⑤-5通过适应度函数计算第ν个个体Fv的适应度,得到个体F1,F2,"^Fw的适 应度;
[0046] ⑤-6将个体Fl,F2,…,Fw的适应度和目前适应度最大个体的适应度进行比较, 更新适应度最大个体和最大适应度;
[0047] ⑤-7将个体Fl,F2,…,Fw进行变异操作:对Fv的每一位均用随机函数rand() 产生一个0到1之间的值,若这个值小于基因突变概率q,则这个值对应的位就是Fv的变异 位,对Fv的变异位进行变异,变异规则为"0 - 1,1 - 2, 2 - 0" ;
[0048] ⑤_8按照步骤⑤-5~⑤-6对个体Fl,F2,…,Fw进行处理,得到更新后的适应 度最大个体和最大适应度;
[0049] ⑤-9根据适应度值的大小对个体Pl,P2,…,Pw进行排序,根据适应度值的大小 对个体F1,F2,…,^进行排序;在个体Ρ1,Ρ2,"·,Ρ?和个体F1,F2,…,Fw中各自选择 适应度值最优的2w/3个个体,组成一组新的个体,新的个体含有4w/3个个体;
[0050] ⑤-10对一组新的个体进行多轮退火选择:每一轮退火选择中,首先根据公式(9) 产生一个退火温度,对于该退火温度,按公式(10)依次计算各个个体的被选取概率P(c), 同时用随机函数rand()产生一个筛选概率t,0〈t〈l;当个体的被选取概率大于筛选概率 时,该个体在这一轮退火选择中被选择,被选择的个体不再参与下一轮退火选择,其他未被 选择的个体进入下一轮退火选择,直到筛选出w个个体更新个体Pl,P2,…,Pw后,退火选 择结束;
[0051]Tj=l/ln(l/T〇+1) (9)
[0052]
[0053] 其中,?\表示第1轮的退火温度,1 = 1,2,…;第一轮退火选择时,1 = 1,第二轮 退火选择时,1 = 2,以此类推;In表示对数操作;Τ。表示初始温度;P(c)表示个体C的概率; f(c)表示新的个体中第c个个体的适应度值;c= 1,2,3,;f(d)表示新的个体中 第d个个体的适应度值;d=l,2, 3,一,^/3 ;
[0054] ⑤-11按照步骤⑤-2~⑤-3对步骤⑤-10中更新后的个体Pl,P2,…,Pw进行 处理,得到适应度最大个体和最大适应度;
[0055] ⑤-12重复步骤⑤-4~⑤-11,直到满足个体迭代次数z,算法结束,得到适应度 最大个体和最大适应度;
[0056] ⑤-13将最后一次得到的适应度最大个体和最大适应度输出,适应度最大个体即 为三值FPRM电路的最佳极性;最大适应度即为三值FPRM电路的最小功耗。
[0057] 与现有技术相比,本发明的优点在于首先将三值FPRM电路采用p极性下的三值 FPRM逻辑函数进行表示,然后分解三值FPRM逻辑函数中含有的三输入运算,得到p极性下 的多个二输入模3加门和多个二输入模3乘门,将二输入模3加门和二输入模3乘门引起的 功耗作为P极性下的三值FPRM电路的功耗,构建得到三值FPRM电路的功耗估计模型,最后 采用模拟退火遗传算法对三值FPRM电路进行功耗最佳极性搜索,得到功耗最佳极性搜索 及最小功耗;本发明的方法通过建立的三值FPRM电路的功耗估计模型结合模拟退火遗传 算法来实现三值FPRM电路功耗最佳极性搜索,从而实现三值FPRM电路的功耗优化;随机采 用13个MCNCBenchmark电路进行仿真验证,本发明搜索到的功耗最佳极性与0极性比较, 模3加门数量平均节省57. 64%,模3乘门数量平均节省46. 25%,功耗平均节省73. 98%。
【具体实施方式】
[0058] 以下结合实施例对本发明作进一步详细描述。
[0059] 实施例一:一种三值FPRM电路功耗最佳极性搜索方法,包括以下步骤:
[0060] ①建立三值FPRM电路的功耗估计模型:
[0061] ①-1将三值FPRM电路采用三值FPRM逻辑函数表示为如下形式: L/1N丄UDOUDU i D Λ * *1 * υ/丄寸夕乂
[0062]
[0063] 其中^为函数俨匕以^…^丨的输入变量数量^以^…^表示函数 fp(xn 1; xn 2,…,x〇)的η个输入变量,ρ表示函数fp(xn 1; χη 2,…,χ。)的极性,极性ρ用三进 制形式表示为ρη也2…p〇,p.je {〇, 1,2},j = 0, 1,2,…,η-1,?表示模3加运算,Σ为累加 符号,符号为乘运算符号,下标i =〇, 1,2,…,3n-l,i用三进制形式表示为in 2…i。, a$FPRM系数;a# {0,1,2} ;Π表示模3乘运算,fp;'的其展开式为 其中{〇,1,2},i:,. = (?.? .?)*十? = 1* 4 =.之,$ =W:极性p和下标i决定变量的 表示形式;
[0064] ①-2p极性下的三值FPRM逻辑函数包含两类多输入运算,两类多输入运算分别为 多输入模3加运算和多输入模3乘运算,根据三值FPRM逻辑函数展开式将三值FPRM逻辑 函数分解为多个多输入模3加运算和多个多输入模3乘运算,然后将每个多输入运算分别 分解为二输入运算,得到二输入模3加运算和二输入模3乘运算,具体分解过程为:
[0065] 将多输入运算的第1个输入变量和第2个输入变量作为第一个二输入运算的两个 输入变量,得到第一个二输入运算的输出变量;将第一个二输入运算的输出变量和多输入 运算的第3个输入变量作为第二个二输入运算的两个输入变量,得到第二个二输入运算的 输出变量;将第二个二输入运算的输出变量和多输入运算的第4个输入变量作为第三个 二输入运算的两个输入变量,得到第三个二输入运算的输出变量;依此类推,直到所有的多 输入运算的输入变量作为二输入运算的输入变量,完成多输入运算的分解;
[0066] 将p极性下的三值FPRM逻辑函数分解后得到多个多输入模3加运算和多个多输 入模3乘运算,多输入模3加运算也称为多输入模3加门,多输入模3乘运算也称为多输入 模3乘门,将p极性下三值FPRM逻辑函数分解后的多输入模3加门的数量记为N,将p极 性下三值FPRM逻辑函数分解后的多输入模3乘门的数量记为W;将每个多输入模3加运算 分解后得到多个二输入模3加运算,将每个多输入模3乘运算分解后得到多个二输入模3 乘运算,二输入模3加运算也称为二输入模3加门,二输入模3乘运算也称为二输入模3乘 门;将第Η个多输入模3加门分解后的二输入模3加门的数量记为NH,Η= 1,2,…,N;将第 〇个多输入模3乘门分解后的二输入模3乘门的数量记为W。,〇 = 1,2,…,W;
[0067] ①_3将ρ极性下的三值FPRM逻辑函数分解后得到的所有二输入模3加门和二输 入模3乘门引起的功耗作为p极性下的三值FPRM电路的功耗,二输入模3加门引起的功耗 采用其开关活动性表示,二输入模3乘门引起的功耗采用其开关活动性表示,门电路的开 关活动性用其输出端的输出变量概率表示,二输入模3加门引起的功耗采用其输出端的输 出变量概率表示,二输入模3乘门引起的功耗采用其输出端的输出变量概率表示;
[0068] ①_4根据公式(2)、(3)和(4)计算第Η个多输入模3加门分解后的第k个二输 入模3加门的输出变量概率;k= 1,2,…,Nh;
[0069] P! (k) H=Pkyll*Pky20+Pkyl0*Pky21+Pkyl2*Pky22 (2)
[0070] P2 (k)H =Pkyl2*Pky2Q+Pkyll*Pky21+PkylQ*Pky22 ⑶
[0071] PQ(k)H ⑷
[0072]根据公式(5)、(6)和(7)计算第〇个多输入模3乘门分解后的第g个二输入模3 乘门的输出变量概率,g= 1,2,…,。:
[0073] Qi(g)〇= Qgrii*Qgr2l+Qgr12*Qgr22 (5)
[0074] Q2(g)〇= Qg rll*Qgr22+Qgrl2*Qgr21 (6)
[0075]QoWfl-Qjgh-Qdg)。(7)
[0076] 其中,Pi(k)H表示第H个多输入模3加门分解后的第k个二输入模3加门输出变 量为1的概率,P2 (k)H表示第Η个多输入模3加门分解后的第k个二输入模3加门输出变 量为2的概率,P。(k)H表示第Η个多输入模3加门分解后的第k个二输入模3加门输出变 量为〇的概率,yl和y2表示二输入模3加门的两个输入变量,Pkylni表示第k个二输入模3 加门中输入变量y1为m的概率,me{〇, 1,2},Pky2ni表示第k个二输入模3加门中输入变量 y2为m的概率,当k= 1时,Pkylni为多输入模3加运算的第1个输入变量为m的概率,Pky2ni 为多输入模3加运算的第2个输入变量为m的概率,当k>l时,Pkylni为第k-1个二输入模3 加门输出变量为m的概率,Pky2ni为多输入模3加门的第k+Ι个输入变量为m的概率;
[0077] Qi(g)。表不第〇个多输入模3乘门分解后的第g个
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1