From 3df1b6afde9dd8bc683e54802d591eb20aaf58fc Mon Sep 17 00:00:00 2001 From: David Sidler <david.sidler@inf.ethz.ch> Date: Fri, 30 Aug 2019 13:28:40 +0200 Subject: [PATCH] adapting udp interface for 19.1 --- hdl/common/udp_stack.sv | 135 +++++++++++++++++++--------------------- 1 file changed, 65 insertions(+), 70 deletions(-) diff --git a/hdl/common/udp_stack.sv b/hdl/common/udp_stack.sv index 5c02881..75ccf9c 100755 --- a/hdl/common/udp_stack.sv +++ b/hdl/common/udp_stack.sv @@ -46,13 +46,7 @@ module udp_stack #( axis_meta.slave s_axis_udp_tx_metadata, axi_stream.slave s_axis_udp_tx_data, - - //Config - //axis_meta.slave s_axis_qp_interface, - //axis_meta.slave s_axis_qp_conn_interface, - - - input wire[127:0] local_ip_address, + input wire[31:0] local_ip_address, input wire[15:0] listen_port ); @@ -68,80 +62,81 @@ axi_stream #(.WIDTH(WIDTH)) axis_udp_to_ip_data(); ipv4_ip ipv4_inst ( - .local_ipv4_address_V(local_ip_address[31:0]), // input wire [31 : 0] local_ipv4_address_V + .local_ipv4_address_V(local_ip_address), .protocol_V(8'h11), //UDP_PROTOCOL //RX - .s_axis_rx_data_TVALID(axis_udp_slice_to_udp.valid), // input wire s_axis_rx_data_TVALID - .s_axis_rx_data_TREADY(axis_udp_slice_to_udp.ready), // output wire s_axis_rx_data_TREADY - .s_axis_rx_data_TDATA(axis_udp_slice_to_udp.data), // input wire [63 : 0] s_axis_rx_data_TDATA - .s_axis_rx_data_TKEEP(axis_udp_slice_to_udp.keep), // input wire [7 : 0] s_axis_rx_data_TKEEP - .s_axis_rx_data_TLAST(axis_udp_slice_to_udp.last), // input wire [0 : 0] s_axis_rx_data_TLAST - .m_axis_rx_meta_TVALID(axis_ip_to_udp_meta.valid), // output wire m_axis_rx_meta_TVALID - .m_axis_rx_meta_TREADY(axis_ip_to_udp_meta.ready), // input wire m_axis_rx_meta_TREADY - .m_axis_rx_meta_TDATA(axis_ip_to_udp_meta.data), // output wire [47 : 0] m_axis_rx_meta_TDATA - .m_axis_rx_data_TVALID(axis_ip_to_udp_data.valid), // output wire m_axis_rx_data_TVALID - .m_axis_rx_data_TREADY(axis_ip_to_udp_data.ready), // input wire m_axis_rx_data_TREADY - .m_axis_rx_data_TDATA(axis_ip_to_udp_data.data), // output wire [63 : 0] m_axis_rx_data_TDATA - .m_axis_rx_data_TKEEP(axis_ip_to_udp_data.keep), // output wire [7 : 0] m_axis_rx_data_TKEEP - .m_axis_rx_data_TLAST(axis_ip_to_udp_data.last), // output wire [0 : 0] m_axis_rx_data_TLAST + .s_axis_rx_data_TVALID(s_axis_rx_data.valid), + .s_axis_rx_data_TREADY(s_axis_rx_data.ready), + .s_axis_rx_data_TDATA(s_axis_rx_data.data), + .s_axis_rx_data_TKEEP(s_axis_rx_data.keep), + .s_axis_rx_data_TLAST(s_axis_rx_data.last), + .m_axis_rx_meta_V_TVALID(axis_ip_to_udp_meta.valid), + .m_axis_rx_meta_V_TREADY(axis_ip_to_udp_meta.ready), + .m_axis_rx_meta_V_TDATA(axis_ip_to_udp_meta.data), + .m_axis_rx_data_TVALID(axis_ip_to_udp_data.valid), + .m_axis_rx_data_TREADY(axis_ip_to_udp_data.ready), + .m_axis_rx_data_TDATA(axis_ip_to_udp_data.data), + .m_axis_rx_data_TKEEP(axis_ip_to_udp_data.keep), + .m_axis_rx_data_TLAST(axis_ip_to_udp_data.last), //TX - .s_axis_tx_meta_TVALID(axis_udp_to_ip_meta.valid), // input wire s_axis_tx_meta_TVALID - .s_axis_tx_meta_TREADY(axis_udp_to_ip_meta.ready), // output wire s_axis_tx_meta_TREADY - .s_axis_tx_meta_TDATA(axis_udp_to_ip_meta.data), // input wire [47 : 0] s_axis_tx_meta_TDATA - .s_axis_tx_data_TVALID(axis_udp_to_ip_data.valid), // input wire s_axis_tx_data_TVALID - .s_axis_tx_data_TREADY(axis_udp_to_ip_data.ready), // output wire s_axis_tx_data_TREADY - .s_axis_tx_data_TDATA(axis_udp_to_ip_data.data), // input wire [63 : 0] s_axis_tx_data_TDATA - .s_axis_tx_data_TKEEP(axis_udp_to_ip_data.keep), // input wire [7 : 0] s_axis_tx_data_TKEEP - .s_axis_tx_data_TLAST(axis_udp_to_ip_data.last), // input wire [0 : 0] s_axis_tx_data_TLAST - .m_axis_tx_data_TVALID(axis_udp_to_udp_slice.valid), // output wire m_axis_tx_data_TVALID - .m_axis_tx_data_TREADY(axis_udp_to_udp_slice.ready), // input wire m_axis_tx_data_TREADY - .m_axis_tx_data_TDATA(axis_udp_to_udp_slice.data), // output wire [63 : 0] m_axis_tx_data_TDATA - .m_axis_tx_data_TKEEP(axis_udp_to_udp_slice.keep), // output wire [7 : 0] m_axis_tx_data_TKEEP - .m_axis_tx_data_TLAST(axis_udp_to_udp_slice.last), // output wire [0 : 0] m_axis_tx_data_TLAST + .s_axis_tx_meta_V_TVALID(axis_udp_to_ip_meta.valid), + .s_axis_tx_meta_V_TREADY(axis_udp_to_ip_meta.ready), + .s_axis_tx_meta_V_TDATA(axis_udp_to_ip_meta.data), + .s_axis_tx_data_TVALID(axis_udp_to_ip_data.valid), + .s_axis_tx_data_TREADY(axis_udp_to_ip_data.ready), + .s_axis_tx_data_TDATA(axis_udp_to_ip_data.data), + .s_axis_tx_data_TKEEP(axis_udp_to_ip_data.keep), + .s_axis_tx_data_TLAST(axis_udp_to_ip_data.last), + .m_axis_tx_data_TVALID(m_axis_tx_data.valid), + .m_axis_tx_data_TREADY(m_axis_tx_data.ready), + .m_axis_tx_data_TDATA(m_axis_tx_data.data), + .m_axis_tx_data_TKEEP(m_axis_tx_data.keep), + .m_axis_tx_data_TLAST(m_axis_tx_data.last), - .aclk(net_clk), // input wire aclk - .aresetn(net_aresetn) // input wire aresetn + .ap_clk(net_clk), + .ap_rst_n(net_aresetn) ); udp_ip udp_inst ( .reg_listen_port_V(listen_port), + .reg_ip_address_V({local_ip_address,local_ip_address,local_ip_address,local_ip_address}), //RX - .s_axis_rx_meta_TVALID(axis_ip_to_udp_meta.valid), - .s_axis_rx_meta_TREADY(axis_ip_to_udp_meta.ready), - .s_axis_rx_meta_TDATA(axis_ip_to_udp_meta.data), - .s_axis_rx_data_TVALID(axis_ip_to_udp_data.valid), // input wire s_axis_rx_data_TVALID - .s_axis_rx_data_TREADY(axis_ip_to_udp_data.ready), // output wire s_axis_rx_data_TREADY - .s_axis_rx_data_TDATA(axis_ip_to_udp_data.data), // input wire [63 : 0] s_axis_rx_data_TDATA - .s_axis_rx_data_TKEEP(axis_ip_to_udp_data.keep), // input wire [7 : 0] s_axis_rx_data_TKEEP - .s_axis_rx_data_TLAST(axis_ip_to_udp_data.last), // input wire [0 : 0] s_axis_rx_data_TLAST - .m_axis_rx_meta_TVALID(m_axis_udp_rx_metadata.valid), // output wire m_axis_rx_meta_TVALID - .m_axis_rx_meta_TREADY(m_axis_udp_rx_metadata.ready), // input wire m_axis_rx_meta_TREADY - .m_axis_rx_meta_TDATA(m_axis_udp_rx_metadata.data), // output wire [159 : 0] m_axis_rx_meta_TDATA - .m_axis_rx_data_TVALID(m_axis_udp_rx_data.valid), // output wire m_axis_rx_data_TVALID - .m_axis_rx_data_TREADY(m_axis_udp_rx_data.ready), // input wire m_axis_rx_data_TREADY - .m_axis_rx_data_TDATA(m_axis_udp_rx_data.data), // output wire [63 : 0] m_axis_rx_data_TDATA - .m_axis_rx_data_TKEEP(m_axis_udp_rx_data.keep), // output wire [7 : 0] m_axis_rx_data_TKEEP - .m_axis_rx_data_TLAST(m_axis_udp_rx_data.last), // output wire [0 : 0] m_axis_rx_data_TLAST + .s_axis_rx_meta_V_TVALID(axis_ip_to_udp_meta.valid), + .s_axis_rx_meta_V_TREADY(axis_ip_to_udp_meta.ready), + .s_axis_rx_meta_V_TDATA(axis_ip_to_udp_meta.data), + .s_axis_rx_data_TVALID(axis_ip_to_udp_data.valid), + .s_axis_rx_data_TREADY(axis_ip_to_udp_data.ready), + .s_axis_rx_data_TDATA(axis_ip_to_udp_data.data), + .s_axis_rx_data_TKEEP(axis_ip_to_udp_data.keep), + .s_axis_rx_data_TLAST(axis_ip_to_udp_data.last), + .m_axis_rx_meta_V_TVALID(m_axis_udp_rx_metadata.valid), + .m_axis_rx_meta_V_TREADY(m_axis_udp_rx_metadata.ready), + .m_axis_rx_meta_V_TDATA(m_axis_udp_rx_metadata.data), + .m_axis_rx_data_TVALID(m_axis_udp_rx_data.valid), + .m_axis_rx_data_TREADY(m_axis_udp_rx_data.ready), + .m_axis_rx_data_TDATA(m_axis_udp_rx_data.data), + .m_axis_rx_data_TKEEP(m_axis_udp_rx_data.keep), + .m_axis_rx_data_TLAST(m_axis_udp_rx_data.last), //TX - .s_axis_tx_meta_TVALID(s_axis_udp_tx_metadata.valid), - .s_axis_tx_meta_TREADY(s_axis_udp_tx_metadata.ready), - .s_axis_tx_meta_TDATA(s_axis_udp_tx_metadata.data), - .s_axis_tx_data_TVALID(s_axis_udp_tx_data.valid), // input wire s_axis_tx_data_TVALID - .s_axis_tx_data_TREADY(s_axis_udp_tx_data.ready), // output wire s_axis_tx_data_TREADY - .s_axis_tx_data_TDATA(s_axis_udp_tx_data.data), // input wire [63 : 0] s_axis_tx_data_TDATA - .s_axis_tx_data_TKEEP(s_axis_udp_tx_data.keep), // input wire [7 : 0] s_axis_tx_data_TKEEP - .s_axis_tx_data_TLAST(s_axis_udp_tx_data.last), // input wire [0 : 0] s_axis_tx_data_TLAST - .m_axis_tx_meta_TVALID(axis_udp_to_ip_meta.valid), // input wire m_axis_tx_meta_TVALID - .m_axis_tx_meta_TREADY(axis_udp_to_ip_meta.ready), // output wire m_axis_tx_meta_TREADY - .m_axis_tx_meta_TDATA(axis_udp_to_ip_meta.data), // input wire [159 : 0] m_axis_tx_meta_TDATA - .m_axis_tx_data_TVALID(axis_udp_to_ip_data.valid), // output wire m_axis_tx_data_TVALID - .m_axis_tx_data_TREADY(axis_udp_to_ip_data.ready), // input wire m_axis_tx_data_TREADY - .m_axis_tx_data_TDATA(axis_udp_to_ip_data.data), // output wire [63 : 0] m_axis_tx_data_TDATA - .m_axis_tx_data_TKEEP(axis_udp_to_ip_data.keep), // output wire [7 : 0] m_axis_tx_data_TKEEP - .m_axis_tx_data_TLAST(axis_udp_to_ip_data.last), // output wire [0 : 0] m_axis_tx_data_TLAST + .s_axis_tx_meta_V_TVALID(s_axis_udp_tx_metadata.valid), + .s_axis_tx_meta_V_TREADY(s_axis_udp_tx_metadata.ready), + .s_axis_tx_meta_V_TDATA(s_axis_udp_tx_metadata.data), + .s_axis_tx_data_TVALID(s_axis_udp_tx_data.valid), + .s_axis_tx_data_TREADY(s_axis_udp_tx_data.ready), + .s_axis_tx_data_TDATA(s_axis_udp_tx_data.data), + .s_axis_tx_data_TKEEP(s_axis_udp_tx_data.keep), + .s_axis_tx_data_TLAST(s_axis_udp_tx_data.last), + .m_axis_tx_meta_V_TVALID(axis_udp_to_ip_meta.valid), + .m_axis_tx_meta_V_TREADY(axis_udp_to_ip_meta.ready), + .m_axis_tx_meta_V_TDATA(axis_udp_to_ip_meta.data), + .m_axis_tx_data_TVALID(axis_udp_to_ip_data.valid), + .m_axis_tx_data_TREADY(axis_udp_to_ip_data.ready), + .m_axis_tx_data_TDATA(axis_udp_to_ip_data.data), + .m_axis_tx_data_TKEEP(axis_udp_to_ip_data.keep), + .m_axis_tx_data_TLAST(axis_udp_to_ip_data.last), - .aclk(net_clk), // input wire aclk - .aresetn(net_aresetn) // input wire aresetn + .ap_clk(net_clk), + .ap_rst_n(net_aresetn) ); end else begin -- GitLab