//VerilogA for passive,gainbasic,veriloga `include "constants.vams" `include "disciplines.vams" module gainbasic(Ipow,Iphase,Ilam,Opow,Ophase,Olam); parameter real G = 1 from [0:inf); // parameter real phaseshift=0; // parameter real noisefigure=0; input Ipow,Iphase,Ilam; output Opow,Ophase,Olam; electrical Ipow,Iphase,Ilam,Opow,Ophase,Olam; // real S; analog begin // S=(G*pow(10,noisefigure/10)-1)*`P_C*`P_H/V(Ilam); V(Opow) <+ G*V(Ipow); V(Ophase) <+ V(Iphase);//+phaseshift; V(Olam) <+ V(Ilam); end endmodule