|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
//
// Fixed frequency oscillator with white accumulating jitter.
//
// Accumulating jitter is the jitter associated with a free-running oscillator.
//
module osc2 (out);
output out; voltage out; // output signal
parameter real freq=1 from (0:inf); // output frequency
parameter real vl=-1; // high output voltage
parameter real vh=1; // low output voltage
parameter real tt=0.01/freq from (0:inf); // transition time of output
parameter real jitter=0 from [0:0.1/freq); // white period jitter
integer n, seed;
real next, dT;
analog begin
@(initial_step) begin
seed = 286;
next = 0.5/freq + $abstime;
end
@(timer(next)) begin
n = !n;
dT = jitter*$rdist_normal(seed,0,1);
next = next + 0.5/freq + `M_SQRT1_2*dT;
end
V(out) <+ transition(n ? vh : vl, 0, tt);
end
endmodule
这段代码为http://www.designers-guide.org/VerilogAMS/functional-blocks/osc/osc.va中的实例,用来建模VCO抖动的,请问rdist——normal函数中Seed值是如何确定的,为什么这里面是286? |
|