dcache response bus optimization

This commit is contained in:
Blaise Tine
2021-07-12 10:14:48 -07:00
parent b99fb41d52
commit 5c40422e4f
16 changed files with 350 additions and 259 deletions

View File

@@ -19,7 +19,8 @@ module VX_pipeline #(
input wire [`NUM_THREADS-1:0] dcache_req_ready,
// Dcache core reponse
input wire [`NUM_THREADS-1:0] dcache_rsp_valid,
input wire dcache_rsp_valid,
input wire [`NUM_THREADS-1:0] dcache_rsp_tmask,
input wire [`NUM_THREADS-1:0][31:0] dcache_rsp_data,
input wire [`DCORE_TAG_WIDTH-1:0] dcache_rsp_tag,
output wire dcache_rsp_ready,
@@ -72,6 +73,7 @@ module VX_pipeline #(
) dcache_core_rsp_if();
assign dcache_core_rsp_if.valid = dcache_rsp_valid;
assign dcache_core_rsp_if.tmask = dcache_rsp_tmask;
assign dcache_core_rsp_if.data = dcache_rsp_data;
assign dcache_core_rsp_if.tag = dcache_rsp_tag;
assign dcache_rsp_ready = dcache_core_rsp_if.ready;
@@ -130,12 +132,21 @@ module VX_pipeline #(
VX_perf_pipeline_if perf_pipeline_if();
`endif
wire fetch_reset, decode_reset, issue_reset, execute_reset, commit_reset;
VX_reset_relay #(
.NUM_NODES (5)
) reset_relay (
.clk (clk),
.reset (reset),
.reset_o ({fetch_reset, decode_reset, issue_reset, execute_reset, commit_reset})
);
VX_fetch #(
.CORE_ID(CORE_ID)
) fetch (
`SCOPE_BIND_VX_pipeline_fetch
.clk (clk),
.reset (reset),
.reset (fetch_reset),
.icache_req_if (icache_core_req_if),
.icache_rsp_if (icache_core_rsp_if),
.wstall_if (wstall_if),
@@ -150,7 +161,7 @@ module VX_pipeline #(
.CORE_ID(CORE_ID)
) decode (
.clk (clk),
.reset (reset),
.reset (decode_reset),
.ifetch_rsp_if (ifetch_rsp_if),
.decode_if (decode_if),
.wstall_if (wstall_if),
@@ -163,7 +174,7 @@ module VX_pipeline #(
`SCOPE_BIND_VX_pipeline_issue
.clk (clk),
.reset (reset),
.reset (issue_reset),
`ifdef PERF_ENABLE
.perf_pipeline_if (perf_pipeline_if),
@@ -185,7 +196,7 @@ module VX_pipeline #(
`SCOPE_BIND_VX_pipeline_execute
.clk (clk),
.reset (reset),
.reset (execute_reset),
`ifdef PERF_ENABLE
.perf_memsys_if (perf_memsys_if),
@@ -219,7 +230,7 @@ module VX_pipeline #(
.CORE_ID(CORE_ID)
) commit (
.clk (clk),
.reset (reset),
.reset (commit_reset),
.alu_commit_if (alu_commit_if),
.ld_commit_if (ld_commit_if),