一种二值fprm电路面积最佳极性搜索方法_3

文档序号:9417574阅读:来源:国知局
符;M ;表 示或项为或项系数,d i表示或项M i是否在XN0R/0R展开式中出现,且d i e {〇, 1},当d i =0时,表示或项%在XN0R/0R展开式中出现,当d 1时,表示或项M i不在XN0R/0R展 开式中出现;下标i用二进制形式表示为Li2…in,i = 0, 1,2,…,2n-l ;
[0069] ①_2p极性下的二值FPRM电路的XN0R/0R展开式包括多输入或项和多输入同或 项,多输入或项也称为多输入OR门,多输入同或项也称为多输入XNOR门,即p极性下的二 值FPRM电路的XN0R/0R展开式由多输入OR门和多输入XNOR门这两个多输入门组成;将p 极性下二值FPRM电路的XN0R/0R展开式中包含的两个多输入门分别分解为二输入门,得到 二输入OR门和二输入XNOR门,具体分解过程为:
[0070] 把多输入门的第一个输入变量和第二个输入变量作为第一个二输入门的输入变 量,得到第一个二输入门的输出变量;把第一个二输入门的输出变量和多输入门的第三个 输入变量作为第二个二输入门的输入变量,得到第二个二输入运算的输出变量;把第二个 二输入门的输出变量和多输入门的第四个输入变量作为第三个二输入门的输入变量,得到 第三个二输入运算的输出变量;依此类推,直到所有的多输入门的输入变量作为二输入运 算的输入变量。
[0071] 将p极性下的二值FPRM电路的XN0R/0R展开式中的多输入OR门分解后得到多个 二输入OR门,将P极性下二输入OR门的数量记为No. _of_0Rp;将p极性下的二值FPRM电 路的XN0R/0R展开式中的多输入XNOR门分解后得到多个二输入XNOR门,将p极性下二输 入XNOR门的数量记为No. _of_XN0Rp;
[0072] p极性下的二输入OR门和二输入XNOR门的数量分别按式(2)、式(3)计算:
[0073]
(2) LlN 丄Λ -/j υ I / ^
[0074]
J)
[0075] 其中,Σ为累加符号,忑为Cl1的互补变量,匕为ik的互补变量,k = 1,2, 3···,η ;
[0076] ①-3将S = No. _of_0Rp+No. _of_XN0Rp作为ρ极性下的二值FPRM电路面积估计 模型,S表示p极性下的二值FPRM电路面积;
[0077] ②建立二值FPRM电路和人口迀移算法对应关系:
[0078] 人口迀移算法包含以下几个关键要素:人口所在地点、人口所在地点的吸引力、吸 引力最大地点、最大吸引力、人口可移动地表空间、优惠区域、人口流动、人口迀移和人口扩 散;二值FPRM电路面积优化包含以下几个关键要素:极性、相应极性的面积大小、最佳极 性、最小面积、可选择的极性空间、最佳极性所在区间、极性向最佳极性所在区间跳变和跳 出局部最佳极性;
[0079] 将人口所在地点映射到二值FPRM电路面积优化,表示为极性;将人口所在地点的 吸引力映射到二值FPRM电路面积优化,表示为相应极性的面积大小;将吸引力最大地点映 射到二值FPRM电路面积优化,表示为最佳极性;将最大吸引力映射到二值FPRM电路面积优 化,表示为最小面积;将人口可移动地表空间映射到二值FPRM电路面积优化,表示为可选 择的极性空间;将优惠区域映射到二值FPRM电路面积优化,表示为最佳极性所在区间;将 人口流动映射到二值FPRM电路面积优化,表示为极性变换;将人口迀移映射到二值FPRM电 路面积优化,表示为极性向最佳极性所在区间跳变;将人口扩散映射到二值FPRM电路面积 优化,表示为跳出局部最佳极性;
[0080] ③设定人口迀移算法中用于计算人口所在地点的吸引力的吸引力函数:
[0081] 根据二值FPRM电路面积估计模型,设定人口迀移算法计算人口所在地点的吸引 力的吸引力函数:在人口迀移算法中,吸引力越大表示人口所在地的经济水平越高,但面积 最佳极性要求面积越小越好,因此,为了便于两者结合,采用面积的倒数表示吸引力,得到 吸引力函数如下:
[0082] attraction = (1/S) Xa= (I/(No. _of_0Rp+No. _of_XN0Rp)) X a (4)
[0083] 其中,符号"/"表示除运算符号,attraction表示为吸引力大小,其值越大表示电 路面积优化效果越好;No. _of_0Rp表示ρ极性下二输入OR门的数量;No. _of_XN0R p表示ρ 极性下二输入XNOR门的数量;α为放大系数,取值为大于等于1000的自然数;
[0084] ④设置人口迀移算法相关参数:
[0085] 人口迀移算法需设置5个参数:人口规模s、人口流动次数1、人口压力参数q、收 缩系数C和人口扩散次数z ;令人口规模s = 25、人口流动次数1 = 10、人口压力参数q = 10、收缩系数c = 0. 1、人口扩散次数z = 10 ;将人口所在区域的半径记为At,At = 37 S2;
[0086] ⑤采用人口迀移算法计算得到吸引力最大地点和最大吸引力,其中吸引力最大地 点即为二值FPRM电路的面积最佳极性,最大吸引力即为二值FPRM电路的最小面积。
[0087] 本实施例中,步骤⑤中采用人口迀移算法得到吸引力最大地点和最大吸引力的具 体过程为:
[0088] ⑤-1在人口可移动地表空间内用随机函数rand()产生s个人口所在地点,将s 个人口所在地点分别记为Pl,P2,···,Ps ;分别以Pl,P2,···,Ps为中点,按人口所在区域 的半径确定s个人口所在区域;
[0089] ⑤-2通过吸引力函数计算人口所在地点Pv的吸引力,V = 1,2,3,…,s,得到人 口所在地点Pl,P2,…,Ps的吸引力;
[0090] ⑤-3比较人口所在地点P1,P2,…,Ps的吸引力,筛选出吸引力最大的人口所在 地点作为吸引力最大地点,记录吸引力最大地点和最大吸引力;
[0091 ] ⑤-4进行人口流动:在人口所在地点Pv所对应的人口所在区域内采用随机 函数随机产生一个人口所在地点P' v,得到P' 1,P' 2,…,P's,采用P' 1,P' 2,…,P's更 新人口所在地点 Pl,P2,…,Ps,即令 Pl = P' 1,P2 = P'2, .",Ps = P's,其中,P'V = 2*Δ t*rand〇 + (Pv_A t),符号为乘运算符号,Δ t表示人口所在区域的半径;rand()为 随机函数;
[0092] ⑤-5按照步骤⑤-2~⑤-3对步骤⑤-4中更新后的人口所在地点Pl,P2,…, Ps进行处理,得到更新后的吸引力最大地点和最大吸引力;
[0093] ⑤-6进行人口迀移:以步骤⑤-5中更新后的吸引力最大地点为中点,按人口所在 区域半径At的大小确定优惠区域,在优惠区域内用随机函数randO产生s个人口所在地 点,将此时得到的s个人口所在地点对人口所在地点Pl,P2,…,Ps再次进行更新;
[0094] ⑤-7按照步骤⑤-2~⑤-3对步骤⑤-6中更新后的人口所在地点Pl,P2,…, Ps进行处理,得到再次更新后的吸引力最大地点和最大吸引力;
[0095] ⑤_8收缩优惠区域:令At' = (Ι-e)* At,采用At'更新At,即令At = At' ; 重复步骤⑤-6~⑤-7,直到Δ t〈q ;
[0096] ⑤-9当收缩优惠区域到一定程度Δ t〈q后,进行人口扩散:重复步骤⑤-1-⑤-8, 直到满足人口扩散次数z,算法结束,得到最后一次更新后的吸引力最大地点和最大吸引 力;
[0097] ⑤-10将最后一次更新后的吸引力最大地点和最大吸引力输出,其中吸引力最大 地点即为二值FPRM电路的面积最佳极性,最大吸引力即为二值FPRM电路的最小面积。
[0098] 本发明的面积最佳极性搜索方法在Windows 7 64位操作系统,Intel (R) Core(TM)i3-2130 CPU 3. 40GHZ,4G RAM运行环境下,用C语言通过VC6. 0编译实现,采用 10个MCNC Benchmark电路进行仿真验证。
[0099] 二值FPRM电路的面积最佳极性收索结果如表1所示。表1中,列1为电路名称, 列2为输入变量个数冽3为0极性下XNOR门的数量,列4为0极性下OR门的数量冽5、 列6和列7依次分别表示采用本发明的优化方法优化后的最佳极性和XN0R/0R门的数量; 列8和列9表示本发明的优化方法优化后的最佳极性与0极性相比在XN0R/0R门的数量上 节省的百分比。XN0R/0R门的数量节省的百分比定义如下:
[0100]
[0101]
[0102] 其中,SaveXN(]R表示XNOR门数量的节省,SaVe<]R表示OR门数量的节省;XN0R。表示0 极性下XNOR门的数量,0R。表示0极性下OR门的数量;XNOR 示表示优化极性下的XNOR 门的数量,ORm表示优化极性下的OR门的数量。
[0103] 表1二值FPRM电路面积最佳
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1