diff --git a/hw/rtl/VX_execute.v b/hw/rtl/VX_execute.v index 8334d537..4480bde7 100644 --- a/hw/rtl/VX_execute.v +++ b/hw/rtl/VX_execute.v @@ -53,7 +53,7 @@ module VX_execute #( .NUM_REQS (`NUM_THREADS), .WORD_SIZE (4), .TAG_WIDTH (`LSU_DCACHE_TAG_BITS) - ) lsu_dcache_rsp_if(); + ) lsu_dcache_rsp_if(); VX_dcache_req_if #( .NUM_REQS (`NUM_THREADS), @@ -96,7 +96,7 @@ module VX_execute #( .LANES (`NUM_THREADS), .DATA_SIZE (4), .TAG_IN_WIDTH (`LSU_TEX_DCACHE_TAG_BITS), - .TAG_SEL_IDX (2) + .TAG_SEL_IDX (`NC_ADDR_BITS + `SM_ENABLE) ) tex_lsu_arb ( .clk (clk), .reset (reset), diff --git a/hw/rtl/VX_lsu_unit.v b/hw/rtl/VX_lsu_unit.v index a0d986dd..31902302 100644 --- a/hw/rtl/VX_lsu_unit.v +++ b/hw/rtl/VX_lsu_unit.v @@ -130,7 +130,8 @@ module VX_lsu_unit #( wire mbuf_pop = dcache_rsp_fire && (0 == rsp_rem_mask_n); - assign mbuf_raddr = dcache_rsp_if.tag[ADDR_TYPEW +: `LSUQ_ADDR_BITS]; + assign mbuf_raddr = dcache_rsp_if.tag[ADDR_TYPEW +: `LSUQ_ADDR_BITS]; + `UNUSED_VAR (dcache_rsp_if.tag) VX_index_buffer #( .DATAW (`NW_BITS + 32 + `NUM_THREADS + `NR_BITS + 1 + `LSU_BITS + (`NUM_THREADS * REQ_ASHIFT) + 1), diff --git a/hw/rtl/VX_mem_unit.v b/hw/rtl/VX_mem_unit.v index 556bc037..73e60433 100644 --- a/hw/rtl/VX_mem_unit.v +++ b/hw/rtl/VX_mem_unit.v @@ -188,13 +188,13 @@ module VX_mem_unit # ( VX_dcache_req_if #( .NUM_REQS (`DNUM_REQS), .WORD_SIZE (`DWORD_SIZE), - .TAG_WIDTH (`DCORE_TAG_WIDTH-`SM_ENABLE) + .TAG_WIDTH (`DCORE_TAG_WIDTH-1) ) smem_req_if(); VX_dcache_rsp_if #( .NUM_REQS (`DNUM_REQS), .WORD_SIZE (`DWORD_SIZE), - .TAG_WIDTH (`DCORE_TAG_WIDTH-`SM_ENABLE) + .TAG_WIDTH (`DCORE_TAG_WIDTH-1) ) smem_rsp_if(); VX_smem_arb #( @@ -252,8 +252,8 @@ module VX_mem_unit # ( .NUM_REQS (`SNUM_REQS), .CREQ_SIZE (`SCREQ_SIZE), .CRSQ_SIZE (`SCRSQ_SIZE), - .CORE_TAG_WIDTH (`DCORE_TAG_WIDTH-`SM_ENABLE), - .CORE_TAG_ID_BITS (`DCORE_TAG_ID_BITS-`SM_ENABLE), + .CORE_TAG_WIDTH (`DCORE_TAG_WIDTH-1), + .CORE_TAG_ID_BITS (`DCORE_TAG_ID_BITS-1), .BANK_ADDR_OFFSET (`SBANK_ADDR_OFFSET) ) smem ( .clk (clk), diff --git a/hw/rtl/tex_unit/VX_tex_memory.v b/hw/rtl/tex_unit/VX_tex_memory.v index e090a851..3a864c34 100644 --- a/hw/rtl/tex_unit/VX_tex_memory.v +++ b/hw/rtl/tex_unit/VX_tex_memory.v @@ -166,7 +166,8 @@ module VX_tex_memory #( wire [1:0] rsp_texel_idx; wire rsp_texel_dup; - assign rsp_texel_idx = dcache_rsp_if.tag[1:0]; + assign rsp_texel_idx = dcache_rsp_if.tag[1:0]; + `UNUSED_VAR (dcache_rsp_if.tag) assign rsp_texel_dup = q_dup_reqs[rsp_texel_idx]; @@ -266,13 +267,13 @@ module VX_tex_memory #( always @(posedge clk) begin if (dcache_req_fire_any) begin $write("%t: core%0d-tex-cache-req: wid=%0d, PC=%0h, tmask=%b, tag=%0h, addr=", - $time, CORE_ID, q_req_wid, q_req_PC, dcache_req_fire, dcache_req_if.tag[0]); + $time, CORE_ID, q_req_wid, q_req_PC, dcache_req_fire, req_texel_idx); `PRINT_ARRAY1D(req_texel_addr, NUM_REQS); $write(", is_dup=%b\n", req_texel_dup); end if (dcache_rsp_fire) begin $write("%t: core%0d-tex-cache-rsp: wid=%0d, PC=%0h, tmask=%b, tag=%0h, data=", - $time, CORE_ID, q_req_wid, q_req_PC, dcache_rsp_if.tmask, dcache_rsp_if.tag); + $time, CORE_ID, q_req_wid, q_req_PC, dcache_rsp_if.tmask, rsp_texel_idx); `PRINT_ARRAY1D(dcache_rsp_if.data, NUM_REQS); $write("\n"); end