Hallo,
will mir ein 4 Bit R-String DA-Wandler in NGSPICE simulieren und hab mir dazu eine Netzliste geschrieben. Ich will eine Transientenanalyse durchführen, also Spannungsverlauf an verschiedenen Knoten über der Zeit. Wenn ich die Netzliste lade bekome ich keinen Fehler, also sollte sie ja in Ordnung sein - zumindest für Spice. Wenn ich die Simulation per RUN Befehl starte gibt er mir ein paar Berechnungen aus und dann kommt die Fehlermeldung: [highlight=red:e7a9b836aa]doAnalyses: iteration limit reached[/highlight:e7a9b836aa]
Also ich geh mal davon aus dass der Fehler nichts mit der eigendlichen Schaltung zu tun hat sondern das er generell ein Problem mit der Simulation hat ? Wobei ich dazu sagen muss das eine andere Schaltung auch mit dieser Analyseart prima funktioniert...
Hier mal die Netzliste und die Ausgabe von Spice:
Netzliste:
Code:
4 Bit R-String DA-Wandler
.incl mietec035_ngspice.txt
Vref 9 0 DC 1
VAo 1 0 PULSE(0 3 0 0.01n 0.01n 2.5ns 5ns)
VAon 5 0 PULSE(3 0 0 0.01n 0.01n 2.5ns 5ns)
VA1 2 0 PULSE(0 3 0 0.01n 0.01n 5ns 10ns)
VA1n 6 0 PULSE(3 0 0 0.01n 0.01n 5ns 10ns)
VA2 3 0 PULSE(0 3 0 0.01n 0.01n 10ns 20ns)
VA2n 7 0 PULSE(3 0 0 0.01n 0.01n 10ns 20ns)
VA3 4 0 PULSE(0 3 0 0.01n 0.01n 20ns 40ns)
VA3n 8 0 PULSE(3 0 0 0.01n 0.01n 20ns 40ns)
.subckt X 50 51 52
R1 50 51 7
M1 50 1 52 0 EN3 W=7u L=1u
M2 51 5 52 0 EN3 W=7u L=1u
.ends
X1 9 10 24 X
R2 10 11 7
X2 11 12 25 X
R3 12 13 7
X3 13 14 26 X
R4 14 15 7
X4 15 16 27 X
R5 16 17 7
X5 17 18 28 X
R6 18 19 7
X6 19 20 29 X
R7 20 21 7
X7 21 22 30 X
R8 22 23 7
X8 23 0 31 X
M3 24 2 32 0 EN3 W=7u L=1u
M4 25 6 32 0 EN3 W=7u L=1u
M5 26 2 33 0 EN3 W=7u L=1u
M6 27 6 33 0 EN3 W=7u L=1u
M7 28 2 34 0 EN3 W=7u L=1u
M8 29 6 34 0 EN3 W=7u L=1u
M9 30 2 35 0 EN3 W=7u L=1u
M10 31 6 35 0 EN3 W=7u L=1u
M11 32 3 36 0 EN3 W=7u L=1u
M12 33 7 36 0 EN3 W=7u L=1u
M13 34 3 37 0 EN3 W=7u L=1u
M14 35 7 37 0 EN3 W=7u L=1u
M15 36 4 38 0 EN3 W=7u L=1u
M16 37 8 38 0 EN3 W=7u L=1u
C1 38 0 100p
E1 39 0 38 0 1
.tran 1n 2000n
Hier die Ausgabe:
Code:
ngspice 3 -> run
Doing analysis at TEMP = 27.000000 and TNOM = 27.000000
Warning: Pd = 0 is less than W.
Warning: Ps = 0 is less than W.
Warning: va3n: no DC value, transient time 0 value used
Warning: va3: no DC value, transient time 0 value used
Warning: va2n: no DC value, transient time 0 value used
Warning: va2: no DC value, transient time 0 value used
Warning: va1n: no DC value, transient time 0 value used
Warning: va1: no DC value, transient time 0 value used
Warning: vaon: no DC value, transient time 0 value used
Warning: vao: no DC value, transient time 0 value used
Warning: singular matrix: check nodes x1.1 and x1.1
Note: starting dynamic Gmin stepping
Trying gmin = 1.0000E-03 Note: One successful Gmin step
Trying gmin = 1.0000E-04 Note: One successful Gmin step
Trying gmin = 1.0000E-05 Note: One successful Gmin step
Trying gmin = 1.0000E-06 Note: One successful Gmin step
Trying gmin = 1.0000E-07 Note: One successful Gmin step
Trying gmin = 1.0000E-08 Note: One successful Gmin step
Trying gmin = 1.0000E-09 Note: One successful Gmin step
Trying gmin = 1.0000E-10 Note: One successful Gmin step
Trying gmin = 1.0000E-11 Note: One successful Gmin step
Trying gmin = 1.0000E-12 Note: One successful Gmin step
Trying gmin = 1.0000E-12 Note: One successful Gmin step
Warning: singular matrix: check nodes x1.1 and x1.1
Warning: Dynamic Gmin stepping failed
Note: starting source stepping
Supplies reduced to 0.0000% Warning: singular matrix: check nodes x1.1 and x1.1
Trying gmin = 1.0000E-02 Note: One successful Gmin step
Trying gmin = 1.0000E-03 Note: One successful Gmin step
Trying gmin = 1.0000E-04 Note: One successful Gmin step
Trying gmin = 1.0000E-05 Note: One successful Gmin step
Trying gmin = 1.0000E-06 Note: One successful Gmin step
Trying gmin = 1.0000E-07 Note: One successful Gmin step
Trying gmin = 1.0000E-08 Note: One successful Gmin step
Trying gmin = 1.0000E-09 Note: One successful Gmin step
Trying gmin = 1.0000E-10 Note: One successful Gmin step
Trying gmin = 1.0000E-11 Note: One successful Gmin step
Trying gmin = 1.0000E-12 Note: One successful Gmin step
Note: One successful source step
Supplies reduced to 0.1000% Warning: singular matrix: check nodes x1.1 and x1.1
Supplies reduced to 0.0000% Warning: singular matrix: check nodes x1.1 and x1.1
Warning: source stepping failed
Transient solution failed -
Last Node Voltages
------------------
Node Last Voltage Previous Iter
---- ------------ -------------
9 0 0
1 0 0
5 0 0
2 0 0
6 0 0
3 0 0
7 0 0
4 0 0
8 0 0
10 -1.93709e-81 0
x1.1 0 0
24 3.21909e-71 0
x1.5 0 0
11 -3.60424e-81 0
12 -5.00275e-81 0
x2.1 0 0
25 3.21084e-71 0
x2.5 0 0
13 -6.13262e-81 0
14 -6.98073e-81 0
x3.1 0 0
26 3.3326e-71 0
x3.5 0 0
15 -7.5471e-81 0
16 -7.83028e-81 0
x4.1 0 0
27 3.34174e-71 0
x4.5 0 0
17 -7.83028e-81 0
18 -7.5471e-81 0
x5.1 0 0
28 3.34174e-71 0
x5.5 0 0
19 -6.98073e-81 0
20 -6.13261e-81 0
x6.1 0 0
29 3.3326e-71 0
x6.5 0 0
21 -5.00274e-81 0
22 -3.60423e-81 0
x7.1 0 0
30 3.21084e-71 0
x7.5 0 0
23 -1.93708e-81 0
x8.1 0 0
31 3.21909e-71 0
x8.5 0 0
32 -8.52978e-71 0
33 -8.70274e-71 0
34 -8.70274e-71 0
35 -8.52978e-71 0
36 1.42939e-70 0
37 1.42939e-70 0
38 -1.54829e-70 0
39 -1.54829e-70 0
e1#branch 0 0
va3n#branch 0 0
va3#branch 0 0
va2n#branch 0 0
va2#branch 0 0
va1n#branch 0 0
va1#branch 0 0
vaon#branch 0 0
vao#branch 0 0
vref#branch -3.15289e-82 0
doAnalyses: iteration limit reached
run simulation(s) aborted
ngspice 4 ->
Währe cool wenn mir da jemand helfen könnte.
Gruß Markus
Lesezeichen