Dear All,
I was trying to understand the Verilog-A code given under "Modeling Oscillators with Arbitrary Phase Noise Profiles" .
( see the link http://support.cadence.com/wps/myportal/cos/COSHome/viewsolution/!ut/p/a1/nY_LDoIwEEW_hQ8wnUKhsKyPgKWBqBhpNwYiMY28guDCrxeMiSs1cXYzOXNmLlIoRarObvqc9bqps3LqlXNc4xXBQQzc99gCGNAN34fYDKk9AnIE4EMx-LV_QOqJfDHI8QR9O1whPGB-6GwDmlgQU7Svm64an91NrlNRtELXFyT7biimybUphylONFR50SGJMaW24zovsR0sCXDAPJ6bFFiQEJ9EAkNs_i1uqxRmsnItW-d3ZhgPAm41FA!!/dl5/d5/L2dBISEvZ0FBIS9nQSEh/ )
I want to know the meaning of the two lines present in that verilog-A code:- ( What they are meant for ?)
isource #(.type("sine"), .ampl(`pow2v(`dbm2pow(power),rout)/rout), .freq(freq) ) is1(gnd,out); vsource #(.type("sine"), .ampl(`pow2v(`dbm2pow(power),rout)/rout), .sinephase(-90), .freq(freq) ) vs1(gnd,int);
The code is as below:-
`define db10_real(x) pow(10, (x)/10) `define dbm2pow(x) `db10_real( ((x)-30) ) `define pow2v(x,r) sqrt(8*(r)*(x)) module oscwphnoise(out, ph); inout out; input ph; electrical out; electrical ph; electrical gnd; ground gnd; electrical int; parameter real power = 10 ; parameter real rout = 50 ; parameter real freq = 1e+09 ;isource #(.type("sine"), .ampl(`pow2v(`dbm2pow(power),rout)/rout), .freq(freq) ) is1(gnd,out); vsource #(.type("sine"), .ampl(`pow2v(`dbm2pow(power),rout)/rout), .sinephase(-90), .freq(freq) ) vs1(gnd,int); analog begin I(out) <+ -V(int)*V(ph); I(out) <+ V(out)/rout; end endmodule