ps and pl-based 1g/10g ethernet solution application...

17
XAPP1305 (v1.5) November 14, 2019 1 www.xilinx.com Summary This application note focuses on Ethernet-based designs that use Zynq® UltraScale+™ devices. It describes the use of the gigabit Ethernet controller (GEM) available in the processing system (PS) through the extended multiplexed I/O (EMIO) and multiplexed I/O (MIO) interfaces. It also describes the use of 1000BASE-X, SGMII, and 10GBASE-R physical interfaces using high-speed transceivers in programmable logic (PL). The use of Ethernet jumbo frames in both PS and PL-based Ethernet systems is explained in this application note. Throughput numbers for PS Ethernet, PL Ethernet (1G and 10G), and PS-PL Ethernet are also included. The designs explained in this application note demonstrate Ethernet solutions with kernel-mode Linux device drivers. Download the reference design files for this application note from the Xilinx website. For detailed information about the design files, see Reference Design. Introduction Zynq UltraScale+ devices integrate a flagship ARM® Cortex®-A53 64-bit quad-core or dual-core processor, Cortex-R5 dual-core real-time processor in PS, and PL in a single device. The PL includes the programmable logic, configuration logic, and associated embedded functions. The PS comprises the ARM Cortex-A53 MPCore CPUs unit, Cortex-R5 processors, on-chip memory, external memory interfaces, cache coherent interconnect (CCI), and peripheral connectivity interfaces. The PS is equipped with four GEMs. Each controller can be configured independently and uses a reduced gigabit media independent interface (RGMII). The RGMII interface is routed through MIO pins to interface with an external RGMII PHY. Other Ethernet communications interfaces such as TBI, RGMII v2.0, and SGMII can be created in the PL using the GMII/MII available on the EMIO interface. SGMII is also supported by the GEM using the PS-GTR transceiver without using any logic in the PL. Figure 1 shows the various Ethernet implementations on the ZCU102 board. Application Note: Zynq UltraScale+ Devices XAPP1305 (v1.5) November 14, 2019 PS and PL-Based 1G/10G Ethernet Solution Authors: Naveen Kumar Gaddipati, Akhilesh Mahajan, Rhythm Jain, Mohammed Rafi Shaik, Juneed Shaik, and Suryabhavani Pathala

Upload: others

Post on 03-Feb-2021

11 views

Category:

Documents


0 download

TRANSCRIPT

  • XAPP1305 (v1.5) November 14, 2019 1www.xilinx.com

    SummaryThis application note focuses on Ethernet-based designs that use Zynq® UltraScale+™ devices. It describes the use of the gigabit Ethernet controller (GEM) available in the processing system (PS) through the extended multiplexed I/O (EMIO) and multiplexed I/O (MIO) interfaces. It also describes the use of 1000BASE-X, SGMII, and 10GBASE-R physical interfaces using high-speed transceivers in programmable logic (PL). The use of Ethernet jumbo frames in both PS and PL-based Ethernet systems is explained in this application note. Throughput numbers for PS Ethernet, PL Ethernet (1G and 10G), and PS-PL Ethernet are also included. The designs explained in this application note demonstrate Ethernet solutions with kernel-mode Linux device drivers.

    Download the reference design files for this application note from the Xilinx website. For detailed information about the design files, see Reference Design.

    IntroductionZynq UltraScale+ devices integrate a flagship ARM® Cortex®-A53 64-bit quad-core or dual-core processor, Cortex-R5 dual-core real-time processor in PS, and PL in a single device.

    The PL includes the programmable logic, configuration logic, and associated embedded functions. The PS comprises the ARM Cortex-A53 MPCore CPUs unit, Cortex-R5 processors, on-chip memory, external memory interfaces, cache coherent interconnect (CCI), and peripheral connectivity interfaces. The PS is equipped with four GEMs. Each controller can be configured independently and uses a reduced gigabit media independent interface (RGMII). The RGMII interface is routed through MIO pins to interface with an external RGMII PHY. Other Ethernet communications interfaces such as TBI, RGMII v2.0, and SGMII can be created in the PL using the GMII/MII available on the EMIO interface.

    SGMII is also supported by the GEM using the PS-GTR transceiver without using any logic in the PL. Figure 1 shows the various Ethernet implementations on the ZCU102 board.

    Application Note: Zynq UltraScale+ Devices

    XAPP1305 (v1.5) November 14, 2019

    PS and PL-Based 1G/10G Ethernet SolutionAuthors: Naveen Kumar Gaddipati, Akhilesh Mahajan, Rhythm Jain, Mohammed Rafi Shaik, Juneed Shaik, and Suryabhavani Pathala

    https://www.xilinx.com/cgi-bin/docs/ctdoc?cid=8cd74fd8-c637-4aee-856f-99c9824dee62;d=xapp1305-ps-pl-based-ethernet-solution.ziphttp://www.xilinx.com

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 2www.xilinx.com

    Note: The PS-GEM3 is always tied to the TI RGMII PHY on the ZCU102 evaluation board. The 1000BASE-X/SGMII PHY and the GTH transceiver are a part of the AXI Ethernet core for 1G PL Ethernet link, which uses the AXI 1G/2.5G Ethernet subsystem IP core [Ref 1]. The PS-PL Ethernet uses PS-GEM0 and 1G/2.5G Ethernet PCS/PMA, or SGMII core [Ref 2]. The 10G PL Ethernet link uses 10/25G high-speed Ethernet subsystem IP core [Ref 3].

    In the designs provided with this application note, the PS-GEM3 is connected to theTexas Instruments DP83867IRPAP Ethernet RGMII PHY device through the reduced gigabit media independent interface (RGMII). This is the default setup for the ZCU102 board. This application note demonstrates various PS and PL-based Ethernet implementations. The designs described in this application note are listed below.

    • PS Ethernet (GEM3) connected to a 1G physical interface in PS through an MIO interface. See Using PS GEM through MIO.

    • PS Ethernet (GEM0) connected to a 1000BASE-X/SGMII physical interface in PL through an EMIO interface. See Using PS GEM through EMIO.

    • Ethernet implemented as soft logic in PL (MAC) and connected to the 1000BASE-X/SGMII physical interface in PL. See Using PL 1G Ethernet.

    • Ethernet implemented as soft logic in PL (MAC) and connected to the 10G physical interface in PL. See Using PL 10G Ethernet.

    Note: GEM0, GEM1, or GEM2 can also be used for PS Ethernet. The hardware design varies depending on the GEM selected.

    X-Ref Target - Figure 1

    Figure 1: Zynq UltraScale+ MPSoC Ethernet Interface

    Zynq UltraScale+ MPSoC

    APU

    Central Interconnect

    DMAGEM3

    GMII to RGMII

    UART

    TI RGMII PHY

    DMAGEM0

    32-bit GPAXI Master 64-bit HP AXI Slave

    PL to Memory Interconnect

    Memory Interface

    AXI InterconnectAXI Interconnect

    AXI DMA

    AXI EthernetMAC

    GTHTransceiver

    EthernetPCS/PMA or SGMIISFP

    GMII via EMIO

    Programmable Logic

    Processing System

    GIC

    DDR4

    PS – GEM3 eth link

    PS – GEM0 eth link via EMIO

    RGMII via

    MIO

    PL eth linkX18644-051117

    Send Feedback

    http://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=2

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 3www.xilinx.com

    Using PS GEM through MIOThis section describes how to use the PS Ethernet block GEM3 with the PS PHY through the MIO interface.

    Hardware DesignThe PS Ethernet controller (GEM3) connects the on-board TI PHY through MIO pins using the RGMII interface. The GEM3 block is enabled while generating the hardware system. The GEM3-TI PHY link is shown in Figure 1 with the PS-GEM3 link. For more information refer to the PS and PL based Ethernet in Zynq MPSoC wiki [Ref 4].

    Reference Clock Generation

    The Ethernet reference clock (125 MHz) for each of the GEMs is generated by configuring the internal PLL of the PS.

    Software DesignThis design uses the common macb.c driver code (present in the Linux kernel) for all the GEMs on the ZCU102. The macb driver uses the direct memory access (DMA) controller attached to the GEM in the PS. This driver is responsible for several functions including DMA descriptor rings setup, allocation, and recycling. The interrupt handling is done only for the PS GEM events because the interrupt status implicitly reflects DMA events. Additionally, the device tree is updated to include PS-GEM3 with relevant parameters. Refer to Device Trees for more information.

    Linux Driver

    A monolithic Linux device driver is used in this design. The software architecture for PS Ethernet interfaces is shown in Figure 2.

    Send Feedback

    http://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=3

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 4www.xilinx.com

    X-Ref Target - Figure 2

    Figure 2: PS Ethernet Software Driver for Linux

    GIC (Intr Controller)Ethernet TX DMA

    Channel

    Ethernet and DMA(Finish, Done, Halt, and Error events)

    MII Interface

    Hardware

    Receive Overflow

    TransmitOverflow

    Transmit DMA

    Receive DMA

    GMIIPHY

    Ethernet Driver

    Driver Module

    Transmit Top Half

    Transmit Tasklet

    TransmitISR

    Receive Top Half

    Receive Tasklet

    ReceiveISR

    RX BD Ringmanagement

    TX BD Ringmanagement

    DMA Access

    Get/Set settings

    ETH TOOL

    Get drv settings

    Get Link

    Get/Set WOL

    mdio_read

    MII PHY

    mdio_write

    mdio_reset

    adjust_link

    PHY LibraryEth tool supportDo IRQSoft IRQ

    Schedulerproc interfacedev interface

    Linux Kernel

    User Level/proc /dev

    X18645-020717

    Send Feedback

    http://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=4

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 5www.xilinx.com

    Using PS GEM through EMIOThis section describes the use of the PS Ethernet block GEM0 with the PL PHY through the EMIO interface. The PS GEM block can be accessed through the PL using EMIO pins that allow GMII and management data input/output (MDIO) interfaces to be connected to the physical layer. The 1G/2.5G Ethernet PCS/PMA or SGMII core can be used as the physical media for the Ethernet in 1000BASE-X or SGMII mode. High-speed serial transceivers are used to access the small form factor pluggable (SFP) cage on the ZCU102 board. The SFP cage is connected to a standard Ethernet LAN through an SFP-to-RJ45 converter module.

    Hardware DesignAs shown in Figure 3, the GMII interface connects the PHY and PS GEM through the EMIO pins. The GEM0 block is enabled while generating the hardware system in the Vivado® tools. The PHY address port of 1G/2.5G Ethernet PCS/PMA or serial gigabit media independent interface (SGMII) core can be assigned a fixed value in the range of 1 to 31. See the PS and PL based Ethernet in Zynq MPSoC wiki [Ref 4] and 1G/2.5G Ethernet PCS/PMA or SGMII v16.0 LogiCORE IP Product Guide (PG047) [Ref 2] for more information.

    X-Ref Target - Figure 3

    Figure 3: PS-PL Ethernet Design

    1000BASE-X/SGMII PCS/PMA

    Ethernet MAC(GEM0)

    GMII_RX

    GMII_TX

    GMII_TX_CLK

    GMII_RX_CLK

    MDIO

    MDC

    Processing System Programmable Logic

    GT

    Si570

    TCP/IP Stack

    PS Ethernet Driver

    Standard Networking Application

    Software driver for Linux

    Linux Image

    SFP

    Device Tree

    125 MHz

    X18651-051117

    Send Feedback

    http://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=5

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 6www.xilinx.com

    Reference Clock Generation

    The GTH transceiver X0Y4 on the Zynq UltraScale+ MPSoC is connected to the SFP cage on the ZCU102 board. The GTH transceiver reference clock (125 MHz differential) is generated from the Si570 jitter attenuator on the ZCU102 board. The clock divider values are adjusted to generate 125 MHz from the Si570 programmable oscillator. The Si570 is programmed over the I2C interface to generate the required clock value. See the Si 570 data sheet [Ref 5] for details on the Si570.

    To enable GEM0 through the EMIO interface, specific registers must be programmed. This is part of the PS configuration data used by the Zynq UltraScale+ MPSoC first stage boot loader (FSBL).

    To select the EMIO as the source for receiving clock, data, and control signals, set the SLCR.GEM0_CLK_CTRL[SRCSEL] bit to 3'b1xx, where x is a don't care (1 or 0).

    Software DesignThis design uses the common macb.c driver code for all the GEMs on the ZCU102. The macb driver uses the DMA controller attached to the GEM in the PS. This driver is responsible for several functions, including DMA descriptor rings setup, allocation, and recycling. The interrupt handling is done only for the PS GEM events, because the interrupt status implicitly reflects DMA events. Additionally, the device tree is updated to include PS-GEM0 with relevant parameters. Refer to Device Trees for more information.

    Note: To support other PL physical interfaces such as TBI, the hardware design and device tree must be edited. The PHY specific initialization is handled by the phylib subsystem in the Linux driver (macb), and information regarding the PHY can be provided in the device tree. To use the phylib subsystem for PHY programming, the phylib subsystem must support the PHY initialization routine for the desired PHY.

    Linux Driver

    A monolithic Linux device driver is provided for this design. Figure 2 shows the software architecture for the PS Ethernet interfaces.

    Send Feedback

    http://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=6

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 7www.xilinx.com

    Using PL 1G EthernetThis section describes the PL implementation of the Ethernet. This design consists of the AXI 1G/2.5G Ethernet subsystem, AXI DMA, and AXI Interconnect IP cores. The AXI 1G/2.5G Ethernet subsystem IP core consists of tri-mode Ethernet MAC (TEMAC) and 1G/2.5G Ethernet PCS/PMA or serial gigabit media independent interface (SGMII) cores. A high performance (HP) port is used in this design for fast access to the PS-DDR memory. The general-purpose slave port can also be used if the HP port is occupied with other peripherals.

    Hardware DesignEthernet implementation in the PL is shown in Figure 4. The HP port is used for fast data transfers between the PL and the PS-DDR4 memory. It connects to the AXI DMA scatter-gather, stream to memory mapped (S2MM) and memory mapped to stream (MM2S) interfaces through the AXI interconnect. This interconnect also performs data width conversion to connect the 64-bit HP port to the 32-bit interfaces of the AXI DMA. In the AXI DMA, both the scatter-gather option and data realignment engine are enabled for the S2MM and MM2S paths.

    The streaming interface of the AXI DMA is connected to the AXI Ethernet subsystem. The AXI Ethernet subsystem has full checksum offloading (CSO) enabled and has FIFO depths of 32K to support jumbo frame transfers.

    The AXI Ethernet core implements an Ethernet MAC and supports 1000BASE-X and SGMII PHY interfaces. It connects to the SFP through GTH transceivers through 1000BASE-X/SGMII interfaces.

    For the control interface, a general purpose (GP) AXI master port is enabled in the PS. This port connects to the AXI DMA and AXI Ethernet cores.

    The 1000BASE-X and SGMII PHY registers are accessed using the MDIO interface provided by the AXI Ethernet core. The interrupt ports from the AXI DMA and the AXI Ethernet IP cores are connected to the general interrupt controller (GIC) in the PS. For more information refer to the PS and PL based Ethernet in Zynq MPSoC wiki [Ref 4].

    For further details on IP cores, see the AXI 1G/2.5G Ethernet Subsystem v7.0 Product Guide (PG138) [Ref 1], 1G/2.5G Ethernet PCS/PMA or SGMII v16.0 LogiCORE IP Product Guide (PG047) [Ref 2], and AXI DMA v7.1 LogiCORE IP Product Guide (PG021) [Ref 6].

    Send Feedback

    http://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=7

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 8www.xilinx.com

    Reference Clock Generation

    The GTH transceiver X0Y4 on the Zynq UltraScale+ MPSoC is connected to the SFP cage on the ZCU102 board for 1000BASE-X/SGMII transceivers. The GTH transceiver reference clock (125 MHz differential) is generated from the Si570 jitter attenuator on the ZCU102 board. The clock divider values are adjusted to generate 125 MHz from the Si570 programmable oscillator. The Si570 is programmed over the I2C interface to generate the required clock value. See the Si570 data sheet [Ref 5] for details on the Si570.

    Software DesignThis section describes the software aspects of the design. The monolithic Linux driver code facilitates the functionality listed below.

    • PL Ethernet MAC accesses• AXI DMA transfers• Physical media initialization for 1000BASE-X interface using the phylib subsystem

    X-Ref Target - Figure 4

    Figure 4: 1000BASE-X/SGMII PL Ethernet Design

    Zynq UltraScale+ MPSoC

    APU

    Central Interconnect

    UART

    32-bit GPAXI Master 64-bit HP AXI Slave

    PL to Memory Interconnect

    Memory Interface

    AXI InterconnectAXI Interconnect

    AXI DMA

    AXI EthernetMAC

    GTHTransceiver

    EthernetPCS/PMA

    SFP

    Programmable Logic

    Processing System

    GIC

    DDR4

    Si570

    TCP/IP Stack

    Ethernet Driver(AXI DMA + AXI

    ETH)

    Linux Image

    Device Tree

    Standard Networking Application

    Software driver for Linux

    Clock Generation

    75 MHz(FCLK1) MM2SS2MM

    TXRX

    125 MHz REFCLK

    X18652-051117X18652-051117

    Send Feedback

    http://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=8

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 9www.xilinx.com

    Linux Driver

    The software architecture for this design is shown in Figure 5. The driver is divided into the following sections.

    • Initialization• MAC driver hooks• Interrupt service routines

    X-Ref Target - Figure 5

    Figure 5: Driver Architecture for PL Ethernet

    GIC (Intr Controller)Ethernet TX DMA

    Channel

    Ethernet and DMA(Finish, Done, Halt, and

    Error events)MII Interface

    Hardware

    Receive Overflow

    TransmitOverflow Transmit DMA

    Receive DMA

    GMIIPHY

    Ethernet Driver

    Driver Module Transmit ISR

    Receive ISR

    DMA Access

    MII PHY

    Linux Kernel

    User Applications/proc /dev

    proc interfacedev interface

    Scheduler

    Soft IRQ Do IRQ

    X18653-020617

    Send Feedback

    http://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=9

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 10www.xilinx.com

    Using PL 10G EthernetThis section describes a PL implementation of the 10G Ethernet. The design consists of 10G/25G high-speed Ethernet subsystem, AXI DMA, and AXI Interconnect IP cores. This design uses the high performance (HP) port for fast access to the PS-DDR memory. The general purpose slave port can also be used if the HP port is occupied with other peripherals.

    Hardware DesignThe 10G Ethernet implementation in PL is shown in Figure 6. The Xilinx 10G/25G high speed Ethernet subsystem implements the 25G Ethernet MAC with a physical coding sublayer (PCS) as specified by the 25G Ethernet Consortium. The 156.25 MHz reference clock to the transceiver is provided by the Si570 programmable oscillator available on the ZCU102 board. For more information refer to the PS and PL based Ethernet in Zynq MPSoC wiki [Ref 4].

    X-Ref Target - Figure 6

    Figure 6: 10G PL Ethernet Design

    Zynq UltraScale+ MPSoC

    APU

    Central Interconnect

    UART

    32-bit GPAXI Master 64-bit HP AXI Slave

    PL to Memory Interconnect

    Memory Interface

    AXI InterconnectAXI Interconnect

    AXI DMA

    AXI EthernetMAC

    GTHTransceiver

    EthernetPCS/PMA

    SFP

    Programmable Logic

    Processing System

    GIC

    DDR4

    Si570

    TCP/IP Stack

    Ethernet Driver(AXI DMA + AXI

    ETH)

    Linux Image

    Device Tree

    Standard Networking Application

    Software driver for Linux

    Clock Generation

    75 MHz(FCLK1) MM2SS2MM

    TXRX

    156.25 MHz REFCLK

    X18654-051117

    Send Feedback

    http://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=10

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 11www.xilinx.com

    Reference Clock Generation

    The GTH transceiver X0Y4 on the Zynq UltraScale+ MPSoC is connected to the SFP cage on the ZCU102 board. The GTH transceiver reference clock (156.25 MHz differential) is generated from the Si570 jitter attenuator on the ZCU102 board. The clock divider values are adjusted to generate 156.25 MHz from the Si570 programmable oscillator. The Si570 is programmed over the I2C interface to generate the required clock value. See the Si570 data sheet [Ref 5] for details on the Si570.

    Software DesignThis section describes the software aspects of the design. The monolithic Linux driver code facilitates the functionality listed below.

    • PL Ethernet MAC accesses• AXI DMA transfers

    Linux Driver

    The software architecture for this design is shown in Figure 5. The driver is divided into the following sections.

    • Initialization• MAC driver hooks• Interrupt service routines

    Device TreesThe device tree is a data structure for describing hardware. Instead of hard coding every detail of a device into an operating system, many aspects of the hardware can be described in a data structure that is passed on to the operating system at boot time. These settings are parsed by the drivers at the time of loading and the parameters are set as defined in the device tree. The Linux drivers' device trees consist of the following parameters.

    • PS Ethernet MAC EMIO-specific:

    ° PS GEM0 section contains the PS MAC parameters• PL Ethernet-specific (1G/10G):

    ° DMA section contains the AXI DMA parameters

    ° Ethernet section contains the AXI Ethernet MAC parameters

    Send Feedback

    http://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=11

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 12www.xilinx.com

    Hardware and Software RequirementsThe following hardware and software is required for testing the designs explained in this application note.

    • Standard PC, running the Linux OS• Ethernet port supporting 1000 Mb/s• SFP for 1G and SFP+ for 10G modules• 10G NIC for the host machine• Netperf tool [Ref 7]• iPerf tool [Ref 8]• Vivado tools 2019.1 (IPI Design) [Ref 9]• PetaLinux 2019.1 XSDK [Ref 10]• Zynq UltraScale+ MPSoC ZCU102 board with an SFP-to-RJ45 adapter module for testing

    The board setup for the 1G interface is shown in Figure 7. This design was tested with the Cisco GLC-T 1000BASE-X Ethernet to SFP Module.

    Send Feedback

    http://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=12

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 13www.xilinx.com

    The board setup for the 10G interface is shown in Figure 8. This design was tested with the Avago afbr-709smz optical to Ethernet SFP+ module.

    X-Ref Target - Figure 7Xilinx

    Figure 7: Hardware Setup for 1G PL EthernetX18655-090419

    SFP to RJ45Adapter Module

    Send Feedback

    http://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=13

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 14www.xilinx.com

    ConclusionThis application note describes various Ethernet based implementations. The performance benchmarking results for the designs included in this application note can be found in the PS and PL based Ethernet in Zynq MPSoC wiki [Ref 4].

    X-Ref Target - Figure 8

    Figure 8: Hardware Setup for 10G PL Ethernet

    Send Feedback

    http://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=14

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 15www.xilinx.com

    Reference DesignDownload the reference design files for this application note from the Xilinx website.

    Refer to the instructions in the readme for building the hardware and software code.

    Table 1 shows the reference design matrix.

    Table 1: Reference Design MatrixParameter Description

    GeneralDeveloper names Naveen Kumar Gaddipati, Akhilesh Mahajan,

    Mohammed Rafi Shaik, Juneed Shaik, and Suryabhavani Pathala

    Target devices Zynq UltraScale+ DevicesSource code provided YesSource code format Verilog, CDesign uses code and IP from existing Xilinx application note and reference designs or third party

    Yes

    SimulationFunctional simulation performed NoTiming simulation performed NoTest bench used for functional and timing simulations

    No

    Test bench format N/ASimulator software/version used N/ASPICE/IBIS simulations N/AImplementationSynthesis software tools/versions used Vivado tools 2019.1

    PetaLinux 2019.1Implementation software tools/versions used Vivado tools 2019.1

    PetaLinux 2019.1Static timing analysis performed YesHardware VerificationHardware verified YesHardware platform used for verification ZCU102 evaluation board

    Send Feedback

    http://www.xilinx.comhttps://www.xilinx.com/cgi-bin/docs/ctdoc?cid=8cd74fd8-c637-4aee-856f-99c9824dee62;d=xapp1305-ps-pl-based-ethernet-solution.ziphttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=15

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 16www.xilinx.com

    References1. AXI 1G/2.5G Ethernet Subsystem v7.1 Product Guide (PG138)2. 1G/2.5G Ethernet PCS/PMA or SGMII v16.1 LogiCORE IP Product Guide (PG047)3. 10G/25G High Speed Ethernet Subsystem v3.0 Product Guide (PG210)4. PS and PL based Ethernet in Zynq MPSoC5. Si570 Data Sheet (www.silabs.com/Support%20Documents/TechnicalDocs/Si570.pdf)6. AXI DMA v7.1 LogiCORE IP Product Guide (PG021)7. Netperf (www.netperf.org)8. iPerf (http://sourceforge.net/projects/iperf/)9. Xilinx Vivado Design Suite10. PetaLinux11. Zynq UltraScale+ MPSoC Technical Reference Manual (UG1085)12. ZCU102 Evaluation Board User Guide (UG1182)13. UltraScale Architecture GTH Transceivers User Guide (UG576)

    Revision HistoryThe following table shows the revision history for this document.

    Date Version Revision11/14/2019 1.5 Updated for Vivado Design Suite 2019.1 and PetaLinux tools 2019.1 release.04/30/2019 1.4 Updated for Vivado Design Suite 2018.3 and PetaLinux tools 2018.3 release.10/10/2018 1.3 Updated for Vivado Design Suite 2018.1 and PetaLinux tools 2018.1 release.05/10/2018 1.2 Updated for Vivado Design Suite 2017.3 and PetaLinux tools 2017.3 release.09/20/2017 1.1 Updated for Vivado Design Suite 2017.1. Corrected transceiver references from

    GTX to GTH transceivers.03/24/2017 1.0 Initial Xilinx release.

    Send Feedback

    http://www.xilinx.comhttps://www.xilinx.com/cgi-bin/docs/ipdoc?c=axi_ethernet;v=latest;d=pg138-axi-ethernet.pdfhttps://www.xilinx.com/cgi-bin/docs/ipdoc?c=gig_ethernet_pcs_pma;v=latest;d=pg047-gig-eth-pcs-pma.pdfhttps://www.xilinx.com/cgi-bin/docs/ipdoc?c=xxv_ethernet;v=latest;d=pg210-25g-ethernet.pdfhttps://www.xilinx.com/cgi-bin/docs/ipdoc?c=axi_dma;v=latest;d=pg021_axi_dma.pdfhttp://www.netperf.org/netperf/https://www.xilinx.com/cgi-bin/docs/bkdoc?k=zcu102;d=ug1182-zcu102-eval-bd.pdfhttps://www.xilinx.com/cgi-bin/docs/ndoc?t=user_guides;d=ug576-ultrascale-gth-transceivers.pdfhttps://www.xilinx.com/products/design-tools/vivado.htmlwww.silabs.com/Support%20Documents/TechnicalDocs/Si570.pdfhttps://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools.htmlhttp://www.wiki.xilinx.com/PS+and+PL+based+Ethernet+in+Zynq+MPSoChttps://www.xilinx.com/cgi-bin/docs/ndoc?t=user_guides;d=ug1085-zynq-ultrascale-trm.pdfhttp://sourceforge.net/projects/iperf/https://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=16

  • XAPP1305 (v1.5) November 14, 2019

    XAPP1305 (v1.5) November 14, 2019 17www.xilinx.com

    Please Read: Important Legal NoticesThe information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products. To the maximum extent permitted by applicable law: (1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same. Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or to product specifications. You may not reproduce, modify, distribute, or publicly display the Materials without prior written consent. Certain products are subject to the terms and conditions of Xilinx’s limited warranty, please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx. Xilinx products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in such critical applications, please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos.AUTOMOTIVE APPLICATIONS DISCLAIMERAUTOMOTIVE PRODUCTS (IDENTIFIED AS "XA" IN THE PART NUMBER) ARE NOT WARRANTED FOR USE IN THE DEPLOYMENT OF AIRBAGS OR FOR USE IN APPLICATIONS THAT AFFECT CONTROL OF A VEHICLE ("SAFETY APPLICATION") UNLESS THERE IS A SAFETY CONCEPT OR REDUNDANCY FEATURE CONSISTENT WITH THE ISO 26262 AUTOMOTIVE SAFETY STANDARD ("SAFETY DESIGN"). CUSTOMER SHALL, PRIOR TO USING OR DISTRIBUTING ANY SYSTEMS THAT INCORPORATE PRODUCTS, THOROUGHLY TEST SUCH SYSTEMS FOR SAFETY PURPOSES. USE OF PRODUCTS IN A SAFETY APPLICATION WITHOUT A SAFETY DESIGN IS FULLY AT THE RISK OF CUSTOMER, SUBJECT ONLY TO APPLICABLE LAWS AND REGULATIONS GOVERNING LIMITATIONS ON PRODUCT LIABILITY.© Copyright 2017–2019 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries. AMBA, AMBA Designer, ARM, ARM1176JZ-S, CoreSight, Cortex, PrimeCell, and MPCore are trademarks of ARM in the EU and other countries. All other trademarks are the property of their respective owners.

    Send Feedback

    http://www.xilinx.com/legal.htm#toshttp://www.xilinx.com/legal.htm#toshttp://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Application_Notes&docId=XAPP1305&Title=PS%20and%20PL-Based%201G%2F10G%20Ethernet%20Solution&releaseVersion=1.5&docPage=17

    PS and PL-Based 1G/10G Ethernet SolutionIntroductionUsing PS GEM through MIOHardware DesignReference Clock Generation

    Software DesignLinux Driver

    Using PS GEM through EMIOHardware DesignReference Clock Generation

    Software DesignLinux Driver

    Using PL 1G EthernetHardware DesignReference Clock Generation

    Software DesignLinux Driver

    Using PL 10G EthernetHardware DesignReference Clock Generation

    Software DesignLinux Driver

    Device TreesHardware and Software RequirementsConclusionReference DesignReferencesRevision HistoryPlease Read: Important Legal Notices

    /ColorImageDict > /JPEG2000ColorACSImageDict > /JPEG2000ColorImageDict > /AntiAliasGrayImages false /CropGrayImages true /GrayImageMinResolution 150 /GrayImageMinResolutionPolicy /OK /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageMinDownsampleDepth 2 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict > /GrayImageDict > /JPEG2000GrayACSImageDict > /JPEG2000GrayImageDict > /AntiAliasMonoImages false /CropMonoImages true /MonoImageMinResolution 1200 /MonoImageMinResolutionPolicy /OK /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict > /AllowPSXObjects false /CheckCompliance [ /None ] /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile (None) /PDFXOutputConditionIdentifier () /PDFXOutputCondition () /PDFXRegistryName () /PDFXTrapped /False

    /CreateJDFFile false /Description >>> setdistillerparams> setpagedevice