adding missing files, buffering teh snoop forwarder

This commit is contained in:
Blaise Tine
2020-12-09 00:24:32 -08:00
parent 0d595bae3c
commit 12f7fcfa75
8 changed files with 1628 additions and 16 deletions

View File

@@ -308,9 +308,14 @@ module Vortex (
wire [`NUM_CLUSTERS-1:0][`L2DRAM_BYTEEN_WIDTH-1:0] per_cluster_dram_req_byteen_qual;
wire [`NUM_CLUSTERS-1:0][`L2DRAM_ADDR_WIDTH-1:0] per_cluster_dram_req_addr_qual;
wire [`NUM_CLUSTERS-1:0][`L2DRAM_LINE_WIDTH-1:0] per_cluster_dram_req_data_qual;
wire [`NUM_CLUSTERS-1:0][`L2DRAM_TAG_WIDTH-1:0] per_cluster_dram_req_tag_qual;
wire [`NUM_CLUSTERS-1:0][`L2DRAM_TAG_WIDTH-1:0] per_cluster_dram_req_tag_qual;
wire [`NUM_CLUSTERS-1:0] per_cluster_dram_req_ready_qual;
wire [`NUM_CLUSTERS-1:0] per_cluster_dram_rsp_valid_unqual;
wire [`NUM_CLUSTERS-1:0][`L2DRAM_LINE_WIDTH-1:0] per_cluster_dram_rsp_data_unqual;
wire [`NUM_CLUSTERS-1:0][`L2DRAM_TAG_WIDTH-1:0] per_cluster_dram_rsp_tag_unqual;
wire [`NUM_CLUSTERS-1:0] per_cluster_dram_rsp_ready_unqual;
for (genvar i = 0; i < `NUM_CLUSTERS; i++) begin
VX_skid_buffer #(
.DATAW (1 + `L2DRAM_BYTEEN_WIDTH + `L2DRAM_ADDR_WIDTH + `L2DRAM_LINE_WIDTH + `L2DRAM_TAG_WIDTH),
@@ -325,6 +330,20 @@ module Vortex (
.data_out ({per_cluster_dram_req_rw_qual[i], per_cluster_dram_req_byteen_qual[i], per_cluster_dram_req_addr_qual[i], per_cluster_dram_req_data_qual[i], per_cluster_dram_req_tag_qual[i]}),
.ready_out (per_cluster_dram_req_ready_qual[i])
);
VX_skid_buffer #(
.DATAW (`L2DRAM_LINE_WIDTH + `L2DRAM_TAG_WIDTH),
.PASSTHRU (1)
) core_rsp_buffer (
.clk (clk),
.reset (reset),
.valid_in (per_cluster_dram_rsp_valid_unqual[i]),
.data_in ({per_cluster_dram_rsp_data_unqual[i], per_cluster_dram_rsp_tag_unqual[i]}),
.ready_in (per_cluster_dram_rsp_ready_unqual[i]),
.valid_out (per_cluster_dram_rsp_valid[i]),
.data_out ({per_cluster_dram_rsp_data[i], per_cluster_dram_rsp_tag[i]}),
.ready_out (per_cluster_dram_rsp_ready[i])
);
end
VX_cache #(
@@ -368,10 +387,10 @@ module Vortex (
.core_req_ready (per_cluster_dram_req_ready_qual),
// Core response
.core_rsp_valid (per_cluster_dram_rsp_valid),
.core_rsp_data (per_cluster_dram_rsp_data),
.core_rsp_tag (per_cluster_dram_rsp_tag),
.core_rsp_ready (per_cluster_dram_rsp_ready),
.core_rsp_valid (per_cluster_dram_rsp_valid_unqual),
.core_rsp_data (per_cluster_dram_rsp_data_unqual),
.core_rsp_tag (per_cluster_dram_rsp_tag_unqual),
.core_rsp_ready (per_cluster_dram_rsp_ready_unqual),
// DRAM request
.dram_req_valid (dram_req_valid),