You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
524 B
22 lines
524 B
//VerilogA for modulator,idealfm,veriloga
|
|
|
|
`include "constants.vams"
|
|
`include "disciplines.vams"
|
|
|
|
module idealfm(Ipow,Iphase,Ilam,Opow,Ophase,Olam,Vdata);
|
|
parameter real df = 10e9 from (-inf:inf);
|
|
input Ipow,Iphase,Ilam,Vdata;
|
|
output Opow,Ophase,Olam;
|
|
electrical Ipow,Iphase,Ilam,Opow,Ophase,Olam,Vdata;
|
|
|
|
real f,dlam;
|
|
|
|
analog begin
|
|
f = (V(Vdata)-0.5)*df;
|
|
dlam = `P_C/f;
|
|
V(Opow) <+ V(Ipow);
|
|
V(Ophase) <+ V(Iphase);
|
|
V(Olam) <+ V(Ilam) + dlam;
|
|
end
|
|
|
|
endmodule
|
|
|