modelsim fixes && pipeline optimization
This commit is contained in:
5
hw/rtl/cache/VX_cache_config.vh
vendored
5
hw/rtl/cache/VX_cache_config.vh
vendored
@@ -1,10 +1,13 @@
|
||||
`ifndef VX_CACHE_CONFIG
|
||||
`define VX_CACHE_CONFIG
|
||||
|
||||
`include "VX_define.vh"
|
||||
`include "VX_platform.vh"
|
||||
`include "VX_scope.vh"
|
||||
|
||||
`define REQ_TAG_WIDTH `MAX(CORE_TAG_WIDTH, SNP_REQ_TAG_WIDTH)
|
||||
|
||||
`define REQS_BITS `LOG2UP(NUM_REQUESTS)
|
||||
|
||||
// tag rw byteen tid
|
||||
`define REQ_INST_META_WIDTH (`REQ_TAG_WIDTH + 1 + WORD_SIZE + `REQS_BITS)
|
||||
|
||||
|
||||
1
hw/rtl/cache/VX_cache_core_req_bank_sel.v
vendored
1
hw/rtl/cache/VX_cache_core_req_bank_sel.v
vendored
@@ -1,4 +1,3 @@
|
||||
|
||||
`include "VX_cache_config.vh"
|
||||
|
||||
module VX_cache_core_req_bank_sel #(
|
||||
|
||||
13
hw/rtl/cache/VX_tag_data_access.v
vendored
13
hw/rtl/cache/VX_tag_data_access.v
vendored
@@ -141,11 +141,14 @@ module VX_tag_data_access #(
|
||||
assign use_read_tag_st1e = DRAM_ENABLE ? read_tag_st1c[STAGE_1_CYCLES-1] : writetag_st1e; // Tag is always the same in SM
|
||||
assign use_read_dirtyb_st1e= read_dirtyb_st1c[STAGE_1_CYCLES-1];
|
||||
assign use_read_data_st1e = read_data_st1c[STAGE_1_CYCLES-1];
|
||||
|
||||
for (i = 0; i < WORD_SIZE; i++) begin
|
||||
if (`WORD_SELECT_WIDTH != 0) begin
|
||||
assign readword_st1e[i * 8 +: 8] = use_read_data_st1e[wordsel_st1e * `WORD_WIDTH +: `WORD_WIDTH][i * 8 +: 8] & {8{mem_byteen_st1e[i]}};
|
||||
end else begin
|
||||
|
||||
if (`WORD_SELECT_WIDTH != 0) begin
|
||||
wire [`WORD_WIDTH-1:0] readword = use_read_data_st1e[wordsel_st1e * `WORD_WIDTH +: `WORD_WIDTH];
|
||||
for (i = 0; i < WORD_SIZE; i++) begin
|
||||
assign readword_st1e[i * 8 +: 8] = readword[i * 8 +: 8] & {8{mem_byteen_st1e[i]}};
|
||||
end
|
||||
end else begin
|
||||
for (i = 0; i < WORD_SIZE; i++) begin
|
||||
assign readword_st1e[i * 8 +: 8] = use_read_data_st1e[i * 8 +: 8] & {8{mem_byteen_st1e[i]}};
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user