一种基于规则引导的遗传算法的集成电路优化方法及系统

文档序号:30978712发布日期:2022-08-03 00:04阅读:101来源:国知局
一种基于规则引导的遗传算法的集成电路优化方法及系统

1.本发明涉及一种基于规则引导的遗传算法的集成电路优化方法及系统,属于模拟集成电路技术领域。


背景技术:

2.集成电路设计目前正处于高速发展阶段,新器件新工艺的不断出现对集成电路的设计方法和设计工具提出了更高的要求。集成电路的种类按设计类别主要分为数字集成电路和模拟集成电路两部分,其中的数字集成电路有较为成熟的电子设计自动化(electronic design automation,eda)工具来辅助设计,有较高的设计效率。模拟集成电路eda工具的发展相对滞后,大部分模拟集成电路的设计主要依赖人工调试。对于选定的电路拓扑结构,由于模拟集成电路设计参数多、设计空间大,电路性能指标众多且相互制约,设计者往往需要在多个相互关联的电路指标中反复权衡。因此,模拟集成电路参数设计是一个多次迭代、反复试验的过程,手工调试占据了电路设计的大部分时间。为了改变模拟集成电路人工调试费时、费力的现状,迫切需要一种自动化的参数设计工具。
3.近年来,优化算法和人工智能算法的兴起推动了模拟集成电路参数自动设计的发展。常用的模拟集成电路参数自动设计方法被归结为两类:基于模型的和基于仿真的优化方法。基于模型的模拟电路参数优化设计方法首先对电路性能和电路参数之间的关系进行建模,根据模型来分析调整电路参数。这种方法设计效率高,但在模型构建过程中往往采用近似,比较适合电路问题的定性分析。
4.随着人工智能的发展,人们将机器学习模型应用于模拟电路参数优化,提升了模型精度。然而,随着电路参数设计搜索空间维数和非线性度的增加,能够准确代替整个设计空间的代理模型也越来越难以构建。基于仿真的模拟电路参数优化设计方法不直接推导电路性能和电路参数之间显式方程,而是通过spice仿真来评估电路性能,进而实现电路指标的优化。这种方法准确度较高,但优化迭代需要大量的spice仿真,从而耗费更多的运算资源和较长的运行时间。
5.以上优化算法被应用于中小规模模拟电路网表的自动优化,例如,二级运算放大器、电荷泵、压控振荡器、复数滤波器等,取得了较好的优化效果。但是,对于拓扑结构复杂、解空间与参数搜索空间相比非常窄的模拟电路,例如,四级运算放大器,这些方法的搜索效率过低,达不到实际应用的要求。针对这类解空间非常窄的复杂模拟电路自动优化设计问题,迫切需要一种多变量空间的加速搜索方法,以更高的效率设计出性能优良的模拟集成电路。


技术实现要素:

6.针对现有技术的不足,本发明提供一种基于规则引导的遗传算法的集成电路优化方法及系统。本发明将模拟电路设计规则嵌入到传统的遗传算法中,用基于经验的设计规则引导传统遗传算法中的随机基因变异进而加速优化过程,兼顾了模拟电路优化的效率和
精度,是一种既可达到较高优化精度又兼具优化效率的模拟电路优化方法。
7.术语解释:
8.1、cost值:是一个衡量电路性能优劣的参数,根据spice仿真得到的电路性能值和预设的设计指标值计算得到,cost值越小代表电路性能越好。用于cost 值计算的电路性能指标可以是一个或多个,即本方法可以实现单目标优化或多目标优化。
9.2、正交拉丁方:拉丁方是一个特殊的方阵,即各个元素在每行每列中均只出现一次。如由多个拉丁方所组成的复合方阵里没有重复的元组,则该复合方阵称为正交拉丁方。
10.3、spice仿真器:spice(simulation program with integrated circuit emphasis) 是一种功能强大的模拟电路仿真器。
11.4、并行仿真:利用多个cpu内核,同时进行多次spice仿真。
12.5、电路设计变量:是指电路中需要改变的电路设计参数值,例如电阻、电容、mos管的宽度等。
13.6、电路性能参数:又称电路设计指标或电路的性能值。例如,运算放大器的增益、带宽、相位裕度、压摆率、功耗等。
14.7、交叉算子:是指在基因交叉或基因重组中,把两个父体部分结构加以替换,生成新的个体的操作,习惯上对实数编码的操作叫做重组(recombination),对二进制编码的操作称为交叉,而针对基因的二进制编码直接编码(normal)和 gray编码的算法,均为交叉算子。
15.本发明的技术方案为:
16.一种基于规则引导的遗传算法的集成电路优化方法,其实现方法是将电路设计规则嵌入到传统的遗传算法中,用设计规则引导的确定方向的变异替代传统的随机变异。该方法能够用规模有限的采样点,以更高的效率找到符合电路性能参数的全局最优解。包括步骤如下:
17.步骤1:获取初始种群,设定该初始种群为当前种群;
18.步骤2:种群评估,即通过对当前种群中的各个个体进行并行spice仿真,得到种群中各个个体的电路性能参数;
19.步骤3:计算当前种群中各个个体的cost值,并选取cost值最小的个体为该种群中的最优个体;
20.步骤4:判断该种群中的最优个体是否满足优化终止条件,若满足,则优化结束,输出当前种群中cost值最小的个体,包含其相应的电路设计变量及其电路性能参数,否则,进入步骤5;
21.步骤5:种群选择,即根据cost值选取初始种群中的优良个体,选中的个体直接遗传到下一代或通过步骤6和步骤7中的交叉和变异操作后产生新的个体后再遗传到下一代,cost值越小的个体被选中的概率越大;
22.步骤6:种群交叉,即在种群的优良个体中随机选取一对个体作为父本和母本,利用交叉算子进行交叉产生新的个体,保存交叉后的个体及其父母在种群中的位置信息;
23.步骤7:通过判断各个个体的随机变异概率,进行种群变异方式选择,若该个体的随机变异概率大于预先设定的总变异率,则不对该个体进行变异操作,直接放入下一代种群,进入步骤9;若该个体的随机变异概率小于预先设定的总变异率且大于预先设定的规则
变异率,则对该个体进行传统的随机变异操作,产生新的个体,加入到下一代种群,进入步骤9;若该个体的随机变异概率小于预先设定的规则变异率,则对该个体进行规则引导的变异操作,进入步骤8;
24.步骤8:规则引导的基因变异,即通过对即将进行规则引导的变异操作的个体,根据电路设计规则,按照设计目标的重要性程度,将不满足设计指标要求的个体进行替换,加入到下一代种群;
25.步骤9:重复步骤2至步骤7;
26.步骤10:得到优化结果。
27.进一步地,所述步骤1中,获取初始种群,具体包括:通过正交拉丁方的方法,在设计空间中进行采样得到用于遗传算法的初始种群。
28.进一步地,所述步骤3中,具体包括利用各个个体的电路性能参数和代价函数f
cost
,得到种群中各个个体的cost值,即代价值。
29.进一步地,所述代价函数f
cost
为:
[0030][0031]
式中,n为电路待优化性能指标的个数,n=1,2,

n;pn为针对第n个电路性能参数,spice仿真结果与电路性能参数的差值;f(pn)为代价函数的具体函数,包括但不限于线性、指数、高斯函数;wn为权重,代表第n个电路性能参数的重要性,wn的值由用户根据需要设置,为一个实数。
[0032]
进一步地,所述步骤4中的优化终止条件,包括迭代次数是否大于预设最大迭代次数和当前种群最小cost值是否小于预设cost值。
[0033]
进一步地,所述步骤7中总变异率,是指对该种群中进行变异操作的个体的比率,规则变异是变异操作的主要组成部分,规则变异率总是小于总变异率。
[0034]
进一步地,所述步骤8的电路设计规则,具体指在设计模拟电路时采用的参数调整规则,包括但不限于按经验进行调整或按电路性能解析表达式进行调整。
[0035]
进一步地,所述步骤8还包括对即将进行规则引导的变异操作的个体,根据步骤6记录的当前个体及其父母在种群中的位置信息,追溯到其交叉前的父本和母本,依次检查所有的设计指标是否满足设计要求,若当前最重要的设计目标不满足设计指标要求,则按照电路设计规则改变与该设计指标相关的电路设计变量,得到新的父本和新的母本;否则检查下一个设计指标是否满足设计要求,并重复上述规则驱动的基因变异过程。
[0036]
一种基于规则引导的遗传算法的集成电路优化系统,包括:
[0037]
种群获取模块,被配置为通过正交拉丁方的方法,在设计空间中进行采样得到用于遗传算法的初始种群;
[0038]
评估判断模块,被配置为,通过对初始种群中的各个个体进行并行spice 仿真,得到种群中各个个体的电路性能参数;计算初始种群中各个个体的cost 值,并选取cost值最小的个体为初始种群中的最优个体;判断最优个体是否满足优化终止条件;
[0039]
选择模块,被配置为,通过判断各个个体的随机变异概率,进行种群变异方式选择;
[0040]
规则引导模块,被配置为,过对即将进行规则引导的变异操作的个体,根据电路设计规则,按照设计目标的重要性程度,将不满足设计指标要求的个体进行替换,加入到下一
代种群。
[0041]
一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种基于规则引导的遗传算法的集成电路优化方法。
[0042]
一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种基于规则引导的遗传算法的集成电路优化方法。
[0043]
本发明的有益效果为:
[0044]
1、本发明提出一种基于规则引导的遗传算法的集成电路优化方法及系统,将设计规则嵌入到传统遗传算法的变异过程,将传统的随机变异替换为规则引导的确定方向的变异,以一种更直接、高效的方式引导模拟集成电路优化设计,提高了优化效率。
[0045]
2、本发明提出一种基于规则引导的遗传算法的集成电路优化方法及系统,将优化算法、spice仿真及并行技术相结合,提高了优化效率,同时保证了优化精度。
[0046]
3、本发明提出一种基于规则引导的遗传算法的集成电路优化方法及系统,当采样点受到运算资源的制约时,无需大量的仿真或过多的迭代次数即可实现参数的优化设计,节约了大量的运算资源,提高了电路设计的效率。
[0047]
4、本发明提出一种基于规则引导的遗传算法的集成电路优化方法及系统,支持多设计参数、多设计目标优化的电路的自动化仿真。对于解空间和整个设计空间相比非常窄的复杂电路,其优化效率的提升更加明显。
附图说明
[0048]
图1为本发明一种基于规则引导的遗传算法的集成电路优化方法及系统的流程示意图。
[0049]
图2为本发明一种基于规则引导的遗传算法的集成电路优化方法及系统的关键步骤规则引导的基因变异流程图。
[0050]
图3为本发明一种基于规则引导的遗传算法的集成电路优化方法及系统的实施例1的两级轨对轨运算放大器电路的结构图。
[0051]
图4为本发明一种基于规则引导的遗传算法的集成电路优化方法及系统的实施例1的两级轨对轨运算放大器电路的优化进程的cost值变化曲线。
[0052]
图5为本发明一种基于规则引导的遗传算法的集成电路优化方法及系统的实施例2的四级运算放大器电路的结构图。
[0053]
图6为本发明一种基于规则引导的遗传算法的集成电路优化方法及系统的实施例2的四级运算放大器电路的优化进程的cost值变化曲线。
具体实施方式
[0054]
下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
[0055]
实施例1
[0056]
本发明的实施例1是采用规则引导的遗传算法对二级轨对轨运算放大器进行优化设计,图3为本实施例所述的二级轨对轨运算放大器电路图,采用65nm cmos 工艺实现。表1列出了该二级轨对轨运算放大器的预设设计目标,即电路增益 gain、单位增益带宽ugb、相
位裕度pm尽量大,直流电流itot尽量小。
[0057]
表1
[0058][0059]
针对此优化目标,选择13个待优化的电路设计变量,包括12个晶体管的宽度w1,w3,w5,w9,w
13
,w
16
,w
19
,w
20
,w
21
,w
22
,w
47
,w
48
以及补偿电容 cm。根据电流源复制和电路对称性,其它器件的尺寸如下:m2的宽度与m1相等,即w2=w1;m4的宽度与m3相等,即w4=w3;m
6-m8和m
25-m
29
的宽度与m5相等。在电流复制过程中,各个mos管的multiplier不同,例如,m5的宽度为w5,multiplier设为4,其等效宽度为4
×
w5,m7的宽度也为w5,但是 multiplier设为4,其等效宽度为2
×
w5,这就意味着流经m5的电流是流经m7的电流的两倍。实施例中multiplier不作为设计变量,即认为w
6-w8=w
25
‑ꢀw29
=w5;m
10-m
12
和m
30-m
35
的宽度与m9相等,但是multiplier不同; m
14
,m
15
以及m
36-m
39
的宽度与m
13
相等,multiplier不同;m
17
,m
18
和 m
40-m
46
的宽度与m
16
相等,multiplier不同;w
23
=w
21
;w
24
=w
22

[0060]
其具体实现步骤如下:
[0061]
步骤1:产生初始种群。为减少所需的种群中的个体数目,并使个体尽可能均匀分布于设计空间中,对每一维变量进行均匀采样,根据拉丁方构建原理形成拉丁方方阵,根据参数空间大小选取多个拉丁方构建正交拉丁方复合方阵,得到用于遗传算法的初始种群。设计空间是指电路设计变量的取值范围,由用户定义决定;采样是指在设计空间中,选择多组变量值。采样得到的数据(即初始种群) 包括多组电路设计变量值(多个个体),每组设计变量值包括各个设计变量的值。
[0062]
步骤2:种群评估。利用spice仿真器并结合并行技术,对种群中的各个个体进行并行spice仿真,得到种群中各个个体的电路性能参数。
[0063]
步骤3:计算每个个体的cost值。cost值计算公式如式(ⅱ)所示,选择种群中cost值最小的个体为最优个体。
[0064][0065]
式(ⅱ)中,n=1,2,3,4对应表1中的四个电路性能参数;pn为针对第n个电路性能参数,spice仿真结果与电路性能参数的差值的平方;f(pn)为代价函数的具体函数,本实例采用指数型;wn为权重,代表第n个电路性能参数的重要性,wn的值由用户根据需要设置,为一个实数。
[0066]
步骤4:判断最优个体是否满足优化终止条件,即如果满足达到预先设定的迭代次数,或满足当前种群的最小cost值小于预定的最小cost值,则优化结束,输出当前种群中cost值最小的个体,包含其相应的电路设计变量及其电路性能参数,如果不满足优化终止条件,进入步骤5。
[0067]
步骤5:种群选择。根据cost值选取种群中的优良个体,选中的个体直接遗传到下
一代或通过步骤6和步骤7中的交叉和变异操作后产生新的个体后再遗传到下一代,优良个体的选择依据为cost值越小的个体被选中的概率越大。
[0068]
步骤6:种群交叉。按照预先设定的概率,在在种群的优良个体中随机选取一对个体作为父本和母本,利用交叉算子进行交叉产生新的个体,保存交叉后的个体及其父母在种群中的位置信息。
[0069]
步骤7:种群变异方式选择。变异方式分为随机变异和规则变异两种,规则变异率总是小于总变异率。对种群中的每个个体随机产生一个变异概率,与预先设定的总变异率,如果该个体的变异概率大于预先设定的总变异率,则不对该个体进行变异操作,直接遗传到下一代种群,成为下一代种群的个体之一,进入步骤9;如果该个体的变异概率小于预先设定的总变异率且大于预先设定的规则变异率,则对该个体进行传统的随机变异操作,产生新的个体,加入到下一代种群,进入步骤9;如果该个体的变异概率小于预先设定的规则变异率,则对该个体进行规则引导的变异操作,进入步骤8。
[0070]
步骤8:规则引导的基因变异。对于即将进行规则引导的变异操作的个体,首先根据步骤6记录的当前个体及其父母在种群中的位置信息,追溯到其交叉前的父本和母本,然后对其父本和母本两个个体,按照设计目标的重要性程度,依次检查所有的设计性能指标是否满足设计要求。设计目标的重要性程度由工程师按照电路设计规则决定,其实现策略并不唯一。如果当前最重要的设计目标不满足设计指标要求,则按照电路设计规则改变与该设计指标相关的电路设计变量,得到新的父本和新的母本;否则检查下一个设计指标是否满足设计要求,并重复上述规则驱动的基因变异过程。最后,新父本和新母本利用交叉算子重新进行交叉产生新的个体,替换当前个体,加入到下一代种群。
[0071]
步骤9:重复步骤2至步骤7。
[0072]
步骤10:得到优化结果,输出当前种群cost值最小的个体对应的电路设计参数和电路性能指标。
[0073]
作为进一步地实施方式,
[0074]
步骤8所述的设计规则由用户定义,其实现策略并不唯一。针对实施例1,设计规则如下:
[0075]
规则一,当增益不满足设计指标时,即增益太小,根据电路增益表达式 gain=g
m1ro1gm2ro2
,其中,g
m1
和g
m2
是第一级和第二级的等效跨导,r
o1
和 r
o2
是第一级和第二级的等效输出电阻。本实施例采取的参数调整策略是,增加第一级和第二级的跨导,即增大w1,w3,w
19
,w
20

[0076]
规则二,当单位增益带宽不满足设计指标时,即单位增益带宽太小,根据电路单位增益带宽表达式ugb=g
m1
/cm,本实施例采取的参数调整策略是,减小补偿电容cm的值。
[0077]
规则三,当相位裕度不满足设计指标时,即相位裕度小于60度,根据设计经验,右半平面的零点ωz=g
m2
/cm应移至更远的位置,本实施例采取的参数调整策略是,增大第二级的跨导,即增大w
19
,w
20

[0078]
规则四,当直流电流不满足设计指标时,即直流电流大于180μa,根据设计经验,第二级消耗了大量的电流,本实施例采取的参数调整策略是,减小第二级电流,即减小w
19
,w
20

[0079]
每执行依次设计规则引导的变异,便从第一个性能参数开始检查,每次变异只执
行一条规则,便产生新的父本和新的母本。即如果第一个性能参数不满足设计指标,则进入规则一,根据规则一参数调整结束后,便生成新父本和新母本,不再检查后续性能参数。
[0080]
本实施例中,二阶轨对轨运算放大器分别采用传统的遗传算法(ga)和规则引导的遗传算法(rg-ga)对其进行优化设计。两个优化方法均在有80个intelxeon 1.9-ghz cpu核和128-gb内存的服务器环境下运行。图4显示了两种模拟电路优化方法的cost值的变化趋势。横坐标iteration表示迭代次数,cost值越小,电路性能越好。表2列出了这两种优化方法的优化结果。
[0081]
结合图3和表2可以看出,传统的遗传算法(ga)和规则引导的遗传算法 (rg-ga)都能找到优选解,但是规则引导的遗传算法(rg-ga)收敛得更快,搜索效率更高。传统的遗传算法(ga)找到的优选解具有更高的单位增益带宽和更大的电流,而规则引导的遗传算法(rg-ga)优选解具有更低的电流,整个电路的功耗性能具有明显的优势。
[0082]
表2
[0083][0084]
实施例2
[0085]
本发明的实施例2是采用规则引导的遗传算法对拓扑结构更加复杂的四级运算放大器进行优化设计,图5为本实施例所述的四级运算放大器电路图,包含四级放大电路、偏置电路及压摆率提升电路(srh)。四级运放的典型应用用是驱动lcd,因而需要驱动的负载电容比较大。本实施例采用180nm cmos工艺实现,供电电压vdd为1.8v,负载电容为12nf。表3列出了该二级轨对轨运算放大器的设计目标,即电路增益gain、单位增益带宽ugb、相位裕度pm、增益裕度gm、压摆率srr和srf尽量大,直流电流itot尽量小,输出节点直流电压vout接近vdd/2,即0.9v。
[0086]
表3
[0087]
[0088]
针对此优化目标,选择18个待优化的电路设计变量,包括15个晶体管的宽度w
b1
,w
b3
,w
b6
,w
b7
,w1,w3,w9,w
10
,w
12
,w
13
,w
14
,w
17
,w
18
,w
23
,w
25
以及电阻rz、电容cm,cz。根据电流源复制和电路对称性,其它器件的尺寸如下: w
b3
=w
b4
=w
b1
,w
b5
=w5=w6=w
b6
,w
b8
=w7=w8=w
21
=w
22
=w
b7
, w
b9
=w
11
=w
15
=w
b2
,w2=w
19
=w
20
=w1,w4=w3,w
16
=w
14
, w
24
=w
23
,w
26
=w
25

[0089]
其具体实现步骤如下:
[0090]
步骤1:产生初始种群。为减少所需的种群中的个体数目,并使个体尽可能均匀分布于设计空间中采用,对每一维变量进行均匀采样,根据拉丁方构建原理形成拉丁方方阵,根据参数空间大小选取多个拉丁方构建正交拉丁方复合方阵,得到用于遗传算法的初始种群。设计空间是指电路设计变量的取值范围,由用户定义决定;采样是指在设计空间中,选择多组变量值。采样得到的数据(即初始种群)包括多组电路设计变量值(多个个体),每组设计变量值包括各个设计变量的值。
[0091]
步骤2:种群评估。利用spice仿真器并结合并行技术,对种群中的各个个体进行并行spice仿真,得到种群中各个个体的电路性能参数。
[0092]
步骤3:计算每个个体的cost值。cost值计算公式如式(ⅲ)所示,选择种群中cost值最小的个体为最优个体。
[0093][0094]
式(ⅲ)中,n=1,2,

,8对应表1中的八个电路性能参数;pn为针对第n个电路性能参数,spice仿真结果与电路性能参数的差值的平方;f(pn)为代价函数的具体函数,本实例采用指数型;wn为权重,代表第n个电路性能参数的重要性,wn的值由用户根据需要设置,为一个实数。
[0095]
步骤4:判断最优个体是否满足优化终止条件,即如果满足达到预先设定的迭代次数,或满足当前种群的最小cost值小于预定的最小cost值,则优化结束,输出当前种群中cost值最小的个体,包含其相应的电路设计变量及其电路性能参数,如果不满足优化终止条件,进入步骤5。
[0096]
步骤5:种群选择。根据cost值选取种群中的优良个体,选中的个体直接遗传到下一代或通过步骤6和步骤7中的交叉和变异操作后产生新的个体后再遗传到下一代,优良个体的选择依据为cost值越小的个体被选中的概率越大。
[0097]
步骤6:种群交叉。按照预先设定的概率,在种群的优良个体中随机选取一对个体作为父本和母本,利用交叉算子进行交叉产生新的个体,保存交叉后的个体及其父母在种群中的位置信息。
[0098]
步骤7:变异方式分为随机变异和规则变异两种,规则变异率总是小于总变异率。对种群中的每个个体随机产生一个变异概率,与预先设定的总变异率,如果该个体的变异概率大于预先设定的总变异率,则不对该个体进行变异操作,直接遗传到下一代种群,成为下一代种群的个体之一,进入步骤9;如果该个体的变异概率小于预先设定的总变异率且大于预先设定的规则变异率,则对该个体进行传统的随机变异操作,产生新的个体,加入到下一代种群,进入步骤9;如果该个体的变异概率小于预先设定的规则变异率,则对该个体进行规则引导的变异操作,进入步骤8。
[0099]
步骤8:规则引导的基因变异。对于即将进行规则引导的变异操作的个体,首先根据步骤6记录的当前个体及其父母在种群中的位置信息,追溯到其交叉前的父本和母本,然
后对其父本和母本两个个体,按照设计目标的重要性程度,依次检查所有的设计性能指标是否满足设计要求。设计目标的重要性程度由工程师按照电路设计规则决定,其实现策略并不唯一。如果当前最重要的设计目标不满足设计指标要求,则按照电路设计规则改变与该设计指标相关的电路设计变量,得到新的父本和新的母本;否则检查下一个设计指标是否满足设计要求,并重复上述规则驱动的基因变异过程。最后,新父本和新母本利用交叉算子重新进行交叉产生新的个体,替换当前个体,加入到下一代种群。
[0100]
步骤9:重复步骤2至步骤7。
[0101]
步骤10:得到优化结果,输出当前种群cost值最小的个体对应的电路设计参数和电路性能指标。
[0102]
步骤8所述的设计规则由用户定义,其实现策略并不唯一。针对实施例2,设计规则如下:
[0103]
规则一,当增益远小于设计指标时,即增益小于设计指标的80%,则认为电路直流工作点发生了偏离。本实例采取的策略是,根据设计者的经验逐级调整直流工作点,使每一级的放大管和负载管都处于饱和区。
[0104]
规则二,当增益略小于设计指标时,即增益大于设计指标的80%但不满足设计指标,根据电路增益表达式gain=g
m1ro1gm2ro2gm3ro3gm4ro4
,其中, g
mi
(i=1,2,3,4)和r
oi
(i=1,2,3,4)分别是第i级等效跨导和等效输出电阻。本实施例采取的参数调整策略是,增加第一级至第四级的跨导,即增大 w1,w
12
,w
13
,w
18
,由于四级运放拓扑复杂,后级直流工作点容易受到前级影响,调整步长取最小步长。
[0105]
规则三,当单位增益带宽不满足设计指标时,即单位增益带宽太小,根据电路单位增益带宽表达式ugb=g
m1
/cm,本实施例采取的参数调整策略是,减小补偿电容cm的值。
[0106]
规则四,当相位裕度不满足设计指标时,即相位裕度小于60度,根据设计经验,补偿零点ωz=1/r
zcz
应变小。本实施例采取的参数调整策略是,增大rz和 cz。
[0107]
规则五,当增益裕度不满足设计指标时,即增益裕度小于10db,根据设计经验,规则四中的补偿零点需要变大。为了更小得影响相位裕度得变化,本实例只减小rz。
[0108]
规则六,当上升压摆率不满足设计指标时,即上升压摆率太小,由于上升压摆率主要受到输出节点对电容的充电时间的影响。本实例采取的参数调整策略是,增大w
17
和w
23

[0109]
规则七,当下降压摆率不满足设计指标时,即下降压摆率太小,由于下降压摆率主要受到输出节点电容放电时间的影响。本实例采取的参数调整策略是,增大w
18
和w
25

[0110]
规则八,当直流电流不满足设计指标时,即直流电流过大,根据设计经验,第二级消耗了大量的电流,本实施例采取的参数调整策略是,减小第二级电流,即减小w
17
,w
18

[0111]
规则九,当输出节点工作电压不满足设计指标时,即输出节点电压偏离0.9v,本实施例采取的参数调整策略是,调整输出级的宽度比,即w
17
/w
18

[0112]
每执行依次设计规则引导的变异,便从第一个性能参数开始检查,每次变异只执行一条规则,便产生新的父本和新的母本。即如果第一个性能参数不满足设计指标,则进入规则一,根据规则一参数调整结束后,便生成新父本和新母本,不再检查后续性能参数。
[0113]
本实施例中,四级运算放大器分别采用传统的遗传算法(ga)和规则引导的遗传算法(rg-ga)对其进行优化设计。两个优化方法均在有80个intel xeon 1.9-ghz cpu核和128-gb内存的服务器环境下运行。图6显示了两种模拟电路优化方法的cost值的变化趋势。
横坐标iteration表示迭代次数,cost值越小,电路性能越好。电路设计参数的初值通过手算得到。由于四级运算放大器前级直流工作点的偏移会对后级产生较大的影响,因此手算的误差会比较大,这就意味着电路性能的cost初始值会比较大。从图6可以看出,采用规则引导的遗传算法 (rg-ga)得到得cost值可以持续下降,在16次迭代以后开始趋向于收敛。而传统的遗传算法(ga)从第6次迭代开始cost不再下降,直至第25代算法停止时仍大于90,这就意味着传统的遗传算法(ga)未能找到合适的可行解。
[0114]
表4列出了这两种优化方法的优化结果,可见,传统的遗传算法(ga)找到的解增益只有46.4db,这对于四级运算放大器来讲增益太低,因此这个解没有实用价值。而规则引导的遗传算法(rg-ga)找到的解都能满足设计指标。因此可以得出结论:对于拓扑结构更加复杂电路四级运算放大器来讲,在采样点有限的情况下,传统的遗传算法(ga)不能找到可行解,而规则引导的遗传算法(rg-ga)可以找到。
[0115]
表4
[0116][0117]
实施例3
[0118]
一种基于规则引导的遗传算法的集成电路优化系统,包括:
[0119]
种群获取模块,被配置为通过正交拉丁方的方法,在设计空间中进行采样得到用于遗传算法的初始种群;
[0120]
评估判断模块,被配置为,通过对初始种群中的各个个体进行并行spice 仿真,得到种群中各个个体的电路性能参数;计算初始种群中各个个体的cost 值,并选取cost值最小的个体为最优个体;判断最优个体是否满足优化终止条件;
[0121]
选择模块,被配置为,通过判断各个个体的随机变异概率,进行种群变异方式选择;
[0122]
规则引导模块,被配置为,过对即将进行规则引导的变异操作的个体,根据电路设计规则,按照设计目标的重要性程度,将不满足设计指标要求的个体进行替换,加入到下一代种群。
[0123]
实施例4
[0124]
一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行本实施例提供的一种基于规则引导的遗传算法的集成电路优化方法。
[0125]
实施例5
[0126]
一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算
机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行本实施例提供的一种基于规则引导的遗传算法的集成电路优化方法。
[0127]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0128]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0129]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能。
[0130]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0131]
以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
[0132]
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1