一种基于“图”编码的模拟电路的自动合成方法

文档序号:6459944阅读:155来源:国知局
专利名称:一种基于“图”编码的模拟电路的自动合成方法
技术领域
本发明涉及一种模拟电路设计领域。具体涉及一种基于“图”编码的模拟电路的自动合成方法。

背景技术
随着计算机技术的飞速发展,一种效仿生物进化过程的进化算法在众多领域得到了应用,例如组合优化、模式识别和机器学习等。在此背景下,进化硬件的概念于1992年提出。概括地说,EHW以进化算法,特别是遗传算法为组合优化和全局搜索工具,以可编程器件为载体,试图在不借助先验知识和外界干预的条件下,进化出符合设计要求的电路(包括电路拓扑结构和元件参数)。模拟电路在电子系统中仍发挥着无可替代的作用,因此模拟电路的设计十分重要。传统的设计方法都是基于电路模型人工设计的。但由于模拟电路的结构和参数复杂多变,设计难度较大,人工设计往往达不到设计要求,而且模拟电路的设计要求设计者必须具有丰富的专业知识和设计经验才行。因此,模拟电路的设计一直是电路设计的一个难点。而模拟电路的进化设计可以从根本上解决这个问题。
模拟电路的进化设计是EHW的一个重要分支。由于模拟电路的结构和参数复杂多变,所以大规模模拟电路设计一直被公认为是只有经验丰富的专家才能胜任的“艺术工作”。但进化算法往往能突破专家的思维定势,从而生成更加优化的电路。模拟电路的进化合成将会对模拟电路的设计带来革命性的突破,在航空航天等众多领域得到广泛的应用。
模拟电路的进化合成包括电路结构的生成和元件的优化,进化合成方法包括两大部分模拟电路的编码表示和进化搜索算法。目前大部分的实现方法都是基于遗传算法或遗传编程的方法。基于GA的方法通常使用“串”来表示模拟电路,如果电路稍有点复杂,串的长度就会很长。GP是GA的一种扩展,基于GP的方法通常使用“树”来表示模拟电路。但模拟电路实质上是一种“环状图”的结构,所有当使用“串”或“树”来表示模拟电路的时候,从“串”到“图”或从“树”到“图”的映射过程就必不可少。此外,基于GA或GP的方法有一个最大的问题就是搜索过程容易陷入局部最优,容易出现“早熟”的现象。
综合分析目前模拟电路的表示方法,主要有以下不足一是很多方法限制了电路的结构,这些方法只能生成一些特定结构的电路;二是很多方法有很复杂的映射规则,在从编码映射到电路的过程中需要花费很多运算时间。


发明内容
本发明旨在克服上述技术不足,目的是提供一种可生成任意结构形式、映射简单、编码效率高、能用“图”的结构表示、可克服进化过程中的“早熟”现象的基于图编码的模拟电路的自动合成方法。
为实现上述发明目的,本发明采用的技术方案是该模拟电路的自动合成步骤是 第一步用“无向双连通多重图”表示模拟电路,“图”G记作(V,E),V是所有顶点的集合,E是所有边的集合,“图”的顶点表示元件之间的连接,“图”的边表示对应元件的类型和参数;元件包括电阻、电容、电感和二极管的两端口元件以及包括场效应管、三极管和变压器的多端口元件。
第二步设定自动合成的模拟电路的功能参数。
第三步模板模拟电路中或含有固定的输入信号源和负载电阻,或含有固定的输入信号源、负载电阻和供电电源,个体均在模板模拟电路的基础上随机产生。一个个体是一个模拟电路的“图”编码,个体的产生过程是向模板模拟电路中随机添加顶点,添加顶点的个数也是随机的;在随机添加的顶点和模板模拟电路中的顶点之间一直添加边,直到该“图”满足双连通性为止。
将随机产生一个个体的过程重复N次,在模板模拟电路基础上则随机产生N个不同的个体,N个不同的个体表示N个不同的模拟电路,形成种群P。
第四步评估种群P中所有个体所表示的模拟电路的性能,评估过程是 先将每个个体转换成SPICE格式的网络表,再根据生成的网络表,运行SPICE仿真程序,得到模拟电路仿真的结果,然后依据模拟电路仿真的结果,算出每个个体的亲和力。
每个个体的亲和力是一个与目标电路的k个性能值和每个个体的k个性能值有关的函数 Affinity=f((Vt1,Vf1),(Vt2,Vf2),...,(Vtk,Vfk) 式中(Vt1,Vt2,...,Vtk)是目标电路的k个性能值; (Vf1,Vf2,...,Vfk)是个体的k个性能值; 个体的k个性能值和目标电路的k个性能值的差别越小,则个体的亲和力越大。
第五步将种群P中的所有个体按照亲和力的大小降序排列,亲和力高的n(n<N)个个体被选中,形成临时种群PS,临时种群PS中的个体同样按照亲和力的大小降序排列。
第六步临时种群PS被克隆,克隆后的个体形成克隆种群PC,克隆种群PC中第i个个体被克隆的份数与该个体的亲和力成正比 Ni=round(β·n/i) 式中Ni是第i个个体被克隆的份数; β是克隆因子; n是临时种群PS中的个体数; i是该个体在临时种群PS中的序号; round是四舍五入取整函数。
第七步克隆种群PC中的个体被随机选中的操作算子所修改,选中的操作算子为以下待选的操作算子中的全部或部分 a、添加边操作算子; b、删除边操作算子; c、修改边操作算子; d、添加顶点操作算子; e、删除顶点操作算子; f、串联操作算子。
选中的操作算子的个数由下式决定 No=RAND(round(RM×L)) 式中RM是变异的概率,0<RM≤1; L是预先设定的被选中的操作算子的最大个数; round是四舍五入取整函数; RAND(x)返回一个整数r∈

对克隆种群PC中的个体修改后,形成变异种群PM,克隆种群PC和变异种群PM中的个体数目相同。
第八步评估变异种群PM中的个体,评估的过程与第四步相同。
第九步将评估后的变异种群PM中的个体首先按照亲和力的大小降序排列,然后从中选出m(m<N)个亲和力高的个体形成重选种群PR,若重选种群PR中的个体亲和力高于种群P中的个体亲和力,则种群P中的亲和力低的个体将被替换,形成次新种群PN。
第十步按照第三步所述的产生新个体的过程,随机产生d(d<N)个新个体,然后替换次新种群PN中d个亲和力低的个体,形成新种群PT;对新种群PT按照第四步所述的过程进行评估。
重复执行上述步骤中的第五步~第十步,依此循环,直到满足要求的模拟电路生成为止。
在该模拟电路的自动合成步骤中 “图”的顶点分为输入、输出、电源、地和常规顶点五类,输入、输出、电源、地和常规顶点分别用VIN、 VOUT、VPOWER、VGND和VNORMAL表示;在进化过程中,VNORMAL允许添加或删除,VIN、VOUT、VPOWER和VGND禁止删除或修改。
“图”的边分为输入信号源、输出负载、供电电源和常规边四类,输入信号源、输出负载、供电电源和常规边分别用EIN、EOUT、EPOWER和ENORMAL表示;在进化过程中,ENORMAL允许添加或删除,EIN、EOUT和EPOWER禁止删除或修改。
添加边操作算子的执行过程是随机选择两个不同的顶点,在这两个顶点间加一条边,并为添加的边随机选定一种元件类型。
删除边操作算子的执行过程是随机选择两个不同的顶点v1、v2,如果顶点v1和v2之间的边的条数大于等于2,随机在两顶点之间删除一条边e1={v1,v2},e1∈ENORMAL。
修改边操作算子的执行过程是随机选择一条边e2={v3,v4},e2∈ENORMAL,修改该元件的类型或元件参数。
添加顶点操作算子的执行过程是向“图”中添加一个顶点v5∈VNORMAL,随机选中另两个不同的顶点v6、v7,再加入两条新边e3={v5,v6}和e4={v5,v7}。
删除顶点操作算子的执行过程是随机选中一个顶点v8∈VNORMAL,同时删除该顶点以及与该顶点相邻接的所有边。
串联操作算子的执行过程是随机选中一条边e5={v9,v10},e5∈ENORMAL,添加一个新顶点v11∈VNORMAL,同时将v9和v10之间的边e5移至v9和v11之间,最后在v10和v11之间添加一条新边e6。
由于采用上述技术方案,本发明采用的基于“图”的编码方法可以生成任意结构的模拟电路,编码方便直接,并且将编码映射到模拟电路的过程非常简单,因此编码效率高。且本发明采用的克隆选择搜索算法,具有全局搜索的能力,这样便克服了进化过程中的“早熟”现象。此外,本发明设计了添加边、删除边、修改边、添加顶点、删除顶点和串联六种用于改变模拟电路结构的操作算子,这些操作算子可以直接对“图”进行操作,而且均能保证不破坏电路的连通性。
因此,本发明具有可生成任意结构形式、映射简单、编码效率高、能用“图”的结构表示模拟电路、可克服进化过程中的“早熟”现象的特点。



图1是本发明的过程框图; 图2是本发明用于产生无源电路的模板模拟电路图; 图3是本发明在低通滤波器模拟电路的自动合成中所产生的第一个个体; 图4是本发明在低通滤波器模拟电路的自动合成中所产生的最终个体; 图5是图4对应的模拟电路图; 图6和图7是图5的幅频响应图; 图8是本发明用于产生有源电路的模板模拟电路图; 图9是本发明在平方模拟电路的自动合成中所产生的第一个个体; 图10是本发明在平方模拟电路的自动合成中所产生的最终个体; 图11是图10对应的模拟电路图; 图12是图11的性能图; 图13是本发明在反向放大器模拟电路的自动合成中所产生的第一个个体; 图14是本发明在反向放大器模拟电路的自动合成中所产生的最终个体; 图15是图14对应的模拟电路图; 图16是图15的直流扫描分析图; 图17是图15的输入信号为1000Hz正弦信号的瞬态分析图; 图18是图15的脉冲响应图; 图19是图15的幅频特性曲线图; 图20是图15的相频特性曲线图; 图21是本发明在电压源模拟电路的自动合成中所产生的第一个个体; 图22是本发明在电压源模拟电路的自动合成中所产生的最终个体; 图23是图22对应的模拟电路图; 图24是图23的性能分析图。

具体实施例方式 下面结合附图对本发明做进一步的描述,并非对本发明保护范围的限制。
实施例1一种基于“图”编码的低通滤波器模拟电路的自动合成方法,该模拟电路的自动合成步骤如图1所示 第一步用“无向双连通多重图”表示模拟电路,“图”G记作(V,E),V是所有顶点的集合,E是所有边的集合,“图”的顶点表示元件之间的连接,“图”的边表示对应元件的类型和参数;元件包括电阻、电容、电感和二极管的两端口元件以及包括场效应管、三极管和变压器的多端口元件。
“图”的顶点分为输入、输出、电源、地和常规顶点五类,输入、输出、电源、地和常规顶点分别用VIN、VOUT、VPOWER、VGND和VNORMAL表示;在进化的过程中,VNORMAL允许添加或删除,VIN、VOUT、VPOWER和VGND禁止删除或修改。
“图”的边分为输入信号源、输出负载、供电电源和常规边四类,输入信号源、输出负载、供电电源和常规边分别用EIN、EOUT、EPOWER和ENORMAL表示;在进化过程中,ENORMAL允许添加或删除,EIN、EOUT和EPOWER禁止删除或修改。
第二步设定自动合成的低通滤波器模拟电路的功能参数 a、通带范围<1000Hz; b、阻带范围>2000Hz; c、通带最大增益0dB; d、通带最小增益-1dB; e、阻带最大增益-60dB。
第三步如图2所示的用于产生无源电路的模板模拟电路图中,含有固定的输入信号源和负载电阻。个体均在模板模拟电路的基础上随机产生,一个个体表示一个模拟电路的“图”编码;随机产生一个个体的过程是向模板模拟电路中随机添加顶点,添加顶点的个数也是随机的;在随机添加的顶点和模板模拟电路中的顶点之间一直添加边,直到该“图”满足双连通性为止,产生如图3所示的第一个个体。
将随机产生第一个个体的过程重复进行50次,在模板模拟电路基础上则随机产生50个不同的个体,50个不同的个体表示50个不同的低通滤波器模拟电路,形成种群P。
第四步评估种群P中所有个体所表示的低通滤波器模拟电路的性能。
设定该低通滤波器模拟电路的输入信号的频率范围为1Hz到100kHz,则在此频率范围内以对数间距取101个采样点。其中通带有61个采样点,阻带有35个采样点,另外5个采样点位于过渡带。
评估过程是先将每个个体转换成SPICE格式的网络表,再根据生成的网络表,运行SPICE仿真程序,得到低通滤波器模拟电路仿真结果,该结果是低通滤波器模拟电路在上述101个采样点下的幅频响应。然后依据低通滤波器在上述101个采样点下的幅频响应值,算出每个个体的亲和力。
每个个体的亲和力是一个与目标电路的101个幅频响应值和每个个体的101个幅频响应值有关的函数 Affinity=f((Vt1,Vf1),(Vt2,Vf2),...,(Vtk,Vfk)) 式中(Vt1,Vt2,...,Vtk)是目标电路的k个性能值; (Vf1,Vf2,...,Vfk)是个体的k个性能值。
则亲和力的计算公式是 式中Ns为整个频域内采样点的个数; 误差error定义如下
其中i为采样点的序号; A(i)和T(i)分别为在采样点i下个体的和目标模拟电路的幅频响应值。
第五步将种群P中的50个个体按照亲和力的大小降序排列,亲和力高的10个个体被选中,形成临时种群PS,临时种群PS中的个体同样按照亲和力的大小降序排列。
第六步临时种群PS被克隆,克隆后的个体形成克隆种群PC。克隆种群PC中第i个个体被克隆的份数与该个体的亲和力成正比 Ni=round(β·n/i) 式中Ni是第i个个体被克隆的份数; β是克隆因子,β=2; n是临时种群PS中的个体数,n=10; i是该个体在临时种群PS中的序号; round是四舍五入取整函数; 克隆种群PC中个体的总个数为 第七步克隆种群PC中的个体被随机选中的操作算子所修改,选中的操作算子为以下待选的操作算子中的全部或部分 a、添加边操作算子,其执行过程是随机选择两个不同的顶点,在这两个顶点间加一条边,并为添加的边随机选定一种元件类型。
b、删除边操作算子,其执行过程是随机选择两个不同的顶点v1、v2,如果顶点v1和v2之间的边的条数大于等于2,随机在两顶点之间删除一条边e1={v1,v2},e1∈ENORMAL。
c、修改边操作算子,其执行过程是随机选择一条边e2={v3,v4},e2∈ENORMAL,修改该元件的类型或元件参数。
d、添加顶点操作算子,其执行过程是向“图”中添加一个顶点v5∈VNORMAL,随机选中另两个不同的顶点v6、v7,再加入两条新边e3={v5,v6}和e4={v5,v7}。
e、删除顶点操作算子,其执行过程是随机选中一个顶点v8∈VNORMAL,同时删除该顶点以及与该顶点相邻接的所有边。
f、串联操作算子,其执行过程是随机选中一条边e5={v9,v10},e5∈ENORMAL,添加一个新顶点v11∈VNORMAL,同时将v9和v10之间的边e5移至v9和v11之间,最后在v10和v11之间添加一条新边e6。
选中的操作算子的个数由下式决定 No=RAND(round(RM×L)) 式中RM是变异的概率,RM=0.6; L是预先设定的被选中的操作算子的最大个数,L=10; round是四舍五入取整函数; RAND(x)返回一个整数r∈

对克隆种群PC中的个体修改后,形成变异种群PM,克隆种群PC和变异种群PM中的个体数目相同。
第八步评估变异种群PM中的个体,评估的过程与第四步相同。
第九步将评估后的变异种群PM中的个体首先按照亲和力的大小降序排列,然后从中选出40个亲和力高的个体形成重选种群PR,若重选种群PR中的个体亲和力高于种群P中的个体亲和力,则种群P中的亲和力低的个体被替换,形成次新种群PN。
第十步按照第三步所述的产生新个体的过程,随机产生10个新个体,然后替换次新种群PN中10个亲和力低的个体,形成新种群PT;对新种群PT按照第四步所述的过程进行评估。
重复执行上述步骤中的第五步~第十步,依此循环1369次,自动合成出一个满足低通滤波器模拟电路要求的个体,该个体的“图”编码如图4所示,对应的模拟电路图如图5所示,此模拟电路对应的幅频响应如图6和图7所示。从图6中可以看出,阻带的电压增益小于-60dB,从图7中可以看出,该低通滤波器的通带的电压增益位于-1dB~0dB之间。
实施例2一种基于“图”编码的平方模拟电路的自动合成方法,该模拟电路的自动合成步骤如图1所示 第一步同实施例1第一步。
第二步设定自动合成的平方模拟电路的功能参数 输入电压input的范围为-250mV到250mV; 输出电压为Taroutput=(input)2+20mV。
第三步如图8所示的用于产生有源电路的模板模拟电路图中,含有固定的输入信号源、负载电阻和供电电源。个体均在模板模拟电路的基础上随机产生,一个个体表示一个模拟电路的“图”编码;随机产生一个个体的过程是向模板模拟电路中随机添加顶点,添加顶点的个数也是随机的;在随机添加的顶点和模板模拟电路中的顶点之间一直添加边,直到该“图”满足双连通性为止,产生如图9所示的第一个个体。
将随机产生第一个个体的过程重复进行100次,在模板模拟电路基础上则随机产生100个不同的个体,100个不同的个体表示100个不同的平方模拟电路,形成种群P。
第四步评估种群P中所有个体所表示的平方模拟电路的性能。
设定平方模拟电路的输入电压输入范围是-250mV到250mV,在此范围内等间距取21个电压值。
评估过程是先将每个个体转换成SPICE格式的网络表,再根据生成的网络表,运行SPICE仿真程序,得到平方模拟电路的仿真结果,该结果是平方模拟电路的21个输出电压值。然后依据平方模拟电路在上述的21个输出电压值,算出每个个体的亲和力。
每个个体的亲和力是一个与目标电路的21个输出电压值和每个个体的21个输出电压值有关的函数 Affinity=f((Vt1,Vf2),(Vt2,Vf2),...,(Vtk,Vfk)) 式中(Vt1,Vt2,...,Vtk)是目标电路的k个性能值; (Vf1,Vf2,...,Vfk)是个体的k个性能值; 则亲和力的计算公式是 式中输出电压的相对误差error定义如下 式中i是输入电压的序号; out(i)和Tar(i)分别是个体的和目标的输出电压。
第五步将种群P中的100个个体按照亲和力的大小降序排列,亲和力高的20个个体被选中,形成临时种群PS,临时种群PS中的个体同样按照亲和力的大小降序排列。
第六步临时种群PS被克隆,克隆后的个体形成克隆种群PC。克隆种群PC中第i个个体被克隆的份数与该个体的亲和力成正比 Ni=round(β·n/i) 式中Ni是第i个个体被克隆的份数; β是克隆因子,β=2; n是临时种群PS中的个体数,n=20; i是该个体在临时种群PS中的序号; round是四舍五入取整函数; 克隆种群PC中个体的总个数为 第七步和第八步分别同实施例1第七步和第八步。
第九步将评估后的变异种群PM中的个体首先按照亲和力的大小降序排列,然后从中选出80个亲和力高的个体形成重选种群PR,若重选种群PR中的个体亲和力高于种群P中的个体亲和力,则种群P中的亲和力低的个体被替换,形成次新种群PN。
第十步按照第三步所述的产生新个体的过程,随机产生20个新个体,然后替换次新种群PN中20个亲和力低的个体,形成新种群PT;对新种群PT按照第四步所述的过程进行评估。
重复执行上述步骤中的第五步~第十步,依此循环1681次,自动合成出一个满足平方模拟电路要求的个体,该个体的“图”编码如图10所示,对应的模拟电路图如图11所示,电路的性能如图12所示,从图12可以看出,输出电压曲线与理想曲线非常接近,此电路的输出电压近似为输入电压的平方。
实施例3一种基于“图”编码的反向放大器模拟电路的自动合成方法,该模拟电路的自动合成步骤如图1所示 第一步同实施例1第一步。
第二步设定自动合成的反向放大器模拟电路的功能参数 放大倍数为5623.4(75dB);输入信号范围为-1mV~1mV。
第三步除产生如图13所示的第一个个体外,其他同实施例2第三步。
第四步评估种群P中所有个体所表示的反向放大器模拟电路的性能。
设定反向放大器模拟电路5个输入电压值分别为-1mV、-0.5mV、0mV、0.5mV和1mV。
评估过程是先将每个个体转换成SPICE格式的网络表,再根据生成的网络表,运行SPICE仿真程序,得到反向放大器模拟电路仿真结果,该结果是反向放大器模拟电路的5个输出电压值。然后依据反向放大器模拟电路在上述5个输出电压值,算出每个个体的亲和力。
每个个体的亲和力是一个与目标电路的5个输出电压值和每个个体的5个输出电压值有关的函数 Affinity=f((Vt1,Vf1),(Vt2,Vf2),...,(Vtk,Vfk) 式中(Vt1,Vt2,...,Vtk)是目标电路的k个性能值; (Vf1,Vf2,...,Vfk)是个体的k个性能值; 则反向放大器亲和力的计算公式由三部分组成电压放大倍数误差、线性度误差和直流偏置。其中 电压放大倍数误差的计算公式 式中V.表示对应输入的输出电压值; Targain是理想的放大倍数(75dB或5623.4)。
线性度的计算公式包含三个部分,linearity1、linearity2和linearity3,分别为 则线性度误差errorlinearity由三个线性度和理想线性度的平均误差确定 直流偏置由放大器输入为0mV时的输出确定 故个体的亲和力的计算公式为 第五步和第六步分别同实施例2第五步和第六步。
第七步和第八步分别同实施例1第七步和第八步。
第九步和第十步分别同实施例2第九步和第十步。
重复执行上述步骤中的第五步~第十步,依此循环1985次,自动合成出一个满足反向放大器模拟电路要求的个体,亲和力的值为0.9969。该个体的“图”编码如图14所示,对应的模拟电路图如图15所示。整个模拟电路非常简洁,仅含有5个三极管,9个电阻。该模拟电路的直流扫描分析如图16所示,经过计算,模拟电路实际的放大倍数为74.96dB,直流分量为33.38mV。模拟电路输入信号为1000Hz正弦信号的瞬态分析显示于图17中。反向放大器的脉冲响应如图18所示。幅频特性曲线如图19所示,从图19中可以看出,该反向放大器实际的交流放大倍数为75.23dB,3dB的带宽为486.3kHz。相频特性曲线如图20所示。
实施例4一种基于“图”编码的电压源模拟电路的自动合成方法,该模拟电路的自动合成步骤如图1所示 第一步同实施例1第一步。
第二步设定自动合成的电压源模拟电路的功能参数 供电电源从4V~6V; 环境温度在0℃~100℃; 电路的输出恒定为2V。
第三步如图2所示的用于产生无源电路的模板模拟电路图中,含有固定的输入信号源和负载电阻。个体均在模板模拟电路的基础上随机产生,一个个体表示一个模拟电路的“图”编码;随机产生一个个体的过程是向模板模拟电路中随机添加顶点,添加顶点的个数也是随机的;在随机添加的顶点和模板模拟电路中的顶点之间一直添加边,直到该“图”满足双连通性为止;产生如图21所示的第一个个体。
将随机产生第一个个体的过程重复进行100次,在模板模拟电路基础上则随机产生100个不同的个体,100个不同的个体表示100个不同的电压源模拟电路,形成种群P。
第四步评估种群P中所有个体所表示的电压源模拟电路的性能。
设定电压源模拟电路的环境温度{Tempi}={0℃,25℃,50℃,75℃,100℃}; 输入电压范围内等间距取21个电压值,记作Vinj。
评估过程是先将每个个体转换成SPICE格式的网络表,再根据生成的网络表,运行SPICE仿真程序,得到电压源模拟电路仿真结果,该结果是电压源模拟电路的105个输出电压值。然后依据电压源模拟电路在上述的105个输出电压值,算出每个个体的亲和力。
每个个体的亲和力是一个与目标电路的105个输出电压值和每个个体的105个输出电压值有关的函数 Affinity=f((Vt1,Vf1),(Vt2,Vf2),...,(Vtk,Vfk)) 式中(Vt1,Vt2,...,Vtk)是目标电路的k个性能值; (Vf1,Vf2,...,Vfk)是个体的k个性能值; 则亲和力的计算公式是 式中Voutij是当输入电压为Vinj、环境温度为Tempi时的输出电压。
第五、第六、第九和第十步分别同实施例2第五、第六、第九和第十步。
第七和第八步分别同实施例1第七和第八步。
重复执行上述步骤中的第五步~第十步,依此循环531次,自动合成出一个满足电压源模拟电路要求的个体,亲和力的值为0.82555。该个体的“图”编码如图22所示,对应的模拟电路图如图23所示。整个模拟电路含有8个三极管,12个电阻。该模拟电路的性能分析如图24所示,从图24中可以看出,温度在0℃~100℃之间变化,电压从4V变化到6V,该模拟电路的输出电压几乎恒定为2V。
具体实施方式
采用的基于“图”的编码方法可以生成任意结构的模拟电路,编码方便直接,并且在将编码映射到模拟电路的过程非常简单,因此编码效率高。此外,本发明设计了添加边、删除边、修改边、添加顶点、删除顶点和串联六种用于改变模拟电路结构的操作算子,这些操作算子可以直接对“图”进行操作,而且均能保证不破坏电路的连通性。
权利要求
1、一种基于“图”编码的模拟电路的自动合成方法,其特征在于该模拟电路的自动合成步骤为
第一步用“无向双连通多重图”表示模拟电路,“图”G记作(V,E),V是所有顶点的集合,E是所有边的集合,“图”的顶点表示元件之间的连接,“图”的边表示对应元件的类型和参数;元件包括电阻、电容、电感和二极管的两端口元件以及包括场效应管、三极管和变压器的多端口元件;
第二步设定自动合成的模拟电路的功能参数;
第三步模板模拟电路中或含有固定的输入信号源和负载电阻,或含有固定的输入信号源、负载电阻和供电电源,个体均在模板模拟电路的基础上随机产生;一个个体是一个模拟电路的“图”编码,个体的产生过程是向模板模拟电路中随机添加顶点,添加顶点的个数也是随机的;在随机添加的顶点和模板模拟电路中的顶点之间一直添加边,直到该“图”满足双连通性为止;
将随机产生一个个体的过程重复N次,在模板模拟电路基础上则随机产生N个不同的个体,N个不同的个体表示N个不同的模拟电路,形成种群P;
第四步评估种群P中所有个体所表示的模拟电路的性能,评估过程是
先将每个个体转换成SPICE格式的网络表,再根据生成的网络表,运行SPICE仿真程序,得到模拟电路仿真的结果,然后依据模拟电路仿真的结果,算出每个个体的亲和力;
每个个体的亲和力是一个与目标电路的k个性能值和每个个体的k个性能值有关的函数
Affinity=f((Vt1,Vf1),(Vt2,Vf2),...,(Vtk,Vfk))
式中(Vt1,Vt2,...,Vtk)是目标电路的k个性能值,
(Vf1,Vf2,...,Vfk)是个体的k个性能值;
个体的k个性能值和目标电路的k个性能值的差别越小,则个体的亲和力越大;
第五步将种群P中的所有个体按照亲和力的大小降序排列,亲和力高的n(n<N)个个体被选中,形成临时种群PS,临时种群PS中的个体同样按照亲和力的大小降序排列;
第六步临时种群PS被克隆,克隆后的个体形成克隆种群PC,克隆种群PC中第i个个体被克隆的份数与该个体的亲和力成正比
Ni=round(β·n/i)
式中Ni是第i个个体被克隆的份数,
β是克隆因子,
n是临时种群PS中的个体数,
i是该个体在临时种群PS中的序号,
round是四舍五入取整函数;
第七步克隆种群PC中的个体被随机选中的操作算子所修改,选中的操作算子为以下待选的操作算子中的全部或部分
a、添加边操作算子,
b、删除边操作算子,
c、修改边操作算子,
d、添加顶点操作算子,
e、删除顶点操作算子,
f、串联操作算子;
选中的操作算子的个数由下式决定
No=RAND(round(RM×L))
式中RM是变异的概率,0<RM≤1,
L是预先设定的被选中的操作算子的最大个数,
round是四舍五入取整函数,
RAND(x)返回一个整数r∈

对克隆种群PC中的个体修改后,形成变异种群PM,克隆种群PC和变异种群PM中的个体数目相同;
第八步评估变异种群PM中的个体,评估的过程与第四步相同;
第九步将评估后的变异种群PM中的个体首先按照亲和力的大小降序排列,然后从中选出m(m<N)个亲和力高的个体形成重选种群PR,若重选种群PR中的个体亲和力高于种群P中的个体亲和力,则种群P中的亲和力低的个体将被替换,形成次新种群PN;
第十步按照第三步所述的产生新个体的过程,随机产生d(d<N)个新个体,然后替换次新种群PN中d个亲和力低的个体,形成新种群PT;对新种群PT按照第四步所述的过程进行评估;
重复执行上述步骤中的第五步~第十步,依此循环,直到满足要求的模拟电路生成为止。
2、根据权利要求1所述的基于“图”编码的模拟电路的自动合成方法,其特征在于所述的“图”的顶点分为输入、输出、电源、地和常规顶点五类,输入、输出、电源、地和常规顶点分别用VIN、VOUT、VPOWER、VGND和VNORMAL表示;在进化过程中,VNORMAL允许添加或删除,VIN、VOUT、VPOWER和VGND禁止删除或修改。
3、根据权利要求1所述的基于“图”编码的模拟电路的自动合成方法,其特征在于所述的“图”的边分为输入信号源、输出负载、供电电源和常规边四类,输入信号源、输出负载、供电电源和常规边分别用EIN、EOUT、EPOWER和ENORMAL表示;在进化过程中,ENORMAL允许添加或删除,EIN、EOUT和EPOWER禁止删除或修改。
4、根据权利要求1所述的基于“图”编码的模拟电路的自动合成方法,其特征在于所述的添加边操作算子的执行过程是随机选择两个不同的顶点,在这两个顶点间加一条边,并为添加的边随机选定一种元件类型。
5、根据权利要求1所述的基于“图”编码的模拟电路的自动合成方法,其特征在于所述的删除边操作算子的执行过程是随机选择两个不同的顶点v1、v2,如果顶点v1和v2之间的边的条数大于等于2,随机在两顶点之间删除一条边e1={v1,v2},e1∈ENORMAL。
6、根据权利要求1所述的基于“图”编码的模拟电路的自动合成方法,其特征在于所述的修改边操作算子的执行过程是随机选择一条边e2={v3,v4},e2∈ENORMAL,修改该元件的类型或元件参数。
7、根据权利要求1所述的基于“图”编码的模拟电路的自动合成方法,其特征在于所述的添加顶点操作算子的执行过程是向“图”中添加一个顶点v5∈VNORMAL,随机选中另两个不同的顶点v6、v7,再加入两条新边e3={v5,v6}和e4={v5,v7}。
8、根据权利要求1所述的基于“图”编码的模拟电路的自动合成方法,其特征在于所述的删除顶点操作算子的执行过程是随机选中一个顶点v8∈VNORMAL,同时删除该顶点以及与该顶点相邻接的所有边。
9、根据权利要求1所述的基于“图”编码的模拟电路的自动合成方法,其特征在于所述的串联操作算子的执行过程是随机选中一条边e5={v9,v10},e5∈ENORMAL,添加一个新顶点v11∈VNORMAL,同时将v9和v10之间的边e5移至v9和v11之间,最后在v10和v11之间添加一条新边e6。
全文摘要
本发明涉及一种基于“图”编码的模拟电路的自动合成方法。自动合成步骤是用“无向双连通多重图”表示模拟电路,设定模拟电路功能参数,随机产生N个个体以形成种群P,评估种群P中所有个体的性能,选亲和力高的n个个体形成临时种群PS,对临时种群PS克隆以形成克隆种群PC,对克隆种群PC修改以形成变异种群PM,评估变异种群PM,选出m个亲和力高的个体形成重选种群PR,替换种群P中亲和力低的个体以形成次新种群PN,随机产生d个新个体替换次新种群PN中亲和力低的个体以形成新种群PT;对新种群PT按种群P的评估方法进行评估,依此循环,直到生成满足要求的模拟电路。本发明具有可生成任意结构形式、映射简单、编码效率高的特点。
文档编号G06N3/12GK101299222SQ20081004798
公开日2008年11月5日 申请日期2008年6月12日 优先权日2008年6月12日
发明者甘朝晖, 杨振坤, 涛 尚, 余天佑, 李高斌, 旻 蒋 申请人:武汉科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1