Jess Chen
|
What kind of veriloga model are you using? There are two basic kinds of models, voltage domain and phase domain. The VCO model tells you want kind of model you are using. In a voltage domain model, the VCO outputs an oscillatory waveform. In a classical phase domain model, the VCO outputs a ramping signal representing the phase of the VCO. A variant of the phase domain model linearizes about frequency and in that case, the steady state VCO output is a constant signal representing frequency.
If you are using a voltage domain model, the simple Spectre AC analysis will give you zero for loop gain because the AC gain through your digital sections is zero. A digital part has only two output levels and Spectre linearizes about one of those levels. Since the output is fixed for small perturbations in the input (away from the hi/lo threshold), the gain is zero. You may be able to use SpectreRF to compute the small signal gain around the loop but I would bet that approach is fairly tricky.
If you are using a phase domain model, you may want to check the operating point. If the phase domain model has any saturating elements, Spectre's DC analysis may place the PLL in saturation, in which case your loop gain will be zero. Nonlinear phase domain models of PLLs can be tricky because either no legitimate DC operating point exists or multiple operating points exist. Both can cause convergence problems or convergence to an undesired operating point, like saturation. One trick I've used to get around this problem is to use veriloga models that have different behaviors depending on the analysis. For DC analysis, all transfer curves are monotonic and never saturate. This guarantees a unique operating point. If the operating point produces unrealistic voltages anywhere in the loop, I can see them and diagnose the problem. You can't do that with a convergence error. For transient analysis, the models can saturate.
I hope this helps.
-Jess
|