mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-02 17:55:19 +00:00
commit
d8f098013c
@ -58,15 +58,15 @@ if {$argc >= 3} {
|
|||||||
|
|
||||||
# default to config/rv64ic, but allow this to be overridden at the command line. For example:
|
# default to config/rv64ic, but allow this to be overridden at the command line. For example:
|
||||||
# do wally-pipelined-batch.do ../config/rv32imc rv32imc
|
# do wally-pipelined-batch.do ../config/rv32imc rv32imc
|
||||||
if {$2 eq "buildroot" || $2 eq "buildroot-checkpoint"} {
|
if {$2 eq "buildroot"} {
|
||||||
vlog -lint -work wkdir/work_${1}_${2} +incdir+../config/$1 +incdir+../config/shared ../src/cvw.sv ../testbench/testbench-linux.sv ../testbench/common/*.sv ../src/*/*.sv ../src/*/*/*.sv -suppress 2583
|
vlog -lint -work wkdir/work_${1}_${2} +incdir+../config/$1 +incdir+../config/shared ../src/cvw.sv ../testbench/testbench-linux.sv ../testbench/common/*.sv ../src/*/*.sv ../src/*/*/*.sv -suppress 2583
|
||||||
# start and run simulation
|
# start and run simulation
|
||||||
if { $coverage } {
|
if { $coverage } {
|
||||||
echo "wally-batch buildroot coverage"
|
echo "wally-batch buildroot coverage"
|
||||||
vopt wkdir/work_${1}_${2}.testbench -work wkdir/work_${1}_${2} -G RISCV_DIR=$3 -G INSTR_LIMIT=$4 -G INSTR_WAVEON=$5 -G CHECKPOINT=$6 -o testbenchopt +cover=sbecf
|
vopt wkdir/work_${1}_${2}.testbench -work wkdir/work_${1}_${2} -G RISCV_DIR=$3 -G INSTR_LIMIT=$4 -G INSTR_WAVEON=$5 -G -o testbenchopt +cover=sbecf
|
||||||
vsim -lib wkdir/work_${1}_${2} testbenchopt -suppress 8852,12070,3084,3691,13286 -fatal 7 -cover
|
vsim -lib wkdir/work_${1}_${2} testbenchopt -suppress 8852,12070,3084,3691,13286 -fatal 7 -cover
|
||||||
} else {
|
} else {
|
||||||
vopt wkdir/work_${1}_${2}.testbench -work wkdir/work_${1}_${2} -G RISCV_DIR=$3 -G INSTR_LIMIT=$4 -G INSTR_WAVEON=$5 -G CHECKPOINT=$6 -o testbenchopt
|
vopt wkdir/work_${1}_${2}.testbench -work wkdir/work_${1}_${2} -G RISCV_DIR=$3 -G INSTR_LIMIT=$4 -G INSTR_WAVEON=$5 -G -o testbenchopt
|
||||||
vsim -lib wkdir/work_${1}_${2} testbenchopt -suppress 8852,12070,3084,3691,13286 -fatal 7
|
vsim -lib wkdir/work_${1}_${2} testbenchopt -suppress 8852,12070,3084,3691,13286 -fatal 7
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,7 +76,7 @@ if {$2 eq "buildroot" || $2 eq "buildroot-checkpoint"} {
|
|||||||
} elseif {$2 eq "buildroot-no-trace"} {
|
} elseif {$2 eq "buildroot-no-trace"} {
|
||||||
vlog -lint -work work_${1}_${2} +incdir+../config/$1 +incdir+../config/shared ../testbench/testbench-linux.sv ../testbench/common/*.sv ../src/*/*.sv ../src/*/*/*.sv -suppress 2583
|
vlog -lint -work work_${1}_${2} +incdir+../config/$1 +incdir+../config/shared ../testbench/testbench-linux.sv ../testbench/common/*.sv ../src/*/*.sv ../src/*/*/*.sv -suppress 2583
|
||||||
# start and run simulation
|
# start and run simulation
|
||||||
vopt +acc work_${1}_${2}.testbench -work work_${1}_${2} -G RISCV_DIR=$3 -G INSTR_LIMIT=$4 -G INSTR_WAVEON=$5 -G CHECKPOINT=$6 -G NO_SPOOFING=1 -o testbenchopt
|
vopt +acc work_${1}_${2}.testbench -work work_${1}_${2} -G RISCV_DIR=$3 -G INSTR_LIMIT=$4 -G INSTR_WAVEON=$5 -G -G NO_SPOOFING=1 -o testbenchopt
|
||||||
vsim -lib work_${1}_${2} testbenchopt -suppress 8852,12070,3084,3829,13286 -fatal 7
|
vsim -lib work_${1}_${2} testbenchopt -suppress 8852,12070,3084,3829,13286 -fatal 7
|
||||||
|
|
||||||
#-- Run the Simulation
|
#-- Run the Simulation
|
||||||
|
@ -196,8 +196,8 @@ module lsu import cvw::*; #(parameter cvw_t P) (
|
|||||||
assign PreLSURWM = MemRWM;
|
assign PreLSURWM = MemRWM;
|
||||||
assign IHAdrM = IEUAdrExtM;
|
assign IHAdrM = IEUAdrExtM;
|
||||||
assign LSUFunct3M = Funct3M;
|
assign LSUFunct3M = Funct3M;
|
||||||
assign LSUFunct7M = Funct7M;
|
assign LSUFunct7M = Funct7M;
|
||||||
assign LSUAtomicM = AtomicM;
|
assign LSUAtomicM = AtomicM;
|
||||||
assign IHWriteDataM = WriteDataM;
|
assign IHWriteDataM = WriteDataM;
|
||||||
assign LoadAccessFaultM = LSULoadAccessFaultM;
|
assign LoadAccessFaultM = LSULoadAccessFaultM;
|
||||||
assign StoreAmoAccessFaultM = LSUStoreAmoAccessFaultM;
|
assign StoreAmoAccessFaultM = LSUStoreAmoAccessFaultM;
|
||||||
|
@ -182,7 +182,7 @@ module loggers import cvw::*; #(parameter cvw_t P,
|
|||||||
(!dut.core.lsu.bus.dcache.dcache.vict.cacheLRU.AllValid) ? "M" :
|
(!dut.core.lsu.bus.dcache.dcache.vict.cacheLRU.AllValid) ? "M" :
|
||||||
dut.core.lsu.bus.dcache.dcache.LineDirty ? "D" : "E";
|
dut.core.lsu.bus.dcache.dcache.LineDirty ? "D" : "E";
|
||||||
AccessTypeString = dut.core.lsu.bus.dcache.FlushDCache ? "F" :
|
AccessTypeString = dut.core.lsu.bus.dcache.FlushDCache ? "F" :
|
||||||
dut.core.lsu.bus.dcache.CacheAtomicM[1] ? "A" :
|
dut.core.lsu.LSUAtomicM[1] ? "A" :
|
||||||
dut.core.lsu.bus.dcache.CacheRWM == 2'b10 ? "R" :
|
dut.core.lsu.bus.dcache.CacheRWM == 2'b10 ? "R" :
|
||||||
dut.core.lsu.bus.dcache.CacheRWM == 2'b01 ? "W" :
|
dut.core.lsu.bus.dcache.CacheRWM == 2'b01 ? "W" :
|
||||||
"NULL";
|
"NULL";
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
`define NUM_REGS 32
|
`define NUM_REGS 32
|
||||||
`define NUM_CSRS 4096
|
`define NUM_CSRS 4096
|
||||||
|
|
||||||
`define STD_LOG 0
|
`define STD_LOG 1
|
||||||
`define PRINT_PC_INSTR 0
|
`define PRINT_PC_INSTR 0
|
||||||
`define PRINT_MOST 0
|
`define PRINT_MOST 0
|
||||||
`define PRINT_ALL 0
|
`define PRINT_ALL 0
|
||||||
@ -502,7 +502,7 @@ module wallyTracer import cvw::*; #(parameter cvw_t P) (rvviTrace rvvi);
|
|||||||
if(`STD_LOG) begin
|
if(`STD_LOG) begin
|
||||||
instrNameDecTB NameDecoder(rvvi.insn[0][0], instrWName);
|
instrNameDecTB NameDecoder(rvvi.insn[0][0], instrWName);
|
||||||
initial begin
|
initial begin
|
||||||
LogFile = "logs/InstrTrace.log";
|
LogFile = "logs/boottrace.log";
|
||||||
file = $fopen(LogFile, "w");
|
file = $fopen(LogFile, "w");
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user