1 引言 随着SOC时代的到来,无论是芯片的复杂度还是规模都给集成电路设计者带来了巨大的挑战,而更大的困难却在于他们如何能够快速、地将各个IP应用到自己的设计当中。而正是由于各种IP、模块的大量应用,对设计中所需的IP、模块进行仿真、验证并能快速地将各个模块整合在一起,关键在于:SOC不仅包含大规模的数字模块、而且包含同样至关重要的模拟IP,数字模块可以通过硬件描述语言Verilog或VHDL来进行行为描述,而模拟IP如若仍沿用晶体管级的仿真策略,就会成为整个SOC的仿真、验证的瓶颈。 本文结合了TOP-DOWN以及DOWN-TOP的设计思路[1],并以100MHz锁相环(PLL)为参考设计,基于模拟电路描述语言Verilog-A[2],对组成该款电荷泵锁相环的各个模块进行了分析,并分别抽取出对模块、和PLL整体性能有影响的关键参数,将其加入到行为级模型中,从而建立了的PLL各模块和PLL系统的行为级模型。通过采用混合仿真、设计的方法,不仅可以在设计初期能对系统各个模块进行较为理想的行为级建模,从而建立系统级的理想模型,而且还可以在设计过程中根据晶体管级仿真的结果,随时对各个模块的行为级模型中关键参数进行修正,从而保证了所建立的模型能够地表征晶体管级电路的行为,文章对行为级和晶体管级两种方式建立的PLL进行了仿真和对比。 2 非理想模型的建立 如所示,锁相环(PLL)包括鉴频鉴相器(PFD)、电荷泵(CP)、低通滤波器(LP)、压控振荡器(VCO)以及分频器(DIVIDER)模块,其基本工作原理见文献[3],[4]。鉴频鉴相器(PFD)检测Fref与FB的位相差,产生UP和DN脉冲信号,控制电荷泵(CP)对滤波器(LP)进行充、放电,其充、放电时间正比于UP和DN信号的脉冲宽度,滤波器输出Vctrl为压控振荡器输出信号FVCO频率的控制电压,FVCO经分频器(DIV)N分频后作为PFD的一个输入信号FB。 2.1 鉴频鉴相器(PFD) 如所示,作为数字单元的PFD模块,其工作过程主要是在四种状态之间进行转换,{UP=0,DN=0},{UP=1,DN=0}, {UP=1,DN=1},{UP=0,DN=1},其中UP和DN均为“1”的状态为暂态,其维持时间取决于PFD的复位延迟单元的延时,延迟时间对于消除死区至关重要[5],所以模型中需要包含复位延迟的参数(t_rd)。另外信号UP,DN的上升,延迟、下降时间的不匹配也会引起PLL锁定状态下的抖动,故而模型中需要考虑在内。通过以上分析,所建立的非理想PFD行为级模型如下(由于篇幅关系,以下各模块的行为模型仅给出主要部分,“#”代表该部分省略,“**”代表可调整参数): 2.2 电荷泵(CP)、滤波器(LP) 电荷泵、滤波器结构如所示,电荷泵中,信号UP为高时,电流源以Isource为滤波器(LP)充电,信号DN为高时,电流源以Isink对滤波器(LP)放电,理想情况是:Isource=Isink,而且其值为定值:S1,S2的开启阈值Vth1=Vth2。而实际情况则是:不仅电流源Isource和Isink之间存在不匹配,而且Isource、Isink还受到Vctrl大小的影响,另外S1、S2的开启阈值Vth1=Vth2也不会成立。 本设计采用了如所示,二阶低通滤波器结构,其传输函数为: H1P(s)=(sR1C1+1)/s(sC1C2R1+C1+C2)(1) 式(1)中,C2通常取C1/5-C1/10[4],模型中采用了分子分母形式的laplace变换滤波器[2]。 考虑到这些非理想情况,建立了如下非理想电荷泵、低通滤波器的行为级模型: 2.3 压控振荡器(VCO) 作为电压——频率的转换器件,理想的压控振荡器输出信号的频率与控制电压呈线性关系,其实时输出频率fVCO(t)和输入控制电压Vctrl(t)呈理想的线性关系: fVCO(t)=fo+Kvco*Vctrl(t)(2) 其中,f0=VCO的自由振荡频率,Kvco是VCO的增益,也称之为控制灵敏度。 而实际VCO的fVCO(t)与Vctrl(t)之间的关系是非线性的,其在中心频率附近线性度相对较好[5],而两端则明显呈现出非线性,即表现出Kvco与Vctrl的关联性。 故而可以采用高次近似的方法来模拟VCO真实的非理想特性。令 fVCO=((A3×Vctrl+A2)*Vctrl+A1)*Vctrl=A0(3) 上式中的参数A3、A2、A1、A0通过晶体管级仿真可以得到。 VCO的内部噪声主要由热噪声和1/f噪声组成,而VCO表现出高通的特性[5],因此,1/f噪声基本被VCO滤掉,主要是热噪声对系统的性能产生影响,故而在模型中有考虑了噪声的影响因素。 由此所建立的VCO非理想行为级模型如下: 2.4 分频器(DIV) 对于分频器,其功能是将输入信号进行N分频,考虑到其噪声对抖动的影响,建立的非理想模型如下: 3 仿真结果 本设计采用了TSMC0.18μm1P6M标准CMOSBism3模型,利用Cadence的Sprectre[6]仿真器对设计的PLL电路进行了晶体管级仿真,当VCO的控制电压Vctrl稳定后,则说明PLL进入锁定状态,对于参考频率为10MHz时,如、、所示,分别给出了晶体管级仿真的Vctrl的输出波形、的行为级模型仿真结果和采用理想VCO模型的行为级模型仿真结果。明显看出、两种情况符合较好,从而建立了PLL行为级模型,在进行SoC设计时即可以此模型代替PLL的晶体管级电路来仿真、验证。 另外,通过仿真时间对比,更加体现了在系统级仿真、验证时通过用行为级模型代替晶体管级电路的优势。表1为PLL晶体管级和行为级仿真时间对比(所用机型:SUNBlade150,UltraSPARCⅢ670MHzCPU,1G内存)。 4 结论 复杂的电路系统的设计、仿真要求设计者能够对系统进行高抽象度的建模能力,而且要求模型能够模拟晶体管级电路的行为,本文就CP_PLL基于模拟电路描述语言Verilog-A,充分考虑了晶体管级电路实现所表现的非理想性通过模块晶体管级仿真的对行为级模型中的参数进行了修正,从而建立了较为的行为级模型。通过Cadence的spectre仿真器进行的行为级仿真、晶体管级仿真证明,两种仿真结果符合较好,另外在设计过程中利用晶体管级仿真结果实时的对行为级模型参数进行修正,从而为每个模块都建立了的行为级模型。采用混合仿真的方法大大加快了系统仿真的时间,从而极大地提高了系统的设计速度,同时也为SoC设计时所需的锁相环IP模块建立了的行为级模型。 | ||||||||||||
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。