一种三值FPRM电路面积与功耗最佳极性搜索方法与流程

文档序号:11171786阅读:466来源:国知局
本发明涉及一种三值FPRM电路最佳极性搜索方法,尤其是涉及一种三值FPRM电路面积与功耗最佳极性搜索方法。

背景技术:
多值逻辑电路单线携带信息能力强,能有效提高空间或时间的利用率,减少数字系统的连线,节省电路面积与成本。任意三值逻辑函数均可以用布尔逻辑和Reed-Muller(RM)逻辑来表示。与传统的布尔逻辑电路相比,基于RM逻辑的电路具有以下三个方面的优势:首先,在某些功能电路(算通信电路、奇偶校验电路、运算电路等)中,用RM逻辑表示的电路在功耗、面积和速度等方面体现出了巨大的优势;其次,用RM逻辑表示的电路可测性强;最后,用RM逻辑表示的电路结构更加紧凑。固定极性(Fixed-polarityReed-Muller,FPRM)是RM逻辑常用表达方式。在三值FPRM逻辑函数中,n变量函数有3n个固定极性,对应3n个不同的三值FPRM表达式,其表达式的简单与复杂程度由极性决定。由此可知,极性对三值FPRM电路的功耗、面积等性能产生很大的影响。三值FPRM电路的功耗和面积属于两个独立的性能指标,其功耗较小时面积不一定较小,面积较小时功耗也不一定较小。目前,三值FPRM电路的面积优化方法主要是通过找到最佳极性来实现面积优化。对较小规模的三值FPRM电路进行面积优化时,通常使用穷举法遍历表示该三值FPRM电路的RM逻辑函数的每个极性来搜索最佳极性;对较大规模三值FPRM电路的面积进行优化时,由于极性与变量存在指数关系使得搜索空间急剧增加,穷举法很难在有限的时间内得到优化结果,目前最新的研究是采用整体退火遗传算法在大规模三值FPRM电路面积优化时进行最佳极性搜索,从而得到最小面积,然而其极性搜索结果存在改进空间,难以找到最佳极性。而在FPRM电路的功耗优化方面,国内外专家学者的研究仍停留二值电路领域,对三值FPRM电路耗优化技术未进行研究。人口迁移算法(PopulationMigrationAlgorithm,PMA)是以人口迁移规律为依据的一种新的全局优化搜索算法,主要模拟人口跟随经济中心转移以及人口由于压力增大而扩散的机制。人口迁移算法是一种全局优化的仿生算法,将目标函数的选择空间模拟成人类的生存空间,将目标函数值模拟成某个地域的吸引力,利用人口流动、迁移和扩散行为搜索可行解,通过个体的流动、迁移和扩散行为找到局部最优解,最后比较多个局部最优解得到全局最优解。遗传算法通过选择、交叉和变异三个操作模拟种群进化过程。首先,随机产生初代种群,根据适应度函数计算每个个体的适应度值,按适应度值的大小评价个体的好坏。其次,通过选择操作挑选出适应能力较强的个体。最后,通过对挑选出的个体进行交叉和变异操作,产生子代,形成新的种群。选择操作能淘汰掉种群中适应能力较差的个体,选出优秀的个体。交叉操作随机选择两个个体,将父代个体的部分结构进行替换,产生新的个体。选择和交叉操作能保留种群中优秀的个体,避免了优秀个体的丢失。变异操作模拟基因突变现象,以极小的概率改变个体的某些基因,增加种群多样性,能使算法避免陷入局部最优解。鉴此,结合人口迁移算法和遗传算法,设计一种三值FPRM电路面积与功耗最佳极性搜索方法具有重要意义。

技术实现要素:
本发明所要解决的技术问题是提供一种三值FPRM电路面积与功耗最佳极性搜索方法。该方法可以找到面积与功耗最佳极性,同时优化三值FPRM电路的面积与功耗性能,提高三值FPRM电路的综合性能。本发明解决上述技术问题所采用的技术方案为:一种三值FPRM电路面积与功耗最佳极性搜索方法,包括以下步骤:①构建人口迁移遗传算法,人口迁移遗传算法通过将遗传算法融合到人口迁移算法中得到:在人口迁移算法中发生人口流动时加入遗传算法的交叉操作和变异操作,在人口迁移算法中发生人口迁移时加入遗传算法的交叉操作和变异操作;由此实现遗传算法和人口迁移算法的融合;②建立三值FPRM电路的面积估计模型和功耗估计模型:②-1将三值FPRM电路用三值FPRM逻辑函数的表达式表示为:其中,n为函数fp(xn-1,xn-2,…,x0)的变量数,xn-1,xn-2,…,x0表示函数fp(xn-1,xn-2,…,x0)的n个输入变量,p表示函数fp(xn-1,xn-2,…,x0)的极性,极性p用三进制形式表示为pn-1pn-2…p0,pj∈{0,1,2},j=0,1,2,…,n-1,⊕表示模3加运算,∑为累加符号,符号“*”表示乘号,下标i=0,1,2,…,3n-1,i用三进制形式表示为in-1in-2…i0,ai为FPRM展开式系数,ai∈{0,1,2};∏表示模3乘运算,的展开式为:其中ij∈{0,1,2},极性p和下标i决定变量的表示形式;②-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加门的数量记为Nu,u=1,2,…,N;将第o个多输入模3乘门分解后的二输入模3乘门的数量记为Wo,o=1,2,…,W;②-3将作为三值FPRM电路的面积估计模型,S表示面积;表示p极性下三值FPRM逻辑函数中所有的多输入模3加门分解后得到的二输入模3加门的总数量;表示为p极性下三值FPRM逻辑函数中所有的多输入模3乘门分解后得到的二输入模3乘门的总数量;②-4将p极性下的三值FPRM逻辑函数分解后得到的所有二输入模3加门和二输入模3乘门引起的功耗作为p极性下的三值FPRM电路的功耗,二输入模3加门引起的功耗采用其开关活动性表示,二输入模3乘门引起的功耗采用其开关活动性表示,门电路的开关活动性用其输出端的输出变量概率表示,二输入模3加门引起的功耗采用其输出端的输出变量概率表示,二输入模3乘门引起的功耗采用其输出端的输出变量概率表示;②-5根据公式(2)、(3)和(4)计算第u个多输入模3加门分解后的第k个二输入模3加门的输出变量概率;k=1,2,…,Nu;P1(k)u=Pky11*Pky20+Pky10*Pky21+Pky12*Pky22(2)P2(k)u=Pky12*Pky20+Pky11*Pky21+Pky10*Pky22(3)P0(k)u=1-P1(k)u-P2(k)u(4)根据公式(5)、(6)和(7)计算第o个多输入模3乘门分解后的第g个二输入模3乘门的输出变量概率,g=1,2,…,Wo:Q1(g)o=Qgr11*Qgr21+Qgr12*Qgr22(5)Q2(g)o=Qgr11*Qgr22+Qgr12*Qgr21(6)Q0(g)o=1-Q1(g)o-Q2(g)o(7)其中,P1(k)u表示第u个多输入模3加门分解后的第k个二输入模3加门输出变量为1的概率,P2(k)u表示第u个多输入模3加门分解后的第k个二输入模3加门输出变量为2的概率,P0(k)u表示第u个多输入模3加门分解后的第k个二输入模3加门输出变量为0的概率,y1和y2表示二输入模3加门的两个输入变量,m∈{0,1,2},当k=1时,Pky1m为多输入模3加运算的第1个输入变量为m的概率,Pky2m为多输入模3加运算的第2个输入变量为m的概率,当k>1时,Pky1m为第k-1个二输入模3加门输出变量为m的概率,Pky2m为多输入模3加门的第k+1个输入变量为m的概率;Q1(g)o表示第o个多输入模3乘门分解后的第g个二输入模3乘门输出变量为1的概率,Q2(g)o表示第o个多输入模3乘门分解后的第g个二输入模3乘门输出变量为2的概率,Q0(g)o表示第o个多输入模3乘门分解后的第g个二输入模3乘门输出变量为0的概率,r1和r2表示二输入模3乘门的两个输入变量;当g=1时,Qgr1m为多输入模3乘运算的第1个输入变量为m的概率,Qgr2m为多输入模3乘运算的第2个输入变量为m的概率,当g>1时,Qgr1m为第g-1个二输入模3乘门输出变量为m的概率,Qgr2m为多输入模3乘门的第g+1个输入变量为m的概率;输入变量xj为1和2的概率是由随即函数产生的概率对(P1,P2),P0=1-P1-P2;P0,P1和P2分别为0到1之间某个值,P0表示输入变量为0的概率,P1表示输入变量为1的概率,P2表示输入变量为2的概率;②-6根据二输入模3加门的输出变量概率和二输入模3乘门的输出变量概率计算三值FPRM电路的功耗,将三值FPRM电路的功耗估计模型表示为:其中,Eswd表示p极性下三值FPRM电路的功耗,N为p极性下三值FPRM逻辑函数分解后的多输入模3加门的数量,W为p极性下三值FPRM逻辑函数分解后的多输入模3乘门的数量;③设定人口迁移算法中用于计算人口所在地点的吸引力的吸引力函数,吸引力函数用下式表示为:attraction(t)=α/(β/At+(1-β)/Bt)(9)其中,符号“/”表示除运算符号,attraction(t)表示第t个人口所在地点的吸引力大小;At表示第t个人口所在地点的环境因素,Bt表示第t个人口所在地点的经济因素,β为人口所在地点的环境因素和经济因素的权重,0<β<1;④建立三值FPRM电路和人口迁移遗传算法的对应关系:人口迁移算法包含以下几个关键要素:人口所在地点、人口所在地点的吸引力、吸引力最大地点、最大吸引力、人口可移动地表空间、优惠区域、人口流动、人口迁移、人口扩散、环境因素和经济因素;遗传算法包括两个关键因素:交叉操作和变异操作;三值FPRM电路面积和功耗综合优化包含以下几个关键要素:极性、相应极性的面积和功耗之和、最佳极性、最小面积和功耗之和、可选择的极性空间、最佳极性所在区间、极性变换、极性向最佳极性所在区间跳变、跳出局部最佳极性、极性交流、极性突变、面积和功耗;将人口所在地点映射到三值FPRM电路面积和功耗综合优化,表示为极性;将人口所在地点的吸引力映射到三值FPRM电路面积和功耗综合优化,表示为相应极性的面积和功耗之和;将吸引力最大地点映射到三值FPRM电路面积和功耗综合优化,表示为最佳极性;将最大吸引力映射到三值FPRM电路面积和功耗综合优化,表示为最小面积和功耗之和;将人口可移动地表空间映射到三值FPRM电路面积和功耗综合优化,表示为可选择的极性空间;将优惠区域映射到三值FPRM电路面积和功耗综合优化,表示为最佳极性所在区间;将人口流动域映射到三值FPRM电路面积和功耗综合优化,表示为极性变换;将人口迁移映射到三值FPRM电路面积和功耗综合优化,表示为极性向最佳极性所在区间跳变;将人口扩散映射到三值FPRM电路面积和功耗综合优化,表示为跳出局部最佳极性;将交叉操作映射到三值FPRM电路面积和功耗综合优化,表示为极性交流;将变异操作映射到三值FPRM电路面积和功耗综合优化,表示为极性突变;将环境因素映射到三值FPRM电路面积和功耗综合优化,表示为三值FPRM电路的面积S;将经济因素映射到三值FPRM电路面积和功耗综合优化,表示为三值FPRM电路的功耗;⑤设置人口迁移遗传算法相关参数:人口迁移遗传算法需设置5个参数:人口规模s、人口流动次数l、人口压力参数q、收缩系数c和人口扩散次数z;令人口规模s等于三值FPRM逻辑函数的输入变量个数,即s=n;人口流动次数l为人口所在区域的半径,人口所在区域的半径记为Δt,l=Δt,Δt=3s/s2;人口压力参数q为Δt/10;收缩系数c=0.3;三值FPRM电路为小规模电路时,人口扩散次数z=15,三值FPRM电路为大规模电路时,人口扩散次数z=2;⑥采用人口迁移遗传算法得到吸引力最大地点和最大吸引力,吸引力最大地点即为三值FPRM电路的面积和功耗最佳极性;最大吸引力即为三值FPRM电路的最小面积和功耗之和。所述的步骤⑥中采用人口迁移遗传算法得到吸引力最大地点和最大吸引力的具体过程为:⑥-1在人口可移动地表空间内用随机函数rand()产生s个人口所在地点,将s个人口所在地点分别记为P1,P2,…,Ps,分别以P1,P2,…,Ps为中点,按人口所在区域的半径确定s个人口所在区域;⑥-2通过吸引力函数计算第v个人口所在地点Pv的吸引力,v=1,2,3,…,s,得到人口所在地点P1,P2,…,Ps的吸引力;⑥-3比较人口所在地点P1,P2,…,Ps的吸引力,筛选出吸引力最大的人口所在地点作为吸引力最大地点,记录吸引力最大地点和最大吸引力;⑥-4进行人口流动:在人口所在地点Pv所对应的人口所在区域内采用随机函数随机产生一个人口所在地点P'v,得到P'1,P'2,…,P's,采用P'1,P'2,…,P's更新人口所在地点P1,P2,…,Ps,即P1=P'1,P2=P'2,…,Ps=P's,其中,P'v=2*Δt*rand()+(Pv-Δt),符号“*”为乘运算符号,Δt表示人口所在区域的半径;rand()为随机函数;⑥-5按照步骤⑥-2~⑥-3对人口所在地点P1,P2,…,Ps进行处理,得到吸引力最大地点和最大吸引力;⑥-6进行交叉操作:若s为偶数,将P1和P2、P3和P4、…、Ps-1和Ps两两分别进行交叉操作;若s为奇数,将P1和P2、P3和P4、…、Ps-2和Ps-1两两分别进行交叉操作,Ps不参与交叉操作;两个...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1