minor improvement
This commit is contained in:
6
hw/rtl/cache/VX_bank.v
vendored
6
hw/rtl/cache/VX_bank.v
vendored
@@ -339,7 +339,7 @@ module VX_bank #(
|
|||||||
reqq_pop_unqual ? reqq_req_writeword_st0 :
|
reqq_pop_unqual ? reqq_req_writeword_st0 :
|
||||||
0;
|
0;
|
||||||
|
|
||||||
// we have a miss in msrq or going into it for the current address
|
// we have a miss in msrq or in stage 2 for the current address
|
||||||
wire msrq_pending_hazard_st0 = msrq_pending_hazard_unqual_st0
|
wire msrq_pending_hazard_st0 = msrq_pending_hazard_unqual_st0
|
||||||
|| (miss_add_unqual && (addr_st2 == addr_st0));
|
|| (miss_add_unqual && (addr_st2 == addr_st0));
|
||||||
|
|
||||||
@@ -486,7 +486,7 @@ module VX_bank #(
|
|||||||
assign is_msrq_miss_st2 = miss_add_unqual && is_msrq_st2;
|
assign is_msrq_miss_st2 = miss_add_unqual && is_msrq_st2;
|
||||||
|
|
||||||
// a matching incoming fill request to the block is in stage 0
|
// a matching incoming fill request to the block is in stage 0
|
||||||
wire incoming_st0_fill_st2 = is_fill_st0 && (addr_st2 == addr_st0);
|
wire incoming_st0_fill_st2 = is_fill_st0 && (addr_st2 == dfpq_addr_st0);
|
||||||
|
|
||||||
// a matching incoming fill request to the block is in stage 1
|
// a matching incoming fill request to the block is in stage 1
|
||||||
wire incoming_st1_fill_st2 = is_fill_st1 && (addr_st2 == addr_st1);
|
wire incoming_st1_fill_st2 = is_fill_st1 && (addr_st2 == addr_st1);
|
||||||
@@ -554,7 +554,7 @@ module VX_bank #(
|
|||||||
|
|
||||||
// fill
|
// fill
|
||||||
.update_ready_st0 (update_ready_st0),
|
.update_ready_st0 (update_ready_st0),
|
||||||
.fill_addr_st0 (addr_st0),
|
.addr_st0 (addr_st0),
|
||||||
.pending_hazard_st0 (msrq_pending_hazard_unqual_st0),
|
.pending_hazard_st0 (msrq_pending_hazard_unqual_st0),
|
||||||
|
|
||||||
// dequeue
|
// dequeue
|
||||||
|
|||||||
4
hw/rtl/cache/VX_cache_miss_resrv.v
vendored
4
hw/rtl/cache/VX_cache_miss_resrv.v
vendored
@@ -56,7 +56,7 @@ module VX_cache_miss_resrv #(
|
|||||||
|
|
||||||
// fill
|
// fill
|
||||||
input wire update_ready_st0,
|
input wire update_ready_st0,
|
||||||
input wire[`LINE_ADDR_WIDTH-1:0] fill_addr_st0,
|
input wire[`LINE_ADDR_WIDTH-1:0] addr_st0,
|
||||||
output wire pending_hazard_st0,
|
output wire pending_hazard_st0,
|
||||||
|
|
||||||
// dequeue
|
// dequeue
|
||||||
@@ -93,7 +93,7 @@ module VX_cache_miss_resrv #(
|
|||||||
|
|
||||||
wire [MRVQ_SIZE-1:0] valid_address_match;
|
wire [MRVQ_SIZE-1:0] valid_address_match;
|
||||||
for (genvar i = 0; i < MRVQ_SIZE; i++) begin
|
for (genvar i = 0; i < MRVQ_SIZE; i++) begin
|
||||||
assign valid_address_match[i] = valid_table[i] && (addr_table[i] == fill_addr_st0);
|
assign valid_address_match[i] = valid_table[i] && (addr_table[i] == addr_st0);
|
||||||
end
|
end
|
||||||
|
|
||||||
assign pending_hazard_st0 = (| valid_address_match);
|
assign pending_hazard_st0 = (| valid_address_match);
|
||||||
|
|||||||
Reference in New Issue
Block a user