当前位置: 首页 > 专利查询>宁波大学专利>正文

一种MPRM电路面积与功耗的优化方法技术

技术编号:24854642 阅读:17 留言:0更新日期:2020-07-10 19:08
本发明专利技术公开了一种MPRM电路面积与功耗的优化方法,将MPRM电路面积和功耗优化问题转换为粒子群寻优问题,通过多目标三值多样性粒子群算法对MPRM电路面积与功耗进行最佳极性搜索,建立基于PDTDPSO算法的粒子与MPRM电路极性之间的参数映射关系,再将MPRM电路面积优化的各参数与的各参数进行关联,构建面积和功耗优化函数,在三值多样性粒子群算法求解MPRM电路面积和功耗综合优化问题的基础上,引入变异算子对粒子施加扰动,对超出定义的速度边界范围和位置边界范围的粒子,执行边界约束处理,并结合支配概念来优化;优点是搜索效率高,且寻优能力强,优化效果好。

【技术实现步骤摘要】
一种MPRM电路面积与功耗的优化方法
本专利技术涉及一种MPRM电路多目标优化方法,尤其是涉及一种MPRM电路面积与功耗的优化方法。
技术介绍
随着集成电路(IC)技术的发展,集成电路的集成度正在迅速提高。功耗和面积已经成为IC设计中不容忽视的问题,在集成电路设计流程的各个阶段都需要考虑电路面积和功耗。任何逻辑电路都可以采用基于AND/OR/NOT形式的布尔逻辑来表示,也可以采用基于AND/XOR或OR/XNOR形式的Reed-Muller(RM)逻辑来表示。随着集成电路优化设计的发展,以Reed-Muller(RM)逻辑表示的逻辑电路在功耗、面积、速度和可测试性方面比传统布尔逻辑的形式更具优势。RM逻辑主要分为固定极性RM(fixed-polarityReed-Muller,FPRM)和混合极性RM(mixed-polarityReed-Muller,MPRM)。MPRM与FPRM相对比,MPRM不但具有更为简单的表示,且MPRM展开式的极性搜索空间庞大,包含了FPRM展开式的所有极性。因此,MPRM具有比FPRM更大的优化空间和更好的优化效果。极性直接决定MPRM电路的表达式形式,进而影响MPRM电路的面积和功耗。MPRM电路的优化是在特定空间中搜索一个或多个极性,使其目标函数获得最优值。但是,MPRM电路的极性搜索空间庞大,使其电路性能优化的时间和空间复杂度很高。目前,MPRM电路优化普遍使用的方法是枚举法和遗传算法。但是,大规模的MPRM电路优化使用枚举法需要耗费大量时间,搜索效率低,使用遗传算法求解又会有种群多样性保持机制差、收敛速度慢和局部寻优能力弱等缺点,以致最终优化效果较差。
技术实现思路
本专利技术所要解决的技术问题是提供一种搜索效率高,且寻优能力强,优化效果好的MPRM电路面积与功耗的优化方法。本专利技术解决上述技术问题所采用的技术方案为:一种MPRM电路面积与功耗的优化方法,包括以下步骤:(1)读取代表电路结构的函数表达式:其中,n表示函数f(xn-1,xn-2,...,xk,...,x0)的输入变量数,(xn-1,xn-2,...,xk,...,x0)为函数f(xn-1,xn-2,...,xk,...,x0)的n个输入变量,xk为函数f(xn-1,xn-2,...,xk,...,x0)的第k+1个输入变量,k=0,1,2,...n-1,∏为与运算符号,ai是第i个最大项系数,且ai∈{0,1},i为最大项序数,用二进制表示为in-1in-2…ik…i0,mi表示第i个最大项,其符号表示形式为式中的出现形式和ik相关,若ik=1,若ik=0,其中为xk的反变量;(2)利用极性转换方法将表示电路结构的函数表达式(1)转换为P极性的MPRM表达式:其中,P为极性值,用三进制表示为pn-1pn-2...pg...p0,pg为极性值P第g+1位上的数,g=0,1,2,...n-1,⊙∏为同或运算符,Sj表示第j个或项,dj为第j个或项系数,dj∈{0,1},当dj=0时,表示Sj在MPRM表达式中出现,当dj=1时,表示(1+Sj)在MPRM表达式中出现,j为或项序数,j用二进制表示为jn-1jn-2…jg…j0,其中xg与pg和jg的关系为:当pg=0,jg=0或1时,xg以原变量的形式出现;当pg=1,jg=0或1时,xg以反变量的形式出现;当pg=2,jg=1时,xg以反变量的形式出现;当pg=2,jg=0时,xg以原变量的形式出现;(3)构建P极性的MPRM表达式对应的MPRM电路的面积函数与功耗函数,将面积函数采用式(3)表示为:式(3)中,Earea表示P极性下MPRM电路的面积,为dj的反变量,为jg的反变量;功耗函数采用式(4)表示为:式(4)中,Epow表示P极性下MPRM电路的功耗,Vdd表示MPRM电路的电源电压,fclk表示MPRM电路的时钟频率,另外,将MPRM电路分解为门电路后,MPRM电路由XNOR门和OR门构成,将MPRM电路中XNOR门和OR门的数量之和记为N,将MPRM电路分解得到的XNOR门和OR门均称为MPRM电路的门,MPRM电路分解得到的N个门的顺序随机排列,其中,表示MPRM电路的第s个门的输出负载电容,表示MPRM电路的第s个门的开关活动性,s=1,2,3…N;(4)将MPRM电路面积和功耗优化的各参数与三值多样性粒子群算法的各参数进行关联:将P极性的MPRM表达式中输入变量数n定义成粒子群的搜索空间维数,将P极性的MPRM表达式中的极性定义为粒子群的粒子,将P极性的MPRM表达式中极性的极性值P的三进制数定义为粒子位置;设定粒子群中粒子的数量为D,D为大于等于50且小于等于100的整数,最大迭代数为T,T为大于等于100且小于等于150的整数;(5)对粒子群进行初始化,得到第0代粒子群,具体为:随机初始化粒子群中各粒子的速度、位置和每个粒子的个体最优位置,将初始化后的粒子群称为第0代粒子群;(6)设定粒子速度的最小边界值,将其记为vmin,令vmin=0,设定粒子速度的最大边界值,将其记为vmax,令vmax=6.0,设定粒子位置的最小边界值,将其记为xmin,令xmin=2.0,设定粒子位置的最大边界值,将其记为xmax,令xmax=3.0;(7)构建用于存放全局最优粒子的外部集,对外部集进行初始化,具体过程为:S1、构建第0代边界粒子群:对第0代粒子群中每个粒子的速度和位置进行判定操作后得到第0代边界粒子群,判定操作具体方式为:如果该粒子的速度大于等于0且小于等于6,则其速度保持不变,反之,将其速度减少为当前速度的一半,如果该粒子的位置大于等于xmin且小于等于xmax,则其位置保持不变,反之,将其位置修改为xmin;S2、假设两个粒子,将某一粒子的位置映射为极性后,该极性下MPRM电路的面积称为该粒子的面积,该极性下MPRM电路的功耗称为该粒子的功耗,设定支配规则:将两个粒子分别称为粒子A和粒子B,如果粒子A的面积≤粒子B的面积并且粒子A的功耗≤粒子B的功耗,则认为粒子A支配粒子B,如果粒子A的面积>粒子B的面积并且粒子A的功耗>粒子B的功耗,则认为粒子A被粒子B支配,如果粒子A的面积≤粒子B的面积且粒子A的功耗>粒子B的功耗或者粒子A的面积>粒子B的面积且粒子A的功耗≤粒子B的功耗,则认为粒子A与粒子B不相关;S3、构造第0代非支配集,对第0代非支配集进行赋值,具体为:S3-1、采用第0代边界粒子群中的所有粒子构成第0代非支配粒子群;S3-2、从当前非支配粒子群中随机选择一个粒子,将该粒子的面积和功耗分别与当前非支配粒子群中其他粒子面积和功耗进行比较,根据支配规则判定该粒子与其他粒子的关系,如果该粒子支配其他任意粒子,则将该粒子放入非支配集,完成第0代非支配集的赋值,如果该粒子支配其他粒子中一部分粒子,且其他粒子中另一部分粒子支配该粒子或者与该粒子不相关,则进入步骤S3-3;...

【技术保护点】
1.一种MPRM电路面积与功耗的优化方法,其特征在于包括以下步骤:/n(1)读取代表电路结构的函数表达式:/n

【技术特征摘要】
1.一种MPRM电路面积与功耗的优化方法,其特征在于包括以下步骤:
(1)读取代表电路结构的函数表达式:



其中,n表示函数f(xn-1,xn-2,...,xk,...,x0)的输入变量数,(xn-1,xn-2,...,xk,...,x0)为函数f(xn-1,xn-2,...,xk,...,x0)的n个输入变量,xk为函数f(xn-1,xn-2,...,xk,...,x0)的第k+1个输入变量,k=0,1,2,...n-1,∏为与运算符号,ai是第i个最大项系数,且ai∈{0,1},i为最大项序数,用二进制表示为in-1in-2…ik…i0,mi表示第i个最大项,其符号表示形式为式中的出现形式和ik相关,若ik=1,若ik=0,其中为xk的反变量;
(2)利用极性转换方法将表示电路结构的函数表达式(1)转换为P极性的MPRM表达式:



其中,P为极性值,用三进制表示为pn-1pn-2...pg...p0,pg为极性值P第g+1位上的数,g=0,1,2,...n-1,⊙∏为同或运算符,Sj表示第j个或项,dj为第j个或项系数,dj∈{0,1},当dj=0时,表示Sj在MPRM表达式中出现,当dj=1时,表示(1+Sj)在MPRM表达式中出现,j为或项序数,j用二进制表示为jn-1jn-2…jg…j0,其中xg与pg和jg的关系为:当pg=0,jg=0或1时,xg以原变量的形式出现;当pg=1,jg=0或1时,xg以反变量的形式出现;当pg=2,jg=1时,xg以反变量的形式出现;当pg=2,jg=0时,xg以原变量的形式出现;
(3)构建P极性的MPRM表达式对应的MPRM电路的面积函数与功耗函数,将面积函数采用式(3)表示为:



式(3)中,Earea表示P极性下MPRM电路的面积,为dj的反变量,为jg的反变量;
功耗函数采用式(4)表示为:



式(4)中,Epow表示P极性下MPRM电路的功耗,Vdd表示MPRM电路的电源电压,fclk表示MPRM电路的时钟频率,另外,将MPRM电路分解为门电路后,MPRM电路由XNOR门和OR门构成,将MPRM电路中XNOR门和OR门的数量之和记为N,将MPRM电路分解得到的XNOR门和OR门均称为MPRM电路的门,MPRM电路分解得到的N个门的顺序随机排列,其中,表示MPRM电路的第s个门的输出负载电容,表示MPRM电路的第s个门的开关活动性,s=1,2,3…N;
(4)将MPRM电路面积和功耗优化的各参数与三值多样性粒子群算法的各参数进行关联:将P极性的MPRM表达式中输入变量数n定义成粒子群的搜索空间维数,将P极性的MPRM表达式中的极性定义为粒子群的粒子,将P极性的MPRM表达式中极性的极性值P的三进制数定义为粒子位置;设定粒子群中粒子的数量为D,D为大于等于50且小于等于100的整数,最大迭代数为T,T为大于等于100且小于等于150的整数;
(5)对粒子群进行初始化,得到第0代粒子群,具体为:随机初始化粒子群中各粒子的速度、位置和每个粒子的个体最优位置,将初始化后的粒子群称为第0代粒子群;
(6)设定粒子速度的最小边界值,将其记为vmin,令vmin=0,设定粒子速度的最大边界值,将其记为vmax,令vmax=6.0,设定粒子位置的最小边界值,将其记为xmin,令xmin=2.0,设定粒子位置的最大边界值,将其记为xmax,令xmax=3.0;
(7)构建用于存放全局最优粒子的外部集,对外部集进行初始化,具体过程为:
S1、构建第0代边界粒子群:对第0代粒子群中每个粒子的速度和位置进行判定操作后得到第0代边界粒子群,判定操作具体方式为:如果该粒子的速度大于等于0且小于等于6,则其速度保持不变,反之,将其速度减少为当前速度的一半,如果该粒子的位置大于等于xmin且小于等于xmax,则其位置保持不变,反之,将其位置修改为xmin;
S2、假设两个粒子,将某一粒子的位置映射为极性后,该极性下MPRM电路的面积称为该粒子的面积,该极性下MPRM电路的功耗称为该粒子的功耗,设定支配规则:将两个粒子分别称为粒子A和粒子B,如果粒子A的面积≤粒子B的面积并且粒子A的功耗≤粒子B的功耗,则认为粒子A支配粒子B,如果粒子A的面积>粒子B的面积并且粒子A的功耗>粒子B的功耗,则认为粒子A被粒子B支配,如果粒子A的面积≤粒子B的面积且粒子A的功耗>粒子B的功耗或者粒子A的面积>粒子B的面积且粒子A的功耗≤粒子B的功耗,则认为粒子A与粒子B不相关;
S3、构造第0代非支配集,对第0代非支配集进行赋值,具体为:
S3-1、采用第0代边界粒子群中的所有粒子构成第0代非支配粒子群;
S3-2、从当前非支配粒子群中随机选择一个粒子,将该粒子的面积和功耗分别与当前非支配粒子群中其他粒子面积和功耗进行比较,根据支配规则判定该粒子与其他粒子的关系,如果该粒子支配其他任意粒子,则将该粒子放入非支配集,完成第0代非支配集的赋值,如果该粒子支配其他粒子中一部分粒子,且其他粒子中另一部分粒子支配该粒子或者与该粒子不相关,则进入步骤S3-3;
S3-3、将当前非支配粒子群中该粒子支配的其他粒子中一部分粒子删除,保留另一部粒子,得到更新后的非支配粒子群,将更新后的非支配粒子群作为当前非支配粒子群,如果当前非支配粒子群中只存在一个粒子,则将该粒子放入非支配集,完成第0代非支配集的赋值,否则返回步骤S3-2;
S4、将第0代非支配集中的粒子存放到外部集中,完成外部集的初始化;
(8)将当前外部集中粒子的位置作为粒子群初始的全局最优位置。
(9)设定迭代次数,将其记为t,对t进行初始换,令t=1;
(10)对粒子群进行第t代迭代更新,具体过程为:
A、采用三值多样性粒子群中粒子的运动方程式对第t-1代粒子群中各粒子的速度和位置进行更新,得到第t代粒子群,三值多样性粒子群中粒子的运动方程式如式(5)至式(7)所示:



xfd(t)=round(Sfd+2×σ×randx())(6)



其中,c1、c2和c3为学习因子,c1=c2=c3=1.5,r1、r2和r3是大于等于0且小于等于1的随机数,w为惯性权重,式中wstart表示初始权重,wend表示最终权重,初始惯性权重wstart=0...

【专利技术属性】
技术研发人员:俞海珍闫盼盼张维山史旭华
申请(专利权)人:宁波大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利