priyaa_raman
New Member
Offline
Posts: 1
|
Hi folks,
I'm new to Verilog AMS and I have a question with sine wave generator.
I need to generate a sine wave first 50 cycles with a freq and then 50 cycles with a different freq. I can only generate one particular freq but not able to do two different freqs. I tried using generate statement but did not help. My code is module sine2wav (sinesig, Vdd, Vss ); output sinesig, Vdd, Vss; electrical sinesig, Vdd, Vss; integer i; parameter real vdd = 1.5, vss = 0; parameter real frequency1 = 1e9, ampl1 = 0.2; parameter real frequency2 = 10e7, ampl2 = 0.3; real tempvar; analog begin V(Vdd) <+ transition( vdd ); V(Vss) <+ transition( vss ); generate (0,50) begin
V(sinesig) <+ (ampl1 * sin(2.0*`M_PI * frequency1 * $abstime)); $bound_step(0.02 / frequency1); end generate (0,50) begin V(sinesig) <+ (ampl2 * sin(2.0*`M_PI * frequency2 * $abstime)); $bound_step(0.02 / frequency2); end end
endmodule
|