( ESNUG 320 Item 9 ) ---------------------------------------------- [6/2/99]
Subject: ( ESNUG 313 #10 316 #10 ) Analog Phase-Locked Loops In Verilog
> I have worked with people trying to model an analog PLL in Verilog and
> the results were not very good. Two problems come up besides the inherent
> problems of doing analog in a digital situation.
>
> One is that a true analog PLL will take quite a while (milliseconds) to
> stabilize. You should see this if your doing an accurate simulation. No
> one wants to wait a millisecond before beginning the rest of the system
> simulating.
>
> Second was that we had to make the timescale very small (much less than
> one picosecond) to get good results. This slowed the entire system
> simulation down to a crawl. We did not expect that with an event
> simulator but it did happen.
>
> This leads one to simulating the PLL separately and then feeding the
> results (jitter, frequency wander, etc.) into the Verilog model. If you
> are going to do this, you might as well simulate the PLL in spice and get
> more accurate results. Good luck.
>
> - Bruce Loyer
> AMD
From: Dave Knierim <davekn@pogo.WV.TEK.COM>
John,
Simulating VCO's can be done without small timescale by keeping the
fractional time step phase of the VCO in a variable. In the short example
below, the lower 24 bits of variable tm track the fractional time step
portion of the VCO phase. Variable vr is the VCO input voltage. In this
example, zero input generates a vco_out period of 2*99 time steps. Larger
inputs reduce the period by 2 time steps for every 1<<24 increase in vr.
I am sure there are more elegant ways to keep fractional time step phase
in a variable as well.
always begin
tm=(tm&((1<<24)-1))+(99<<24)-vr;
#(tm>>24) vco_out = ~vco_out;
end
For the other problem of long settling time relative to VCO frequency, I do
not have any magic solutions. We just simulated the VCO portion by itself
until it looked good, then ran a few long (day or two) simulations of the
entire chip to watch the VCO settle.
- David Knierim
Tektronix
|
|