mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Fix error when reading an instruction that crosses a line boundary
This commit is contained in:
parent
7338ddf853
commit
c8a88757ab
@ -31,8 +31,11 @@ add wave -hex /testbench/dut/hart/ifu/ic/InstrPAdrF
|
|||||||
add wave -hex /testbench/dut/hart/ifu/ic/InstrAckF
|
add wave -hex /testbench/dut/hart/ifu/ic/InstrAckF
|
||||||
add wave -hex /testbench/dut/hart/ifu/ic/controller/ICacheMemWriteData
|
add wave -hex /testbench/dut/hart/ifu/ic/controller/ICacheMemWriteData
|
||||||
add wave -hex /testbench/dut/hart/ifu/ic/controller/ICacheMemWritePAdr
|
add wave -hex /testbench/dut/hart/ifu/ic/controller/ICacheMemWritePAdr
|
||||||
|
add wave -hex /testbench/dut/hart/ifu/ic/controller/MisalignedState
|
||||||
|
add wave -hex /testbench/dut/hart/ifu/ic/controller/MisalignedHalfInstrF
|
||||||
add wave -divider
|
add wave -divider
|
||||||
|
|
||||||
|
|
||||||
add wave -hex /testbench/dut/hart/ifu/PCE
|
add wave -hex /testbench/dut/hart/ifu/PCE
|
||||||
add wave -hex /testbench/dut/hart/ifu/InstrE
|
add wave -hex /testbench/dut/hart/ifu/InstrE
|
||||||
add wave /testbench/InstrEName
|
add wave /testbench/InstrEName
|
||||||
|
@ -233,7 +233,7 @@ module icachecontroller #(parameter LINESIZE = 256) (
|
|||||||
// Machinery to request the correct addresses from main memory
|
// Machinery to request the correct addresses from main memory
|
||||||
always_comb begin
|
always_comb begin
|
||||||
assign InstrReadF = FetchState & ~EndFetchState;
|
assign InstrReadF = FetchState & ~EndFetchState;
|
||||||
assign LineAlignedPCPF = {UpperPCPF, LowerPCF[11:OFFSETWIDTH], {OFFSETWIDTH{1'b0}}};
|
assign LineAlignedPCPF = {ICacheMemReadUpperPAdr, ICacheMemReadLowerAdr[11:OFFSETWIDTH], {OFFSETWIDTH{1'b0}}};
|
||||||
assign InstrPAdrF = LineAlignedPCPF + FetchWordNum*(`XLEN/8);
|
assign InstrPAdrF = LineAlignedPCPF + FetchWordNum*(`XLEN/8);
|
||||||
assign NextFetchWordNum = FetchState ? FetchWordNum+InstrAckF : {LOGWPL+1{1'b0}};
|
assign NextFetchWordNum = FetchState ? FetchWordNum+InstrAckF : {LOGWPL+1{1'b0}};
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user