Low Latency 40G Ethernet Example Design User Guide

Similar documents
Low Latency 100G Ethernet Design Example User Guide

Low Latency 100G Ethernet Intel Stratix 10 FPGA IP Design Example User Guide

Intel Stratix 10 Low Latency 40G Ethernet Design Example User Guide

H-tile Hard IP for Ethernet Intel Stratix 10 FPGA IP Design Example User Guide

25G Ethernet Intel Stratix 10 FPGA IP Design Example User Guide

Interlaken IP Core (2nd Generation) Design Example User Guide

Intel Stratix 10 H-tile Hard IP for Ethernet Design Example User Guide

SerialLite III Streaming IP Core Design Example User Guide for Intel Arria 10 Devices

SerialLite III Streaming IP Core Design Example User Guide for Intel Stratix 10 Devices

Low Latency 40- and 100-Gbps Ethernet MAC and PHY MegaCore Function User Guide

Low Latency 40- and 100-Gbps Ethernet MAC and PHY MegaCore Function User Guide

AN 830: Intel FPGA Triple-Speed Ethernet and On-Board PHY Chip Reference Design

AN 830: Intel FPGA Triple-Speed Ethernet and On-Board PHY Chip Reference Design

Intel FPGA Low Latency Ethernet 10G MAC Design Example User Guide for Intel Stratix 10 Devices

100G Interlaken MegaCore Function User Guide

2.5G Reed-Solomon II MegaCore Function Reference Design

PCI Express Multi-Channel DMA Interface

AN 836: RapidIO II Reference Design for Avalon-ST Pass-Through Interface

Dynamic Reconfiguration of PMA Controls in Stratix V Devices

Using the Transceiver Reconfiguration Controller for Dynamic Reconfiguration in Arria V and Cyclone V Devices

Arria 10 Transceiver PHY User Guide

Intel FPGA Temperature Sensor IP Core User Guide

Ethernet Link Inspector User Guide v3.0 for Intel Stratix 10 Devices

Ethernet Link Inspector User Guide v4.1 for Intel Stratix 10 Devices

100G Interlaken MegaCore Function User Guide

High Bandwidth Memory (HBM2) Interface Intel FPGA IP Design Example User Guide

Interlaken (2nd Generation) Intel FPGA IP User Guide

50G Interlaken MegaCore Function User Guide

Customizable Flash Programmer User Guide

MAX 10 User Flash Memory User Guide

Low Latency 40-Gbps Ethernet IP Core User Guide

SDI II Intel FPGA IP User Guide

100G Interlaken MegaCore Function User Guide

Intel Stratix 10 Low Latency 100- Gbps Ethernet IP Core User Guide

Low Latency 100G Ethernet Intel Stratix 10 FPGA IP Core User Guide

AN 757: 1G/2.5G Ethernet Design Examples

Intel Arria 10 and Intel Cyclone 10 Avalon -MM Interface for PCIe* Design Example User Guide

Interlaken IP Core (2nd Generation) User Guide

Intel Quartus Prime Pro Edition Software and Device Support Release Notes

Implementing 9.8G CPRI in Arria V GT and ST FPGAs

Intel Cyclone 10 External Memory Interfaces IP Design Example User Guide

Intel Arria 10 and Intel Cyclone 10 Avalon-ST Hard IP for PCIe* Design Example User Guide

Intel Stratix 10 H-Tile PCIe Link Hardware Validation

External Memory Interfaces Intel Arria 10 FPGA IP Design Example User Guide

Debugging Transceiver Links

AN-757: 1G/2.5G Ethernet Design Examples

Low Latency 100-Gbps Ethernet IP Core User Guide

Intel MAX 10 User Flash Memory User Guide

Interlaken (2nd Generation) Intel Stratix 10 FPGA IP User Guide

Intel Arria 10 Native Floating- Point DSP Intel FPGA IP User Guide

Stratix 10 Low Latency 40-Gbps Ethernet IP Core User Guide

Intel Stratix 10 External Memory Interfaces IP Design Example User Guide

Simulating the ASMI Block in Your Design

Intel Quartus Prime Pro Edition

Generic Serial Flash Interface Intel FPGA IP Core User Guide

AN 756: Altera GPIO to Altera PHYLite Design Implementation Guidelines

AN 779: Intel FPGA JESD204B IP Core and ADI AD9691 Hardware Checkout Report

POS-PHY Level 4 MegaCore Function

JESD204B Intel Cyclone 10 GX FPGA IP Design Example User Guide

AN 839: Design Block Reuse Tutorial

Recommended Protocol Configurations for Stratix IV GX FPGAs

AN 834: Developing for the Intel HLS Compiler with an IDE

Intel Quartus Prime Pro Edition Software and Device Support Release Notes

Nios II Performance Benchmarks

AN 797: Partially Reconfiguring a Design on Intel Arria 10 GX FPGA Development Board

AN 610: Implementing Deterministic Latency for CPRI and OBSAI Protocols in Altera Devices

AN 825: Partially Reconfiguring a Design on Intel Stratix 10 GX FPGA Development Board

Intel FPGA Voltage Sensor IP Core User Guide

Intel Acceleration Stack for Intel Xeon CPU with FPGAs 1.0 Errata

Intel Stratix 10 H-Tile Hard IP for Ethernet IP Core User Guide

DDR and DDR2 SDRAM Controller Compiler User Guide

Fixed-Point IP Cores (ALTERA_FIXED- POINT_FUNCTIONS) User Guide

SerialLite II IP Core User Guide

PCI Express*: Migrating to Intel Stratix 10 Devices for the Avalon Streaming Interface

Intel Xeon with FPGA IP Asynchronous Core Cache Interface (CCI-P) Shim

Altera ASMI Parallel II IP Core User Guide

Intel Arria Gbps Ethernet IP Core User Guide

AN 558: Implementing Dynamic Reconfiguration in Arria II Devices

Remote Update Intel FPGA IP User Guide

JESD204B IP Core. User Guide. 101 Innovation Drive San Jose, CA Last updated for Altera Complete Design Suite: 14.

25G Ethernet Intel Arria 10 FPGA IP User Guide

AN 464: DFT/IDFT Reference Design

Arria 10 Avalon-MM DMA Interface for PCIe Solutions

Low Latency Ethernet 10G MAC Intel Arria 10 FPGA IP Design Example User Guide

Altera I/O Phase-Locked Loop (Altera IOPLL) IP Core User Guide

Intel Cyclone 10 GX CvP Initialization over PCI Express User Guide

Intel Stratix 10 Analog to Digital Converter User Guide

AN 825: Partially Reconfiguring a Design on Intel Stratix 10 GX FPGA Development Board

Arria 10 JESD204B IP Core Design Example User Guide

Altera I/O Phase-Locked Loop (Altera IOPLL) IP Core User Guide

Intel FPGA Low Latency Ethernet 10G MAC Design Example User Guide for Intel Arria 10 Devices

Altera JESD204B IP Core and ADI AD9680 Hardware Checkout Report

25G Ethernet Intel Stratix 10 FPGA IP User Guide

Intel Quartus Prime Pro Edition Software and Device Support Release Notes

ASMI Parallel II Intel FPGA IP Core User Guide

DDR & DDR2 SDRAM Controller Compiler

DisplayPort Intel FPGA IP User Guide

3. ALTGX_RECONFIG IP Core User Guide for Stratix IV Devices

Intel Stratix 10 Configuration via Protocol (CvP) Implementation User Guide

Intel FPGA Fault Injection IP Core User Guide

Transcription:

Low Latency 40G Ethernet Example Design User Guide Subscribe UG-20025 101 Innovation Drive San Jose, CA 95134 www.altera.com

TOC-2 Contents Quick Start Guide...1-1 Directory Structure... 1-2 Design Components... 1-3 Generating the Design...1-3 Simulating the Design... 1-5 Compiling and Testing the Example Design in Hardware... 1-6 Example Design Description...2-1 Features...2-1 Hardware and Software Requirements...2-1 Functional Description...2-2 Design Variations...2-3 Standard IP Core Variation...2-3 40GBASE-KR4 IP Core Variation...2-4 Interface Signals...2-4 Example Design Registers...2-4 Document Revision History... A-1

Quick Start Guide 1 UG-20025 Subscribe The Arria 10 variations of the LL 40GbE IP core feature a simulatable testbench and a hardware example design that supports compilation and hardware testing, to help you understand usage. When you generate the example design, the parameter editor automatically creates the files necessary to simulate, compile, and test the design in hardware. You can download the compiled hardware design to the Arria 10 GX Transceiver Signal Integrity Development Kit. The testbench and demonstration example design are available for a wide range of parameters. However, they do not cover all possible parameterizations of the LL 40GbE IP Core. In addition, for most IP core variations, Altera provides a compilation-only example project that you can use to quickly estimate IP core area and timing. Figure 1-1: Development Steps for the Example Design Compilation (Simulator) Functional Simulation Example Design Generation Compilation (Quartus Prime) Hardware Testing Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. *Other names and brands may be claimed as the property of others. ISO 9001:2008 Registered www.altera.com 101 Innovation Drive, San Jose, CA 95134

1-2 Directory Structure UG-20025 Directory Structure Figure 1-2: Directory Structure for the Generated Example Design <alt_eth_ultra_40_0_example_design> ex_40g.qsys ex_40g example_testbench compilation_test_design hardware_test_design <supporting IP> sim synth ex_40g.cmp ex_40g.csv ex_40g.debuginfo ex_40g.html. basic_avl_tb_top.v dynamic_parameters.v <Simulation Script> <Simulation Script> <supporting files> dynamic_parameters.v eth_40g_a10.qpf eth_40g_a10.qsf eth_40g_a10.sdc eth_40g_a10.v SDCUtils.sdc common hwtest dynamic_parameters.v eth_ex_40g_a10.qpf eth_ex_40g_a10.qsf eth_ex_40g_a10.v SDCUtils.sdc ex_40g.qip ex_40g.sip ex_40g.spd ex_40g.xml ex_40g_generation.rpt The hardware comfiguration and test files (the hardware design example) are located in <example_ design_install_dir>/hardware_test_design. The simulation files (testbench for simulation only) are located in <example_design_install_dir>/example_testbench. The compilation-only example design is located in <example_design_install_dir>/compilation_test_design. Quick Start Guide

UG-20025 Design Components 1-3 Design Components Figure 1-3: Block Diagram Test Controller Memory Map Register Read/Write Handler Low Latency 40GbE IP Core Packet Generator Adapter TX Sample MAC ROM TX PHY Packet Checker Adapter RX MAC RX PHY Generating the Design Figure 1-4: Procedure Start Parameter Editor Specify IP Variation and Select Device Select Design Parameters Specify Example Design Initiate Design Generation Follow these steps to generate the Arria 10 hardware example design and testbench:: 1. In the IP Catalog (Tools > IP Catalog), select the Arria 10 target device family. Note: The Quick Start hardware design example is only supported in Arria 10 devices. The testbench is available for variations that target Arria 10 devices or Stratix V devices. 2. In the IP Catalog, locate and select Low Latency 40G Ethernet. The New IP Variation window appears. 3. Specify a top-level name for your custom IP variation. The parameter editor saves the IP variation settings in a file named. 4. You must select a specific Arria 10 device in the Device field, or keep the default Quartus Prime software device selection. Quick Start Guide

1-4 Generating the Design 5. Click OK. The parameter editor appears. Figure 1-5: Example Design Tab in LL 40GbE Parameter Editor UG-20025 6. On the IP tab, specify the parameters for your IP core variation. Note: The LL 40GbE example design is not available for following selections: Use external MAC PLL Custom streaming client interface 7. On the Example Design tab, select the Simulation option to generate the testbench, and select the Synthesis option to generate the hardware example design. Note: At least one of the Simulation and Synthesis check boxes from Example Design Files must be selected to allow generation of Example Design Files. 8. For Generated HDL Format, only Verilog is available. 9. For Target Development Kit select the Arria 10 GX Transceiver Signal Integrity Development Kit. The hardware example design overwrites the selection (in step 4) with the device on the target board. 10.Click the Generate Example Design button. 11.Refer to the KDB Answer How do I compensate for the jitter of PLL cascading or non-dedicated clock path for Arria 10 PLL reference clock? for a workaround you should apply in the hardware_test_ design directory in the.sdc file. Note: You must consult this KDB Answer because the RX path in the IP core includes cascaded PLLs. Therefore, the IP core clocks might experience additional jitter in Arria 10 devices. This KDB Answer clarifies the software releases in which the workaround is necessary. Quick Start Guide

UG-20025 Simulating the Design 1-5 Related Information IP Core Parameters Provides more information about IP core customization by specifying parameters. Arria 10 GX Transceiver Signal Integrity Development Kit Webpage KDB Answer: How do I compensate for the jitter of PLL cascading or non-dedicated clock path for Arria 10 PLL reference clock? Simulating the Design Figure 1-6: Procedure Change to Testbench Directory. Run <Simulation Script>. Analyze Results. Table 1-1: Low Latency 40GbE IP Core Testbench File Descriptions Lists the key files that implement the example testbenches. File Names Description Testbench and Simulation Files basic_avl_tb_top.v alt_e40_avalon_kr4_tb.sv alt_e40_avalon_tb_packet_gen.v, alt_ e40_avalon_tb_packet_gen_sanity_ check.v, alt_e40_stat_cntr_1port.v Top-level testbench file for non-40gbase-kr4 variations. The testbench instantiates the DUT and runs Verilog HDL tasks to generate and accept packets. Top-level testbench file for 40GBASE-KR4 variations. Packet generator and checkers for 40GBASE-KR4 variations. Testbench Scripts run_vsim.do run_vcs.sh run_ncsim.sh The ModelSim script to run the testbench. The Synopsys VCS script to run the testbench. The Cadence NCSim script to run the testbench. Quick Start Guide

1-6 Compiling and Testing the Example Design in Hardware Follow these steps to simulate the testbench: UG-20025 1. Change to the testbench simulation directory <example_design_install_dir>/example_ testbench. 2. Run the simulation script for the supported simulator of your choice. The script compiles and runs the testbench in the simulator. Refer to the table "Steps to Simulate the Testbench". 3. Analyze the results. The successful testbench sends ten packets, receives ten packets, and displays "Testbench complete." Table 1-2: Steps to Simulate the Testbench Simulator Modelsim NCSim VCS Instructions In the command line, type vsim -c -do run_vsim.do Note: The ModelSim-AE simulator does not have the capacity to simulate this IP core. You must use another supported ModelSim simulator. In the command line, type sh run_ncsim.sh In the command line, type sh run_vcs.sh Compiling and Testing the Example Design in Hardware To compile and run a demonstration test on the hardware design example, follow these steps: 1. Ensure hardware design example generation is complete. 2. In the Quartus Prime software, open the Quartus Prime project <example_design_install_ dir>/hardware_test_design/eth_ex_40g_a10.qpf, as appropriate. 3. Before compiling, ensure you have implemented the workaround from the KDB Answer How do I compensate for the jitter of PLL cascading or non-dedicated clock path for Arria 10 PLL reference clock? if relevant for your software release. 4. On the Processing menu, click Start Compilation. 5. After successful compilation, a.sof file will be generated in your specified directory. Follow these steps to program the hardware design example on the Arria 10 device: a. On the Tools menu, click Programmer. b. In the Programmer, click Hardware Setup. c. Select a programming device. d. Select and add the Arria 10 GX Transceiver Signal Integrity Development Kit to which your Quartus Prime session can connect. e. Ensure that Mode is set to JTAG. f. Select the Arria 10 device and click Add Device. The Programmer displays a block diagram of the connections between the devices on your board. g. In the row with your.sof, check the box for the.sof. h. Check the box in the Program/Configure column. i. Click Start. j. After the hardware example design is configured on the Arria 10 device, in the Quartus Prime software, on the Tools menu, click System Debugging Tools > System Console. Quick Start Guide

UG-20025 Compiling and Testing the Example Design in Hardware 1-7 6. In the Tcl Console pane, type cd hwtest to change directory to <example_design_install_ dir>/hardware_test_design/hwtest. 7. Type source main.tcl. 8. Type run_test. The successful test run displays output confirming the following behavior: 1. Turning off packet generation 2. Enabling loopback 3. Waiting for RX clock to settle 4. Printing PHY status 5. Clearing MAC statistics counters 6. Sending packets 7. Reading MAC statistics counters 8. Printing MAC statistics counters, which show 0 in all error counters The following sample output illustrates a successful test run: --- Turning off packet generation ---- -------------------------------------- --------- Enabling loopback ---------- -------------------------------------- --- Wait for RX clock to settle... --- -------------------------------------- -------- Printing PHY status --------- -------------------------------------- RX PHY Register Access: Checking Clock Frequencies (KHz) REFCLK :644530 (KHZ) TXCLK :390624 (KHZ) RXCLK :390625 (KHZ) RX RECOV CLK :322265 (KHZ) TX-IO CLOCK :322265 (KHZ) RX PHY Status Polling Tx PLL Lock Status Rx Frequency Lock Status Mac Clock in OK Condition? Rx Frame Error Rx PHY Fullly Aligned? 0x000003ff 0x000003ff 0x00000007 0x00000000 0x00000001 ---- Clearing MAC stats counters ----- -------------------------------------- --------- Sending packets... --------- -------------------------------------- ----- Reading MAC stats counters ----- -------------------------------------- ====================================================================== Quick Start Guide

1-8 Compiling and Testing the Example Design in Hardware STATISTICS FOR BASE 0x0900 (Rx) ====================================================================== Fragmented Frames : 0 Jabbered Frames : 0 Any Size with FCS Err Frame : 0 Right Size with FCS Err Fra : 0 Multicast data Err Frames : 0 Broadcast data Err Frames : 0 Unicast data Err Frames : 0 Multicast control Err Frame : 0 Broadcast control Err Frame : 0 Unicast control Err Frames : 0 Pause control Err Frames : 0 64 Byte Frames : 0 65-127 Byte Frames : 6894742 128-255 Byte Frames : 9147409 256-511 Byte Frames : 8089346 512-1023 Byte Frames : 3411180 1024-1518 Byte Frames : 347630 1519 - MAX Byte Frames : 40042 > MAX Byte Frames : 0 Rx Frame Starts : 27930349 Multicast data OK Frame : 0 Broadcast data OK Frame : 0 Unicast data OK Frames : 27929934 Multicast Control Frames : 0 Broadcast Control Frames : 0 Unicast Control Frames : 415 Pause Control Frames : 0 ====================================================================== STATISTICS FOR BASE 0x0800 (Tx) ====================================================================== Fragmented Frames : 0 Jabbered Frames : 0 Any Size with FCS Err Frame : 0 Right Size with FCS Err Fra : 0 Multicast data Err Frames : 0 Broadcast data Err Frames : 0 Unicast data Err Frames : 0 Multicast control Err Frame : 0 Broadcast control Err Frame : 0 Unicast control Err Frames : 0 Pause control Err Frames : 0 64 Byte Frames : 0 65-127 Byte Frames : 6894742 128-255 Byte Frames : 9147409 256-511 Byte Frames : 8089346 512-1023 Byte Frames : 3411180 1024-1518 Byte Frames : 347630 1519 - MAX Byte Frames : 40042 > MAX Byte Frames : 0 Tx Frame Starts : 27930349 Multicast data OK Frame : 0 Broadcast data OK Frame : 0 Unicast data OK Frames : 27929934 Multicast Control Frames : 0 Broadcast Control Frames : 0 Unicast Control Frames : 415 Pause Control Frames : 0 ---------------- Done ---------------- UG-20025 Related Information KDB Answer: How do I compensate for the jitter of PLL cascading or non-dedicated clock path for Arria 10 PLL reference clock? Quick Start Guide

UG-20025 Compiling and Testing the Example Design in Hardware 1-9 Incremental Compilation for Hierarchical and Team-Based Design Programming Altera Devices Analyzing and Debugging Designs with System Console Quick Start Guide

Example Design Description 2 UG-20025 Subscribe The example design demonstrate the functionalities of the Low Latency 40G Ethernet IP core. You can generate the design from the Example Design tab of the LL 40G Ethernet graphical user interface (GUI) in the IP parameter editor. Features Standard XLAUI or CAUI external interface consisting of FPGA hard serial transceiver lanes operating at 10.3125 Gbps, or the CAUI-4 external interface consisting of four FPGA hard serial transceiver lanes operating at 25.78125 Gbps. Supports 40GBASE-KR4 PHY based on 64B/66B encoding with data striping and alignment markers to align data from multiple lanes. Avalon Memory-Mapped (Avalon-MM) management interface to access the IP core control and status registers. Avalon-ST data path interface connects to client logic with the start of frame in the most significant byte (MSB) when optional adapters are used. Interface has data width 256 or 512 bits depending on the data rate. RX CRC checking and error reporting. TX error insertion capability supports test and debug. Hardware and software reset control. Hardware and Software Requirements Altera uses the following hardware and software to test the example design: Quartus Prime software System Console ModelSim-AE, Modelsim-SE, NCsim (Verilog only), or VCS simulator Arria 10 GX Transceiver Signal Integrity Development Kit for hardware testing Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. *Other names and brands may be claimed as the property of others. ISO 9001:2008 Registered www.altera.com 101 Innovation Drive, San Jose, CA 95134

2-2 Functional Description UG-20025 Functional Description Figure 2-1: High Level Block Diagram for the LL 40GbE Hardware Design Example Arria 10 GX Transceiver Signal Integrity Development Kit Low Latency 40G Ethernet Hardware Example Design for Arria 10 Variations Client Logic Avalon-ST Avalon-ST Low latency 40G Ethernet IP Core MAC TX FIFO Transceiver PHY Avalon-MM Control and Status Interface Arria 10 Dynamic Reconfiguration Interface JTAG Avalon-MM Bridge System Console The Arria 10 Low Latency 40GbE hardware design example includes the following components: Low Latency 40GbE IP core with Avalon-ST user interfaces. The IP core does not support a hardware example design for variations with custom streaming user interfaces. Client logic that coordinates the programming of the IP core, and packet generation and checking. JTAG controller that communicates with the Altera System Console. You communicate with the client logic through the System Console. Table 2-1: Low Latency GbE IP Core Hardware Design Example File Descriptions File Names eth_ex_40g_a10.qpf eth_ex_40g_a10.qsf eth_ex_40g_a10.v Description Quartus Prime project file Quartus project settings file Top-level Verilog HDL design example file Example Design Description

UG-20025 Design Variations 2-3 File Names Description common/ Hardware design example support files Scripts hwtest/ hwtest/main.tcl System Console testing scripts Main file for accessing System Console Related Information Arria 10 GX Transceiver Signal Integrity Development Kit Webpage Design Variations Standard IP Core Variation The example design for standard 40GbE IP core variations that target an Arria 10 device configure a single ATX PLL and connect it to the xn clock network, which distributes the output tx_serial_clk signal to all four or ten individual transceiver channels. If this arrangement is not available for your design, you can use multiple external ATX and CMU PLLs to generate and distribute the tx_serial_clk signals for the individual channels. It also includes client logic to exercise the IP core. The client logic includes logic to ensure each packet is sent to the Avalon-ST interface without any intermediate idle cycles, in other words, that the data sent to this interface complies with the IP core requirements. Figure 2-2: IP Core Variation Testbench pll_locked ATX PLL Transceiver xn clock network... tx_serial_clk[9:0] Client Low Latency 40G Ethernet IP Core Logic Avalon-ST Avalon-ST MAC TX FIFO Transceiver PHY RX TX Avalon-MM Control and Status Interface Arria 10 Transceiver Reconfiguration Interface Example Design Description

2-4 40GBASE-KR4 IP Core Variation The simulation testbench instantiates the IP core and necessary PLLs. It interfaces directly with the Avalon-ST port to provide basic packet sending and receiving. The TX and RX lanes will be connected together to provide loopback testing capabilities. 40GBASE-KR4 IP Core Variation Illustrates the top-level modules of the LL 40GBASE-KR4 IP core variation testbench. To support the simulation of auto-negotiation, the testbench uses two instances of the IP core instead of configuring the IP core in loopback mode. Figure 2-3: 40GBASE-KR4 LL 40G Ethernet IP Core Testbench UG-20025 Test Controller & Test Result Checker Avalon-MM Register Poll Write Control 40GBASE-KR4 LL 40GbE MegaCore Function with Adapter TX Txvr PLL TX Txvr PLL 40GBASE-KR4 LL 40GbE MegaCore Function with Adapter Packet Generator Transmit Adapter 40GBASE-KR4 LL 40GbE IP Core without Adapter 40GBASE-KR4 LL 40GbE IP Core without Adapter Transmit Adapter Packet Generator Packet Checker Receive Adapter Receive Adapter Packet Checker Interface Signals Table 2-2: Example Design Interface Signals Signal Direction Interface clk_ref Input Clocks reset_async Input Reset tx_serial[3:0] / tx_ serial[9:0] Output Transceiver PHY serial data interface Related Information IP Core Signals Provides detailed description of the signals and the interfaces to which they belong. Example Design Registers Table 2-3: Packet Client Registers You can customize the LL 40GbE hardware design example by programming the packet client registers. Example Design Description

UG-20025 Example Design Registers 2-5 Addr Name Bit Description HW Reset Value Access 0x1000 PKT_CL_ SCRATCH [31:0] Scratch register available for testing. RW 0x1001 PKT_CL_CLNT [31:0] Four characters of IP block identification string "CLNT" 0x1002 PKT_CL_ FEATURE [9:0] Feature vector to match DUT. Bits [8:3] have the value of 0 to indicate the DUT does not have the property or the value of 1 to indicate the DUT has the property. Bit [0]: Has the value of 1 to indicate the DUT targets an Arria 10 device. Bit [1]: Has the value of 0 if the DUT is a LL 40GbE IP core; has the value of 1 if the DUT is a LL 100GbE IP core. Bit [2]: Reference clock frequency. Has the value 0 for 322 MHz; has the value of 1 for 644 MHz. Bit [3]: Indicates whether the DUT is a LL 40-GBASE KR4 IP core. Bit [4]: Inidcates whether the DUT is a CAUI-4 IP core. Bit [5]: Indicates whether the DUT includes PTP support. Bit [6]: Indicates whether the DUT includes pause support Bit [7]: Indicates whether the DUT provides local fault signaling. Bit [8]: Indicates whether the DUT has Use external MAC TX PLL turned on. Must have the value of 0. Bit [9]: Value 0 if the DUT has a custom streaming client interface; value 1 if the DUT has an Avalon-ST client interface. Must have the value of 1. RO RO 0x1006 PKT_CL_TSD [7:0] Arria 10 device temperature sensor diode readout in Fahrenheit. 0x1010 PKT_GEN_TX_ CTRL [3:0] Bit [0]: Reserved. Bit [1]: Packet generator disable bit. set this bit to the value of 1 to turn off the packet generator, and reset it to the value of 0 to turn on the packet generator. Bit [2]: Reserved. Bit [3]: Has the value of 1 if the IP core is in MAC loopback mode; has the value of 0 if the packet client uses the packet generator. 4'b0101 RO RW Example Design Description

2-6 Example Design Registers Addr Name Bit Description HW Reset Value UG-20025 Access 0x1015 PKT_CL_ LOOPBACK_ FIFO_ERR_ CLR [2:0] Reports MAC loopback errors. Bit [0]: FIFO underflow. Has the value of 1 if the FIFO has underflowed. This bit is sticky. Has the value of 0 if the FIFO has not underflowed. Bit [1]: FIFO overflow. Has the value of if the FIFO has overflowed. This bit is sticky. Has the value of 0 if the FIFO has not overflowed. Bit [2]: Assert this bit to clear bits [0] and [1]. 3'b0 RO 0x1016 PKT_CL_ LOOPBACK_ RESET [0] MAC loopback reset. Set to the value of 1 to reset the design example MAC loopback. 1'b0 RW Related Information IP Core Registers Provides description of the registers included in the Low Latency 40GbE IP core. Example Design Description

Document Revision History A UG-20025 Subscribe Table A-1: Revision History Date Changes Added link to KDB Answer that provides workaround for potential jitter on Arria 10 devices due to cascading ATX PLLs in the IP core. Refer to Generating the Design on page 1-3 and Compiling and Testing the Example Design in Hardware on page 1-6. Note: This design example user guide has not been updated to reflect minor changes in design generation in Quartus Prime releases later than the Quartus Prime software release v16.0. 2016.05.02 Initial release Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. *Other names and brands may be claimed as the property of others. ISO 9001:2008 Registered www.altera.com 101 Innovation Drive, San Jose, CA 95134