diff --git a/bin/wsim b/bin/wsim index f2442f8d7..ec532b3b2 100755 --- a/bin/wsim +++ b/bin/wsim @@ -62,7 +62,7 @@ if (args.sim == "questa"): if (args.coverage): cmd += " -coverage" if (args.gui): # launch Questa with GUI; add +acc to keep variables accessible - cmd = cd + "; vsim -do \"" + cmd + " +acc\"" + cmd = cd + "; vsim -do \"" + cmd + " +acc -GDEBUG=1\"" else: # launch Questa in batch mode cmd = cd + "; vsim -c -do \"" + cmd + "\"" print("Running Questa with command: " + cmd) diff --git a/sim/questa/wally.do b/sim/questa/wally.do index 33832516b..ac48d819d 100644 --- a/sim/questa/wally.do +++ b/sim/questa/wally.do @@ -61,14 +61,17 @@ for {set i 0} true {incr i} { } if {$argc >= 3} { - if {[lindex $lst [expr { [llength $lst] -1 } ]] eq "+acc"} { + echo "got at least 3 args" + set AccPosition [lsearch $lst "+acc"] + echo $AccPosition + if {$AccPosition != -1} { set GUI 1 set accFlag "+acc" - set tbArgs [lrange $lst 0 end-1] + set tbArgs [lreplace $lst $AccPosition $AccPosition] } else { set tbArgs $lst } - set tbArgsLst [split $lst " "] + set tbArgsLst [split $tbArgs " "] set index [lsearch -exact $tbArgsLst "-coverage"] if {$index >= 0} { @@ -77,9 +80,9 @@ if {$argc >= 3} { set CoverageVsimArg "-coverage" echo $tbArgsLst set tbArgsLst [lreplace $tbArgsLst $index $index ] - echo "help help help !!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo $tbArgsLst - echo "help help help !!!!!!!!!!!!!!!!!!!!!!!!!!!" + #echo "help help help !!!!!!!!!!!!!!!!!!!!!!!!!!!" + #echo $tbArgsLst + #echo "help help help !!!!!!!!!!!!!!!!!!!!!!!!!!!" } # separate the +args from the -G parameters @@ -91,6 +94,18 @@ if {$argc >= 3} { } } } +# helpful debug code remove later +#echo "help me!!!!!!! GUI =" +#echo $GUI +#echo "help me!!!!!!! lst =" +#echo $lst +#echo "help me!!!!!!! = accFlag =" +#echo $accFlag +#echo "help me!!!!!!! PlusArgs =" +#echo $PlusArgs +#echo "help me!!!!!!! ParamArgs =" +#echo $ParamArgs +#echo "help me!!!!!!!" # compile source files # suppress spurious warnngs about diff --git a/sim/questa/wave.do b/sim/questa/wave.do index 9947bcd6f..e11f7eb02 100644 --- a/sim/questa/wave.do +++ b/sim/questa/wave.do @@ -205,6 +205,7 @@ add wave -noupdate -group {Execution Stage} /testbench/dut/core/ieu/dp/SrcAE add wave -noupdate -group {Execution Stage} /testbench/dut/core/ieu/dp/SrcBE add wave -noupdate -group {Execution Stage} /testbench/dut/core/ieu/dp/ALUResultE add wave -noupdate -group {Execution Stage} /testbench/dut/core/ieu/dp/ResultW +add wave -noupdate -expand -group {Memory Stage} /testbench/FunctionName/FunctionName/FunctionName add wave -noupdate -expand -group {Memory Stage} /testbench/dut/core/InstrValidM add wave -noupdate -expand -group {Memory Stage} /testbench/dut/core/PCM add wave -noupdate -expand -group {Memory Stage} /testbench/dut/core/InstrM @@ -661,7 +662,7 @@ add wave -noupdate -expand -group testbench /testbench/DCacheFlushStart add wave -noupdate /testbench/dut/core/lsu/hptw/hptw/HPTWLoadPageFault add wave -noupdate /testbench/dut/core/lsu/hptw/hptw/HPTWLoadPageFaultDelay TreeUpdate [SetDefaultTree] -WaveRestoreCursors {{Cursor 4} {6586 ns} 1} {{Cursor 4} {11656 ns} 0} {{Cursor 3} {403021 ns} 1} +WaveRestoreCursors {{Cursor 4} {6586 ns} 1} {{Cursor 4} {2112952 ns} 0} {{Cursor 3} {403021 ns} 1} quietly wave cursor active 2 configure wave -namecolwidth 250 configure wave -valuecolwidth 194 @@ -677,4 +678,4 @@ configure wave -griddelta 40 configure wave -timeline 0 configure wave -timelineunits ns update -WaveRestoreZoom {0 ns} {284634 ns} +WaveRestoreZoom {2039338 ns} {2323972 ns}