mirror of
https://github.com/vortexgpgpu/vortex.git
synced 2025-04-23 21:39:10 -04:00
stream arbiter update
This commit is contained in:
parent
3e014c8285
commit
af1cecae07
9 changed files with 26 additions and 21 deletions
|
@ -147,13 +147,14 @@ module VX_cluster #(
|
|||
`RESET_RELAY (mem_arb_reset);
|
||||
|
||||
VX_mem_arb #(
|
||||
.NUM_REQS (`NUM_CORES),
|
||||
.DATA_WIDTH (`DMEM_DATA_WIDTH),
|
||||
.ADDR_WIDTH (`DMEM_ADDR_WIDTH),
|
||||
.TAG_IN_WIDTH (`XMEM_TAG_WIDTH),
|
||||
.TAG_SEL_IDX (1), // Skip 0 for NC flag
|
||||
.BUFFERED_REQ (1),
|
||||
.BUFFERED_RSP (1)
|
||||
.NUM_REQS (`NUM_CORES),
|
||||
.DATA_WIDTH (`DMEM_DATA_WIDTH),
|
||||
.ADDR_WIDTH (`DMEM_ADDR_WIDTH),
|
||||
.TAG_IN_WIDTH (`XMEM_TAG_WIDTH),
|
||||
.TYPE ("R"),
|
||||
.TAG_SEL_IDX (1), // Skip 0 for NC flag
|
||||
.BUFFERED_REQ (1),
|
||||
.BUFFERED_RSP (1)
|
||||
) mem_arb (
|
||||
.clk (clk),
|
||||
.reset (mem_arb_reset),
|
||||
|
|
|
@ -8,7 +8,7 @@ module VX_mem_arb #(
|
|||
parameter TAG_SEL_IDX = 0,
|
||||
parameter BUFFERED_REQ = 0,
|
||||
parameter BUFFERED_RSP = 0,
|
||||
parameter TYPE = "R",
|
||||
parameter TYPE = "P",
|
||||
|
||||
localparam DATA_SIZE = (DATA_WIDTH / 8),
|
||||
localparam LOG_NUM_REQS = `CLOG2(NUM_REQS),
|
||||
|
|
|
@ -206,7 +206,7 @@ module VX_mem_unit # (
|
|||
.LANES (`NUM_THREADS),
|
||||
.DATA_SIZE (4),
|
||||
.TAG_IN_WIDTH (`DCORE_TAG_WIDTH),
|
||||
.TYPE ("X"),
|
||||
.TYPE ("P"),
|
||||
.BUFFERED_REQ (2),
|
||||
.BUFFERED_RSP (1)
|
||||
) smem_arb (
|
||||
|
@ -316,6 +316,7 @@ module VX_mem_unit # (
|
|||
.DATA_WIDTH (`DMEM_DATA_WIDTH),
|
||||
.ADDR_WIDTH (`DMEM_ADDR_WIDTH),
|
||||
.TAG_IN_WIDTH (`DMEM_TAG_WIDTH),
|
||||
.TYPE ("R"),
|
||||
.TAG_SEL_IDX (1), // Skip 0 for NC flag
|
||||
.BUFFERED_REQ (1),
|
||||
.BUFFERED_RSP (2)
|
||||
|
|
|
@ -8,7 +8,7 @@ module VX_smem_arb #(
|
|||
parameter TAG_SEL_IDX = 0,
|
||||
parameter BUFFERED_REQ = 0,
|
||||
parameter BUFFERED_RSP = 0,
|
||||
parameter TYPE = "R",
|
||||
parameter TYPE = "P",
|
||||
|
||||
localparam ADDR_WIDTH = (32-`CLOG2(DATA_SIZE)),
|
||||
localparam DATA_WIDTH = (8 * DATA_SIZE),
|
||||
|
|
|
@ -145,12 +145,13 @@ module Vortex (
|
|||
`RESET_RELAY (mem_arb_reset);
|
||||
|
||||
VX_mem_arb #(
|
||||
.NUM_REQS (`NUM_CLUSTERS),
|
||||
.DATA_WIDTH (`L3MEM_DATA_WIDTH),
|
||||
.ADDR_WIDTH (`L3MEM_ADDR_WIDTH),
|
||||
.TAG_IN_WIDTH (`L2MEM_TAG_WIDTH),
|
||||
.BUFFERED_REQ (1),
|
||||
.BUFFERED_RSP (1)
|
||||
.NUM_REQS (`NUM_CLUSTERS),
|
||||
.DATA_WIDTH (`L3MEM_DATA_WIDTH),
|
||||
.ADDR_WIDTH (`L3MEM_ADDR_WIDTH),
|
||||
.TAG_IN_WIDTH (`L2MEM_TAG_WIDTH),
|
||||
.TYPE ("R"),
|
||||
.BUFFERED_REQ (1),
|
||||
.BUFFERED_RSP (1)
|
||||
) mem_arb (
|
||||
.clk (clk),
|
||||
.reset (mem_arb_reset),
|
||||
|
|
|
@ -149,6 +149,7 @@ module VX_avs_wrapper #(
|
|||
VX_stream_arbiter #(
|
||||
.NUM_REQS (AVS_BANKS),
|
||||
.DATAW (AVS_DATA_WIDTH + REQ_TAG_WIDTH),
|
||||
.TYPE ("R"),
|
||||
.BUFFERED (OUTPUT_REG ? 1 : 0)
|
||||
) rsp_arb (
|
||||
.clk (clk),
|
||||
|
|
|
@ -519,9 +519,9 @@ VX_mem_arb #(
|
|||
.DATA_WIDTH (LMEM_DATA_WIDTH),
|
||||
.ADDR_WIDTH (LMEM_ADDR_WIDTH),
|
||||
.TAG_IN_WIDTH (AVS_REQ_TAGW),
|
||||
.TYPE ("P"),
|
||||
.BUFFERED_REQ (0),
|
||||
.BUFFERED_RSP (0),
|
||||
.TYPE ("X")
|
||||
.BUFFERED_RSP (0)
|
||||
) mem_arb (
|
||||
.clk (clk),
|
||||
.reset (mem_arb_reset),
|
||||
|
|
3
hw/rtl/cache/VX_cache.v
vendored
3
hw/rtl/cache/VX_cache.v
vendored
|
@ -617,7 +617,8 @@ module VX_cache #(
|
|||
VX_stream_arbiter #(
|
||||
.NUM_REQS (NUM_BANKS),
|
||||
.DATAW (`MEM_ADDR_WIDTH + MSHR_ADDR_WIDTH + 1 + NUM_PORTS * (1 + WORD_SIZE + WORD_SELECT_BITS + `WORD_WIDTH)),
|
||||
.BUFFERED (1)
|
||||
.BUFFERED (1),
|
||||
.TYPE ("R")
|
||||
) mem_req_arb (
|
||||
.clk (clk),
|
||||
.reset (mreq_reset),
|
||||
|
|
|
@ -4,7 +4,7 @@ module VX_stream_arbiter #(
|
|||
parameter NUM_REQS = 1,
|
||||
parameter LANES = 1,
|
||||
parameter DATAW = 1,
|
||||
parameter TYPE = "R",
|
||||
parameter TYPE = "P",
|
||||
parameter LOCK_ENABLE = 1,
|
||||
parameter BUFFERED = 0
|
||||
) (
|
||||
|
@ -41,7 +41,7 @@ module VX_stream_arbiter #(
|
|||
assign sel_ready = ready_in_sel;
|
||||
end
|
||||
|
||||
if (TYPE == "X") begin
|
||||
if (TYPE == "P") begin
|
||||
`UNUSED_VAR (sel_ready)
|
||||
VX_lzc #(
|
||||
.N (NUM_REQS)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue