<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=101005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=103005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=109005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=111005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=115005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=119005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=123005ns
tran: time = 125 us (2.5 %), step = 1 ns (20 u%)
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=125005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=131005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=133005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=137005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=145005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=147005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=155005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=165005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=185005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=213005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=219005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=233005ns
<EE> ERROR: VRsrc instance behavioral_modelling_doubler_full.I26.S0o node P unconverged at T=241005ns
tran: time = 325.5 us (6.51 %), step = 1 ns (20 u%)
tran: time = 375 us (7.5 %), step = 1 ns (20 u%)
A part of the xrun.log file is shown above. The simulation is however not terminating abruptly because of convergence issue.
The EE_net code is similar to that provided by cadence for voltage doubler:
`timescale 1ns/1ps
import EE_pkg::*;
module voltage_doubler_full(OUT,IN,CK,Phi1,Phi0);
real Per=2000; // clock period (ns)
bit CKint=0; // internal clock
always #(Per/2) CKint = !CKint;
assign CK = CKint; // internal clock without enable
inout EEnet OUT,IN; // EEnet format input and output
EEnet VCK,MID; // internal nodes in topological model
output CK,Phi1,Phi0;
// Shorthand for standard real constants:
`define Z `wrealZState
`define X `wrealXState
parameter real CL=100e-6; // output capacitance
parameter real Cp=10e-6; // Internal capacitor of charge pump
parameter real Ron=0.6; // on resistance of switches
parameter real Roff=1e6; // off resistance of switches
parameter real Tsw=5e-9; // non-overlap interval for switching
parameter real Ts=50e-9; // sample rate
real Rs1=Roff, Rs0=Ron; // resistance for clock phases
real Is1i,Is0i,Is1o,Is0o; // currents in switches
assign #(Tsw*1s,0) Phi1 = (CK===1); // generate non-overlapping phases
assign #(Tsw*1s,0) Phi0 = (CK===0);
always @(Phi1) Rs1 = Phi1? Ron:Roff; // choose resistances based on phase
always @(Phi0) Rs0 = Phi0? Ron:Roff;
// Netlist of 2 capacitors and 4 switched resistors:
CapD #(.c(Cp), .tinc(Ts), .rs(0), .reltol(0.002), .vtol(0.001))
Cpump(MID,VCK);
CapG #(.c(CL), .tinc(Ts), .reltol(0.002), .vtol(0.001))
Cout (OUT);
VRsrc #(.tr(Tsw)) S1i(IN, VCK, 0.0, Rs1, Is1i);
VsrcG #(.tr(Tsw)) S0i(VCK, 0.0, Rs0, Is0i);
VRsrc #(.tr(Tsw)) S1o(MID, OUT, 0.0, Rs1, Is1o);
VRsrc #(.tr(Tsw)) S0o(IN, MID, 0.0, Rs0, Is0o);
endmodule
The simulation time is very slow. How to improve the simulation time and remove that <EE> Error lines. The output is as expected only.