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.
24 lines
573 B
24 lines
573 B
7 months ago
|
//VerilogA for modulator,idealea,veriloga
|
||
|
|
||
|
`include "constants.vams"
|
||
|
`include "disciplines.vams"
|
||
|
|
||
|
module idealea(Ipow,Iphase,Ilam,Opow,Ophase,Olam,Vdata);
|
||
|
parameter real modu = 0.9 from [0:1);
|
||
|
parameter real chir = 0 from (-inf:inf);
|
||
|
|
||
|
input Ipow,Iphase,Ilam,Vdata;
|
||
|
output Opow,Ophase,Olam;
|
||
|
electrical Ipow,Iphase,Ilam,Opow,Ophase,Olam,Vdata;
|
||
|
|
||
|
real dt;
|
||
|
analog begin
|
||
|
dt = (1-modu)+modu*V(Vdata);
|
||
|
V(Opow) <+ V(Ipow)*dt;
|
||
|
V(Ophase) <+ V(Iphase)+chir/2.0*ln(dt)*360.0/(2*`M_PI);
|
||
|
V(Olam) <+ V(Ilam);
|
||
|
end
|
||
|
|
||
|
|
||
|
endmodule
|