From: Paolo N. <pne...@gm...> - 2011-01-15 15:54:25
|
Hi Dietmar, Holger and Robert, I was playing with Robert's patch and results are sound. I tried to scale the matrix using the spScale function in niiter.c but definitively that was not the solution (as Robert told), KCL was not satisfied. I tried to remove the "gelt" conductance (that gave the 30 term in the matrix) from b4ld.c code and again KCL was not satisfied. So the solution introduced by Robert seem the only thing one can do and, guided by a prof. here I have tried to simulate the same netlist with other simulators (free): ------------------- NETLIST (this one with n-mos transistor ) ------------------ DBj_gidl_n .INCLUDE 45nm_MGK_car2_gidlgisl.pm .OPTIONS GMIN=1e-18 abstol=1e-19 *Definizione dei parametri .PARAM Lmin=45n .PARAM Wmin=45n .PARAM Ldiff=90n *Descrizione della cella Mp drain gate source body nmos W={Wmin} L={Lmin} AS={Wmin*Ldiff} AD={Wmin*Ldiff} PS={2*(Ldiff+Wmin)} PD={2*(Ldiff+Wmin)} Vd drain alim 0V Vg gate 0 0V Vs source alim 0V Vb body 0 0V Vdd alim 0 0.05V *Definizione del tipo di analisi .op .print all .END ----- LTSPICE IV output --- Operating Point --- V(drain): 0.05 voltage V(gate): 0 voltage V(source): 0.05 voltage V(body): 0 voltage V(alim): 0.05 voltage V(mp#dbody): 4.6875e-019 voltage V(mp#sbody): 4.6875e-019 voltage I(Vdd): -1e-019 device_current I(Vb): 1e-019 device_current I(Vs): -5e-020 device_current I(Vg): 0 device_current I(Vd): -5e-020 device_current Id(Mp): 5e-020 device_current Ig(Mp): 0 device_current Ib(Mp): -1e-019 device_current Is(Mp): 5e-020 device_current ------- NGSPICE output------------------ No. of Data Rows : 1 ngspice 2 -> print all alim = 5.000000e-02 body = 0.000000e+00 drain = 5.000000e-02 gate = 0.000000e+00 mp#body = 1.875000e-19 mp#dbody = 4.687500e-19 mp#gate = 0.000000e+00 mp#sbody = 4.687500e-19 source = 5.000000e-02 vb#branch = 1.000000e-19 vd#branch = -5.00000e-20 vdd#branch = -1.00000e-19 vg#branch = 0.000000e+00 vs#branch = -5.00000e-20 ngspice 3 -> -------- Spice Opus Output ---------------- SpiceOpus (c) 2 -> print all alim = 5.000000e-02 body = 0.000000e+00 drain = 5.000000e-02 gate = 0.000000e+00 mp#body = 1.875000e-13 mp#dbody = 4.687500e-13 mp#gate = 0.000000e+00 mp#sbody = 4.687500e-13 source = 5.000000e-02 vb#branch = 1.000000e-13 vd#branch = -5.00000e-14 vdd#branch = -1.00000e-13 vg#branch = 0.000000e+00 vs#branch = -5.00000e-14 SpiceOpus (c) 3 -> I have run even sweeps of between 0.1 and 1.2 V of Vdd and got matching results. The currents are "gmin dominate" up to 1V then an exponential dominates the current an for 1.2V all three simulators report same value. Spice Opus seems to discard the GMIN option settings (and I do not know how to change it). Robert, it seems that you marked right and everyone in the free world is using such trick. What about "offset nodes" names ? it seems that other simulators have maintained the same name with the new meaning Ciao, P. On Jan 8, 2011, at 3:27 PM, Holger Vogt wrote: > Hi, > > just did some tests with the patch (no check of leakage) on Windows 7, > VS Vis. Studio compiled ngspice: > > ro_17.cir ngspice with the patch yields 2.5% speed degradation, but > otherwise same results. > > 4pll.cir (from Paolo) with patch is 5s faster (124 vs. 129s). This > improvement stems from the op calculation, which needs some dynamic gmin > stepping and requires 15s with patch, but 20s without. > > Applying the patch requires setting model parameter RBODYMOD to 1 > (ngspice crashes with 0). double pointer BSIM4BPbPtr is used outside of > if(RBODYMOD) statement, but gets memory allocated only inside the if > statement. > > Holger > > ------------------------------------------------------------------------------ > Gaining the trust of online customers is vital for the success of any company > that requires sensitive data to be transmitted over the Web. Learn how to > best implement a security strategy that keeps consumers' information secure > and instills the confidence they need to proceed with transactions. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > Ngspice-devel mailing list > Ngs...@li... > https://lists.sourceforge.net/lists/listinfo/ngspice-devel |