CN105138742A - 一种二值fprm电路面积最佳极性搜索方法 - Google Patents
一种二值fprm电路面积最佳极性搜索方法 Download PDFInfo
- Publication number
- CN105138742A CN105138742A CN201510469355.XA CN201510469355A CN105138742A CN 105138742 A CN105138742 A CN 105138742A CN 201510469355 A CN201510469355 A CN 201510469355A CN 105138742 A CN105138742 A CN 105138742A
- Authority
- CN
- China
- Prior art keywords
- population
- polarity
- input
- attractive force
- xnor
- 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.)
- Granted
Links
Abstract
本发明公开了一种二值FPRM电路面积最佳极性搜索方法,首先建立二值FPRM电路的面积估计模型,然后建立二值FPRM电路和人口迁移算法对应关系,再根据二值FPRM电路的面积估计模型得到人口迁移算法中用于计算人口所在地点的吸引力的吸引力函数,然后设置人口迁移算法与二值FPRM电路面积优化的对应关系,人口迁移算法相关参数后采用人口迁移算法计算得到吸引力最大地点和最大吸引力,其中吸引力最大地点即为二值FPRM电路的面积最佳极性,最大吸引力即为二值FPRM电路的最小面积,由此通过人口迁移算法得到二值FPRM电路面积优化结果;优点是可以快速搜索到面积最佳极性,面积优化效果明显。
Description
技术领域
本发明涉及一种二值FPRM电路面积优化方法,尤其是涉及一种二值FPRM电路面积最佳极性搜索方法。
背景技术
任意逻辑函数均可以用布尔逻辑和Reed-Muller(RM)逻辑来表示,与传统的布尔逻辑相比,基于RM逻辑的通信电路、奇偶校验电路、运算电路等具有更紧凑的结构和更好的可测性。RM逻辑通常采用固定极性(Fixed-polarityReed-Muller,FPRM)和混合极性(Mixed-polarityReed-Muller,MPRM)两种表达方式,RM逻辑的两种表达方式都可以用XOR/AND和XNOR/OR这两种展开式表示。二值FPRM电路可以采用n变量FPRM逻辑函数表示,该n变量FPRM逻辑函数中有2n个固定极性,对应2n个不同的FPRM表达式,其表达式的简单与复杂程度由极性决定。因此,极性对FPRM电路的功耗、面积等性能指标产生很大的影响。对较小规模的电路进行优化时,可以使用穷举法遍历每个极性;对较大规模电路进行优化时,由于极性与变量存在指数关系使得搜索空间急剧增加,穷举法很难在有限的时间内得到优化结果。因此,需要寻求一种高效智能算法提高搜索效率,以便尽快得到FPRM电路的最优或近最优极性,实现二值FPRM电路面积或者功耗的优化。人口迁移算法(PopulationMigrationAlgorithm,PMA)是我国学者周永华等根据人口迁移规律提出的一种新的全局优化搜索算法,其主要模拟了人口随着经济重心发生转移和随着压力增加而扩散的机制。人口迁移算法是一种概率搜索算法,实现全局并行搜索,并在搜索过程中不断地向可能包含最优解的空间转移,寻找最优或近最优解。人口迁移算法原理简单易操作,与整体退火遗传算法相比,部分函数的优化效果明显提高,且收敛性和全局寻优能力较强。
鉴此,提供一种二值FPRM电路面积最佳极性搜索方法来优化二值FPRM电路面积具有重要意义。
发明内容
本发明所要解决的技术问题是提一种二值FPRM电路面积最佳极性搜索方法,该最佳极性搜索方法搜索效率高,可以快速的搜索到二值FPRM电路的面积最佳极性,面积优化效果明显。
本发明解决上述技术问题所采用的技术方案为:一种二值FPRM电路面积最佳极性搜索方法,包括以下步骤:
①建立二值FPRM电路面积估计模型:
①-1采用快速列表技术得到p极性下的二值FPRM电路的XNOR/OR展开式:
其中,p为极性;x1,x2,x3,…,xn表示XNOR/OR展开式的n个输入变量;极性p用二进制形式表示为pn-1pn-2…p0,pj∈{0,1},j=0,1,2,…,n-1;⊙∏表示同或运算符;Mi表示或项;di为或项系数,di表示或项Mi是否在XNOR/OR展开式中出现,且di∈{0,1},当di=0时,表示或项Mi在XNOR/OR展开式中出现,当di=1时,表示或项Mi不在XNOR/OR展开式中出现;下标i用二进制形式表示为i1i2…in,i=0,1,2,…,2n-1;
①-2p极性下的二值FPRM电路的XNOR/OR展开式包括多输入或项和多输入同或项,多输入或项也称为多输入OR门,多输入同或项也称为多输入XNOR门,即p极性下的二值FPRM电路的XNOR/OR展开式由多输入OR门和多输入XNOR门这两个多输入门组成;将p极性下二值FPRM电路的XNOR/OR展开式中包含的两个多输入门分别分解为二输入门,得到二输入OR门和二输入XNOR门,具体分解过程为:
把多输入门的第一个输入变量和第二个输入变量作为第一个二输入门的输入变量,得到第一个二输入门的输出变量;把第一个二输入门的输出变量和多输入门的第三个输入变量作为第二个二输入门的输入变量,得到第二个二输入运算的输出变量;把第二个二输入门的输出变量和多输入门的第四个输入变量作为第三个二输入门的输入变量,得到第三个二输入运算的输出变量;依此类推,直到所有的多输入门的输入变量作为二输入运算的输入变量。
将p极性下的二值FPRM电路的XNOR/OR展开式中的多输入OR门分解后得到多个二输入OR门,将p极性下二输入OR门的数量记为No._of_ORp;将p极性下的二值FPRM电路的XNOR/OR展开式中的多输入XNOR门分解后得到多个二输入XNOR门,将p极性下二输入XNOR门的数量记为No._of_XNORp;
p极性下的二输入OR门和二输入XNOR门的数量分别按式(2)、式(3)计算:
其中,∑为累加符号,为di的互补变量,为ik的互补变量,k=1,2,3…,n;
①-3将S=No._of_ORp+No._of_XNORp作为p极性下的二值FPRM电路面积估计模型,S表示p极性下的二值FPRM电路面积;
②建立二值FPRM电路和人口迁移算法对应关系:
人口迁移算法包含以下几个关键要素:人口所在地点、人口所在地点的吸引力、吸引力最大地点、最大吸引力、人口可移动地表空间、优惠区域、人口流动、人口迁移和人口扩散;二值FPRM电路面积优化包含以下几个关键要素:极性、相应极性的面积大小、最佳极性、最小面积、可选择的极性空间、最佳极性所在区间、极性向最佳极性所在区间跳变和跳出局部最佳极性;
将人口所在地点映射到二值FPRM电路面积优化,表示为极性;将人口所在地点的吸引力映射到二值FPRM电路面积优化,表示为相应极性的面积大小;将吸引力最大地点映射到二值FPRM电路面积优化,表示为最佳极性;将最大吸引力映射到二值FPRM电路面积优化,表示为最小面积;将人口可移动地表空间映射到二值FPRM电路面积优化,表示为可选择的极性空间;将优惠区域映射到二值FPRM电路面积优化,表示为最佳极性所在区间;将人口流动映射到二值FPRM电路面积优化,表示为极性变换;将人口迁移映射到二值FPRM电路面积优化,表示为极性向最佳极性所在区间跳变;将人口扩散映射到二值FPRM电路面积优化,表示为跳出局部最佳极性;
③设定人口迁移算法中用于计算人口所在地点的吸引力的吸引力函数:
根据二值FPRM电路面积估计模型,设定人口迁移算法计算人口所在地点的吸引力的吸引力函数:在人口迁移算法中,吸引力越大表示人口所在地的经济水平越高,但面积最佳极性要求面积越小越好,因此,为了便于两者结合,采用面积的倒数表示吸引力,得到吸引力函数如下:
attraction=(1/S)×α=(1/(No._of_ORp+No._of_XNORp))×α(4)
其中,符号“/”表示除运算符号,attraction表示为吸引力大小,其值越大表示电路面积优化效果越好;No._of_ORp表示p极性下二输入OR门的数量;No._of_XNORp表示p极性下二输入XNOR门的数量;α为放大系数,取值为大于等于1000的自然数;
④设置人口迁移算法相关参数:
人口迁移算法需设置5个参数:人口规模s、人口流动次数l、人口压力参数q、收缩系数c和人口扩散次数z;令人口规模s=25、人口流动次数l=10、人口压力参数q=10、收缩系数c=0.1、人口扩散次数z=10;将人口所在区域的半径记为Δt,Δt=3s/s2;
⑤采用人口迁移算法计算得到吸引力最大地点和最大吸引力,其中吸引力最大地点即为二值FPRM电路的面积最佳极性,最大吸引力即为二值FPRM电路的最小面积。
所述的步骤⑤中采用人口迁移算法得到吸引力最大地点和最大吸引力的具体过程为:
⑤-1在人口可移动地表空间内用随机函数rand()产生s个人口所在地点,将s个人口所在地点分别记为P1,P2,…,Ps;分别以P1,P2,…,Ps为中点,按人口所在区域的半径确定s个人口所在区域;
⑤-2通过吸引力函数计算人口所在地点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对步骤⑤-4中更新后的人口所在地点P1,P2,…,Ps进行处理,得到更新后的吸引力最大地点和最大吸引力;
⑤-6进行人口迁移:以步骤⑤-5中更新后的吸引力最大地点为中点,按人口所在区域半径Δt的大小确定优惠区域,在优惠区域内用随机函数rand()产生s个人口所在地点,将此时得到的s个人口所在地点对人口所在地点P1,P2,…,Ps再次进行更新;
⑤-7按照步骤⑤-2~⑤-3对步骤⑤-6中更新后的人口所在地点P1,P2,…,Ps进行处理,得到再次更新后的吸引力最大地点和最大吸引力;
⑤-8收缩优惠区域:令Δt'=(1-c)*Δt,采用Δt'更新Δt,即令Δt=Δt';重复步骤⑤-6~⑤-7,直到Δt<q;
⑤-9当收缩优惠区域到一定程度Δt<q后,进行人口扩散:重复步骤⑤-1-⑤-8,直到满足人口扩散次数z,算法结束,得到最后一次更新后的吸引力最大地点和最大吸引力;
⑤-10将最后一次更新后的吸引力最大地点和最大吸引力输出,其中吸引力最大地点即为二值FPRM电路的面积最佳极性,最大吸引力即为二值FPRM电路的最小面积。
与现有技术相比,本发明的优点在于首先建立二值FPRM电路的面积估计模型,然后建立二值FPRM电路和人口迁移算法对应关系,再根据二值FPRM电路的面积估计模型得到人口迁移算法中用于计算人口所在地点的吸引力的吸引力函数,设置人口迁移算法相关参数后采用人口迁移算法计算得到吸引力最大地点和最大吸引力,其中吸引力最大地点即为二值FPRM电路的最佳极性,最大吸引力即为二值FPRM电路的最小面积,由此通过人口迁移算法搜索得到二值FPRM电路的最佳极性,实现二值FPRM电路的面积优化,该优化方法不需要逐一遍历每个极性,可以尽快得到二值FPRM电路的最佳极性,搜索效率高,可以快速的搜索到二值FPRM电路的最佳极性,面积优化效果明显;采用10个测试电路对本发明的方法进行仿真验证,10个测试电路XNOR门的数量平均节省了69.0%,OR门的数量平均节省了64.4%,面积优化效果明显。
具体实施方式
以下结合实施例对本发明作进一步详细描述。
实施例一:一种二值FPRM电路面积最佳极性搜索方法,包括以下步骤:
①建立二值FPRM电路面积估计模型:
①-1采用快速列表技术得到p极性下的二值FPRM电路的XNOR/OR展开式:
其中,p为极性;x1,x2,x3,…,xn表示XNOR/OR展开式的n个输入变量;极性p用二进制形式表示为pn-1pn-2…p0,pj∈{0,1},j=0,1,2,…,n-1;⊙∏表示同或运算符;Mi表示或项;di为或项系数,di表示或项Mi是否在XNOR/OR展开式中出现,且di∈{0,1},当di=0时,表示或项Mi在XNOR/OR展开式中出现,当di=1时,表示或项Mi不在XNOR/OR展开式中出现;下标i用二进制形式表示为i1i2…in,i=0,1,2,…,2n-1;
①-2p极性下的二值FPRM电路的XNOR/OR展开式包括多输入或项和多输入同或项,多输入或项也称为多输入OR门,多输入同或项也称为多输入XNOR门,即p极性下的二值FPRM电路的XNOR/OR展开式由多输入OR门和多输入XNOR门这两个多输入门组成;将p极性下二值FPRM电路的XNOR/OR展开式中包含的两个多输入门分别分解为二输入门,得到二输入OR门和二输入XNOR门,具体分解过程为:
把多输入门的第一个输入变量和第二个输入变量作为第一个二输入门的输入变量,得到第一个二输入门的输出变量;把第一个二输入门的输出变量和多输入门的第三个输入变量作为第二个二输入门的输入变量,得到第二个二输入运算的输出变量;把第二个二输入门的输出变量和多输入门的第四个输入变量作为第三个二输入门的输入变量,得到第三个二输入运算的输出变量;依此类推,直到所有的多输入门的输入变量作为二输入运算的输入变量。
将p极性下的二值FPRM电路的XNOR/OR展开式中的多输入OR门分解后得到多个二输入OR门,将p极性下二输入OR门的数量记为No._of_ORp;将p极性下的二值FPRM电路的XNOR/OR展开式中的多输入XNOR门分解后得到多个二输入XNOR门,将p极性下二输入XNOR门的数量记为No._of_XNORp;
p极性下的二输入OR门和二输入XNOR门的数量分别按式(2)、式(3)计算:
其中,∑为累加符号,为di的互补变量,为ik的互补变量,k=1,2,3…,n;
①-3将S=No._of_ORp+No._of_XNORp作为p极性下的二值FPRM电路面积估计模型,S表示p极性下的二值FPRM电路面积;
②建立二值FPRM电路和人口迁移算法对应关系:
人口迁移算法包含以下几个关键要素:人口所在地点、人口所在地点的吸引力、吸引力最大地点、最大吸引力、人口可移动地表空间、优惠区域、人口流动、人口迁移和人口扩散;二值FPRM电路面积优化包含以下几个关键要素:极性、相应极性的面积大小、最佳极性、最小面积、可选择的极性空间、最佳极性所在区间、极性向最佳极性所在区间跳变和跳出局部最佳极性;
将人口所在地点映射到二值FPRM电路面积优化,表示为极性;将人口所在地点的吸引力映射到二值FPRM电路面积优化,表示为相应极性的面积大小;将吸引力最大地点映射到二值FPRM电路面积优化,表示为最佳极性;将最大吸引力映射到二值FPRM电路面积优化,表示为最小面积;将人口可移动地表空间映射到二值FPRM电路面积优化,表示为可选择的极性空间;将优惠区域映射到二值FPRM电路面积优化,表示为最佳极性所在区间;将人口流动映射到二值FPRM电路面积优化,表示为极性变换;将人口迁移映射到二值FPRM电路面积优化,表示为极性向最佳极性所在区间跳变;将人口扩散映射到二值FPRM电路面积优化,表示为跳出局部最佳极性;
③设定人口迁移算法中用于计算人口所在地点的吸引力的吸引力函数:
根据二值FPRM电路面积估计模型,设定人口迁移算法计算人口所在地点的吸引力的吸引力函数:在人口迁移算法中,吸引力越大表示人口所在地的经济水平越高,但面积最佳极性要求面积越小越好,因此,为了便于两者结合,采用面积的倒数表示吸引力,得到吸引力函数如下:
attraction=(1/S)×α=(1/(No._of_ORp+No._of_XNORp))×α(4)
其中,符号“/”表示除运算符号,attraction表示为吸引力大小,其值越大表示电路面积优化效果越好;No._of_ORp表示p极性下二输入OR门的数量;No._of_XNORp表示p极性下二输入XNOR门的数量;α为放大系数,取值为大于等于1000的自然数;
④设置人口迁移算法相关参数:
人口迁移算法需设置5个参数:人口规模s、人口流动次数l、人口压力参数q、收缩系数c和人口扩散次数z;令人口规模s=25、人口流动次数l=10、人口压力参数q=10、收缩系数c=0.1、人口扩散次数z=10;将人口所在区域的半径记为Δt,Δt=3s/s2;
⑤采用人口迁移算法计算得到吸引力最大地点和最大吸引力,其中吸引力最大地点即为二值FPRM电路的面积最佳极性,最大吸引力即为二值FPRM电路的最小面积。
实施例二:一种二值FPRM电路面积最佳极性搜索方法,包括以下步骤:
①建立二值FPRM电路面积估计模型:
①-1采用快速列表技术得到p极性下的二值FPRM电路的XNOR/OR展开式:
其中,p为极性;x1,x2,x3,…,xn表示XNOR/OR展开式的n个输入变量;极性p用二进制形式表示为pn-1pn-2…p0,pj∈{0,1},j=0,1,2,…,n-1;⊙∏表示同或运算符;Mi表示或项;di为或项系数,di表示或项Mi是否在XNOR/OR展开式中出现,且di∈{0,1},当di=0时,表示或项Mi在XNOR/OR展开式中出现,当di=1时,表示或项Mi不在XNOR/OR展开式中出现;下标i用二进制形式表示为i1i2…in,i=0,1,2,…,2n-1;
①-2p极性下的二值FPRM电路的XNOR/OR展开式包括多输入或项和多输入同或项,多输入或项也称为多输入OR门,多输入同或项也称为多输入XNOR门,即p极性下的二值FPRM电路的XNOR/OR展开式由多输入OR门和多输入XNOR门这两个多输入门组成;将p极性下二值FPRM电路的XNOR/OR展开式中包含的两个多输入门分别分解为二输入门,得到二输入OR门和二输入XNOR门,具体分解过程为:
把多输入门的第一个输入变量和第二个输入变量作为第一个二输入门的输入变量,得到第一个二输入门的输出变量;把第一个二输入门的输出变量和多输入门的第三个输入变量作为第二个二输入门的输入变量,得到第二个二输入运算的输出变量;把第二个二输入门的输出变量和多输入门的第四个输入变量作为第三个二输入门的输入变量,得到第三个二输入运算的输出变量;依此类推,直到所有的多输入门的输入变量作为二输入运算的输入变量。
将p极性下的二值FPRM电路的XNOR/OR展开式中的多输入OR门分解后得到多个二输入OR门,将p极性下二输入OR门的数量记为No._of_ORp;将p极性下的二值FPRM电路的XNOR/OR展开式中的多输入XNOR门分解后得到多个二输入XNOR门,将p极性下二输入XNOR门的数量记为No._of_XNORp;
p极性下的二输入OR门和二输入XNOR门的数量分别按式(2)、式(3)计算:
其中,∑为累加符号,为di的互补变量,为ik的互补变量,k=1,2,3…,n;
①-3将S=No._of_ORp+No._of_XNORp作为p极性下的二值FPRM电路面积估计模型,S表示p极性下的二值FPRM电路面积;
②建立二值FPRM电路和人口迁移算法对应关系:
人口迁移算法包含以下几个关键要素:人口所在地点、人口所在地点的吸引力、吸引力最大地点、最大吸引力、人口可移动地表空间、优惠区域、人口流动、人口迁移和人口扩散;二值FPRM电路面积优化包含以下几个关键要素:极性、相应极性的面积大小、最佳极性、最小面积、可选择的极性空间、最佳极性所在区间、极性向最佳极性所在区间跳变和跳出局部最佳极性;
将人口所在地点映射到二值FPRM电路面积优化,表示为极性;将人口所在地点的吸引力映射到二值FPRM电路面积优化,表示为相应极性的面积大小;将吸引力最大地点映射到二值FPRM电路面积优化,表示为最佳极性;将最大吸引力映射到二值FPRM电路面积优化,表示为最小面积;将人口可移动地表空间映射到二值FPRM电路面积优化,表示为可选择的极性空间;将优惠区域映射到二值FPRM电路面积优化,表示为最佳极性所在区间;将人口流动映射到二值FPRM电路面积优化,表示为极性变换;将人口迁移映射到二值FPRM电路面积优化,表示为极性向最佳极性所在区间跳变;将人口扩散映射到二值FPRM电路面积优化,表示为跳出局部最佳极性;
③设定人口迁移算法中用于计算人口所在地点的吸引力的吸引力函数:
根据二值FPRM电路面积估计模型,设定人口迁移算法计算人口所在地点的吸引力的吸引力函数:在人口迁移算法中,吸引力越大表示人口所在地的经济水平越高,但面积最佳极性要求面积越小越好,因此,为了便于两者结合,采用面积的倒数表示吸引力,得到吸引力函数如下:
attraction=(1/S)×α=(1/(No._of_ORp+No._of_XNORp))×α(4)
其中,符号“/”表示除运算符号,attraction表示为吸引力大小,其值越大表示电路面积优化效果越好;No._of_ORp表示p极性下二输入OR门的数量;No._of_XNORp表示p极性下二输入XNOR门的数量;α为放大系数,取值为大于等于1000的自然数;
④设置人口迁移算法相关参数:
人口迁移算法需设置5个参数:人口规模s、人口流动次数l、人口压力参数q、收缩系数c和人口扩散次数z;令人口规模s=25、人口流动次数l=10、人口压力参数q=10、收缩系数c=0.1、人口扩散次数z=10;将人口所在区域的半径记为Δt,Δt=3s/s2;
⑤采用人口迁移算法计算得到吸引力最大地点和最大吸引力,其中吸引力最大地点即为二值FPRM电路的面积最佳极性,最大吸引力即为二值FPRM电路的最小面积。
本实施例中,步骤⑤中采用人口迁移算法得到吸引力最大地点和最大吸引力的具体过程为:
⑤-1在人口可移动地表空间内用随机函数rand()产生s个人口所在地点,将s个人口所在地点分别记为P1,P2,…,Ps;分别以P1,P2,…,Ps为中点,按人口所在区域的半径确定s个人口所在区域;
⑤-2通过吸引力函数计算人口所在地点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对步骤⑤-4中更新后的人口所在地点P1,P2,…,Ps进行处理,得到更新后的吸引力最大地点和最大吸引力;
⑤-6进行人口迁移:以步骤⑤-5中更新后的吸引力最大地点为中点,按人口所在区域半径Δt的大小确定优惠区域,在优惠区域内用随机函数rand()产生s个人口所在地点,将此时得到的s个人口所在地点对人口所在地点P1,P2,…,Ps再次进行更新;
⑤-7按照步骤⑤-2~⑤-3对步骤⑤-6中更新后的人口所在地点P1,P2,…,Ps进行处理,得到再次更新后的吸引力最大地点和最大吸引力;
⑤-8收缩优惠区域:令Δt'=(1-c)*Δt,采用Δt'更新Δt,即令Δt=Δt';重复步骤⑤-6~⑤-7,直到Δt<q;
⑤-9当收缩优惠区域到一定程度Δt<q后,进行人口扩散:重复步骤⑤-1-⑤-8,直到满足人口扩散次数z,算法结束,得到最后一次更新后的吸引力最大地点和最大吸引力;
⑤-10将最后一次更新后的吸引力最大地点和最大吸引力输出,其中吸引力最大地点即为二值FPRM电路的面积最佳极性,最大吸引力即为二值FPRM电路的最小面积。
本发明的面积最佳极性搜索方法在Windows764位操作系统,Intel(R)Core(TM)i3-2130CPU3.40GHZ,4GRAM运行环境下,用C语言通过VC6.0编译实现,采用10个MCNCBenchmark电路进行仿真验证。
二值FPRM电路的面积最佳极性收索结果如表1所示。表1中,列1为电路名称,列2为输入变量个数;列3为0极性下XNOR门的数量,列4为0极性下OR门的数量;列5、列6和列7依次分别表示采用本发明的优化方法优化后的最佳极性和XNOR/OR门的数量;列8和列9表示本发明的优化方法优化后的最佳极性与0极性相比在XNOR/OR门的数量上节省的百分比。XNOR/OR门的数量节省的百分比定义如下:
其中,SaveXNOR表示XNOR门数量的节省,SaveOR表示OR门数量的节省;XNOR0表示0极性下XNOR门的数量,OR0表示0极性下OR门的数量;XNORPMA表示表示优化极性下的XNOR门的数量,ORPMA表示优化极性下的OR门的数量。
表1二值FPRM电路面积最佳极性搜索结果
人口迁移算法为依概率收敛算法,因此仿真时每个电路搜索3到4次。分析数据可知,本发明的方法搜索到的最佳极性与0极性相比优化效果明显,其中pcle电路的XNOR/OR门节省分别高达95.3%和94.9%,10个测试电路XNOR/OR门的数量平均节省了69.0%和64.4%。同时人口迁移算法不需要逐一遍历每个极性,可以尽快得到FPRM电路的面积最佳极性。
Claims (2)
1.一种二值FPRM电路面积最佳极性搜索方法,其特征在于包括以下步骤:
①建立二值FPRM电路面积估计模型:
①-1采用快速列表技术得到p极性下的二值FPRM电路的XNOR/OR展开式:
其中,p为极性;x1,x2,x3,…,xn表示XNOR/OR展开式的n个输入变量;极性p用二进制形式表示为pn-1pn-2…p0,pj∈{0,1},j=0,1,2,…,n-1;⊙∏表示同或运算符;Mi表示或项;di为或项系数,di表示或项Mi是否在XNOR/OR展开式中出现,且di∈{0,1},当di=0时,表示或项Mi在XNOR/OR展开式中出现,当di=1时,表示或项Mi不在XNOR/OR展开式中出现;下标i用二进制形式表示为i1i2…in,i=0,1,2,…,2n-1;
①-2p极性下的二值FPRM电路的XNOR/OR展开式包括多输入或项和多输入同或项,多输入或项也称为多输入OR门,多输入同或项也称为多输入XNOR门,即p极性下的二值FPRM电路的XNOR/OR展开式由多输入OR门和多输入XNOR门这两个多输入门组成;将p极性下二值FPRM电路的XNOR/OR展开式中包含的两个多输入门分别分解为二输入门,得到二输入OR门和二输入XNOR门,具体分解过程为:
把多输入门的第一个输入变量和第二个输入变量作为第一个二输入门的输入变量,得到第一个二输入门的输出变量;把第一个二输入门的输出变量和多输入门的第三个输入变量作为第二个二输入门的输入变量,得到第二个二输入运算的输出变量;把第二个二输入门的输出变量和多输入门的第四个输入变量作为第三个二输入门的输入变量,得到第三个二输入运算的输出变量;依此类推,直到所有的多输入门的输入变量作为二输入运算的输入变量。
将p极性下的二值FPRM电路的XNOR/OR展开式中的多输入OR门分解后得到多个二输入OR门,将p极性下二输入OR门的数量记为No._of_ORp;将p极性下的二值FPRM电路的XNOR/OR展开式中的多输入XNOR门分解后得到多个二输入XNOR门,将p极性下二输入XNOR门的数量记为No._of_XNORp;
p极性下的二输入OR门和二输入XNOR门的数量分别按式(2)、式(3)计算:
其中,∑为累加符号,为di的互补变量,为ik的互补变量,k=1,2,3…,n;
①-3将S=No._of_ORp+No._of_XNORp作为p极性下的二值FPRM电路面积估计模型,S表示p极性下的二值FPRM电路面积;
②建立二值FPRM电路和人口迁移算法对应关系:
人口迁移算法包含以下几个关键要素:人口所在地点、人口所在地点的吸引力、吸引力最大地点、最大吸引力、人口可移动地表空间、优惠区域、人口流动、人口迁移和人口扩散;二值FPRM电路面积优化包含以下几个关键要素:极性、相应极性的面积大小、最佳极性、最小面积、可选择的极性空间、最佳极性所在区间、极性向最佳极性所在区间跳变和跳出局部最佳极性;
将人口所在地点映射到二值FPRM电路面积优化,表示为极性;将人口所在地点的吸引力映射到二值FPRM电路面积优化,表示为相应极性的面积大小;将吸引力最大地点映射到二值FPRM电路面积优化,表示为最佳极性;将最大吸引力映射到二值FPRM电路面积优化,表示为最小面积;将人口可移动地表空间映射到二值FPRM电路面积优化,表示为可选择的极性空间;将优惠区域映射到二值FPRM电路面积优化,表示为最佳极性所在区间;将人口流动映射到二值FPRM电路面积优化,表示为极性变换;将人口迁移映射到二值FPRM电路面积优化,表示为极性向最佳极性所在区间跳变;将人口扩散映射到二值FPRM电路面积优化,表示为跳出局部最佳极性;
③设定人口迁移算法中用于计算人口所在地点的吸引力的吸引力函数:
根据二值FPRM电路面积估计模型,设定人口迁移算法计算人口所在地点的吸引力的吸引力函数:在人口迁移算法中,吸引力越大表示人口所在地的经济水平越高,但面积最佳极性要求面积越小越好,因此,为了便于两者结合,采用面积的倒数表示吸引力,得到吸引力函数如下:
attraction=(1/S)×α=(1/(No._of_ORp+No._of_XNORp))×α(4)
其中,符号“/”表示除运算符号,attraction表示为吸引力大小,其值越大表示电路面积优化效果越好;No._of_ORp表示p极性下二输入OR门的数量;No._of_XNORp表示p极性下二输入XNOR门的数量;α为放大系数,取值为大于等于1000的自然数;
④设置人口迁移算法相关参数:
人口迁移算法需设置5个参数:人口规模s、人口流动次数l、人口压力参数q、收缩系数c和人口扩散次数z;令人口规模s=25、人口流动次数l=10、人口压力参数q=10、收缩系数c=0.1、人口扩散次数z=10;将人口所在区域的半径记为Δt,Δt=3s/s2;
⑤采用人口迁移算法计算得到吸引力最大地点和最大吸引力,其中吸引力最大地点即为二值FPRM电路的面积最佳极性,最大吸引力即为二值FPRM电路的最小面积。
2.根据权利要求1所述的一种二值FPRM电路面积最佳极性搜索方法,其特征在于所述的步骤⑤中采用人口迁移算法得到吸引力最大地点和最大吸引力的具体过程为:
⑤-1在人口可移动地表空间内用随机函数rand()产生s个人口所在地点,将s个人口所在地点分别记为P1,P2,…,Ps;分别以P1,P2,…,Ps为中点,按人口所在区域的半径确定s个人口所在区域;
⑤-2通过吸引力函数计算人口所在地点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对步骤⑤-4中更新后的人口所在地点P1,P2,…,Ps进行处理,得到更新后的吸引力最大地点和最大吸引力;
⑤-6进行人口迁移:以步骤⑤-5中更新后的吸引力最大地点为中点,按人口所在区域半径Δt的大小确定优惠区域,在优惠区域内用随机函数rand()产生s个人口所在地点,将此时得到的s个人口所在地点对人口所在地点P1,P2,…,Ps再次进行更新;
⑤-7按照步骤⑤-2~⑤-3对步骤⑤-6中更新后的人口所在地点P1,P2,…,Ps进行处理,得到再次更新后的吸引力最大地点和最大吸引力;
⑤-8收缩优惠区域:令Δt'=(1-c)*Δt,采用Δt'更新Δt,即令Δt=Δt';重复步骤⑤-6~⑤-7,直到Δt<q;
⑤-9当收缩优惠区域到一定程度Δt<q后,进行人口扩散:重复步骤⑤-1-⑤-8,直到满足人口扩散次数z,算法结束,得到最后一次更新后的吸引力最大地点和最大吸引力;
⑤-10将最后一次更新后的吸引力最大地点和最大吸引力输出,其中吸引力最大地点即为二值FPRM电路的面积最佳极性,最大吸引力即为二值FPRM电路的最小面积。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510469355.XA CN105138742B (zh) | 2015-08-03 | 2015-08-03 | 一种二值fprm电路面积最佳极性搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510469355.XA CN105138742B (zh) | 2015-08-03 | 2015-08-03 | 一种二值fprm电路面积最佳极性搜索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105138742A true CN105138742A (zh) | 2015-12-09 |
CN105138742B CN105138742B (zh) | 2017-10-17 |
Family
ID=54724089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510469355.XA Active CN105138742B (zh) | 2015-08-03 | 2015-08-03 | 一种二值fprm电路面积最佳极性搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105138742B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107194023A (zh) * | 2017-03-30 | 2017-09-22 | 宁波大学 | 一种fprm电路面积与延时优化方法 |
CN107220463A (zh) * | 2017-06-28 | 2017-09-29 | 宁波大学 | 一种混合极性xnor/or电路面积优化方法 |
CN107679326A (zh) * | 2017-10-10 | 2018-02-09 | 宁波大学 | 一种二值fprm电路面积与延时综合优化方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1450627A (zh) * | 2003-05-21 | 2003-10-22 | 中国科学院计算技术研究所 | 一种具有并行结构的大规模数字电路最大功耗估计方法 |
CN102982205A (zh) * | 2012-11-21 | 2013-03-20 | 宁波大学 | 一种用于数字电路设计的固定极性转换方法 |
-
2015
- 2015-08-03 CN CN201510469355.XA patent/CN105138742B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1450627A (zh) * | 2003-05-21 | 2003-10-22 | 中国科学院计算技术研究所 | 一种具有并行结构的大规模数字电路最大功耗估计方法 |
CN102982205A (zh) * | 2012-11-21 | 2013-03-20 | 宁波大学 | 一种用于数字电路设计的固定极性转换方法 |
Non-Patent Citations (6)
Title |
---|
FEI SUN等: "Best polarity searching for ternary FPRM logic circuit area based on whole annealing genetic algorithm", 《IEEE, INTERNATIONAL CONFERENCE ON ASIC》 * |
JING DAI等: "A Novel Quantum Genetic Algorithm for Area Optimization of FPRM Circuits", 《IEEE COMPUTER SOCIETY》 * |
周永华等: "一种新的全局优化搜索算法-人口迁移算法(II)", 《华南理工大学(自然科学版)》 * |
孙飞: "三值FPRM逻辑电路面积最佳极性搜索", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
孙飞等: "基于遗传算法的三值FPRM电路面积优化", 《山东大学学报(理学版)》 * |
张会红: "基于XNOR/OR的FPRM极性优化研究", 《中国博士学位论文全文数据库信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107194023A (zh) * | 2017-03-30 | 2017-09-22 | 宁波大学 | 一种fprm电路面积与延时优化方法 |
CN107194023B (zh) * | 2017-03-30 | 2019-07-12 | 宁波大学 | 一种fprm电路面积与延时优化方法 |
CN107220463A (zh) * | 2017-06-28 | 2017-09-29 | 宁波大学 | 一种混合极性xnor/or电路面积优化方法 |
CN107220463B (zh) * | 2017-06-28 | 2019-07-09 | 宁波大学 | 一种混合极性xnor/or电路面积优化方法 |
CN107679326A (zh) * | 2017-10-10 | 2018-02-09 | 宁波大学 | 一种二值fprm电路面积与延时综合优化方法 |
CN107679326B (zh) * | 2017-10-10 | 2019-07-09 | 宁波大学 | 一种二值fprm电路面积与延时综合优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105138742B (zh) | 2017-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105160097A (zh) | 一种利用人口迁移算法的三值fprm电路面积优化方法 | |
Ryang et al. | Top-k high utility pattern mining with effective threshold raising strategies | |
Easton et al. | Sequential destruction method for Monte Carlo evaluation of system reliability | |
CN105138742A (zh) | 一种二值fprm电路面积最佳极性搜索方法 | |
CN104574192A (zh) | 在多个社交网络中识别同一用户的方法及装置 | |
CN102621528B (zh) | 基于改进遗传算法的m-序列雷达信号波形优化方法 | |
CN105678401A (zh) | 一种基于策略适应性差分进化的全局优化方法 | |
CN103020331B (zh) | 一种混合极性同或/或电路的功耗优化方法 | |
CN103440275A (zh) | 一种基于普利姆的k均值聚类方法 | |
CN105205534A (zh) | 一种三值fprm电路面积与功耗最佳极性搜索方法 | |
CN104361462B (zh) | 基于文化基因算法的社交网络影响最大化方法 | |
CN105224577A (zh) | 一种多标签文本分类方法及系统 | |
Kathpal et al. | Hybrid PSO–SA algorithm for achieving partitioning optimization in various network applications | |
CN104615892A (zh) | 一种用于特殊中医病历诊断规则挖掘的多层精英角色方法 | |
Mohsen et al. | An optimization algorithm based on harmony search for rna secondary structure prediction | |
CN105306075A (zh) | 一种三值fprm电路功耗最佳极性搜索方法 | |
CN102402713B (zh) | 机器学习方法和装置 | |
CN107330201A (zh) | 一种固定极性Reed‑Muller逻辑电路极性搜索方法 | |
CN104331738A (zh) | 基于博弈和遗传算法的网络重构算法 | |
CN107679326A (zh) | 一种二值fprm电路面积与延时综合优化方法 | |
Li et al. | Evolving directed graphs with artificial bee colony algorithm | |
CN113012760B (zh) | 基于fpga的基因序列组装算法计算加速方法 | |
CN105205214A (zh) | 一种利用穷举法的三值fprm电路功耗优化方法 | |
Saakian | Quasispecies model of evolution with migration | |
CN105117224A (zh) | 一种基于多智能体进化的软件模块聚类分析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |