fabian
Junior Member
![* *](https://designers-guide.org/forum/Templates/Forum/default/starblue.gif)
Offline
Posts: 19
Europe
|
Hi Every,
I am reading more than I could help much.
I am having convergences issue with veriloga model and the output log is quite unexplicit to find out the reasons or pointing me to the bad circuit modelled. May I have one of you helping me or giving some tips on the following code? Any advice to avoid convergence issue are welcome. I have simply the code get to the point.
The bias block is: `include "constants.vams" `include "disciplines.vams"
module bgBias_simple(vdd, ibp, gnd); input vdd, gnd; output ibp;
electrical vdd, gnd, ibp; parameter real ibias = 100n;
analog begin if (V(vdd, gnd) > 1) I(vdd, ibp) <+ ibias + ($temperature - 300.15) * 0.4n ; else I(vdd, ibp) <+ 1.0p; end endmodule
The loaded block is: `include "constants.vams" `include "disciplines.vams"
module regulator_simple(vdd, ibp, enBat, gnd); input vdd, ibp, enBat, gnd; electrical vdd, ibp, enBat, gnd;
real id;
analog begin
@(cross((V(ibp, gnd) + I(ibp, gnd)), 0)); id = 0.1p * (limexp(V(ibp, gnd)/$vt)-1.0); if (V(enBat, gnd) > 0.0) begin if ((V(ibp, gnd) + I(ibp, gnd)) > 0) I(ibp, gnd) <+ id; else V(ibp, gnd) <+ 0.0; end else I(ibp, gnd) <+ 0.0;
end endmodule
So when I connect the both blocks and simulate I got a clear DC simulation but the transient crashed with the following statement:
Zero diagonal found in Jacobian at `net4' and `net4'. Reordering Jacobian. ......... Trying `homotopy = ptran' for initial conditions.. Trying `homotopy = arclength' for initial conditions.
Error found by spectre during IC analysis, during transient analysis `tran'. ERROR (SPECTRE-11005): Matrix is singular (detected at `net4'). ERROR (SPECTRE-16385): There were 7 attempts to find the DC solution. In some of those attempts, a signal exceeded the blowup limit of its quantity. The last signal that failed is V(net4) = 1 GV, for which the quantity is `V' and the blowup limit is (1 GV). It is possible that the circuit has no DC solution. If you really want signals this large, set the `blowup' parameter of this quantity to a larger value. ERROR (SPECTRE-16080): No DC solution found (no convergence).
The net4 is the net connecting ibp.regulator_simple to ibp.bgBias_simple. Please any helps will be more than welcome.
Thanks in advance,
|