tex_unit compiler fixes
This commit is contained in:
@@ -293,7 +293,8 @@
|
|||||||
`ifdef EXT_TEX_ENABLE
|
`ifdef EXT_TEX_ENABLE
|
||||||
`define LSU_DACHE_TAG_BITS (`DBG_CACHE_REQ_MDATAW + `LSUQ_ADDR_BITS)
|
`define LSU_DACHE_TAG_BITS (`DBG_CACHE_REQ_MDATAW + `LSUQ_ADDR_BITS)
|
||||||
`define TEX_DACHE_TAG_BITS (`DBG_CACHE_REQ_MDATAW + 2 + `LSUQ_ADDR_BITS)
|
`define TEX_DACHE_TAG_BITS (`DBG_CACHE_REQ_MDATAW + 2 + `LSUQ_ADDR_BITS)
|
||||||
`define DCORE_TAG_WIDTH (`MAX(`LSU_DACHE_TAG_BITS, `TEX_DACHE_TAG_BITS) + 1)
|
`define LSU_TEX_DACHE_TAG_BITS `MAX(`LSU_DACHE_TAG_BITS, `TEX_DACHE_TAG_BITS)
|
||||||
|
`define DCORE_TAG_WIDTH (`LSU_TEX_DACHE_TAG_BITS + 1)
|
||||||
`else
|
`else
|
||||||
`define DCORE_TAG_WIDTH (`DBG_CACHE_REQ_MDATAW + `DCORE_TAG_ID_BITS)
|
`define DCORE_TAG_WIDTH (`DBG_CACHE_REQ_MDATAW + `DCORE_TAG_ID_BITS)
|
||||||
`endif
|
`endif
|
||||||
|
|||||||
@@ -74,14 +74,23 @@ module VX_execute #(
|
|||||||
|
|
||||||
VX_tex_csr_if tex_csr_if();
|
VX_tex_csr_if tex_csr_if();
|
||||||
|
|
||||||
wire [1:0] tmp;
|
wire [`NUM_THREADS-1:0][`LSU_TEX_DACHE_TAG_BITS-1:0] lsu_tag_in;
|
||||||
`UNUSED_VAR (tmp)
|
wire [`LSU_TEX_DACHE_TAG_BITS-1:0] lsu_tag_out;
|
||||||
|
|
||||||
|
for (genvar i = 0; i < `NUM_THREADS; ++i) begin
|
||||||
|
assign lsu_tag_in[i][`LSUQ_ADDR_BITS-1:0] = lsu_dcache_req_if.tag[i][`LSUQ_ADDR_BITS-1:0];
|
||||||
|
assign lsu_tag_in[i][`LSUQ_ADDR_BITS+:2] = '0;
|
||||||
|
assign lsu_tag_in[i][(`LSUQ_ADDR_BITS+2)+:`DBG_CACHE_REQ_MDATAW] = lsu_dcache_req_if.tag[i][`LSUQ_ADDR_BITS+:`DBG_CACHE_REQ_MDATAW];
|
||||||
|
end
|
||||||
|
assign lsu_dcache_rsp_if.tag[`LSUQ_ADDR_BITS-1:0] = lsu_tag_out[`LSUQ_ADDR_BITS-1:0];
|
||||||
|
assign lsu_dcache_rsp_if.tag[`LSUQ_ADDR_BITS+:`DBG_CACHE_REQ_MDATAW] = lsu_tag_out[(`LSUQ_ADDR_BITS+2)+:`DBG_CACHE_REQ_MDATAW];
|
||||||
|
`UNUSED_VAR (lsu_tag_out)
|
||||||
|
|
||||||
VX_tex_lsu_arb #(
|
VX_tex_lsu_arb #(
|
||||||
.NUM_REQS (2),
|
.NUM_REQS (2),
|
||||||
.LANES (`NUM_THREADS),
|
.LANES (`NUM_THREADS),
|
||||||
.WORD_SIZE (4),
|
.WORD_SIZE (4),
|
||||||
.TAG_IN_WIDTH (`MAX(`LSU_DACHE_TAG_BITS, `TEX_DACHE_TAG_BITS)),
|
.TAG_IN_WIDTH (`LSU_TEX_DACHE_TAG_BITS),
|
||||||
.TAG_OUT_WIDTH (`DCORE_TAG_WIDTH)
|
.TAG_OUT_WIDTH (`DCORE_TAG_WIDTH)
|
||||||
) tex_lsu_arb (
|
) tex_lsu_arb (
|
||||||
.clk (clk),
|
.clk (clk),
|
||||||
@@ -93,7 +102,7 @@ module VX_execute #(
|
|||||||
.req_byteen_in ({tex_dcache_req_if.byteen, lsu_dcache_req_if.byteen}),
|
.req_byteen_in ({tex_dcache_req_if.byteen, lsu_dcache_req_if.byteen}),
|
||||||
.req_addr_in ({tex_dcache_req_if.addr, lsu_dcache_req_if.addr}),
|
.req_addr_in ({tex_dcache_req_if.addr, lsu_dcache_req_if.addr}),
|
||||||
.req_data_in ({tex_dcache_req_if.data, lsu_dcache_req_if.data}),
|
.req_data_in ({tex_dcache_req_if.data, lsu_dcache_req_if.data}),
|
||||||
.req_tag_in ({tex_dcache_req_if.tag, {2'b0, lsu_dcache_req_if.tag}}),
|
.req_tag_in ({tex_dcache_req_if.tag, lsu_tag_in}),
|
||||||
.req_ready_in ({tex_dcache_req_if.ready, lsu_dcache_req_if.ready}),
|
.req_ready_in ({tex_dcache_req_if.ready, lsu_dcache_req_if.ready}),
|
||||||
|
|
||||||
// Dcache request
|
// Dcache request
|
||||||
@@ -108,7 +117,7 @@ module VX_execute #(
|
|||||||
// Tex/LSU response
|
// Tex/LSU response
|
||||||
.rsp_valid_out ({tex_dcache_rsp_if.valid, lsu_dcache_rsp_if.valid}),
|
.rsp_valid_out ({tex_dcache_rsp_if.valid, lsu_dcache_rsp_if.valid}),
|
||||||
.rsp_data_out ({tex_dcache_rsp_if.data, lsu_dcache_rsp_if.data}),
|
.rsp_data_out ({tex_dcache_rsp_if.data, lsu_dcache_rsp_if.data}),
|
||||||
.rsp_tag_out ({tex_dcache_rsp_if.tag, {tmp, lsu_dcache_rsp_if.tag}}),
|
.rsp_tag_out ({tex_dcache_rsp_if.tag, lsu_tag_out}),
|
||||||
.rsp_ready_out ({tex_dcache_rsp_if.ready, lsu_dcache_rsp_if.ready}),
|
.rsp_ready_out ({tex_dcache_rsp_if.ready, lsu_dcache_rsp_if.ready}),
|
||||||
|
|
||||||
// Dcache response
|
// Dcache response
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ module VX_tex_sampler #(
|
|||||||
|
|
||||||
`UNUSED_PARAM (CORE_ID)
|
`UNUSED_PARAM (CORE_ID)
|
||||||
|
|
||||||
wire [31:0] req_data [`NUM_THREADS-1:0];
|
/*wire [31:0] req_data [`NUM_THREADS-1:0];
|
||||||
|
|
||||||
if (req_filter == 0) begin // point sampling
|
if (req_filter == 0) begin // point sampling
|
||||||
|
|
||||||
@@ -93,6 +93,6 @@ module VX_tex_sampler #(
|
|||||||
.enable (~stall_out),
|
.enable (~stall_out),
|
||||||
.data_in ({req_valid, req_wid, req_tmask, req_PC, req_rd, req_wb, req_data}),
|
.data_in ({req_valid, req_wid, req_tmask, req_PC, req_rd, req_wb, req_data}),
|
||||||
.data_out ({rsp_valid, rsp_wid, rsp_tmask, rsp_PC, rsp_rd, rsp_wb, rsp_data})
|
.data_out ({rsp_valid, rsp_wid, rsp_tmask, rsp_PC, rsp_rd, rsp_wb, rsp_data})
|
||||||
);
|
);*/
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
@@ -91,7 +91,7 @@ module VX_tex_unit #(
|
|||||||
|
|
||||||
VX_tex_addr #(
|
VX_tex_addr #(
|
||||||
.REQ_INFO_WIDTH (REQ_INFO_WIDTH_A)
|
.REQ_INFO_WIDTH (REQ_INFO_WIDTH_A)
|
||||||
) tex_addr (
|
) _tex_addr (
|
||||||
.clk (clk),
|
.clk (clk),
|
||||||
.reset (reset),
|
.reset (reset),
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user