make buildroot waves only turn on after a user-specified point

This commit is contained in:
bbracker 2021-06-20 00:39:30 -04:00
parent a3eafc6e5b
commit d62d9a7aac
5 changed files with 10 additions and 1540 deletions

File diff suppressed because it is too large Load Diff

View File

@ -36,4 +36,5 @@ vopt work.testbench -o workopt
vsim workopt -suppress 8852,12070
run -all
quit
run -all
quit

View File

@ -35,8 +35,9 @@ vopt +acc work.testbench -o workopt
vsim workopt -suppress 8852,12070
do ./wave-dos/linux-waves.do
#-- Run the Simulation
run -all
do ./wave-dos/linux-waves.do
run -all
##quit

View File

@ -1,6 +1,4 @@
# linux-waves.do
restart -f
delete wave /*
view wave
add wave -divider
@ -13,8 +11,6 @@ add wave /testbench/dut/hart/StallD
add wave /testbench/dut/hart/StallE
add wave /testbench/dut/hart/StallM
add wave /testbench/dut/hart/StallW
add wave -group stall_srcs /testbench/dut/hart/DataStall
add wave -group stall_srcs /testbench/dut/hart/ICacheStallF
add wave /testbench/dut/hart/FlushD
add wave /testbench/dut/hart/FlushE
add wave /testbench/dut/hart/FlushM

View File

@ -46,6 +46,8 @@ module testbench();
logic [`AHBW-1:0] HRDATAEXT;
logic HREADYEXT, HRESPEXT;
logic UARTSout;
parameter waveOnICount = 650000; // # of instructions at which to turn on waves in graphical sim
assign GPIOPinsIn = 0;
assign UARTSin = 1;
@ -563,6 +565,10 @@ module testbench();
(instrs <= 100000 && instrs % 10000 == 0) || (instrs <= 1000000 && instrs % 100000 == 0)) begin
$display("loaded %0d instructions", instrs);
end
if (instrs == waveOnICount) begin
$display("turning on waves at %0d instructions", instrs);
$stop; // do file will resume after this first stop
end
instrs += 1;
// are we at a branch/jump?
if (`BPRED_ENABLED) begin