一种包含无关项的Reed-Muller逻辑电路的功耗优化方法
【技术领域】
[0001] 本发明设及一种针对Reed-Muller逻辑电路的极性优化方法,尤其设及一种包含 无关项的Reed-Muller逻辑电路的功耗优化方法。属于集成电路优化设计技术领域。
【背景技术】
[0002] 随着集成电路的高速发展,其设计复杂度也在不断增加,传统的人工设计方法早 已失效,计算机辅助设计(CAD)和电子设计自动化巧DA)应运而生。而CAD工具在不同设计 抽象层中对电路优化设计时,逻辑级电路优化是集成电路优化设计的关键组成部分之一。 集成电路逻辑级自动化设计对电路的功耗和面积的性能优化起重要作用。
[0003] 目前,集成电路优化设计大多基于Boolean逻辑,并已建立了相对系统的自动设 计方法。然而,相关研究已表明,在功耗、面积、速度和可测试性等多方面,对于部分电路 (如算术电路、奇偶校验电路、通信电路)而言,Reed-Muller(RM)逻辑实现形式比传统的 Boolean逻辑实现形式具有更大的优势。
[0004] 无关项是数字逻辑函数中的一种特殊的最小项,该项在逻辑函数展开式中出现与 否均不影响逻辑电路的性能,但是相关研究表明,合理的利用无关项可W简化逻辑函数的 展开式,进而优化电路的面积和功耗。因此,包含无关项的M逻辑电路优化是对集成电路 设计技术的重要补充,进而提高M逻辑电路的应用范围。
[0005]RM逻辑函数有两种主要的表不形式,分别是FixedPolarityReed-Muller(FPRM) 和MixedPolarityReed-Muller(MPRM)表达式。对于FPRM逻辑而言,n输入变量的逻辑 函数有2"不同的极性,对应2n繁简不同的逻辑表达式。对于MPRM逻辑而言,n输入变量的 逻辑函数有3"不同的极性,对应3n繁简不同的逻辑表达式。若加入m个无关项,其优化空 间均会相应增大,其中包含无关项的FPRM电路优化空间变为2。+-,包含无关项的MPRM逻辑 电路的优化空间变为3". 2-。相比于未考虑无关项的RM逻辑电路,优化空间急剧变大。而 极性是M逻辑电路的关键因素,直接决定着电路表达式的繁简,进而影响电路的功耗、面 积W及速度等方面的性能。M电路的极性优化是在具体的极性空间中捜索一个或多个极 性,其所对应逻辑表达式的目标函数的值最优,即为最佳极性,而每个极性的优劣是根据对 应极性展开式的目标函数值的大小来进行评定,其中目标函数一般是与电路的功耗、面积、 速度及可测试性等性能相关。
[0006] 基于快速列表技术的极性间转换算法表明:由某已知极性下的M展开式求另一 待评估极性对应的M展开式时,该两个极性间不同位数越少,则转换过程所需的操作越 少,极性转换速度也越快。对于小规模电路而言,可W按照格雷码顺序进行捜索,此时的转 换速度是最快的;但对于中大规模电路而言,随着输入变量个数的增加,极性数目与变量数 目之间是成指数关系的,M逻辑电路的优化空间也成指数倍增加,在传统的基于遗传算法 的M逻辑电路的功耗优化中,每一代个体集都由几十甚至上百个个体按随机的顺序组合 而成,如果直接按照随机顺序进行极性转换,又会造成计算时间的严重浪费。因此,需要寻 求更加有效的智能算法来捜索最佳极性。
[0007]综上所述,现有的针对中大规模Reed-Muller逻辑电路的功耗优化方法存在着如 下一些问题:
[000引 1)随着M逻辑电路输入变量的增加,其功耗优化的极性捜索空间也随之增大,单 纯的穷尽捜索算法已经不能满足要求,若直接按照随机顺序评估M逻辑电路的该些极性, 会造成计算时间上的极大浪费。
[0009] 2)遗传算法虽然简单通用、并行处理能力和全局捜索能力强,但是它收敛速度很 慢,而且容易陷入局部最优,加上由于遗传算法中交叉、变异等操作的随机性,很容易破坏 当前群体中适应度最好的个体。尤其是对于大规模的M逻辑电路而言,影响捜索到最佳极 性的效率。
[0010] 3)标准的遗传算法采用固定的交叉率和变异率,存在早熟及稳定性差的缺点。传 统的自适应遗传算法虽能提高算法的收敛性,但却难W提高优良解的多样性,W及算法的 鲁椿性。
【发明内容】
[0011] 本发明的目的在于解决当前包含无关项的M逻辑电路功耗优化足的问题,提出 了一种针对包含无关项的M逻辑电路的功耗优化方法。先根据逻辑电路极性捜索过 程最少操作"的原则,利用改进的自适应遗传算法求解待评估极性集的最佳极性遍历顺序; 然后再根据此极性遍历顺序对包含无关项的M逻辑电路进行极性转换和功耗估计,W此 完成包含无关项的M逻辑电路最佳极性优化;该方法可W有效地缩短M逻辑电路的最佳 极性捜索时间。
[0012] 本发明中遗传算法的初始种群是由两部分组成,基于改进的最近邻算法生成部分 个体(实验中取整体种群的80% ),另一部分个体则是随机生成(实验中取20% ),该样生 成的个体中包含有较好的顺序片断,能在进化前期有效指导种群的进化方向,加快算法的 收敛速度,缩减算法的捜索空间,从而提高算法的运行效率。随着M逻辑电路输入变量的 增加,该算法的优越性就会更加明显。
[0013] 同时,遗传算法参数中的交叉率和变异率直接影响着算法的收敛性。在遗传算法 初期,模式主要集中在适应度较低的个体上,若采用较小的交叉率和变异率,种群很难产生 出优秀的新个体。算法后期,模式朝高适应度的个体集中,倘若仍采用较大的交叉率和变异 率,容易破坏优良模式,使算法陷入局部收敛。而且,普通的自适应遗传算法中,群体最大适 应度值的个体的交叉率和变异率为零,使得进化趋于局部最优解的可能性增加。本发明提 出的改进的自适应遗传算法主要是对传统自适应遗传算法中的交叉率和变异率调整曲线 进行了非线性化,使得它们随着适应度的改变可W灵活的改变。
[0014] 最后,采用精英保留策略,保证了每一代的优良个体不被交叉和变异等操作破坏。
[0015] 双曲正切函数拥有比余弦函数更平滑的顶部和底部,但其函数变化范围是 [-1,1],而遗传算法中交叉率和变异率的变化范围需要满足在[0, 1]之间,因此,需要对该 函数做如下所示的变换:
[0016]
。)
[0017]在本发明改进的自适应遗传算法中,采用上述变换后的双曲正切函数来设计交叉 率和变异率的自适应调整公式,交叉率和变异率的自适应调整公式如下所示;
[0020] 其中,P"a康示交叉率取值的最大值,P表示交叉率取值的最小值,Pmma,表示变 异率取值的最大值,表示变异率取值的最小值;P。表示遗传算法中个体间的交叉概率, Pm表示遗传算法中个体间的变异概率;fwg表示种群的平均适应度,fmay表示种群的最大适 应度,r表示参与交叉的两个体中较大的适应度,f表示变异个体的适应度。
[0021] 本发明提出的改进的自适应遗传算法,对交叉算子和变异算子分别进行了优化, 实现了根据种群的进化情况对交叉率和变异率的非线性自适应调整,在种群演化中有效地 保留了优秀个体的模式,增强了较差个体的变异能力,使算法能跳出局部最优解,克服早熟 的缺点。
[0022] 同时,它不仅保证了交叉率和变异率的自适应调整曲线在fwg处缓慢改变,从而大 面积地提高适应度接近平均适应度的个体的交叉率和变异率,而且确保了交叉率和变异率 的自适应调整曲线在fwg和相差较大时不会趋于直线,保证了种群中较优个体仍具有 一定的交叉率和变异率,避免发生早熟。
[0023] 综上所述,本发明中包含无关项的M逻辑电路功耗优化主要由图1和图2所示的 两部分算法实现,图1为用改进的自适应遗传算法求解每一代待评估极性集的最佳极性转 换顺序,即算法1 ;图2为捜索包含无关项的RM逻辑电路最佳极性,即算法2。
[0024] 本发明一种包含无关项的Reed-Muller逻辑电路的功耗优化方法,该方法具体步 骤如下:
[0025] 步骤1 ;实现包含无关项的布尔逻辑电路向M逻辑电路的极性转换;
[0026] 步骤2 ;随机生成图2中遗传算法的初始种群,其中,所述的初始种群均为十进制 的极性;
[0027] 步骤3 ;若针对FPRM逻辑电路,则将初始种群中十进制的极性转换成二进制;若针 对MPRM逻辑电路,则将初始种群中十进制的极性转换成S进制进行;
[002引步骤4;根据当