minor fix
This commit is contained in:
13
hw/rtl/cache/VX_tag_access.v
vendored
13
hw/rtl/cache/VX_tag_access.v
vendored
@@ -112,23 +112,24 @@ module VX_tag_access #(
|
|||||||
assign use_invalidate = valid_in
|
assign use_invalidate = valid_in
|
||||||
&& is_snp_in
|
&& is_snp_in
|
||||||
&& tags_match
|
&& tags_match
|
||||||
&& (use_read_dirty || snp_invalidate_in) // block is dirty or should invalidate
|
&& (use_read_dirty || snp_invalidate_in)
|
||||||
&& !force_miss_in
|
&& !force_miss_in
|
||||||
&& !stall;
|
&& !stall;
|
||||||
|
|
||||||
assign miss_out = core_req_miss;
|
assign miss_out = core_req_miss;
|
||||||
assign dirty_out = valid_in && use_read_valid && use_read_dirty;
|
|
||||||
|
assign dirty_out = valid_in && use_read_valid && use_read_dirty
|
||||||
|
&& !(is_fill_in && tags_match); // disable writeback for redundant fills
|
||||||
|
|
||||||
assign readtag_out = use_read_tag;
|
assign readtag_out = use_read_tag;
|
||||||
assign writeen_out = (use_do_write || use_do_fill);
|
assign writeen_out = (use_do_write || use_do_fill);
|
||||||
|
|
||||||
`ifdef DBG_PRINT_CACHE_TAG
|
`ifdef DBG_PRINT_CACHE_TAG
|
||||||
always @(posedge clk) begin
|
always @(posedge clk) begin
|
||||||
if (valid_in && !stall) begin
|
if (valid_in && !stall) begin
|
||||||
if (use_do_fill && tags_match) begin
|
if (use_do_fill && tags_match) begin
|
||||||
$display("%t: warning: redundant fill - addr=%0h", $time, `LINE_TO_BYTE_ADDR(addr_in, BANK_ID));
|
$display("%t: warning: redundant fill - addr=%0h", $time, `LINE_TO_BYTE_ADDR(addr_in, BANK_ID));
|
||||||
assert(0);
|
end
|
||||||
end
|
|
||||||
if (use_do_fill) begin
|
if (use_do_fill) begin
|
||||||
$display("%t: cache%0d:%0d tag-fill: addr=%0h, blk_addr=%0d, tag_id=%0h, old_tag_id=%0h", $time, CACHE_ID, BANK_ID, `LINE_TO_BYTE_ADDR(addr_in, BANK_ID), addrline, addrtag, qual_read_tag);
|
$display("%t: cache%0d:%0d tag-fill: addr=%0h, blk_addr=%0d, tag_id=%0h, old_tag_id=%0h", $time, CACHE_ID, BANK_ID, `LINE_TO_BYTE_ADDR(addr_in, BANK_ID), addrline, addrtag, qual_read_tag);
|
||||||
end else if (tags_match) begin
|
end else if (tags_match) begin
|
||||||
|
|||||||
Reference in New Issue
Block a user