forked from Github_Repos/cvw
Extended sim time to fully boot Linux. Added comments to hazard unit
This commit is contained in:
parent
08d4c29724
commit
04b0579b89
@ -58,7 +58,7 @@ if {$2 eq "buildroot" || $2 eq "buildroot-checkpoint"} {
|
|||||||
#run 100 ns
|
#run 100 ns
|
||||||
#force -deposit testbench/dut/core/priv/priv/csr/csri/IE_REGW 16'h2aa
|
#force -deposit testbench/dut/core/priv/priv/csr/csri/IE_REGW 16'h2aa
|
||||||
#force -deposit testbench/dut/uncore/clint/clint/MTIMECMP 64'h1000
|
#force -deposit testbench/dut/uncore/clint/clint/MTIMECMP 64'h1000
|
||||||
run 13000 ms
|
run 14000 ms
|
||||||
#add log -recursive /*
|
#add log -recursive /*
|
||||||
#do linux-wave.do
|
#do linux-wave.do
|
||||||
#run -all
|
#run -all
|
||||||
|
@ -79,8 +79,8 @@ module hazard(
|
|||||||
|
|
||||||
// Each stage flushes if the previous stage is the last one stalled (for cause) or the system has reason to flush
|
// Each stage flushes if the previous stage is the last one stalled (for cause) or the system has reason to flush
|
||||||
assign FlushF = BPPredWrongE | InvalidateICacheM;
|
assign FlushF = BPPredWrongE | InvalidateICacheM;
|
||||||
assign FlushD = FirstUnstalledD | TrapM | RetM | BPPredWrongE | InvalidateICacheM;
|
assign FlushD = FirstUnstalledD | TrapM | RetM | BPPredWrongE | InvalidateICacheM; // *** does RetM only need to flush if the privilege changes?
|
||||||
assign FlushE = FirstUnstalledE | TrapM | RetM | BPPredWrongE | InvalidateICacheM;
|
assign FlushE = FirstUnstalledE | TrapM | RetM | BPPredWrongE | InvalidateICacheM; // *** why is BPPredWrongE here, but not needed in simple processor
|
||||||
assign FlushM = FirstUnstalledM | TrapM | RetM | InvalidateICacheM;
|
assign FlushM = FirstUnstalledM | TrapM | RetM | InvalidateICacheM;
|
||||||
// on Trap the memory stage should be flushed going into the W stage,
|
// on Trap the memory stage should be flushed going into the W stage,
|
||||||
// except if the instruction causing the Trap is an ecall or ebreak.
|
// except if the instruction causing the Trap is an ecall or ebreak.
|
||||||
|
Loading…
Reference in New Issue
Block a user