mirror of
https://github.com/fpganinja/taxi.git
synced 2025-12-07 16:28:40 -08:00
zircon: Add FIFO configuration parameters
Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
@@ -17,7 +17,9 @@ Authors:
|
||||
*/
|
||||
module zircon_ip_rx_egress #
|
||||
(
|
||||
parameter N_UI = 4
|
||||
parameter N_UI = 4,
|
||||
parameter UI_RX_FIFO_DEPTH = 32,
|
||||
parameter logic UI_RX_FIFO_EB_MODE = 1'b1
|
||||
)
|
||||
(
|
||||
input wire logic clk,
|
||||
@@ -41,14 +43,14 @@ localparam DATA_W = s_axis_pkt.DATA_W;
|
||||
|
||||
// RX FIFO
|
||||
taxi_axis_async_fifo #(
|
||||
.DEPTH((UI_DATA_W > DATA_W ? UI_DATA_W : DATA_W)/8*32),
|
||||
.DEPTH(UI_RX_FIFO_EB_MODE ? (UI_DATA_W > DATA_W ? UI_DATA_W : DATA_W)/8*UI_RX_FIFO_DEPTH : UI_RX_FIFO_DEPTH),
|
||||
.RAM_PIPELINE(1),
|
||||
.OUTPUT_FIFO_EN(1'b0),
|
||||
.FRAME_FIFO(1'b0),
|
||||
.USER_BAD_FRAME_VALUE(1'b1),
|
||||
.USER_BAD_FRAME_MASK(1'b1),
|
||||
.DROP_OVERSIZE_FRAME(1'b0),
|
||||
.DROP_BAD_FRAME(1'b0),
|
||||
.DROP_OVERSIZE_FRAME(!UI_RX_FIFO_EB_MODE),
|
||||
.DROP_BAD_FRAME(!UI_RX_FIFO_EB_MODE),
|
||||
.DROP_WHEN_FULL(1'b0),
|
||||
.MARK_WHEN_FULL(1'b0),
|
||||
.PAUSE_EN(1'b0)
|
||||
|
||||
@@ -18,7 +18,9 @@ Authors:
|
||||
module zircon_ip_rx_ingress #
|
||||
(
|
||||
parameter logic IPV6_EN = 1'b1,
|
||||
parameter logic HASH_EN = 1'b1
|
||||
parameter logic HASH_EN = 1'b1,
|
||||
parameter MAC_RX_FIFO_DEPTH = 32,
|
||||
parameter logic MAC_RX_FIFO_EB_MODE = 1'b1
|
||||
)
|
||||
(
|
||||
input wire logic clk,
|
||||
@@ -49,16 +51,16 @@ taxi_axis_if #(.DATA_W(32), .USER_EN(1), .USER_W(RX_USER_W)) rx_pkt_hdr();
|
||||
taxi_axis_if #(.DATA_W(DATA_W), .USER_EN(1), .USER_W(RX_USER_W)) rx_bcast_int[2]();
|
||||
|
||||
taxi_axis_async_fifo_adapter #(
|
||||
.DEPTH((MAC_DATA_W > DATA_W ? MAC_DATA_W : DATA_W)/8*32),
|
||||
.DEPTH(MAC_RX_FIFO_EB_MODE ? (MAC_DATA_W > DATA_W ? MAC_DATA_W : DATA_W)/8*MAC_RX_FIFO_DEPTH : MAC_RX_FIFO_DEPTH),
|
||||
.RAM_PIPELINE(1),
|
||||
.OUTPUT_FIFO_EN(1'b0),
|
||||
.FRAME_FIFO(1'b0),
|
||||
.FRAME_FIFO(!MAC_RX_FIFO_EB_MODE),
|
||||
.USER_BAD_FRAME_VALUE(1'b1),
|
||||
.USER_BAD_FRAME_MASK(1'b1),
|
||||
.DROP_OVERSIZE_FRAME(1'b0),
|
||||
.DROP_BAD_FRAME(1'b0),
|
||||
.DROP_WHEN_FULL(1'b0),
|
||||
.MARK_WHEN_FULL(1'b1),
|
||||
.DROP_OVERSIZE_FRAME(!MAC_RX_FIFO_EB_MODE),
|
||||
.DROP_BAD_FRAME(!MAC_RX_FIFO_EB_MODE),
|
||||
.DROP_WHEN_FULL(!MAC_RX_FIFO_EB_MODE),
|
||||
.MARK_WHEN_FULL(MAC_RX_FIFO_EB_MODE),
|
||||
.PAUSE_EN(1'b0)
|
||||
)
|
||||
rx_fifo_inst (
|
||||
|
||||
@@ -17,7 +17,9 @@ Authors:
|
||||
*/
|
||||
module zircon_ip_tx_egress #
|
||||
(
|
||||
parameter logic IPV6_EN = 1'b1
|
||||
parameter logic IPV6_EN = 1'b1,
|
||||
parameter MAC_TX_FIFO_DEPTH = 32,
|
||||
parameter logic MAC_TX_FIFO_EB_MODE = 1'b1
|
||||
)
|
||||
(
|
||||
input wire logic clk,
|
||||
@@ -116,14 +118,14 @@ tx_hdr_concat_inst (
|
||||
|
||||
// TX FIFO
|
||||
taxi_axis_async_fifo #(
|
||||
.DEPTH((MAC_DATA_W > DATA_W ? MAC_DATA_W : DATA_W)/8*32),
|
||||
.DEPTH(MAC_TX_FIFO_EB_MODE ? (MAC_DATA_W > DATA_W ? MAC_DATA_W : DATA_W)/8*MAC_TX_FIFO_DEPTH : MAC_TX_FIFO_DEPTH),
|
||||
.RAM_PIPELINE(1),
|
||||
.OUTPUT_FIFO_EN(1'b0),
|
||||
.FRAME_FIFO(1'b1),
|
||||
.USER_BAD_FRAME_VALUE(1'b1),
|
||||
.USER_BAD_FRAME_MASK(1'b1),
|
||||
.DROP_OVERSIZE_FRAME(1'b0),
|
||||
.DROP_BAD_FRAME(1'b0),
|
||||
.DROP_OVERSIZE_FRAME(!MAC_TX_FIFO_EB_MODE),
|
||||
.DROP_BAD_FRAME(!MAC_TX_FIFO_EB_MODE),
|
||||
.DROP_WHEN_FULL(1'b0),
|
||||
.MARK_WHEN_FULL(1'b0),
|
||||
.PAUSE_EN(1'b0)
|
||||
|
||||
@@ -17,7 +17,9 @@ Authors:
|
||||
*/
|
||||
module zircon_ip_tx_ingress #
|
||||
(
|
||||
parameter N_UI = 4
|
||||
parameter N_UI = 4,
|
||||
parameter UI_TX_FIFO_DEPTH = 32,
|
||||
parameter logic UI_TX_FIFO_EB_MODE = 1'b1
|
||||
)
|
||||
(
|
||||
input wire logic clk,
|
||||
@@ -42,14 +44,14 @@ localparam DATA_W = m_axis_pkt.DATA_W;
|
||||
|
||||
// TX FIFO
|
||||
taxi_axis_async_fifo #(
|
||||
.DEPTH((UI_DATA_W > DATA_W ? UI_DATA_W : DATA_W)/8*32),
|
||||
.DEPTH(UI_TX_FIFO_EB_MODE ? (UI_DATA_W > DATA_W ? UI_DATA_W : DATA_W)/8*UI_TX_FIFO_DEPTH : UI_TX_FIFO_DEPTH),
|
||||
.RAM_PIPELINE(1),
|
||||
.OUTPUT_FIFO_EN(1'b0),
|
||||
.FRAME_FIFO(1'b0),
|
||||
.USER_BAD_FRAME_VALUE(1'b1),
|
||||
.USER_BAD_FRAME_MASK(1'b1),
|
||||
.DROP_OVERSIZE_FRAME(1'b0),
|
||||
.DROP_BAD_FRAME(1'b0),
|
||||
.DROP_OVERSIZE_FRAME(!UI_TX_FIFO_EB_MODE),
|
||||
.DROP_BAD_FRAME(!UI_TX_FIFO_EB_MODE),
|
||||
.DROP_WHEN_FULL(1'b0),
|
||||
.MARK_WHEN_FULL(1'b0),
|
||||
.PAUSE_EN(1'b0)
|
||||
|
||||
Reference in New Issue
Block a user