发明名称 一种混合极性同或/或电路的功耗优化方法
摘要 本发明公开了一种混合极性同或/或电路的功耗优化方法,根据混合极性同或/或电路表达式的特点,改进快速列表技术以实现同或/或电路的混合极性转换;再基于功耗估计模型,利用霍夫曼算法实现或门的低功耗分解,根据二输入同或门输入信号概率和输出信号概率的分布特点,将多输入同或门的输入信号分成三组:输入信号概率大于0.5、输入信号小于0.5和输入信号等于0.5,然后在各组中进行综合,实现多输入同或门的低功耗分解,综合两者得到混合极性适应度函数;然后建立混合极性与粒子群对应关系,采用粒子群优化算法对同或/或电路进行功耗最优的混合极性搜索;优点是通过对MCNC Benchmark电路进行测试表明:其对应的电路功耗平均节省53.98%,搜索速度得到明显提高。
申请公布号 CN103020331A 申请公布日期 2013.04.03
申请号 CN201210388689.0 申请日期 2012.10.15
申请人 宁波大学 发明人 俞海珍;汪鹏君;史旭华;汪迪生
分类号 G06F17/50(2006.01)I;G06F1/32(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 33226 代理人 程晓明
主权项 1.一种混合极性同或/或电路的功耗优化方法,其特征在于首先根据混合极性同或/或电路表达式的特点,改进快速列表技术对同或/或电路的混合极性进行转换;再基于混合极性同或/或电路功耗估计模型,利用霍夫曼算法实现或门的低功耗分解;然后根据二输入同或门输入信号概率和输出信号概率的分布特点,将多输入同或门的输入信号分成三组:输入信号概率大于0.5、输入信号小于0.5和输入信号等于0.5,在各组中进行综合,实现多输入同或门的低功耗分解,综合两者得到混合极性适应度函数;最后建立混合极性与粒子群算法中的粒子之间的对应关系,采用粒子群优化算法对同或/或电路进行功耗最优的混合极性搜索,具体包括以下步骤:①读入电路,将电路表示为函数<maths num="0001"><![CDATA[<math><mrow><mi>f</mi><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><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><msub><mi>x</mi><mi>k</mi></msub><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><msub><mi>x</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><msup><mn>2</mn><mi>n</mi></msup><mo>-</mo><mn>1</mn></mrow></munderover><mrow><mo>(</mo><msub><mi>a</mi><mi>i</mi></msub><mo>+</mo><msub><mi>M</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>n为函数f(x<sub>n-1</sub>,x<sub>n-2</sub>,…,x<sub>k</sub>,…,x<sub>0</sub>)的变量数,(x<sub>n-1</sub>,x<sub>n-2</sub>,…,x<sub>k</sub>,…,x<sub>0</sub>)为函数f(x<sub>n-1</sub>,x<sub>n-2</sub>,…,x<sub>k</sub>,…,x<sub>0</sub>)的n个输入变量,∏为与运算符,a<sub>i</sub>是最大项系数,且a<sub>i</sub>∈{0,1},i为最大项序数,用二进制表示为i<sub>n-1</sub>i<sub>n-2</sub>…i<sub>k</sub>…i<sub>0</sub>,M<sub>i</sub>是最大项,表示n个变量相或,k为正整数,且0≤k≤n-1;利用快速列表技术将函数转换为P极性的混合极性同或/或表达式:<img file="FDA00002254660100012.GIF" wi="906" he="129" />P为混合极性同或/或表达式的极性值,P用三进制形式表示为p<sub>n-1</sub>p<sub>n-2</sub>…p<sub>g</sub>…p<sub>0</sub>,⊙∏为同或运算符,S<sub>j</sub>表示或项,d<sub>i</sub>为或项系数,d<sub>i</sub>表示或项是否在混合极性同或/或表达式中出现,且d<sub>i</sub>∈{0,1},当d<sub>i</sub>=0时,表示S<sub>j</sub>项在同或/或表达式中出现,当d<sub>i</sub>=1时,表示S<sub>j</sub>项不在同或/或表达式中出现,j为或项序数,j用二进制表示为j<sub>n-1</sub>j<sub>n-2</sub>…j<sub>g</sub>…j<sub>0</sub>,其中x<sub>g</sub>与p<sub>g</sub>和j<sub>g</sub>的关系为:当p<sub>g</sub>=0和j<sub>g</sub>=0时,x<sub>g</sub>以原变量出现;当p<sub>g</sub>=1和j<sub>g</sub>=0时,x<sub>g</sub>以反变量出现;当p<sub>g</sub>=2时,x<sub>g</sub>同时以原变量和反变量的形式出现,当j<sub>g</sub>=0时,x<sub>g</sub>以原变量出现,当j<sub>g</sub>=1时,x<sub>g</sub>以反变量出现,其中g为正整数,且0≤g≤n-1;②初始化粒子群:将输入变量数n定义成粒子群的搜索空间维数,将混合极性定义为粒子群的粒子,将极性值P定义为粒子群的粒子位置,设定粒子的数量为M,M为正整数,粒子群的总进化代数为t<sub>max</sub>,随机初始化粒子群中各粒子的速度、位置、粒子的当前个体最优位置、粒子群的当前全局最优位置和适应度值;③选择粒子的当前位置作为混合极性同或/或表达式的极性值,改进快速列表技术对XNOR/OR电路的混合极性进行转换,得到同或/或项;④将混合极性转换后的同或/或项分解为一系列二输入同或项和二输入或项,将第m个粒子位置对应的混合极性同或/或电路的总开关活动性定义为E<sub>total</sub>,将第m个粒子位置对应的混合极性同或/或电路的同或门的总开关活动性定义为E<sub>XNOR</sub>,将第m个粒子位置对应的混合极性同或/或电路的或门的总开关活动性定义为E<sub>OR</sub>,其中E<sub>total</sub>=E<sub>XNOR</sub>+E<sub>OR</sub>,定义第m个粒子位置对应的适应度函数<maths num="0002"><![CDATA[<math><mrow><mi>fitness</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><msub><mi>E</mi><mi>total</mi></msub></mfrac><mo>*</mo><mi>coefficient</mi><mo>,</mo></mrow></math>]]></maths>式中coefficient为大于零的正常数;⑤更新粒子的当前位置和当前速度,将粒子的最新速度作为该粒子的当前速度,将粒子的最新位置作为该粒子的当前位置,根据适应度函数计算当前各个粒子的适应度值,将该粒子的当前位置与该粒子的当前个体最优位置进行比较,选择适应度值较大的作为该粒子新的当前个体最优位置,再比较所有粒子新的当前全局最优位置,将具有最大适应度值的粒子的当前位置作为粒子群新的当前全局最优位置;⑥判断当前代数是否为最大进化代数,若不是,转到步骤③,否则进入步骤⑦;⑦将粒子群新的当前全局最优位置所对应的混合极性同或/或表达式的极性作为最优极性输出,将该最优极性对应的混合极性同或/或电路的总开关活动性作为最优总开关活动性输出。
地址 315211 浙江省宁波市江北区风华路818号
您可能感兴趣的专利