diff --git a/wally-pipelined/regression/sim-busybear-batch b/wally-pipelined/regression/sim-busybear-batch index 2c351aad..194863b4 100755 --- a/wally-pipelined/regression/sim-busybear-batch +++ b/wally-pipelined/regression/sim-busybear-batch @@ -1,3 +1,3 @@ vsim -c <" prompt: +# do wally-pipelined.do +# or, to run from a shell, type the following at the shell prompt: +# vsim -do wally-pipelined.do -c +# (omit the "-c" to see the GUI while running from the shell) + +onbreak {resume} + +# create library +if [file exists work-busybear] { + vdel -all -lib work-busybear +} +vlib work-busybear + +# compile source files +# suppress spurious warnngs about +# "Extra checking for conflicts with always_comb done at vopt time" +# because vsim will run vopt +vlog +incdir+../config/busybear ../testbench/*.sv ../src/*/*.sv -suppress 2583 + + +# start and run simulation +# remove +acc flag for faster sim during regressions if there is no need to access internal signals +vopt +acc=+/testbench_busybear/dut/hart/ifu/bpred/DirPredictor/memory/memory +acc=+/testbench_busybear/dut/hart/ifu/bpred/TargetPredictor/memory/memory work.testbench_busybear -o workopt + +vsim workopt -suppress 8852,12070 +# load the branch predictors with known data. The value of the data is not important for function, but +# is important for perventing pessimistic x propagation. +mem load -infile twoBitPredictor.txt -format bin testbench_busybear/dut/hart/ifu/bpred/DirPredictor/memory/memory +switch $argc { + 0 {mem load -infile ../config/rv64ic/BTBPredictor.txt -format bin testbench_busybear/dut/hart/ifu/bpred/TargetPredictor/memory/memory} + 1 {mem load -infile ../config/$1/BTBPredictor.txt -format bin testbench_busybear/dut/hart/ifu/bpred/TargetPredictor/memory/memory} +} + +run -all +quit