Chen-san,
I dont get any simulation error. Only no result
The code is same as given by you
//DC DC Transformer
`include "constants.h"
`include "discipline.h" //discipline.h in Silvaco
module DcDcX(gg, iin, vout, dr);
inout gg, iin, vout;
input dr;
electrical gg, iin, vout, dr, intrn;
analog begin
I(iin,gg) <+ I(intrn,vout)*V(dr);
V(intrn,gg) <+ V(iin,gg)*V(dr); // Nothing comes out at vout for .op. vout is connected to ground with a resistor
end
endmodule
The second code is without the intrn node.
//This code give me "Matrix is singular" error while simulation
module DcDcX(gg, iin, vout, dr);
inout gg;
electrical gg;
inout iin;
electrical iin;
inout vout;
electrical vout;
input dr;
electrical dr;
real dutycycle;
analog begin
if (V(dr)>1) dutycycle = 1;
else if (V(dr)<0) dutycycle = 0;
else dutycycle = V(dr);
I(iin,gg) <+ I(gg,vout)*dutycycle;
V(vout,gg) <+ V(iin,gg)*dutycycle;
end
endmodule