diff --git a/rtl/eth_mac_10g_fifo.v b/rtl/eth_mac_10g_fifo.v index 1f5e278d..207aad38 100644 --- a/rtl/eth_mac_10g_fifo.v +++ b/rtl/eth_mac_10g_fifo.v @@ -38,7 +38,13 @@ module eth_mac_10g_fifo # parameter ENABLE_DIC = 1, parameter MIN_FRAME_LENGTH = 64, parameter TX_FIFO_ADDR_WIDTH = 9, - parameter RX_FIFO_ADDR_WIDTH = 9 + parameter TX_FRAME_FIFO = 1, + parameter TX_DROP_BAD_FRAME = TX_FRAME_FIFO, + parameter TX_DROP_WHEN_FULL = 0, + parameter RX_FIFO_ADDR_WIDTH = 9, + parameter RX_FRAME_FIFO = 1, + parameter RX_DROP_BAD_FRAME = RX_FRAME_FIFO, + parameter RX_DROP_WHEN_FULL = RX_FRAME_FIFO ) ( input wire rx_clk, @@ -172,100 +178,100 @@ eth_mac_10g_inst ( .ifg_delay(ifg_delay) ); -axis_async_frame_fifo #( +axis_async_fifo #( .ADDR_WIDTH(TX_FIFO_ADDR_WIDTH), .DATA_WIDTH(DATA_WIDTH), .KEEP_ENABLE(1), .KEEP_WIDTH(KEEP_WIDTH), + .LAST_ENABLE(1), .ID_ENABLE(0), .DEST_ENABLE(0), .USER_ENABLE(1), .USER_WIDTH(1), + .FRAME_FIFO(TX_FRAME_FIFO), .USER_BAD_FRAME_VALUE(1'b1), .USER_BAD_FRAME_MASK(1'b1), - .DROP_BAD_FRAME(1), - .DROP_WHEN_FULL(0) + .DROP_BAD_FRAME(TX_DROP_BAD_FRAME), + .DROP_WHEN_FULL(TX_DROP_WHEN_FULL) ) tx_fifo ( // Common reset .async_rst(logic_rst | tx_rst), // AXI input - .input_clk(logic_clk), - .input_axis_tdata(tx_axis_tdata), - .input_axis_tkeep(tx_axis_tkeep), - .input_axis_tvalid(tx_axis_tvalid), - .input_axis_tready(tx_axis_tready), - .input_axis_tlast(tx_axis_tlast), - .input_axis_tid(0), - .input_axis_tdest(0), - .input_axis_tuser(tx_axis_tuser), + .s_clk(logic_clk), + .s_axis_tdata(tx_axis_tdata), + .s_axis_tkeep(tx_axis_tkeep), + .s_axis_tvalid(tx_axis_tvalid), + .s_axis_tready(tx_axis_tready), + .s_axis_tlast(tx_axis_tlast), + .s_axis_tid(0), + .s_axis_tdest(0), + .s_axis_tuser(tx_axis_tuser), // AXI output - .output_clk(tx_clk), - .output_axis_tdata(tx_fifo_axis_tdata), - .output_axis_tkeep(tx_fifo_axis_tkeep), - .output_axis_tvalid(tx_fifo_axis_tvalid), - .output_axis_tready(tx_fifo_axis_tready), - .output_axis_tlast(tx_fifo_axis_tlast), - .output_axis_tid(), - .output_axis_tdest(), - .output_axis_tuser(), + .m_clk(tx_clk), + .m_axis_tdata(tx_fifo_axis_tdata), + .m_axis_tkeep(tx_fifo_axis_tkeep), + .m_axis_tvalid(tx_fifo_axis_tvalid), + .m_axis_tready(tx_fifo_axis_tready), + .m_axis_tlast(tx_fifo_axis_tlast), + .m_axis_tid(), + .m_axis_tdest(), + .m_axis_tuser(tx_fifo_axis_tuser), // Status - .input_status_overflow(tx_fifo_overflow), - .input_status_bad_frame(tx_fifo_bad_frame), - .input_status_good_frame(tx_fifo_good_frame), - .output_status_overflow(), - .output_status_bad_frame(), - .output_status_good_frame() + .s_status_overflow(tx_fifo_overflow), + .s_status_bad_frame(tx_fifo_bad_frame), + .s_status_good_frame(tx_fifo_good_frame), + .m_status_overflow(), + .m_status_bad_frame(), + .m_status_good_frame() ); -assign tx_fifo_axis_tuser = 1'b0; - -axis_async_frame_fifo #( +axis_async_fifo #( .ADDR_WIDTH(RX_FIFO_ADDR_WIDTH), .DATA_WIDTH(DATA_WIDTH), .KEEP_ENABLE(1), .KEEP_WIDTH(KEEP_WIDTH), + .LAST_ENABLE(1), .ID_ENABLE(0), .DEST_ENABLE(0), .USER_ENABLE(1), .USER_WIDTH(1), + .FRAME_FIFO(RX_FRAME_FIFO), .USER_BAD_FRAME_VALUE(1'b1), .USER_BAD_FRAME_MASK(1'b1), - .DROP_BAD_FRAME(1), - .DROP_WHEN_FULL(1) + .DROP_BAD_FRAME(RX_DROP_BAD_FRAME), + .DROP_WHEN_FULL(RX_DROP_WHEN_FULL) ) rx_fifo ( // Common reset .async_rst(rx_rst | logic_rst), // AXI input - .input_clk(rx_clk), - .input_axis_tdata(rx_fifo_axis_tdata), - .input_axis_tkeep(rx_fifo_axis_tkeep), - .input_axis_tvalid(rx_fifo_axis_tvalid), - .input_axis_tready(), - .input_axis_tlast(rx_fifo_axis_tlast), - .input_axis_tid(0), - .input_axis_tdest(0), - .input_axis_tuser(rx_fifo_axis_tuser), + .s_clk(rx_clk), + .s_axis_tdata(rx_fifo_axis_tdata), + .s_axis_tkeep(rx_fifo_axis_tkeep), + .s_axis_tvalid(rx_fifo_axis_tvalid), + .s_axis_tready(), + .s_axis_tlast(rx_fifo_axis_tlast), + .s_axis_tid(0), + .s_axis_tdest(0), + .s_axis_tuser(rx_fifo_axis_tuser), // AXI output - .output_clk(logic_clk), - .output_axis_tdata(rx_axis_tdata), - .output_axis_tkeep(rx_axis_tkeep), - .output_axis_tvalid(rx_axis_tvalid), - .output_axis_tready(rx_axis_tready), - .output_axis_tlast(rx_axis_tlast), - .output_axis_tid(), - .output_axis_tdest(), - .output_axis_tuser(), + .m_clk(logic_clk), + .m_axis_tdata(rx_axis_tdata), + .m_axis_tkeep(rx_axis_tkeep), + .m_axis_tvalid(rx_axis_tvalid), + .m_axis_tready(rx_axis_tready), + .m_axis_tlast(rx_axis_tlast), + .m_axis_tid(), + .m_axis_tdest(), + .m_axis_tuser(rx_axis_tuser), // Status - .input_status_overflow(), - .input_status_bad_frame(), - .input_status_good_frame(), - .output_status_overflow(rx_fifo_overflow), - .output_status_bad_frame(rx_fifo_bad_frame), - .output_status_good_frame(rx_fifo_good_frame) + .s_status_overflow(), + .s_status_bad_frame(), + .s_status_good_frame(), + .m_status_overflow(rx_fifo_overflow), + .m_status_bad_frame(rx_fifo_bad_frame), + .m_status_good_frame(rx_fifo_good_frame) ); -assign rx_axis_tuser = 1'b0; - endmodule diff --git a/rtl/eth_mac_1g_fifo.v b/rtl/eth_mac_1g_fifo.v index 4abdf456..b80fd95f 100644 --- a/rtl/eth_mac_1g_fifo.v +++ b/rtl/eth_mac_1g_fifo.v @@ -34,7 +34,13 @@ module eth_mac_1g_fifo # parameter ENABLE_PADDING = 1, parameter MIN_FRAME_LENGTH = 64, parameter TX_FIFO_ADDR_WIDTH = 12, - parameter RX_FIFO_ADDR_WIDTH = 12 + parameter TX_FRAME_FIFO = 1, + parameter TX_DROP_BAD_FRAME = TX_FRAME_FIFO, + parameter TX_DROP_WHEN_FULL = 0, + parameter RX_FIFO_ADDR_WIDTH = 12, + parameter RX_FRAME_FIFO = 1, + parameter RX_DROP_BAD_FRAME = RX_FRAME_FIFO, + parameter RX_DROP_WHEN_FULL = RX_FRAME_FIFO ) ( input wire rx_clk, @@ -174,98 +180,98 @@ eth_mac_1g_inst ( .ifg_delay(ifg_delay) ); -axis_async_frame_fifo #( +axis_async_fifo #( .ADDR_WIDTH(TX_FIFO_ADDR_WIDTH), .DATA_WIDTH(8), .KEEP_ENABLE(0), + .LAST_ENABLE(1), .ID_ENABLE(0), .DEST_ENABLE(0), .USER_ENABLE(1), .USER_WIDTH(1), + .FRAME_FIFO(TX_FRAME_FIFO), .USER_BAD_FRAME_VALUE(1'b1), .USER_BAD_FRAME_MASK(1'b1), - .DROP_BAD_FRAME(1), - .DROP_WHEN_FULL(0) + .DROP_BAD_FRAME(TX_DROP_BAD_FRAME), + .DROP_WHEN_FULL(TX_DROP_WHEN_FULL) ) tx_fifo ( // Common reset .async_rst(logic_rst | tx_rst), // AXI input - .input_clk(logic_clk), - .input_axis_tdata(tx_axis_tdata), - .input_axis_tkeep(0), - .input_axis_tvalid(tx_axis_tvalid), - .input_axis_tready(tx_axis_tready), - .input_axis_tlast(tx_axis_tlast), - .input_axis_tid(0), - .input_axis_tdest(0), - .input_axis_tuser(tx_axis_tuser), + .s_clk(logic_clk), + .s_axis_tdata(tx_axis_tdata), + .s_axis_tkeep(0), + .s_axis_tvalid(tx_axis_tvalid), + .s_axis_tready(tx_axis_tready), + .s_axis_tlast(tx_axis_tlast), + .s_axis_tid(0), + .s_axis_tdest(0), + .s_axis_tuser(tx_axis_tuser), // AXI output - .output_clk(tx_clk), - .output_axis_tdata(tx_fifo_axis_tdata), - .output_axis_tkeep(), - .output_axis_tvalid(tx_fifo_axis_tvalid), - .output_axis_tready(tx_fifo_axis_tready), - .output_axis_tlast(tx_fifo_axis_tlast), - .output_axis_tid(), - .output_axis_tdest(), - .output_axis_tuser(), + .m_clk(tx_clk), + .m_axis_tdata(tx_fifo_axis_tdata), + .m_axis_tkeep(), + .m_axis_tvalid(tx_fifo_axis_tvalid), + .m_axis_tready(tx_fifo_axis_tready), + .m_axis_tlast(tx_fifo_axis_tlast), + .m_axis_tid(), + .m_axis_tdest(), + .m_axis_tuser(tx_fifo_axis_tuser), // Status - .input_status_overflow(tx_fifo_overflow), - .input_status_bad_frame(tx_fifo_bad_frame), - .input_status_good_frame(tx_fifo_good_frame), - .output_status_overflow(), - .output_status_bad_frame(), - .output_status_good_frame() + .s_status_overflow(tx_fifo_overflow), + .s_status_bad_frame(tx_fifo_bad_frame), + .s_status_good_frame(tx_fifo_good_frame), + .m_status_overflow(), + .m_status_bad_frame(), + .m_status_good_frame() ); -assign tx_fifo_axis_tuser = 1'b0; - -axis_async_frame_fifo #( +axis_async_fifo #( .ADDR_WIDTH(RX_FIFO_ADDR_WIDTH), .DATA_WIDTH(8), .KEEP_ENABLE(0), + .LAST_ENABLE(1), .ID_ENABLE(0), .DEST_ENABLE(0), .USER_ENABLE(1), .USER_WIDTH(1), + .FRAME_FIFO(TX_FRAME_FIFO), .USER_BAD_FRAME_VALUE(1'b1), .USER_BAD_FRAME_MASK(1'b1), - .DROP_BAD_FRAME(1), - .DROP_WHEN_FULL(1) + .DROP_BAD_FRAME(TX_DROP_BAD_FRAME), + .DROP_WHEN_FULL(TX_DROP_WHEN_FULL) ) rx_fifo ( // Common reset .async_rst(rx_rst | logic_rst), // AXI input - .input_clk(rx_clk), - .input_axis_tdata(rx_fifo_axis_tdata), - .input_axis_tkeep(0), - .input_axis_tvalid(rx_fifo_axis_tvalid), - .input_axis_tready(), - .input_axis_tlast(rx_fifo_axis_tlast), - .input_axis_tid(0), - .input_axis_tdest(0), - .input_axis_tuser(rx_fifo_axis_tuser), + .s_clk(rx_clk), + .s_axis_tdata(rx_fifo_axis_tdata), + .s_axis_tkeep(0), + .s_axis_tvalid(rx_fifo_axis_tvalid), + .s_axis_tready(), + .s_axis_tlast(rx_fifo_axis_tlast), + .s_axis_tid(0), + .s_axis_tdest(0), + .s_axis_tuser(rx_fifo_axis_tuser), // AXI output - .output_clk(logic_clk), - .output_axis_tdata(rx_axis_tdata), - .output_axis_tkeep(), - .output_axis_tvalid(rx_axis_tvalid), - .output_axis_tready(rx_axis_tready), - .output_axis_tlast(rx_axis_tlast), - .output_axis_tid(), - .output_axis_tdest(), - .output_axis_tuser(), + .m_clk(logic_clk), + .m_axis_tdata(rx_axis_tdata), + .m_axis_tkeep(), + .m_axis_tvalid(rx_axis_tvalid), + .m_axis_tready(rx_axis_tready), + .m_axis_tlast(rx_axis_tlast), + .m_axis_tid(), + .m_axis_tdest(), + .m_axis_tuser(rx_axis_tuser), // Status - .input_status_overflow(), - .input_status_bad_frame(), - .input_status_good_frame(), - .output_status_overflow(rx_fifo_overflow), - .output_status_bad_frame(rx_fifo_bad_frame), - .output_status_good_frame(rx_fifo_good_frame) + .s_status_overflow(), + .s_status_bad_frame(), + .s_status_good_frame(), + .m_status_overflow(rx_fifo_overflow), + .m_status_bad_frame(rx_fifo_bad_frame), + .m_status_good_frame(rx_fifo_good_frame) ); -assign rx_axis_tuser = 1'b0; - endmodule diff --git a/rtl/eth_mac_1g_gmii_fifo.v b/rtl/eth_mac_1g_gmii_fifo.v index 885359d7..17d4ae35 100644 --- a/rtl/eth_mac_1g_gmii_fifo.v +++ b/rtl/eth_mac_1g_gmii_fifo.v @@ -45,7 +45,13 @@ module eth_mac_1g_gmii_fifo # parameter ENABLE_PADDING = 1, parameter MIN_FRAME_LENGTH = 64, parameter TX_FIFO_ADDR_WIDTH = 12, - parameter RX_FIFO_ADDR_WIDTH = 12 + parameter TX_FRAME_FIFO = 1, + parameter TX_DROP_BAD_FRAME = TX_FRAME_FIFO, + parameter TX_DROP_WHEN_FULL = 0, + parameter RX_FIFO_ADDR_WIDTH = 12, + parameter RX_FRAME_FIFO = 1, + parameter RX_DROP_BAD_FRAME = RX_FRAME_FIFO, + parameter RX_DROP_WHEN_FULL = RX_FRAME_FIFO ) ( input wire gtx_clk, @@ -201,98 +207,98 @@ eth_mac_1g_gmii_inst ( .ifg_delay(ifg_delay) ); -axis_async_frame_fifo #( +axis_async_fifo #( .ADDR_WIDTH(TX_FIFO_ADDR_WIDTH), .DATA_WIDTH(8), .KEEP_ENABLE(0), + .LAST_ENABLE(1), .ID_ENABLE(0), .DEST_ENABLE(0), .USER_ENABLE(1), .USER_WIDTH(1), + .FRAME_FIFO(TX_FRAME_FIFO), .USER_BAD_FRAME_VALUE(1'b1), .USER_BAD_FRAME_MASK(1'b1), - .DROP_BAD_FRAME(1), - .DROP_WHEN_FULL(0) + .DROP_BAD_FRAME(TX_DROP_BAD_FRAME), + .DROP_WHEN_FULL(TX_DROP_WHEN_FULL) ) tx_fifo ( // Common reset .async_rst(logic_rst | tx_rst), // AXI input - .input_clk(logic_clk), - .input_axis_tdata(tx_axis_tdata), - .input_axis_tkeep(0), - .input_axis_tvalid(tx_axis_tvalid), - .input_axis_tready(tx_axis_tready), - .input_axis_tlast(tx_axis_tlast), - .input_axis_tid(0), - .input_axis_tdest(0), - .input_axis_tuser(tx_axis_tuser), + .s_clk(logic_clk), + .s_axis_tdata(tx_axis_tdata), + .s_axis_tkeep(0), + .s_axis_tvalid(tx_axis_tvalid), + .s_axis_tready(tx_axis_tready), + .s_axis_tlast(tx_axis_tlast), + .s_axis_tid(0), + .s_axis_tdest(0), + .s_axis_tuser(tx_axis_tuser), // AXI output - .output_clk(tx_clk), - .output_axis_tdata(tx_fifo_axis_tdata), - .output_axis_tkeep(), - .output_axis_tvalid(tx_fifo_axis_tvalid), - .output_axis_tready(tx_fifo_axis_tready), - .output_axis_tlast(tx_fifo_axis_tlast), - .output_axis_tid(), - .output_axis_tdest(), - .output_axis_tuser(), + .m_clk(tx_clk), + .m_axis_tdata(tx_fifo_axis_tdata), + .m_axis_tkeep(), + .m_axis_tvalid(tx_fifo_axis_tvalid), + .m_axis_tready(tx_fifo_axis_tready), + .m_axis_tlast(tx_fifo_axis_tlast), + .m_axis_tid(), + .m_axis_tdest(), + .m_axis_tuser(tx_fifo_axis_tuser), // Status - .input_status_overflow(tx_fifo_overflow), - .input_status_bad_frame(tx_fifo_bad_frame), - .input_status_good_frame(tx_fifo_good_frame), - .output_status_overflow(), - .output_status_bad_frame(), - .output_status_good_frame() + .s_status_overflow(tx_fifo_overflow), + .s_status_bad_frame(tx_fifo_bad_frame), + .s_status_good_frame(tx_fifo_good_frame), + .m_status_overflow(), + .m_status_bad_frame(), + .m_status_good_frame() ); -assign tx_fifo_axis_tuser = 1'b0; - -axis_async_frame_fifo #( +axis_async_fifo #( .ADDR_WIDTH(RX_FIFO_ADDR_WIDTH), .DATA_WIDTH(8), .KEEP_ENABLE(0), + .LAST_ENABLE(1), .ID_ENABLE(0), .DEST_ENABLE(0), .USER_ENABLE(1), .USER_WIDTH(1), + .FRAME_FIFO(TX_FRAME_FIFO), .USER_BAD_FRAME_VALUE(1'b1), .USER_BAD_FRAME_MASK(1'b1), - .DROP_BAD_FRAME(1), - .DROP_WHEN_FULL(1) + .DROP_BAD_FRAME(TX_DROP_BAD_FRAME), + .DROP_WHEN_FULL(TX_DROP_WHEN_FULL) ) rx_fifo ( // Common reset .async_rst(rx_rst | logic_rst), // AXI input - .input_clk(rx_clk), - .input_axis_tdata(rx_fifo_axis_tdata), - .input_axis_tkeep(0), - .input_axis_tvalid(rx_fifo_axis_tvalid), - .input_axis_tready(), - .input_axis_tlast(rx_fifo_axis_tlast), - .input_axis_tid(0), - .input_axis_tdest(0), - .input_axis_tuser(rx_fifo_axis_tuser), + .s_clk(rx_clk), + .s_axis_tdata(rx_fifo_axis_tdata), + .s_axis_tkeep(0), + .s_axis_tvalid(rx_fifo_axis_tvalid), + .s_axis_tready(), + .s_axis_tlast(rx_fifo_axis_tlast), + .s_axis_tid(0), + .s_axis_tdest(0), + .s_axis_tuser(rx_fifo_axis_tuser), // AXI output - .output_clk(logic_clk), - .output_axis_tdata(rx_axis_tdata), - .output_axis_tkeep(), - .output_axis_tvalid(rx_axis_tvalid), - .output_axis_tready(rx_axis_tready), - .output_axis_tlast(rx_axis_tlast), - .output_axis_tid(), - .output_axis_tdest(), - .output_axis_tuser(), + .m_clk(logic_clk), + .m_axis_tdata(rx_axis_tdata), + .m_axis_tkeep(), + .m_axis_tvalid(rx_axis_tvalid), + .m_axis_tready(rx_axis_tready), + .m_axis_tlast(rx_axis_tlast), + .m_axis_tid(), + .m_axis_tdest(), + .m_axis_tuser(rx_axis_tuser), // Status - .input_status_overflow(), - .input_status_bad_frame(), - .input_status_good_frame(), - .output_status_overflow(rx_fifo_overflow), - .output_status_bad_frame(rx_fifo_bad_frame), - .output_status_good_frame(rx_fifo_good_frame) + .s_status_overflow(), + .s_status_bad_frame(), + .s_status_good_frame(), + .m_status_overflow(rx_fifo_overflow), + .m_status_bad_frame(rx_fifo_bad_frame), + .m_status_good_frame(rx_fifo_good_frame) ); -assign rx_axis_tuser = 1'b0; - endmodule diff --git a/rtl/eth_mac_1g_rgmii_fifo.v b/rtl/eth_mac_1g_rgmii_fifo.v index 27a3676d..2298d52d 100644 --- a/rtl/eth_mac_1g_rgmii_fifo.v +++ b/rtl/eth_mac_1g_rgmii_fifo.v @@ -47,7 +47,13 @@ module eth_mac_1g_rgmii_fifo # parameter ENABLE_PADDING = 1, parameter MIN_FRAME_LENGTH = 64, parameter TX_FIFO_ADDR_WIDTH = 12, - parameter RX_FIFO_ADDR_WIDTH = 12 + parameter TX_FRAME_FIFO = 1, + parameter TX_DROP_BAD_FRAME = TX_FRAME_FIFO, + parameter TX_DROP_WHEN_FULL = 0, + parameter RX_FIFO_ADDR_WIDTH = 12, + parameter RX_FRAME_FIFO = 1, + parameter RX_DROP_BAD_FRAME = RX_FRAME_FIFO, + parameter RX_DROP_WHEN_FULL = RX_FRAME_FIFO ) ( input wire gtx_clk, @@ -200,98 +206,98 @@ eth_mac_1g_rgmii_inst ( .ifg_delay(ifg_delay) ); -axis_async_frame_fifo #( +axis_async_fifo #( .ADDR_WIDTH(TX_FIFO_ADDR_WIDTH), .DATA_WIDTH(8), .KEEP_ENABLE(0), + .LAST_ENABLE(1), .ID_ENABLE(0), .DEST_ENABLE(0), .USER_ENABLE(1), .USER_WIDTH(1), + .FRAME_FIFO(TX_FRAME_FIFO), .USER_BAD_FRAME_VALUE(1'b1), .USER_BAD_FRAME_MASK(1'b1), - .DROP_BAD_FRAME(1), - .DROP_WHEN_FULL(0) + .DROP_BAD_FRAME(TX_DROP_BAD_FRAME), + .DROP_WHEN_FULL(TX_DROP_WHEN_FULL) ) tx_fifo ( // Common reset .async_rst(logic_rst | tx_rst), // AXI input - .input_clk(logic_clk), - .input_axis_tdata(tx_axis_tdata), - .input_axis_tkeep(0), - .input_axis_tvalid(tx_axis_tvalid), - .input_axis_tready(tx_axis_tready), - .input_axis_tlast(tx_axis_tlast), - .input_axis_tid(0), - .input_axis_tdest(0), - .input_axis_tuser(tx_axis_tuser), + .s_clk(logic_clk), + .s_axis_tdata(tx_axis_tdata), + .s_axis_tkeep(0), + .s_axis_tvalid(tx_axis_tvalid), + .s_axis_tready(tx_axis_tready), + .s_axis_tlast(tx_axis_tlast), + .s_axis_tid(0), + .s_axis_tdest(0), + .s_axis_tuser(tx_axis_tuser), // AXI output - .output_clk(tx_clk), - .output_axis_tdata(tx_fifo_axis_tdata), - .output_axis_tkeep(), - .output_axis_tvalid(tx_fifo_axis_tvalid), - .output_axis_tready(tx_fifo_axis_tready), - .output_axis_tlast(tx_fifo_axis_tlast), - .output_axis_tid(), - .output_axis_tdest(), - .output_axis_tuser(), + .m_clk(tx_clk), + .m_axis_tdata(tx_fifo_axis_tdata), + .m_axis_tkeep(), + .m_axis_tvalid(tx_fifo_axis_tvalid), + .m_axis_tready(tx_fifo_axis_tready), + .m_axis_tlast(tx_fifo_axis_tlast), + .m_axis_tid(), + .m_axis_tdest(), + .m_axis_tuser(tx_fifo_axis_tuser), // Status - .input_status_overflow(tx_fifo_overflow), - .input_status_bad_frame(tx_fifo_bad_frame), - .input_status_good_frame(tx_fifo_good_frame), - .output_status_overflow(), - .output_status_bad_frame(), - .output_status_good_frame() + .s_status_overflow(tx_fifo_overflow), + .s_status_bad_frame(tx_fifo_bad_frame), + .s_status_good_frame(tx_fifo_good_frame), + .m_status_overflow(), + .m_status_bad_frame(), + .m_status_good_frame() ); -assign tx_fifo_axis_tuser = 1'b0; - -axis_async_frame_fifo #( +axis_async_fifo #( .ADDR_WIDTH(RX_FIFO_ADDR_WIDTH), .DATA_WIDTH(8), .KEEP_ENABLE(0), + .LAST_ENABLE(1), .ID_ENABLE(0), .DEST_ENABLE(0), .USER_ENABLE(1), .USER_WIDTH(1), + .FRAME_FIFO(TX_FRAME_FIFO), .USER_BAD_FRAME_VALUE(1'b1), .USER_BAD_FRAME_MASK(1'b1), - .DROP_BAD_FRAME(1), - .DROP_WHEN_FULL(1) + .DROP_BAD_FRAME(TX_DROP_BAD_FRAME), + .DROP_WHEN_FULL(TX_DROP_WHEN_FULL) ) rx_fifo ( // Common reset .async_rst(rx_rst | logic_rst), // AXI input - .input_clk(rx_clk), - .input_axis_tdata(rx_fifo_axis_tdata), - .input_axis_tkeep(0), - .input_axis_tvalid(rx_fifo_axis_tvalid), - .input_axis_tready(), - .input_axis_tlast(rx_fifo_axis_tlast), - .input_axis_tid(0), - .input_axis_tdest(0), - .input_axis_tuser(rx_fifo_axis_tuser), + .s_clk(rx_clk), + .s_axis_tdata(rx_fifo_axis_tdata), + .s_axis_tkeep(0), + .s_axis_tvalid(rx_fifo_axis_tvalid), + .s_axis_tready(), + .s_axis_tlast(rx_fifo_axis_tlast), + .s_axis_tid(0), + .s_axis_tdest(0), + .s_axis_tuser(rx_fifo_axis_tuser), // AXI output - .output_clk(logic_clk), - .output_axis_tdata(rx_axis_tdata), - .output_axis_tkeep(), - .output_axis_tvalid(rx_axis_tvalid), - .output_axis_tready(rx_axis_tready), - .output_axis_tlast(rx_axis_tlast), - .output_axis_tid(), - .output_axis_tdest(), - .output_axis_tuser(), + .m_clk(logic_clk), + .m_axis_tdata(rx_axis_tdata), + .m_axis_tkeep(), + .m_axis_tvalid(rx_axis_tvalid), + .m_axis_tready(rx_axis_tready), + .m_axis_tlast(rx_axis_tlast), + .m_axis_tid(), + .m_axis_tdest(), + .m_axis_tuser(rx_axis_tuser), // Status - .input_status_overflow(), - .input_status_bad_frame(), - .input_status_good_frame(), - .output_status_overflow(rx_fifo_overflow), - .output_status_bad_frame(rx_fifo_bad_frame), - .output_status_good_frame(rx_fifo_good_frame) + .s_status_overflow(), + .s_status_bad_frame(), + .s_status_good_frame(), + .m_status_overflow(rx_fifo_overflow), + .m_status_bad_frame(rx_fifo_bad_frame), + .m_status_good_frame(rx_fifo_good_frame) ); -assign rx_axis_tuser = 1'b0; - endmodule diff --git a/rtl/udp_checksum_gen.v b/rtl/udp_checksum_gen.v index 8f63e78b..0e2f788d 100644 --- a/rtl/udp_checksum_gen.v +++ b/rtl/udp_checksum_gen.v @@ -204,29 +204,34 @@ axis_fifo #( .ID_ENABLE(0), .DEST_ENABLE(0), .USER_ENABLE(1), - .USER_WIDTH(1) + .USER_WIDTH(1), + .FRAME_FIFO(0) ) payload_fifo ( .clk(clk), .rst(rst), // AXI input - .input_axis_tdata(input_udp_payload_fifo_tdata), - .input_axis_tkeep(0), - .input_axis_tvalid(input_udp_payload_fifo_tvalid), - .input_axis_tready(input_udp_payload_fifo_tready), - .input_axis_tlast(input_udp_payload_fifo_tlast), - .input_axis_tid(0), - .input_axis_tdest(0), - .input_axis_tuser(input_udp_payload_fifo_tuser), + .s_axis_tdata(input_udp_payload_fifo_tdata), + .s_axis_tkeep(0), + .s_axis_tvalid(input_udp_payload_fifo_tvalid), + .s_axis_tready(input_udp_payload_fifo_tready), + .s_axis_tlast(input_udp_payload_fifo_tlast), + .s_axis_tid(0), + .s_axis_tdest(0), + .s_axis_tuser(input_udp_payload_fifo_tuser), // AXI output - .output_axis_tdata(output_udp_payload_fifo_tdata), - .output_axis_tkeep(), - .output_axis_tvalid(output_udp_payload_fifo_tvalid), - .output_axis_tready(output_udp_payload_fifo_tready), - .output_axis_tlast(output_udp_payload_fifo_tlast), - .output_axis_tid(), - .output_axis_tdest(), - .output_axis_tuser(output_udp_payload_fifo_tuser) + .m_axis_tdata(output_udp_payload_fifo_tdata), + .m_axis_tkeep(), + .m_axis_tvalid(output_udp_payload_fifo_tvalid), + .m_axis_tready(output_udp_payload_fifo_tready), + .m_axis_tlast(output_udp_payload_fifo_tlast), + .m_axis_tid(), + .m_axis_tdest(), + .m_axis_tuser(output_udp_payload_fifo_tuser), + // Status + .status_overflow(), + .status_bad_frame(), + .status_good_frame() ); assign input_udp_payload_fifo_tdata = input_udp_payload_tdata; diff --git a/rtl/udp_checksum_gen_64.v b/rtl/udp_checksum_gen_64.v index 69b8ae3e..ce07a356 100644 --- a/rtl/udp_checksum_gen_64.v +++ b/rtl/udp_checksum_gen_64.v @@ -210,29 +210,34 @@ axis_fifo #( .ID_ENABLE(0), .DEST_ENABLE(0), .USER_ENABLE(1), - .USER_WIDTH(1) + .USER_WIDTH(1), + .FRAME_FIFO(0) ) payload_fifo ( .clk(clk), .rst(rst), // AXI input - .input_axis_tdata(input_udp_payload_fifo_tdata), - .input_axis_tkeep(input_udp_payload_fifo_tkeep), - .input_axis_tvalid(input_udp_payload_fifo_tvalid), - .input_axis_tready(input_udp_payload_fifo_tready), - .input_axis_tlast(input_udp_payload_fifo_tlast), - .input_axis_tid(0), - .input_axis_tdest(0), - .input_axis_tuser(input_udp_payload_fifo_tuser), + .s_axis_tdata(input_udp_payload_fifo_tdata), + .s_axis_tkeep(input_udp_payload_fifo_tkeep), + .s_axis_tvalid(input_udp_payload_fifo_tvalid), + .s_axis_tready(input_udp_payload_fifo_tready), + .s_axis_tlast(input_udp_payload_fifo_tlast), + .s_axis_tid(0), + .s_axis_tdest(0), + .s_axis_tuser(input_udp_payload_fifo_tuser), // AXI output - .output_axis_tdata(output_udp_payload_fifo_tdata), - .output_axis_tkeep(output_udp_payload_fifo_tkeep), - .output_axis_tvalid(output_udp_payload_fifo_tvalid), - .output_axis_tready(output_udp_payload_fifo_tready), - .output_axis_tlast(output_udp_payload_fifo_tlast), - .output_axis_tid(), - .output_axis_tdest(), - .output_axis_tuser(output_udp_payload_fifo_tuser) + .m_axis_tdata(output_udp_payload_fifo_tdata), + .m_axis_tkeep(output_udp_payload_fifo_tkeep), + .m_axis_tvalid(output_udp_payload_fifo_tvalid), + .m_axis_tready(output_udp_payload_fifo_tready), + .m_axis_tlast(output_udp_payload_fifo_tlast), + .m_axis_tid(), + .m_axis_tdest(), + .m_axis_tuser(output_udp_payload_fifo_tuser), + // Status + .status_overflow(), + .status_bad_frame(), + .status_good_frame() ); assign input_udp_payload_fifo_tdata = input_udp_payload_tdata; diff --git a/tb/test_eth_mac_10g_fifo_32.py b/tb/test_eth_mac_10g_fifo_32.py index 78a20dbc..c68537a6 100755 --- a/tb/test_eth_mac_10g_fifo_32.py +++ b/tb/test_eth_mac_10g_fifo_32.py @@ -40,7 +40,7 @@ srcs.append("../rtl/lfsr.v") srcs.append("../rtl/axis_xgmii_rx_32.v") srcs.append("../rtl/axis_xgmii_tx_32.v") srcs.append("../rtl/eth_mac_10g.v") -srcs.append("../lib/axis/rtl/axis_async_frame_fifo.v") +srcs.append("../lib/axis/rtl/axis_async_fifo.v") srcs.append("%s.v" % testbench) src = ' '.join(srcs) diff --git a/tb/test_eth_mac_10g_fifo_64.py b/tb/test_eth_mac_10g_fifo_64.py index 349bda13..6d954097 100755 --- a/tb/test_eth_mac_10g_fifo_64.py +++ b/tb/test_eth_mac_10g_fifo_64.py @@ -40,7 +40,7 @@ srcs.append("../rtl/lfsr.v") srcs.append("../rtl/axis_xgmii_rx_64.v") srcs.append("../rtl/axis_xgmii_tx_64.v") srcs.append("../rtl/eth_mac_10g.v") -srcs.append("../lib/axis/rtl/axis_async_frame_fifo.v") +srcs.append("../lib/axis/rtl/axis_async_fifo.v") srcs.append("%s.v" % testbench) src = ' '.join(srcs) diff --git a/tb/test_eth_mac_1g_fifo.py b/tb/test_eth_mac_1g_fifo.py index 7c7a5f6b..bd3f6da0 100755 --- a/tb/test_eth_mac_1g_fifo.py +++ b/tb/test_eth_mac_1g_fifo.py @@ -40,7 +40,7 @@ srcs.append("../rtl/lfsr.v") srcs.append("../rtl/axis_gmii_rx.v") srcs.append("../rtl/axis_gmii_tx.v") srcs.append("../rtl/eth_mac_1g.v") -srcs.append("../lib/axis/rtl/axis_async_frame_fifo.v") +srcs.append("../lib/axis/rtl/axis_async_fifo.v") srcs.append("%s.v" % testbench) src = ' '.join(srcs) diff --git a/tb/test_eth_mac_1g_gmii_fifo.py b/tb/test_eth_mac_1g_gmii_fifo.py index a66886a5..b62c5ed6 100755 --- a/tb/test_eth_mac_1g_gmii_fifo.py +++ b/tb/test_eth_mac_1g_gmii_fifo.py @@ -45,7 +45,7 @@ srcs.append("../rtl/gmii_phy_if.v") srcs.append("../rtl/oddr.v") srcs.append("../rtl/ssio_sdr_in.v") srcs.append("../rtl/ssio_sdr_out.v") -srcs.append("../lib/axis/rtl/axis_async_frame_fifo.v") +srcs.append("../lib/axis/rtl/axis_async_fifo.v") srcs.append("%s.v" % testbench) src = ' '.join(srcs) diff --git a/tb/test_eth_mac_1g_rgmii_fifo.py b/tb/test_eth_mac_1g_rgmii_fifo.py index 24ea0cf4..764e49b9 100755 --- a/tb/test_eth_mac_1g_rgmii_fifo.py +++ b/tb/test_eth_mac_1g_rgmii_fifo.py @@ -46,7 +46,7 @@ srcs.append("../rtl/iddr.v") srcs.append("../rtl/oddr.v") srcs.append("../rtl/ssio_ddr_in.v") srcs.append("../rtl/ssio_ddr_out.v") -srcs.append("../lib/axis/rtl/axis_async_frame_fifo.v") +srcs.append("../lib/axis/rtl/axis_async_fifo.v") srcs.append("%s.v" % testbench) src = ' '.join(srcs)