`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 11/05/2025 10:00:52 PM // Design Name: // Module Name: alibaba_pcie_top // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module alibaba_pcie( input wire [7:0] pci_exp_rxp, input wire [7:0] pci_exp_rxn, output wire [7:0] pci_exp_txp, output wire [7:0] pci_exp_txn, input wire pcie_mgt_refclk_p, input wire pcie_mgt_refclk_n, input wire pcie_reset_n, input wire sfp_mgt_clk_p, input wire sfp_mgt_clk_n, output wire sfp_txp [2], output wire sfp_txn [2], input wire sfp_rxp [2], input wire sfp_rxn [2], output wire [3:0] Led_o ); logic clk_250; logic rst_250; taxi_axil_if m_axil_rd(); taxi_axil_if m_axil_wr(); taxi_apb_if #(.ADDR_W(alibaba_pcie_top_regs_pkg::ALIBABA_PCIE_TOP_REGS_MIN_ADDR_WIDTH)) s_apb(); taxi_apb_if #(.ADDR_W(pcie_top_regs_pkg::PCIE_TOP_REGS_MIN_ADDR_WIDTH)) pcie_apb(); taxi_apb_if #(.ADDR_W(eth_dma_wrapper_regs_pkg::ETH_DMA_WRAPPER_REGS_MIN_ADDR_WIDTH)) eth_apb(); taxi_dma_ram_if #(.SEGS(4)) dma_ram_eth_rd_if(); taxi_dma_ram_if #(.SEGS(4)) dma_ram_eth_wr_if(); alibaba_pcie_top_regs u_alibaba_pcie_top_regs ( .s_apb (s_apb), .m_apb_pcie_top_regs (pcie_apb), .m_apb_eth_dma_wrapper_regs (eth_apb) ); taxi_axil_apb_adapter u_taxi_axil_apb_adapter ( .clk (clk_250), .rst (rst_250), .s_axil_wr (m_axil_wr), .s_axil_rd (m_axil_rd), .m_apb (s_apb) ); eth_dma_wrapper u_eth_dma_wrapper ( .clk_250 (clk_250), .rst_250 (rst_250), .sfp_mgt_clk_p (sfp_mgt_clk_p), .sfp_mgt_clk_n (sfp_mgt_clk_n), .sfp_txp (sfp_txp), .sfp_txn (sfp_txn), .sfp_rxp (sfp_rxp), .sfp_rxn (sfp_rxn), .wr_dma_mst (dma_ram_eth_wr_if), .rd_dma_mst (dma_ram_eth_rd_if), .s_apb (eth_apb) ); pcie_top u_pcie_top( .pci_exp_rxp (pci_exp_rxp), .pci_exp_rxn (pci_exp_rxn), .pci_exp_txp (pci_exp_txp), .pci_exp_txn (pci_exp_txn), .pcie_mgt_refclk_p (pcie_mgt_refclk_p), .pcie_mgt_refclk_n (pcie_mgt_refclk_n), .pcie_reset_n (pcie_reset_n), .user_lnk_up (Led_o[0]), .phy_rdy_out (Led_o[1]), .o_clk_250 (clk_250), .o_rst_250 (rst_250), .dma_ram_eth_wr_if (dma_ram_eth_wr_if), .dma_ram_eth_rd_if (dma_ram_eth_rd_if), .m_axil_rd (m_axil_rd), .m_axil_wr (m_axil_wr), .s_apb (pcie_apb) ); endmodule