(2) fix wrong list of viewers in proc set_sim_defaults and unsetting semaphore in proc waves

This commit is contained in:
stefan schippers 2023-11-23 00:01:02 +01:00
parent 76540724df
commit 7a5d649adc
1 changed files with 25 additions and 47 deletions

View File

@ -1267,34 +1267,29 @@ proc set_sim_defaults {{reset {}}} {
set_ne sim(spice,default) 0
### spice wave view
set_ne sim(spicewave,0,cmd) {}
set sim(spicewave,0,name) {Xschem internal waves}
set sim(spicewave,0,fg) 0
set sim(spicewave,0,st) 0
set_ne sim(spicewave,1,cmd) {gaw "$n.raw" }
set sim(spicewave,1,name) {Gaw viewer}
set_ne sim(spicewave,0,cmd) {gaw "$n.raw" }
set sim(spicewave,0,name) {Gaw viewer}
set_ne sim(spicewave,0,fg) 0
set_ne sim(spicewave,0,st) 0
set_ne sim(spicewave,1,cmd) {$terminal -e ngspice}
set sim(spicewave,1,name) {Ngpice Viewer}
set_ne sim(spicewave,1,fg) 0
set_ne sim(spicewave,1,st) 0
set_ne sim(spicewave,2,cmd) {$terminal -e ngspice}
set sim(spicewave,2,name) {Ngpice Viewer}
set_ne sim(spicewave,2,cmd) {rawtovcd -v 1.5 "$n.raw" > "$n.vcd" && gtkwave "$n.vcd" "$n.sav" 2>/dev/null}
set sim(spicewave,2,name) {Rawtovcd}
set_ne sim(spicewave,2,fg) 0
set_ne sim(spicewave,2,st) 0
set_ne sim(spicewave,3,cmd) {rawtovcd -v 1.5 "$n.raw" > "$n.vcd" && gtkwave "$n.vcd" "$n.sav" 2>/dev/null}
set sim(spicewave,3,name) {Rawtovcd}
set_ne sim(spicewave,3,fg) 0
set_ne sim(spicewave,3,st) 0
# A server communicating with bespice wave was set up in the function setup_tcp_bespice().
# This server is listening on port $bespice_listen_port.
set_ne sim(spicewave,4,cmd) {$env(HOME)/analog_flavor_eval/bin/bspwave --socket localhost $bespice_listen_port "$n.raw" }
set sim(spicewave,4,name) {Bespice wave}
set_ne sim(spicewave,4,fg) 0
set_ne sim(spicewave,4,st) 0
set_ne sim(spicewave,3,cmd) {$env(HOME)/analog_flavor_eval/bin/bspwave --socket localhost $bespice_listen_port "$n.raw" }
set sim(spicewave,3,name) {Bespice wave}
set_ne sim(spicewave,3,fg) 0
set_ne sim(spicewave,3,st) 0
# number of configured spice wave viewers, and default one
set_ne sim(spicewave,n) 5
set_ne sim(spicewave,n) 4
set_ne sim(spicewave,default) 0
### verilog
@ -1395,32 +1390,15 @@ proc simconf {} {
pack ${scrollframe}.center.$tool.l -fill y -side left
pack ${scrollframe}.center.$tool.r -fill both -expand yes
for {set i 0} { $i < $sim($tool,n)} {incr i} {
if {$tool eq {spicewave} && $i == 0} {
set sim($tool,$i,fg) 0
set sim($tool,$i,st) 0
frame ${scrollframe}.center.$tool.r.$i
pack ${scrollframe}.center.$tool.r.$i -fill x -expand yes
entry ${scrollframe}.center.$tool.r.$i.lab -textvariable sim($tool,$i,name) -width 18 -bg $bg($toggle)
radiobutton ${scrollframe}.center.$tool.r.$i.radio -bg $bg($toggle) \
-variable sim($tool,default) -value $i
text ${scrollframe}.center.$tool.r.$i.cmd -width 20 -height 3 -state disabled -wrap none -bg $bg($toggle)
${scrollframe}.center.$tool.r.$i.cmd insert 1.0 {}
checkbutton ${scrollframe}.center.$tool.r.$i.fg -text Fg -variable sim($tool,$i,fg) \
-state disabled -bg $bg($toggle)
checkbutton ${scrollframe}.center.$tool.r.$i.st -text Status -variable sim($tool,$i,st) \
-state disabled -bg $bg($toggle)
} else {
frame ${scrollframe}.center.$tool.r.$i
pack ${scrollframe}.center.$tool.r.$i -fill x -expand yes
entry ${scrollframe}.center.$tool.r.$i.lab -textvariable sim($tool,$i,name) -width 18 -bg $bg($toggle)
radiobutton ${scrollframe}.center.$tool.r.$i.radio -bg $bg($toggle) \
-variable sim($tool,default) -value $i
text ${scrollframe}.center.$tool.r.$i.cmd -width 20 -height 3 -wrap none -bg $bg($toggle)
${scrollframe}.center.$tool.r.$i.cmd insert 1.0 $sim($tool,$i,cmd)
checkbutton ${scrollframe}.center.$tool.r.$i.fg -text Fg -variable sim($tool,$i,fg) -bg $bg($toggle)
checkbutton ${scrollframe}.center.$tool.r.$i.st -text Status -variable sim($tool,$i,st) -bg $bg($toggle)
}
frame ${scrollframe}.center.$tool.r.$i
pack ${scrollframe}.center.$tool.r.$i -fill x -expand yes
entry ${scrollframe}.center.$tool.r.$i.lab -textvariable sim($tool,$i,name) -width 18 -bg $bg($toggle)
radiobutton ${scrollframe}.center.$tool.r.$i.radio -bg $bg($toggle) \
-variable sim($tool,default) -value $i
text ${scrollframe}.center.$tool.r.$i.cmd -width 20 -height 3 -wrap none -bg $bg($toggle)
${scrollframe}.center.$tool.r.$i.cmd insert 1.0 $sim($tool,$i,cmd)
checkbutton ${scrollframe}.center.$tool.r.$i.fg -text Fg -variable sim($tool,$i,fg) -bg $bg($toggle)
checkbutton ${scrollframe}.center.$tool.r.$i.st -text Status -variable sim($tool,$i,st) -bg $bg($toggle)
pack ${scrollframe}.center.$tool.r.$i.lab -side left -fill y
pack ${scrollframe}.center.$tool.r.$i.radio -side left -fill y
pack ${scrollframe}.center.$tool.r.$i.cmd -side left -fill x -expand yes
@ -1989,7 +1967,7 @@ proc waves {{type {}}} {
}
}
}
if {$fg eq {execute_wait}} xschem set semaphore [expr {[xschem get semaphore] -1}]
if {$fg eq {execute_wait}} {xschem set semaphore [expr {[xschem get semaphore] -1}]}
}
}
# ============================================================