e320: Swap out liberio for internal Ethernet
Original-commit: d01e091c4c7ccc323d305580a27754918b02974b
This commit is contained in:
committed by
Aaron Rossetto
parent
c33435c1b9
commit
08c24691a9
+141
-31
@@ -297,25 +297,51 @@ module e320 (
|
||||
wire [1:0] m_axi_eth_dma_bresp;
|
||||
wire [1:0] m_axi_eth_dma_rresp;
|
||||
wire [31:0] m_axi_eth_dma_rdata;
|
||||
wire m_axi_eth_internal_arvalid;
|
||||
wire m_axi_eth_internal_awvalid;
|
||||
wire m_axi_eth_internal_bready;
|
||||
wire m_axi_eth_internal_rready;
|
||||
wire m_axi_eth_internal_wvalid;
|
||||
wire [31:0] m_axi_eth_internal_araddr;
|
||||
wire [31:0] m_axi_eth_internal_awaddr;
|
||||
wire [31:0] m_axi_eth_internal_wdata;
|
||||
wire [3:0] m_axi_eth_internal_wstrb;
|
||||
wire m_axi_eth_internal_arready;
|
||||
wire m_axi_eth_internal_awready;
|
||||
wire m_axi_eth_internal_bvalid;
|
||||
wire m_axi_eth_internal_rvalid;
|
||||
wire m_axi_eth_internal_wready;
|
||||
wire [1:0] m_axi_eth_internal_bresp;
|
||||
wire [1:0] m_axi_eth_internal_rresp;
|
||||
wire [31:0] m_axi_eth_internal_rdata;
|
||||
|
||||
// Processing System
|
||||
wire [15:0] IRQ_F2P;
|
||||
|
||||
// DMA xport adapter to PS
|
||||
// Internal Ethernet xport adapter to PS
|
||||
wire [63:0] h2e_tdata;
|
||||
wire [7:0] h2e_tkeep;
|
||||
wire h2e_tlast;
|
||||
wire h2e_tready;
|
||||
wire h2e_tvalid;
|
||||
|
||||
wire [63:0] e2h_tdata;
|
||||
wire [7:0] e2h_tkeep;
|
||||
wire e2h_tlast;
|
||||
wire e2h_tready;
|
||||
wire e2h_tvalid;
|
||||
|
||||
wire [63:0] m_axis_dma_tdata;
|
||||
wire [3:0] m_axis_dma_tuser;
|
||||
wire m_axis_dma_tlast;
|
||||
wire m_axis_dma_tready;
|
||||
wire m_axis_dma_tvalid;
|
||||
|
||||
wire [63:0] s_axis_dma_tdata;
|
||||
wire [3:0] s_axis_dma_tdest;
|
||||
wire s_axis_dma_tlast;
|
||||
wire s_axis_dma_tready;
|
||||
wire s_axis_dma_tvalid;
|
||||
|
||||
// HP0 -- High Performance port 0
|
||||
wire [5:0] s_axi_hp0_awid;
|
||||
wire [31:0] s_axi_hp0_awaddr;
|
||||
wire [2:0] s_axi_hp0_awprot;
|
||||
wire s_axi_hp0_awvalid;
|
||||
@@ -327,7 +353,6 @@ module e320 (
|
||||
wire [1:0] s_axi_hp0_bresp;
|
||||
wire s_axi_hp0_bvalid;
|
||||
wire s_axi_hp0_bready;
|
||||
wire [5:0] s_axi_hp0_arid;
|
||||
wire [31:0] s_axi_hp0_araddr;
|
||||
wire [2:0] s_axi_hp0_arprot;
|
||||
wire s_axi_hp0_arvalid;
|
||||
@@ -347,7 +372,6 @@ module e320 (
|
||||
wire [1:0] s_axi_hp0_arburst;
|
||||
wire [2:0] s_axi_hp0_arsize;
|
||||
|
||||
wire [4:0] s_axi_eth_descriptor_awid;
|
||||
wire [31:0] s_axi_eth_descriptor_awaddr;
|
||||
wire [2:0] s_axi_eth_descriptor_awprot;
|
||||
wire s_axi_eth_descriptor_awvalid;
|
||||
@@ -359,7 +383,6 @@ module e320 (
|
||||
wire [1:0] s_axi_eth_descriptor_bresp;
|
||||
wire s_axi_eth_descriptor_bvalid;
|
||||
wire s_axi_eth_descriptor_bready;
|
||||
wire [4:0] s_axi_eth_descriptor_arid;
|
||||
wire [31:0] s_axi_eth_descriptor_araddr;
|
||||
wire [2:0] s_axi_eth_descriptor_arprot;
|
||||
wire s_axi_eth_descriptor_arvalid;
|
||||
@@ -1147,9 +1170,6 @@ module e320 (
|
||||
assign IRQ_F2P[0] = arm_eth_rx_irq;
|
||||
assign IRQ_F2P[1] = arm_eth_tx_irq;
|
||||
|
||||
assign {s_axi_hp0_awid, s_axi_hp0_arid} = 12'd0;
|
||||
assign {s_axi_eth_descriptor_awid, s_axi_eth_descriptor_arid} = 10'd0;
|
||||
|
||||
axi_eth_dma inst_axi_eth_dma (
|
||||
.s_axi_lite_aclk(clk40),
|
||||
.m_axi_sg_aclk(clk40),
|
||||
@@ -1284,6 +1304,83 @@ module e320 (
|
||||
.o_tready(arm_eth_rx_tready)
|
||||
);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Internal Ethernet Interface
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
eth_internal #(
|
||||
.DWIDTH(REG_DWIDTH),
|
||||
.AWIDTH(REG_AWIDTH),
|
||||
.PORTNUM(8'd1)
|
||||
) eth_internal_i (
|
||||
// Resets
|
||||
.bus_rst (bus_rst),
|
||||
|
||||
// Clocks
|
||||
.bus_clk (bus_clk),
|
||||
|
||||
//Axi-lite
|
||||
.s_axi_aclk (clk40),
|
||||
.s_axi_aresetn (clk40_rstn),
|
||||
.s_axi_awaddr (m_axi_eth_internal_awaddr),
|
||||
.s_axi_awvalid (m_axi_eth_internal_awvalid),
|
||||
.s_axi_awready (m_axi_eth_internal_awready),
|
||||
|
||||
.s_axi_wdata (m_axi_eth_internal_wdata),
|
||||
.s_axi_wstrb (m_axi_eth_internal_wstrb),
|
||||
.s_axi_wvalid (m_axi_eth_internal_wvalid),
|
||||
.s_axi_wready (m_axi_eth_internal_wready),
|
||||
|
||||
.s_axi_bresp (m_axi_eth_internal_bresp),
|
||||
.s_axi_bvalid (m_axi_eth_internal_bvalid),
|
||||
.s_axi_bready (m_axi_eth_internal_bready),
|
||||
|
||||
.s_axi_araddr (m_axi_eth_internal_araddr),
|
||||
.s_axi_arvalid (m_axi_eth_internal_arvalid),
|
||||
.s_axi_arready (m_axi_eth_internal_arready),
|
||||
|
||||
.s_axi_rdata (m_axi_eth_internal_rdata),
|
||||
.s_axi_rresp (m_axi_eth_internal_rresp),
|
||||
.s_axi_rvalid (m_axi_eth_internal_rvalid),
|
||||
.s_axi_rready (m_axi_eth_internal_rready),
|
||||
|
||||
// Host-Ethernet DMA interface
|
||||
.e2h_tdata (e2h_tdata),
|
||||
.e2h_tkeep (e2h_tkeep),
|
||||
.e2h_tlast (e2h_tlast),
|
||||
.e2h_tvalid (e2h_tvalid),
|
||||
.e2h_tready (e2h_tready),
|
||||
|
||||
.h2e_tdata (h2e_tdata),
|
||||
.h2e_tkeep (h2e_tkeep),
|
||||
.h2e_tlast (h2e_tlast),
|
||||
.h2e_tvalid (h2e_tvalid),
|
||||
.h2e_tready (h2e_tready),
|
||||
|
||||
// Vita router interface
|
||||
.e2v_tdata (m_axis_dma_tdata),
|
||||
.e2v_tlast (m_axis_dma_tlast),
|
||||
.e2v_tvalid (m_axis_dma_tvalid),
|
||||
.e2v_tready (m_axis_dma_tready),
|
||||
|
||||
.v2e_tdata (s_axis_dma_tdata),
|
||||
.v2e_tlast (s_axis_dma_tlast),
|
||||
.v2e_tvalid (s_axis_dma_tvalid),
|
||||
.v2e_tready (s_axis_dma_tready),
|
||||
|
||||
// MISC
|
||||
.port_info (),
|
||||
.device_id (device_id),
|
||||
|
||||
.link_up (),
|
||||
.activity ()
|
||||
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PS Connections
|
||||
@@ -1373,7 +1470,6 @@ module e320 (
|
||||
.s_axi_eth_descriptor_araddr(s_axi_eth_descriptor_araddr),
|
||||
.s_axi_eth_descriptor_arburst(s_axi_eth_descriptor_arburst),
|
||||
.s_axi_eth_descriptor_arcache(s_axi_eth_descriptor_arcache),
|
||||
.s_axi_eth_descriptor_arid(s_axi_eth_descriptor_arid),
|
||||
.s_axi_eth_descriptor_arlen(s_axi_eth_descriptor_arlen),
|
||||
.s_axi_eth_descriptor_arlock(1'b0),
|
||||
.s_axi_eth_descriptor_arprot(s_axi_eth_descriptor_arprot),
|
||||
@@ -1384,7 +1480,6 @@ module e320 (
|
||||
.s_axi_eth_descriptor_awaddr(s_axi_eth_descriptor_awaddr),
|
||||
.s_axi_eth_descriptor_awburst(s_axi_eth_descriptor_awburst),
|
||||
.s_axi_eth_descriptor_awcache(s_axi_eth_descriptor_awcache),
|
||||
.s_axi_eth_descriptor_awid(s_axi_eth_descriptor_awid),
|
||||
.s_axi_eth_descriptor_awlen(s_axi_eth_descriptor_awlen),
|
||||
.s_axi_eth_descriptor_awlock(1'b0),
|
||||
.s_axi_eth_descriptor_awprot(s_axi_eth_descriptor_awprot),
|
||||
@@ -1392,12 +1487,10 @@ module e320 (
|
||||
.s_axi_eth_descriptor_awready(s_axi_eth_descriptor_awready),
|
||||
.s_axi_eth_descriptor_awsize(s_axi_eth_descriptor_awsize),
|
||||
.s_axi_eth_descriptor_awvalid(s_axi_eth_descriptor_awvalid),
|
||||
.s_axi_eth_descriptor_bid(),
|
||||
.s_axi_eth_descriptor_bready(s_axi_eth_descriptor_bready),
|
||||
.s_axi_eth_descriptor_bresp(s_axi_eth_descriptor_bresp),
|
||||
.s_axi_eth_descriptor_bvalid(s_axi_eth_descriptor_bvalid),
|
||||
.s_axi_eth_descriptor_rdata(s_axi_eth_descriptor_rdata),
|
||||
.s_axi_eth_descriptor_rid(),
|
||||
.s_axi_eth_descriptor_rlast(s_axi_eth_descriptor_rlast),
|
||||
.s_axi_eth_descriptor_rready(s_axi_eth_descriptor_rready),
|
||||
.s_axi_eth_descriptor_rresp(s_axi_eth_descriptor_rresp),
|
||||
@@ -1414,31 +1507,29 @@ module e320 (
|
||||
.S_AXI_HP0_araddr(s_axi_hp0_araddr),
|
||||
.S_AXI_HP0_arburst(s_axi_hp0_arburst),
|
||||
.S_AXI_HP0_arcache(s_axi_hp0_arcache),
|
||||
.S_AXI_HP0_arid(s_axi_hp0_arid),
|
||||
.S_AXI_HP0_arlen(s_axi_hp0_arlen),
|
||||
.S_AXI_HP0_arlock(1'b0),
|
||||
.S_AXI_HP0_arprot(s_axi_hp0_arprot),
|
||||
.S_AXI_HP0_arqos(4'b0),
|
||||
.S_AXI_HP0_arready(s_axi_hp0_arready),
|
||||
.S_AXI_HP0_arregion(4'b0),
|
||||
.S_AXI_HP0_arsize(s_axi_hp0_arsize),
|
||||
.S_AXI_HP0_arvalid(s_axi_hp0_arvalid),
|
||||
.S_AXI_HP0_awaddr(s_axi_hp0_awaddr),
|
||||
.S_AXI_HP0_awburst(s_axi_hp0_awburst),
|
||||
.S_AXI_HP0_awcache(s_axi_hp0_awcache),
|
||||
.S_AXI_HP0_awid(s_axi_hp0_awid),
|
||||
.S_AXI_HP0_awlen(s_axi_hp0_awlen),
|
||||
.S_AXI_HP0_awlock(1'b0),
|
||||
.S_AXI_HP0_awprot(s_axi_hp0_awprot),
|
||||
.S_AXI_HP0_awqos(4'b0),
|
||||
.S_AXI_HP0_awready(s_axi_hp0_awready),
|
||||
.S_AXI_HP0_awregion(4'b0),
|
||||
.S_AXI_HP0_awsize(s_axi_hp0_awsize),
|
||||
.S_AXI_HP0_awvalid(s_axi_hp0_awvalid),
|
||||
.S_AXI_HP0_bid(),
|
||||
.S_AXI_HP0_bready(s_axi_hp0_bready),
|
||||
.S_AXI_HP0_bresp(s_axi_hp0_bresp),
|
||||
.S_AXI_HP0_bvalid(s_axi_hp0_bvalid),
|
||||
.S_AXI_HP0_rdata(s_axi_hp0_rdata),
|
||||
.S_AXI_HP0_rid(),
|
||||
.S_AXI_HP0_rlast(s_axi_hp0_rlast),
|
||||
.S_AXI_HP0_rready(s_axi_hp0_rready),
|
||||
.S_AXI_HP0_rresp(s_axi_hp0_rresp),
|
||||
@@ -1448,6 +1539,8 @@ module e320 (
|
||||
.S_AXI_HP0_wready(s_axi_hp0_wready),
|
||||
.S_AXI_HP0_wstrb(s_axi_hp0_wstrb),
|
||||
.S_AXI_HP0_wvalid(s_axi_hp0_wvalid),
|
||||
|
||||
// Ethernet DMA engines
|
||||
.m_axi_eth_dma_araddr(m_axi_eth_dma_araddr),
|
||||
.m_axi_eth_dma_arprot(),
|
||||
.m_axi_eth_dma_arready(m_axi_eth_dma_arready),
|
||||
@@ -1467,6 +1560,25 @@ module e320 (
|
||||
.m_axi_eth_dma_wready(m_axi_eth_dma_wready),
|
||||
.m_axi_eth_dma_wstrb(m_axi_eth_dma_wstrb),
|
||||
.m_axi_eth_dma_wvalid(m_axi_eth_dma_wvalid),
|
||||
.m_axi_eth_internal_araddr(m_axi_eth_internal_araddr),
|
||||
.m_axi_eth_internal_arprot(),
|
||||
.m_axi_eth_internal_arready(m_axi_eth_internal_arready),
|
||||
.m_axi_eth_internal_arvalid(m_axi_eth_internal_arvalid),
|
||||
.m_axi_eth_internal_awaddr(m_axi_eth_internal_awaddr),
|
||||
.m_axi_eth_internal_awprot(),
|
||||
.m_axi_eth_internal_awready(m_axi_eth_internal_awready),
|
||||
.m_axi_eth_internal_awvalid(m_axi_eth_internal_awvalid),
|
||||
.m_axi_eth_internal_bready(m_axi_eth_internal_bready),
|
||||
.m_axi_eth_internal_bresp(m_axi_eth_internal_bresp),
|
||||
.m_axi_eth_internal_bvalid(m_axi_eth_internal_bvalid),
|
||||
.m_axi_eth_internal_rdata(m_axi_eth_internal_rdata),
|
||||
.m_axi_eth_internal_rready(m_axi_eth_internal_rready),
|
||||
.m_axi_eth_internal_rresp(m_axi_eth_internal_rresp),
|
||||
.m_axi_eth_internal_rvalid(m_axi_eth_internal_rvalid),
|
||||
.m_axi_eth_internal_wdata(m_axi_eth_internal_wdata),
|
||||
.m_axi_eth_internal_wready(m_axi_eth_internal_wready),
|
||||
.m_axi_eth_internal_wstrb(m_axi_eth_internal_wstrb),
|
||||
.m_axi_eth_internal_wvalid(m_axi_eth_internal_wvalid),
|
||||
|
||||
// MGT IO Regport
|
||||
.m_axi_net_araddr(m_axi_net_araddr),
|
||||
@@ -1523,16 +1635,16 @@ module e320 (
|
||||
.S_AXI_GP0_ARESETN(clk40_rstn),
|
||||
|
||||
// DMA
|
||||
.s_axis_dma_tdata(s_axis_dma_tdata),
|
||||
.s_axis_dma_tdest(s_axis_dma_tdest),
|
||||
.s_axis_dma_tlast(s_axis_dma_tlast),
|
||||
.s_axis_dma_tready(s_axis_dma_tready),
|
||||
.s_axis_dma_tvalid(s_axis_dma_tvalid),
|
||||
.m_axis_dma_tdata(m_axis_dma_tdata),
|
||||
.m_axis_dma_tuser(m_axis_dma_tuser),
|
||||
.m_axis_dma_tlast(m_axis_dma_tlast),
|
||||
.m_axis_dma_tready(m_axis_dma_tready),
|
||||
.m_axis_dma_tvalid(m_axis_dma_tvalid)
|
||||
.s_axis_dma_tdata(e2h_tdata),
|
||||
.s_axis_dma_tkeep(e2h_tkeep),
|
||||
.s_axis_dma_tlast(e2h_tlast),
|
||||
.s_axis_dma_tready(e2h_tready),
|
||||
.s_axis_dma_tvalid(e2h_tvalid),
|
||||
.m_axis_dma_tdata(h2e_tdata),
|
||||
.m_axis_dma_tkeep(h2e_tkeep),
|
||||
.m_axis_dma_tlast(h2e_tlast),
|
||||
.m_axis_dma_tready(h2e_tready),
|
||||
.m_axis_dma_tvalid(h2e_tvalid)
|
||||
);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
@@ -1699,15 +1811,13 @@ module e320 (
|
||||
.rx(rx_flat),
|
||||
.tx(tx_flat),
|
||||
|
||||
// DMA to PS
|
||||
// Internal Ethernet DMA to PS
|
||||
.m_dma_tdata(s_axis_dma_tdata),
|
||||
.m_dma_tdest(s_axis_dma_tdest),
|
||||
.m_dma_tlast(s_axis_dma_tlast),
|
||||
.m_dma_tready(s_axis_dma_tready),
|
||||
.m_dma_tvalid(s_axis_dma_tvalid),
|
||||
|
||||
.s_dma_tdata(m_axis_dma_tdata),
|
||||
.s_dma_tuser(m_axis_dma_tuser),
|
||||
.s_dma_tlast(m_axis_dma_tlast),
|
||||
.s_dma_tready(m_axis_dma_tready),
|
||||
.s_dma_tvalid(m_axis_dma_tvalid),
|
||||
|
||||
Reference in New Issue
Block a user