//VerilogA for passive,chifiltergauss,veriloga `include "constants.vams" `include "disciplines.vams" module chifiltergauss(Ipow,Iphase,Ilam,Opow,Ophase,Olam); parameter real centerfreq = 1G; parameter real sigma = 1 from (0:inf); parameter integer resize = 0 from [0:1]; input Ipow,Iphase,Ilam; output Opow,Ophase,Olam; electrical Ipow,Iphase,Ilam,Opow,Ophase,Olam; real opow,freq; analog begin freq=`P_C/V(Ilam); if (resize == 1) opow=V(Ipow)/(sigma*sqrt(2*`M_PI))*exp(-1*pow(freq-centerfreq,2)/(2*pow(sigma,2))); else opow=V(Ipow)*exp(-1*pow(freq-centerfreq,2)/(2*pow(sigma,2))); V(Opow) <+ opow; V(Ophase) <+ V(Iphase); V(Olam) <+ V(Ilam); end endmodule