getting dogfood tests passing on Verilator!
This commit is contained in:
22
hw/rtl/cache/VX_bank.v
vendored
22
hw/rtl/cache/VX_bank.v
vendored
@@ -763,18 +763,18 @@ module VX_bank #(
|
||||
end
|
||||
`endif
|
||||
|
||||
`SCOPE_ASSIGN(scope_bank_valid_st0, qual_valid_st0);
|
||||
`SCOPE_ASSIGN(scope_bank_valid_st1, valid_st1e);
|
||||
`SCOPE_ASSIGN(scope_bank_valid_st2, valid_st2);
|
||||
`SCOPE_ASSIGN (scope_bank_valid_st0, qual_valid_st0);
|
||||
`SCOPE_ASSIGN (scope_bank_valid_st1, valid_st1e);
|
||||
`SCOPE_ASSIGN (scope_bank_valid_st2, valid_st2);
|
||||
|
||||
`SCOPE_ASSIGN(scope_bank_is_mrvq_st1, is_mrvq_st1e);
|
||||
`SCOPE_ASSIGN(scope_bank_miss_st1, miss_st1e);
|
||||
`SCOPE_ASSIGN(scope_bank_dirty_st1, dirty_st1e);
|
||||
`SCOPE_ASSIGN(scope_bank_force_miss_st1, force_request_miss_st1e);
|
||||
`SCOPE_ASSIGN(scope_bank_stall_pipe, stall_bank_pipe);
|
||||
`SCOPE_ASSIGN (scope_bank_is_mrvq_st1, is_mrvq_st1e);
|
||||
`SCOPE_ASSIGN (scope_bank_miss_st1, miss_st1e);
|
||||
`SCOPE_ASSIGN (scope_bank_dirty_st1, dirty_st1e);
|
||||
`SCOPE_ASSIGN (scope_bank_force_miss_st1, force_request_miss_st1e);
|
||||
`SCOPE_ASSIGN (scope_bank_stall_pipe, stall_bank_pipe);
|
||||
|
||||
`SCOPE_ASSIGN(scope_bank_addr_st0, `LINE_TO_BYTE_ADDR(qual_addr_st0, BANK_ID));
|
||||
`SCOPE_ASSIGN(scope_bank_addr_st1, `LINE_TO_BYTE_ADDR(addr_st1e, BANK_ID));
|
||||
`SCOPE_ASSIGN(scope_bank_addr_st2, `LINE_TO_BYTE_ADDR(addr_st2, BANK_ID));
|
||||
`SCOPE_ASSIGN (scope_bank_addr_st0, `LINE_TO_BYTE_ADDR(qual_addr_st0, BANK_ID));
|
||||
`SCOPE_ASSIGN (scope_bank_addr_st1, `LINE_TO_BYTE_ADDR(addr_st1e, BANK_ID));
|
||||
`SCOPE_ASSIGN (scope_bank_addr_st2, `LINE_TO_BYTE_ADDR(addr_st2, BANK_ID));
|
||||
|
||||
endmodule
|
||||
|
||||
11
hw/rtl/cache/VX_tag_data_store.v
vendored
11
hw/rtl/cache/VX_tag_data_store.v
vendored
@@ -44,10 +44,9 @@ module VX_tag_data_store #(
|
||||
|
||||
wire do_write = (| write_enable);
|
||||
|
||||
integer i, j;
|
||||
always @(posedge clk) begin
|
||||
if (reset) begin
|
||||
for (i = 0; i < `BANK_LINE_COUNT; i++) begin
|
||||
for (integer i = 0; i < `BANK_LINE_COUNT; i++) begin
|
||||
valid[i] <= 0;
|
||||
dirty[i] <= 0;
|
||||
end
|
||||
@@ -71,10 +70,10 @@ module VX_tag_data_store #(
|
||||
valid[write_addr] <= 0;
|
||||
end
|
||||
|
||||
for (i = 0; i < `BANK_LINE_WORDS; i++) begin
|
||||
for (j = 0; j < WORD_SIZE; j++) begin
|
||||
if (write_enable[i][j]) begin
|
||||
data[write_addr][i][j] <= write_data[i * `WORD_WIDTH + j * 8 +: 8];
|
||||
for (integer j = 0; j < `BANK_LINE_WORDS; j++) begin
|
||||
for (integer i = 0; i < WORD_SIZE; i++) begin
|
||||
if (write_enable[j][i]) begin
|
||||
data[write_addr][j][i] <= write_data[j * `WORD_WIDTH + i * 8 +: 8];
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user