better regexp for probe search in ngspice_backannotate.tcl, comments in token.c

This commit is contained in:
Stefan Schippers 2020-10-18 02:08:08 +02:00
parent 3e3c1ea671
commit ebdc8746c0
4 changed files with 58 additions and 50 deletions

View File

@ -136,22 +136,22 @@ proc annotate {} {
for { set i 0 } { $i < $lastinst } {incr i } {
set name [xschem getprop instance $i name]
set type [xschem getprop instance $i cell::type]
if { $type == "probe" || $type == "devices/probe"} {
if { [regexp {(^|/)probe$} $type ] } {
set net $path[xschem instance_net $i p]
if {[catch {xschem setprop $i voltage [get_voltage arr $net] fast} err]} {
puts "1 error : $err net: $net"
puts "Error 1: ${err}, net: $net"
}
}
if { $type == "current_probe" || $type == "devices/current_probe"} {
if { [regexp {current_probe$} $type ] } {
if {[catch {xschem setprop $i current [get_current arr $path$name] fast} err]} {
puts "2 error : $err"
puts "Error 2: $err"
}
}
if { $type == "differential_probe" || $type == "devices/differential_probe"} {
if { [regexp {differential_probe$} $type ] } {
set netp $path[xschem instance_net $i p]
set netm $path[xschem instance_net $i m]
if {[catch {xschem setprop $i voltage [get_diff_voltage arr $netp $netm] fast} err]} {
puts "3 error : $err"
puts "Error 3: $err"
}
}
# puts "$i $name $type"

View File

@ -458,7 +458,7 @@ const char *list_tokens(const char *s, int with_quotes)
/* with_quotes: */
/* 0: eat non escaped quotes (") */
/* 1: return unescaped quotes as part of the token value if they are present */
/* 2: eat backslashes */
/* 2: eat backslashes and unescaped double quotes (") */
const char *get_tok_value(const char *s,const char *tok, int with_quotes)
{
static char *result=NULL;

View File

@ -3,8 +3,8 @@ G {}
K {}
V {}
S {
.probe v(ga,sa) v(gb,sb)
.probe p(q*) p(r*) i(r*) p(xm1) p(xm2) i(d*)}
* .probe v(ga,sa) v(gb,sb)
* .probe p(q*) p(r*) i(r*) p(xm1) p(xm2) i(d*)}
E {}
T {CURRENT
MEASURE} 1040 -660 0 0 0.2 0.2 {}
@ -147,8 +147,8 @@ C {lab_pin.sym} 340 -970 0 1 {name=p23 lab=E2}
C {lab_pin.sym} 560 -970 0 1 {name=p28 lab=E6}
C {lab_pin.sym} 840 -1000 0 0 {name=p29 lab=E4}
C {lab_pin.sym} 180 -1120 0 0 {name=p34 lab=VBOOST}
C {ammeter.sym} 1110 -540 0 0 {name=vd current=0.2093 net_name=true}
C {ammeter.sym} 1110 -640 0 0 {name=vu current=0.2336 net_name=true}
C {ammeter.sym} 1110 -540 0 0 {name=vd current=0.2229 net_name=true}
C {ammeter.sym} 1110 -640 0 0 {name=vu current=0.2165 net_name=true}
C {lab_pin.sym} 60 -1180 0 0 {name=p27 lab=VPP}
C {pnp.sym} 200 -950 0 1 {name=Q1 model=q2n2907p area=1 net_name=true}
C {pnp.sym} 360 -790 0 1 {name=Q2 model=q2n2907p area=1 net_name=true}
@ -230,33 +230,33 @@ C {lab_pin.sym} 180 -690 0 0 {name=p8 lab=C7}
C {lab_pin.sym} 340 -710 0 1 {name=p31 lab=C2}
C {title.sym} 160 -30 0 0 {name=l2 author="Stefan Schippers"}
C {lab_pin.sym} 930 -700 0 0 {name=p32 lab=SA}
C {ammeter.sym} 1110 -350 0 0 {name=v0 current=0.2288 net_name=true}
C {ammeter.sym} 1110 -350 0 0 {name=v0 current=0.2423 net_name=true}
C {lab_pin.sym} 930 -380 0 0 {name=p35 lab=SB}
C {ammeter.sym} 560 -890 0 0 {name=v1 current=0.01956 net_name=true}
C {ammeter.sym} 340 -890 0 0 {name=v2 current=0.01947 net_name=true}
C {ammeter.sym} 560 -890 0 0 {name=v1 current=0.01959 net_name=true}
C {ammeter.sym} 340 -890 0 0 {name=v2 current=0.01949 net_name=true}
C {ammeter.sym} 260 -310 0 0 {name=v3 current=0.03924 net_name=true}
C {ammeter.sym} 770 -440 3 0 {name=v4 current=0.01942 net_name=true}
C {ammeter.sym} 690 -680 0 0 {name=v5 current=0.006271 net_name=true}
C {ammeter.sym} 180 -870 0 1 {name=v6 current=0.01955 net_name=true}
C {ammeter.sym} 840 -890 0 0 {name=v7 current=0.0195 net_name=true}
C {spice_probe.sym} 1010 -440 0 0 {name=p36 analysis=tran voltage=-46.31}
C {spice_probe_vdiff.sym} 930 -410 0 0 {name=p37 analysis=tran voltage=3.689}
C {spice_probe_vdiff.sym} 930 -730 0 0 {name=p38 analysis=tran voltage=3.691}
C {spice_probe.sym} 1010 -760 0 0 {name=p39 analysis=tran voltage=3.814}
C {spice_probe.sym} 1220 -590 0 0 {name=p40 analysis=tran voltage=0.1231}
C {ammeter.sym} 770 -440 3 0 {name=v4 current=0.01944 net_name=true}
C {ammeter.sym} 690 -680 0 0 {name=v5 current=0.006183 net_name=true}
C {ammeter.sym} 180 -870 0 1 {name=v6 current=0.01952 net_name=true}
C {ammeter.sym} 840 -890 0 0 {name=v7 current=0.01947 net_name=true}
C {spice_probe.sym} 1010 -440 0 0 {name=p36 analysis=tran voltage=-46.14}
C {spice_probe_vdiff.sym} 930 -410 0 0 {name=p37 analysis=tran voltage=3.693}
C {spice_probe_vdiff.sym} 930 -730 0 0 {name=p38 analysis=tran voltage=3.685}
C {spice_probe.sym} 1010 -760 0 0 {name=p39 analysis=tran voltage=3.548}
C {spice_probe.sym} 1220 -590 0 0 {name=p40 analysis=tran voltage=-0.1372}
C {spice_probe.sym} 380 -530 0 0 {name=p41 analysis=tran voltage=21.3}
C {spice_probe.sym} 140 -530 0 1 {name=p42 analysis=tran voltage=21.3}
C {spice_probe.sym} 250 -470 0 1 {name=p43 analysis=tran voltage=20.61}
C {spice_probe.sym} 440 -790 0 0 {name=p44 analysis=tran voltage=48.22}
C {spice_probe.sym} 280 -950 0 0 {name=p45 analysis=tran voltage=48.22}
C {spice_probe.sym} 730 -810 0 0 {name=p46 analysis=tran voltage=25.21}
C {spice_probe.sym} 250 -470 0 1 {name=p43 analysis=tran voltage=20.38}
C {spice_probe.sym} 440 -790 0 0 {name=p44 analysis=tran voltage=48.05}
C {spice_probe.sym} 280 -950 0 0 {name=p45 analysis=tran voltage=47.26}
C {spice_probe.sym} 730 -810 0 0 {name=p46 analysis=tran voltage=24.6}
C {spice_probe.sym} 610 -1180 0 0 {name=p47 analysis=tran voltage=50}
C {spice_probe.sym} 760 -1120 0 0 {name=p48 analysis=tran voltage=50}
C {ammeter.sym} 1300 -590 3 0 {name=v8 current=0.03055 net_name=true}
C {spice_probe.sym} 760 -1120 0 0 {name=p48 analysis=tran voltage=49.03}
C {ammeter.sym} 1300 -590 3 0 {name=v8 current=-2.1207e-04 net_name=true}
C {spice_probe.sym} 1110 -280 0 0 {name=p49 analysis=tran voltage=-50}
C {spice_probe.sym} 280 -630 0 1 {name=p50 analysis=tran voltage=42.36}
C {spice_probe.sym} 340 -820 0 1 {name=p51 analysis=tran voltage=49.03}
C {spice_probe.sym} 120 -210 0 1 {name=p52 analysis=tran voltage=-42.58}
C {spice_probe.sym} 280 -630 0 1 {name=p50 analysis=tran voltage=42.18}
C {spice_probe.sym} 340 -820 0 1 {name=p51 analysis=tran voltage=48.86}
C {spice_probe.sym} 120 -210 0 1 {name=p52 analysis=tran voltage=-42.41}
C {spice_probe.sym} 130 -70 0 1 {name=p53 analysis=tran voltage=-50}
C {opin.sym} 600 -130 0 0 {name=p5 lab=OUT}
C {ipin.sym} 530 -180 0 0 {name=p1 lab=MINUS}

View File

@ -26,25 +26,25 @@ T {actual value
200} 870 -1330 0 0 0.4 0.4 {}
N 160 -1250 160 -1230 {lab=#net1}
N 160 -1110 160 -1090 {lab=#net2}
N 280 -1170 340 -1170 {lab=VSS}
N 370 -1170 380 -1170 {lab=VSS}
N 710 -700 860 -700 {lab=OUTM}
N 510 -1200 580 -1200 {lab=VSS}
N 580 -1200 580 -1190 {lab=VSS}
N 580 -1190 620 -1190 {lab=VSS}
N 550 -1240 580 -1240 {lab=IN}
N 620 -1250 710 -1250 {lab=REFP}
N 280 -1180 280 -1170 {lab=VSS}
N 280 -1250 280 -1240 {lab=VPP}
N 270 -1100 270 -1090 {lab=VNN}
N 270 -1170 270 -1160 {lab=VSS}
N 280 -1180 280 -1170 {lab=#net3}
N 280 -1250 280 -1240 {lab=#net4}
N 270 -1100 270 -1090 {lab=#net5}
N 270 -1170 270 -1160 {lab=#net3}
N 160 -1090 190 -1090 {lab=#net2}
N 270 -1090 340 -1090 {lab=VNN}
N 370 -1090 380 -1090 {lab=VNN}
N 160 -1250 190 -1250 {lab=#net1}
N 280 -1250 340 -1250 {lab=VPP}
N 270 -1170 280 -1170 {lab=VSS}
N 250 -1250 280 -1250 {lab=VPP}
N 250 -1090 270 -1090 {lab=VNN}
N 160 -1170 270 -1170 {lab=VSS}
N 370 -1250 380 -1250 {lab=VPP}
N 270 -1170 280 -1170 {lab=#net3}
N 250 -1250 280 -1250 {lab=#net4}
N 250 -1090 270 -1090 {lab=#net5}
N 160 -1170 270 -1170 {lab=#net3}
N 550 -950 710 -950 {lab=OUTM}
N 400 -890 550 -890 {lab=FBN}
N 550 -770 550 -750 {lab=IN}
@ -87,6 +87,9 @@ N 350 -890 400 -890 {lab=FBN}
N 350 -430 400 -430 {lab=FB}
N 580 -1110 620 -1110 {lab=VSS}
N 580 -1120 580 -1110 {lab=VSS}
N 280 -1250 310 -1250 {lab=#net4}
N 270 -1090 310 -1090 {lab=#net5}
N 280 -1170 310 -1170 {lab=#net3}
C {code.sym} 1020 -210 0 0 {name=STIMULI
only_toplevel=true
tclcommand="xschem edit_vi_prop"
@ -99,7 +102,8 @@ vvss vss 0 dc 0
.param frequ=20k
.param gain=42
.tran 6e-7 0.009 uic
.op
* .tran 6e-7 0.009 uic
** models are generally not free: you must download
@ -111,18 +115,17 @@ vvss vss 0 dc 0
* .probe i(*)
* .probe p(r*) p(v*)
"}
C {vsource.sym} 160 -1200 0 0 {name=V1 value="pwl 0 0 1m 50"}
C {vsource.sym} 160 -1140 0 0 {name=V0 value="pwl 0 0 1m 50"}
C {lab_pin.sym} 340 -1250 0 1 {name=p5 lab=VPP}
C {lab_pin.sym} 340 -1090 0 1 {name=p6 lab=VNN}
C {lab_pin.sym} 340 -1170 0 1 {name=p3 lab=VSS}
C {vsource.sym} 160 -1200 0 0 {name=V1 value="dc 50 pwl 0 0 1m 50"}
C {vsource.sym} 160 -1140 0 0 {name=V0 value="dc 50 pwl 0 0 1m 50"}
C {lab_pin.sym} 380 -1250 0 1 {name=p5 lab=VPP}
C {lab_pin.sym} 380 -1090 0 1 {name=p6 lab=VNN}
C {lab_pin.sym} 380 -1170 0 1 {name=p3 lab=VSS}
C {lab_pin.sym} 860 -240 0 1 {name=p14 lab=OUTP}
C {res.sym} 860 -490 0 1 {name=R1 m=1 value=8}
C {lab_pin.sym} 510 -1200 0 0 {name=p26 lab=VSS}
C {lab_pin.sym} 550 -1240 0 0 {name=p31 lab=IN}
C {vcvs.sym} 620 -1220 0 0 {name=E3 value='gain*0.99'}
C {lab_pin.sym} 710 -1250 0 1 {name=p32 lab=REFP}
C {capa.sym} 280 -1210 0 0 {name=C2 m=1 value="100u"}
C {capa.sym} 270 -1130 0 0 {name=C3 m=1 value="100u"}
C {res.sym} 220 -1250 1 1 {name=R11 m=1 value=0.3}
C {res.sym} 220 -1090 1 1 {name=R9 m=1 value=0.3}
@ -178,3 +181,8 @@ C {lab_pin.sym} 350 -270 0 0 {name=p19 lab=FB}
C {lab_pin.sym} 350 -730 0 0 {name=p25 lab=FBN}
C {title.sym} 160 -30 0 0 {name=l2 author="Stefan Schippers"}
C {lab_pin.sym} 880 -1250 0 0 {name=p27 lab=IN_INT}
C {ammeter.sym} 340 -1250 3 0 {name=vcurrvpp current=0.5636 net_name=true}
C {spice_probe.sym} 790 -700 0 0 {name=p40 analysis=tran voltage=-0.1372}
C {spice_probe.sym} 770 -240 0 0 {name=p29 analysis=tran voltage=-0.1372}
C {ammeter.sym} 340 -1090 3 0 {name=vcurrvnn current=-0.5715 net_name=true}
C {ammeter.sym} 340 -1170 3 0 {name=vcurrvss current=0.007914 net_name=true}