一种基于子波逼近和多阶压扩的模拟电路自动建模方法

文档序号:6420206阅读:237来源:国知局
专利名称:一种基于子波逼近和多阶压扩的模拟电路自动建模方法
技术领域
本发明属电子技术领域,具体涉及一种模拟电路的自动建模方法。
背景技术
随着工艺技术的迅速发展和成熟,MOS晶体管特征尺寸持续减小,集成电路芯片的规模日益增大。目前,单片芯片上晶体管的数目已经超过4000万,而系统级芯片SOC则包含10亿个以上的器件。在如此大规模的系统芯片设计过程中,70%的时间被用于仿真验证。因而,对整个电路系统如何进行快速而准确的仿真和验证,已成为SOC设计的瓶颈问题。
目前大多数SOC芯片是数模混合电路。对于数字电路部分,基于硬件描述语言的逻辑综合和仿真技术已经比较成熟;而对于在混合信号系统中日益复杂,并且呈多样化发展趋势的模拟电路部分,由于在其仿真过程中需要求解大量的非线性方程,使得仅占芯片面积20%的模拟电路部分的设计时间要占整个系统设计时间的80%,时间和空间耗费非常巨大,令人难以接受。为了缩短设计周期,更加容易地重复利用已有的设计模块,在电路的设计、模拟和验证中,如何建立有效的模拟电路行为级模型,对模拟电路进行快速准确的模拟仿真,已成为日益重要的问题。
在自顶向下的电路设计过程中,设计人员可以通过准确的行为级模拟来验证高层系统设计的可行性,从而快速确定系统的结构。作为行为级模拟的直接作用对象,高度抽象的行为级模型对模拟结果的准确性和迅速性具有决定性意义其次,在自底向上的模拟电路验证过程中,对规模巨大的模拟电路进行晶体管级模拟所需消耗的时间和内存是令人无法接受的。在这种情况下,为验证电路设计的正确性,提高设计效率,从晶体管级电路出发建立精确的行为级模型,并进行系统级仿真,具有重要的意义。
目前在互连线分析中,模型降阶方法[1]能够有效地生成复杂线性动态电路的降阶传输函数。但目前该方法还无法实际应用于非线性电路建模[2]。
在实际的模拟电路行为级建模方法中,非线性函数逼近是其中的一个关键问题。现有的逼近非线性函数的方法有两种基于理论分析的公式方法[3]和数据拟合方法[4-5]。前者通过对模拟电路内部非理想因素的手工推导,得到电路工作行为的显式方程表示,但这类方法十分复杂,而且一般只适用于简单电路结构和器件模型的情况。相比而言,第二种方法通过数值逼近方法来精确表示电路模块的非理想输入—输出函数,更为灵活和有效,这类方法包括全局支撑的多项式展开[4],以及局域支撑的小波逼近[5]。根据[5]的结果,小波基在处理电路奇异性和控制误差分布方面,优于传统的全局支撑基函数。
小波逼近的优化算法一般有两种自适应算法[6]和非线性压扩算法[5]。根据小波基函数的多分辨率特性,对于同一个被逼近函数,采用的小波基阶数越高,逼近的精度也就越高。而基于多分辨率特性的自适应算法,能够根据逼近误差的要求自动确定在需要较高逼近精度的区间才使用高阶小波基函数,从而有效地降低达到指定逼近精度要用的基函数个数。但对于处理连续信号的模拟电路的行为级建模,自适应小波逼近方法不能连续调控建模误差及其对不同输入激励下的均一误差分布。
中提出的非线性压扩算法能对模型误差进行连续调整,这正是模拟电路建模所需要的。但是,[5]中给出的压扩函数是一种特定的对数函数,只适用于特定的电路模块。如何根据任意模块的输入—输出函数自动建立压扩函数,对实现任意模拟电路模块的自动小波建模方法至关重要,但目前此类方法在国际上还未见报道。
参考文献[1]R.W.Freud,Reduced-Order Modeling Techniques Based on Krylov Subspaces and TheirUse in Circuit Simulation.Bell Lab.,http//cm.bell-labs.com/cs/doc/98,1998. J.Phillips,Projection Frameworks for Model Reduction of Weakly Nonlinear Systems.Proc.of IEEE/ACM DAC 2000,2000,1184. A.Yufera and A.Rueda,Studying the Effects of Mismatching and Clock-Feedthrough inSwitched-Current Filters Using Behavioral Simulation.IEEE Trans.on CAS-II,1997,44(12)1058. E.Schneider and T.Fiez,Simulation of Switched-Current Systems.Proc.of IEEE ISCAS’93,1993,21420. X.Li,X.Zeng,D.Zhou and X.Ling,Behavioral Modeling of Analog Circuits by WaveletCollocation Methods.Proc.of IEEE/ACM ICCAD 2001,2001,165. Dian Zhou,Wei Cai and Wu Zhang,An adaptive wavelet method for nonlinear circuitsimulation,IEEE Trans.Circuits and Systems-I,Vol.46,pp.931-938,(Aug.1999)发明内容本发明的目的在于提出一种通用性强、精确度高,复杂度低的模拟电路行为级自动建模方法。
本发明提出的模拟电路行为级自动建模方法,是一种基于小波逼近和多阶压扩相结合的建模方法。
一般情况下,一个单输入单输出模拟电路模块的非线性输入—输出函数可用(1)式表示y=f(x) (1)
其中,x表示输入,其定义域[xA,xB]称为输入域;y代表输出,f(x)为非线性函数。建模的具体步骤如下步骤1求出非线性输入输出函数f(x)的J阶误差分布在J阶小波空间VJ内,采用小波自适应算法[6]逼近f(x),得到J阶误差分布ERRJ(x)ERRJ(x)=|f(x)-f^(x)||f(x)|+α---(2)]]>其中, 是采用自适应算法得到的f(x)的逼近结果,α为一小的正数,以保证f(x)接近0的时候,模型的相对误差不至于为无穷大。
步骤2构造压扩函数gJ(x)A.求J阶误差函数的包络为了达到较好的逼近效果,首先对J阶误差函数ERRJ(x)求取包络。该包络可通过先求出ERRJ(x)的极大值序列,然后对该序列进行线性插值得到。记ERRJ(x)对应的包络为ENVEJ(x)。
B.构造压扩函数原型取正数pA和pB,使得0<pA<1<pB。将ENVEJ(x)线性映射到[pA,pB]区间,得到ENVELJ(x),即ENVELJ(x)=KP+1GPENVEJ(x)---(3)]]>其中,GP=max(ENVEJ(x))-min(ENVEJ(x))pB-pA---(4)]]>KP=pA×max(ENVEJ(x))-pB×min(ENVEJ(x))max(ENVEJ(x))-min(ENVEJ(x))---(5)]]>
则压扩函数的原型可以由下式得到gJ(x)=xA+1G∫xAxENVELJ(t)dt---(6)]]>其中,G=1xB-xA∫xBxBENVELJ(t)dt---(7)]]>以保证gJ(x)的值域为[xA,xB]。
C.压扩函数原型的优化(6)式中得到的函数原型gJ(x)最后实际上取决于pA和pB。pA和pB的取值由迭代方法优化得到。即对一定范围内的pA和pB分别求得压扩函数,建立电路模型,最后选取误差最小的模型对应的pA和pB作为最优值,以达到最佳建模效果。
步骤3对原系统进行压扩为了对模型误差进行连续性调整,利用得到的压扩函数gJ(x)对原输入输出函数f(x)进行压扩,方法如下定义l=gJ(x),则f(x)=f(gJ-1(l))=fJ(l)---(8)]]>其中,fJ(l)称为压扩后的输入输出函数,它的定义域l∈[xA,xB]称为压扩域。对(8)求导可得dfJ(l)dl=df(gJ-1(l))dl=df(x)dx·dxdl=f′(x)g′J(x)---(9)]]>可见fJ(l)的导数是原函数f(x)导数的1/gJ′(x)倍,即通过压扩可以控制原函数导数的分布,进而可控制建模误差的分布。
步骤4对压扩后的系统进行自适应小波逼近在整个小波空间内,采用自适应算法对压扩后的函数fJ(l)进行逼近,记录所用到的小波基个数。并考查步骤1中得到的误差分布函数ERRJ(x),如果ERRJ(x)已经满足误差要求,则进行步骤5,否则,提高小波空间阶数,即令J=J+1,返回步骤1。
步骤5选择最优的压扩函数考查步骤4中每次记录下来的小波基个数。选择对应于所使用的小波基函数个数最少的非线性压扩函数作为最优的压扩函数,记该最优的压扩函数为l=gop(x)。
步骤6建立模块的行为级模型利用选取的最优压扩函数l=gop(x),对f(x)进行压扩。然后在整个小波区间内,采用自适应小波算法对压扩后的输入输出函数逼近,即有f(x)=f(gop-1(l))=fop(l)=ΣiCi·Wi(l)---(10)]]>其中,Wi(l)是采用自适应算法所用到的小波基函数,未知系数Ci可通过小波配置算法求出。这样,就建立了该电路模块的行为级模型。
发明原理的特点是本发明根据自适应方法得到的逼近误差来自动构造压扩函数,在应用上具有普适性。它不针对特定的电路结构和模块,同时模型参数均由优化过程自动生成,不须人工干预,可以实现自动建模。
利用本发明得到的压扩函数对模块的输入输出曲线压扩,可以实现对模型误差分布的连续调控,降低了误差,提高了模型的精度。
利用自适应算法对压扩后的输入输出函数进行逼近,可以有效地减少建模所需的小波基个数,降低了模型的复杂度,即获得了更加简易的行为级模型。
因而利用本方法建立的模型具有较高的精确度和良好的精简性。


图1为开关电流延迟单元电路图。
图2为电路输入—输出曲线。
具体实施例方式
下面通过具体实例进一步说明本发明。
目前,自适应算法对J+1阶小波基的选择共有两种标准一是考查各个正在使用的J阶基函数所在区域内模型误差的最大值,若该最大值小于某一误差容限,则该最大值所处区域的J+1阶小波基将不再被选用,否则将被选用;二是考查各J阶小波基的系数,若该系数的绝对值小于某一误差容限,则J阶小波基所在区域的对应的高一阶J+1阶小波基将不再被选用,否则将被选用。
对图1所示的开关电流延迟单元,其输入输出曲线如图2所示。该传输曲线可由下式表示y=f(x) (11)其中,x为输入电流,y为输出电流。输入域[xA,xB]为[-50uA,50uA]。这里我们分别根据上述自适应算法的两种判断标准,将FWCM样条子波[6]作为基函数,采用本发明中提出的方法对该电路模块进行建模。同时与[5]中提出的压扩算法何自适应小波算法的建模结果进行比较。
下面根据自适应算法的第一种判断标准具体说明本发明的建模过程步骤1-步骤5采用迭代方法求取最优压扩函数这里小波区间取为
,L=4。误差容限为0.01,α=2e-7。通过循环验证,最优压扩函数可由7阶误差分布得到,如下式所示l=gop(x)=g7(x)=-50×10-6+1G∫-50×10-6xENVE4,7(t)dt---(12)]]>G=150×10-6-(-50×10-6)∫-50×10-650×10-6ENVE4,7(t)dt---(13)]]>其中,ENVE4,7(x)为经过参数优化之后的7阶误差分布包络,即ENVE4,7(x)=KP+1GPENVE7(x)---(14)]]>其中,GP=max(ENVE7(x))-min(ENVE7(x))pB-pA---(15)]]>KP=pA×max(ENVE7(x))-pB×min(ENVE7(x))max(ENVE7(x))-min(ENVE7(x))---(16)]]>pA=0.5,pB=4 (17)
ENVE7(x)是7阶误差分布Err7(x)对应的包络。
步骤6建立模块的行为级模型利用l=gop(x),对f(x)进行压扩。然后在整个小波空间内,采用自适应小波算法对压扩后的输入输出函数逼近,即有f(x)=f(gop-1(l))=fop(l)=ΣiCi·Wi(l)---(18)]]>其中,Wi(l)是采用自适应算法所用到的小波基函数,未知系数Ci可通过小波配置算法求出。这样,就建立了该电路模块的行为级模型。
同时将建模结果与[5]中提出的压扩算法和自适应小波算法的建模结果进行比较,如表1所示。
表1.采用J阶基函数区域内模型误差的最大值作为自适应算法的判断标准,同时小波区间取为
,L=4。误差容限为0.01,α=2e-7。


表1表明在同样的误差容限条件下,采用J阶基函数区域内模型误差的最大值作为自适应算法的判断标准,逼近该电路单元的输入输出函数所需的基函数数目为自适应方法须691个基函数,[5]中的压扩算法须640个,而多阶压扩算法仅需400个。说明在相同精度要求下,本发明仅需较少的基函数个数实现规模更小的简单模型。
同理,根据自适应算法的第二种判断标准,采用本发明中提出的算法对该电路建模,并与[5]中的压扩算法和自适应算法建模结果比较,如表2所示。
表2.采用小波基的系数作为自适应算法的判断标准,取小波区间为
,L=12。误差容限为0.01,α=2e-7。

表2结果同样表明本发明提出的多阶压扩算法可以用最少的基函数个数获得最高的建模精度。
本电路实例表明,本发明获得的模拟电路的行为级模型具有较高的精度和良好的精简性,可应用于任意输入—输出函数的模拟电路模块的自动行为级建模。
权利要求
1.一种基于子波逼近和多阶压扩的模拟电路自动建模方法,设一个单输入单输出模拟电路模块的非线性输入—输出函数可用(1)式表示y=f(x) (1)其中,x表示输入,其定义域[xA,xB]称为输入域;y代表输出,f(x)为非线性函数;其特征在于建模的具体步骤如下步骤1求出非线性输入输出函数f(x)的J阶误差分布在J阶小波空间VJ内,采用小波自适应算法逼近f(x),得到J阶误差分布ERRJ(x)ERRJ(x)=|f(x)-f^(x)||f(x)|+α--------(2)]]>其中, 是采用自适应算法得到的f(x)的逼近结果,α为一小的正数,以保证f(x)接近0的时候,模型的相对误差不至于为无穷大;步骤2构造压扩函数gJ(x)A.求J阶误差函数的包络对J阶误差函数ERRJ(x)求取包络,记包络为ENVEJ(x);B.构造压扩函数原型取正数pA和pB,使得0<pA<1<pB,将ENVEJ(x)线性映射到[pA,pB]区间,得到ENVELJ(x),即ENVELJ(x)==KP+1GPENVEJ(x)---------(3)]]>其中,GP=max(ENVEJ(x))-min(ENVEJ(x))pB-pA-----(4)]]>KP=pA×max(ENVEJ(x))-pB×min(ENVEJ(x))max(ENVEJ(x))-min(ENVEJ(x))-----(5)]]>则压扩函数的原型可以由下式得到gJ(x)=xA+1G∫xAxENVELJ(t)dt-----(6)]]>其中,G=1xB-xA∫xBxBENVELJ(t)dt-------(7)]]>以保证gJ(x)的值域为[xA,xB];C.压扩函数原型的优化pA和pB由迭代方法优化对一定范围内的pA和pB分别求得压扩函数,建立电路模型,最后选取误差最小的模型对应的pA和pB作为最优值;步骤3对原系统进行压扩利用得到的压扩函数gJ(x)对原输入输出函数f(x)进行压扩,方法如下定义l=gJ(x),则f(x)=f(gJ-1(l))=fJ(l)-------(8)]]>其中,fJ(l)称为压扩后的输入输出函数,它的定义域l∈[xA,xB]称为压扩域,对(8)求导可得dfJ(l)dl=df(gJ-1(l))dl=df(x)dx·dxdl=f′(x)g′J(x)------(9)]]>步骤4对压扩后的系统进行自适应小波逼近在整个小波空间内,采用自适应算法对压扩后的函数fJ(l)进行逼近,记录所用到的小波基个数,并考查步骤1中得到的误差分布函数ERRJ(x),如果ERRJ(x)已经满足误差要求,则进行步骤5,否则,提高小波空间阶数,即令J=J+1,返回步骤1;步骤5选择最优的压扩函数考查步骤4中每次记录下来的小波基个数。选择对应于所使用的小波基函数个数最少的非线性压扩函数作为最优的压扩函数,记该最优的压扩函数为l=gop(x);步骤6建立模块的行为级模型利用选取的最优压扩函数l=gop(x),对f(x)进行压扩,然后在整个小波区间内,采用自适应小波算法对压扩后的输入输出函数逼近,即有f(x)=f(gop-1(l))=fop(l)=ΣiCi·Wi(l)------(10)]]>其中,Wi(l)是采用自适应算法所用到的小波基函数,未知系数Ci可通过小波配置算法求出,这样,就建立了该电路模块的行为级模型。
全文摘要
本发明是一种基于小波逼近和多阶压扩相结合的模拟电路行为级自动建模的方法。它根据自适应方法得到的逼近误差来自动构造压扩函数,然后对输入输出曲线压扩,最后再次采用自适应方法逼近压扩后的输入输出函数,这样可以实现对模型误差分布的连续调控,提高模型的精度,并减少建模所需的小波基个数,降低模型的复杂度。本发明可适用于任何电路结构和模块。
文档编号G06F17/50GK1529356SQ20031010805
公开日2004年9月15日 申请日期2003年10月20日 优先权日2003年10月20日
发明者曾璇, 陶俊, 曾 璇 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1