[Moved]: use verilog ams to modeling continue phase of DCO
时间:03-30
整理:3721RD
点击:
Hello,
Now I am trying to modeling DCO in verilog AMS. I try to use the input signal to control the output frequency. The idea is like this:
if (V(in)>o.6)
freq=10GHz;
else freq=20GHz;
And the output :
phase = idt(freq,0);
V(vout) <+ amp * sin (2 * `M_PI * phase);
when the frequency changes, the phase is not continue which is always to be set 0. For example, when freq changes from 10GHz to 20GHz, the phase should be 90 degree (for example), but the idt function, it makes the phase to 0 again.
So my problem is how to make the phase continue when the freq changes, use idtmod?
Thanks in advance.
B.R.
Now I am trying to modeling DCO in verilog AMS. I try to use the input signal to control the output frequency. The idea is like this:
if (V(in)>o.6)
freq=10GHz;
else freq=20GHz;
And the output :
phase = idt(freq,0);
V(vout) <+ amp * sin (2 * `M_PI * phase);
when the frequency changes, the phase is not continue which is always to be set 0. For example, when freq changes from 10GHz to 20GHz, the phase should be 90 degree (for example), but the idt function, it makes the phase to 0 again.
So my problem is how to make the phase continue when the freq changes, use idtmod?
Thanks in advance.
B.R.
I tried this function phase = idtmod(freq,phase,0,1);
I think everytime when phase is calculated, the initial reset value is the previous value, it means the phase is continue all the time,
is it right? However, the output spectrum seems not be what I expected. Could some one help me? Many thanks.