User Guide for intel models including: Interlaken 2nd Generation Agilex FPGA IP Design Example, Interlaken, 2nd Generation Agilex FPGA IP Design Example, Agilex FPGA IP Design Example, IP Design Example

Interlaken (2nd Generation) Intel Agilex™ FPGA IP Design Example User Guide

Updated for Intel Quartus Prime Design Suite: 21.3, IP Version: 20.0.1. This document describes the Interlaken (2nd Generation) Intel FPGA IP Design Example for Intel Agilex devices.

Interlaken, Interlaken Look-aside, Agilex, E-tile, design example, high-speed interface protocol, simulation, Hardware testing, PAM4, NRZ, Intel Agilex F-series Transceiver-SoC Development.....Kit

Intel Corporation

Download

1. Quick Start Guide

2. Design Example Description


File Info : application/pdf, 22 Pages, 364.72KB

PDF preview unavailable. Download the PDF instead.

666986?fileName=ug-dex-ilkn2-ag-683800-666986
Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
Updated for Intel® Quartus® Prime Design Suite: 21.3 IP Version: 20.0.1

Online Version Send Feedback

UG-20239

ID: 683800 Version: 2022.08.03

Contents
Contents
1. Quick Start Guide............................................................................................................ 3 1.1. Hardware and Software Requirements...................................................................... 4 1.2. Directory Structure................................................................................................ 4 1.3. Hardware Design Example Components.................................................................... 6 1.4. Generating the Design............................................................................................8 1.5. Simulating the Design Example Testbench.................................................................9 1.6. Compiling and Configuring the Design Example in Hardware...................................... 12 1.7. Testing the Hardware Design Example.................................................................... 13
2. Design Example Description..........................................................................................16 2.1. Design Example Behavior......................................................................................16 2.2. Interface Signals..................................................................................................16 2.3. Register Map....................................................................................................... 17
3. Interlaken (2nd Generation) Intel Agilex FPGA IP Design Example User Guide Archives.................................................................................................................. 20
4. Document Revision History for Interlaken (2nd Generation) Intel Agilex FPGA IP Design Example User Guide..................................................................................... 21

Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
2

Send Feedback

683800 | 2022.08.03 Send Feedback

1. Quick Start Guide

Figure 1.

The Interlaken (2nd Generation) FPGA IP core provides a simulation testbench and a hardware design example that supports compilation and hardware testing. When you generate the design example, the parameter editor automatically creates the files necessary to simulate, compile, and test the design in hardware. The design example is also available for Interlaken Look-aside feature.
The testbench and design example supports NRZ and PAM4 mode for E-tile devices. The Interlaken (2nd Generation) FPGA IP core generates design examples for all supported combinations of number of lanes and data rates.
Development Steps for the Design Example

Compilation
(Simulator)

Functional Simulation

Design Example Generation

Compilation
(Quartus Prime)

Hardware Testing

The Interlaken (2nd Generation) IP core design example supports the following features: · Internal TX to RX serial loopback mode · Automatically generates fixed size packets · Basic packet checking capabilities · Ability to use System Console to reset the design for re-testing purpose · PMA adaptation

Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. 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:2015 Registered

1. Quick Start Guide 683800 | 2022.08.03

Figure 2.

High-level Block Diagram for Interlaken (2nd Generation) Design Example Interlaken (2nd Generation) Design Example

System Console

JTAG Interface

Traffic Generator
Traffic Checker

Interlaken (2nd Generation)

Intel FPGA IP

Internal

Serial Loopback

Related Information · Interlaken (2nd Generation) FPGA IP User Guide · Interlaken (2nd Generation) Intel FPGA IP Release Notes
1.1. Hardware and Software Requirements
To test the example design, use the following hardware and software: · Intel® Quartus® Prime Pro Edition software version 21.3 · System Console · Supported simulators:
-- Siemens* EDA ModelSim* SE or QuestaSim* -- Synopsys* VCS* -- Cadence* Xcelium* · Intel AgilexTM F-Series Transceiver-SoC Development Kit (AGFB014R24A2E2V)
Related Information Intel Agilex F-Series Transceiver-SoC Development Kit User Guide
1.2. Directory Structure
The Interlaken (2nd Generation) IP core design example file directories contain the following generated files for the design example.

Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
4

Send Feedback

1. Quick Start Guide 683800 | 2022.08.03

Figure 3.

Directory Structure of the Generated Interlaken (2nd Generation) Example Design
<uflex_ilk_0_example_design>

example_design

ilk_uflex

hwtest sysconsole_testbench.tcl

quartus example_design.qpf example_design.qsf example_design.sdc

rtl
example_design.sv . .
<design files>

testbench vcstest.sh vlog_pro.do xcelium.sh

<design component>
sim synth ilk_uflex.cmp ilk_uflex.csv ilk_uflex.qgsimc ilk_uflex.html ilk_uflex.qip ilk_uflex.sip ilk_uflex.spd ilk_uflex.xml ilk_uflex_generation.rpt ilk_uflex.qgsynthc

(1) Generated only when you select "Enable Interlaken Look-aside mode" option in IP paramter editor.

(1)
ila_uflex

ilk_uflex.ip

<design component>
sim synth ilk_uflex.cmp ilk_uflex.csv ilk_uflex.qgsimc ilk_uflex.html ilk_uflex.qip ilk_uflex.sip ilk_uflex.spd ilk_uflex.xml ilk_uflex_generation.rpt ilk_uflex.qgsynthc

(1) ila_uflex.ip

The hardware configuration, simulation, and test files are located in

<design_example_installation_dir>/uflex_ilk_0_example_design.

Table 1.

Interlaken (2nd Generation) IP Core Hardware Design Example File Descriptions
These files are in the <design_example_installation_dir>/uflex_ilk_0_example_design/ example_design/quartus directory.

File Names

Description

example_design.qpf

Intel Quartus Prime project file.

example_design.qsf

Intel Quartus Prime project settings file

example_design.sdc jtag_timing_template.sdc

Synopsys Design Constraint file. You can copy and modify for your own design.

sysconsole_testbench.tcl

Main file for accessing System Console

Table 2.

Interlaken (2nd Generation) IP Core Testbench File Description
This file is in the <design_example_installation_dir>/uflex_ilk_0_example_design/ example_design/rtl directory.

File Name

Description

top_tb.sv

Top-level testbench file.

Table 3.

Interlaken (2nd Generation) IP Core Testbench Scripts
These files are in the <design_example_installation_dir>/uflex_ilk_0_example_design/ example_design/testbench directory.

File Name

Description

vcstest.sh

The VCS script to run the testbench.

vlog_pro.do

The ModelSim SE or QuestaSim script to run the testbench.

xcelium.sh

The Xcelium script to run the testbench.

Send Feedback

Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
5

1. Quick Start Guide 683800 | 2022.08.03

1.3. Hardware Design Example Components

The example design connects system and PLL reference clocks and required design components. The example design configures the IP core in internal loopback mode and generates packets on the IP core TX user data transfer interface. The IP core sends these packets on the internal loopback path through the transceiver.

After the IP core receiver receives the packets on the loopback path, it processes the Interlaken packets and transmits them on the RX user data transfer interface. The example design checks that the packets received and transmitted match.

The hardware example design includes external PLLs. You can examine the clear text files to view sample code that implements one possible method to connect external PLLs to the Interlaken (2nd Generation) FPGA IP.

The Interlaken (2nd Generation) hardware design example includes the following components:
1. Interlaken (2nd Generation) FPGA IP
2. Packet Generator and Packet Checker
3. JTAG controller that communicates with System Console. You communicate with the client logic through the System Console.

Figure 4.

Interlaken (2nd Generation) Hardware Design Example High Level Block Diagram for E-tile NRZ Mode Variations

Intel Agilex F-Series Transceiver SoC Development Board Interlaken (2nd Generation) Intel FPGA IP Hardware Example Design

Packet Generator

Transmit User Interface

Interlaken (2nd Generation) IP Core Transceiver PHY
Lane n

pll_ref_clk PLL Reference Clock Generator

Control and Status Register Control

Packet Checker

Receive User Interface

Reconfiguration Avalon-MM Interface

JTAG Avalon-MM Bridge

reconfig_clk mm_clk

mgmt_clk

Lane 1

rx_usr_clk

(1)

Lane 0

tx_usr_clk IO PLL

System Console
(1) IO PLL is not present if you generate design example for Interlaken Look-aside mode.
Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide 6

Send Feedback

1. Quick Start Guide 683800 | 2022.08.03

Figure 5.

The Interlaken (2nd Generation) hardware design example that targets an E-tile PAM4 mode variations requires an additional clock mac_clkin that the IO PLL generates. This PLL must use the same reference clock that drives the pll_ref_clk.

Interlaken (2nd Generation) Hardware Design Example High Level Block Diagram for E-tile PAM4 Mode Variations
Intel Agilex F-Series Transceiver SoC Development Board
Interlaken (2nd Generation) Intel FPGA IP Hardware Example Design

Packet Generator

Interlaken (2nd Generation) IP Core

Transmit User

Transceiver PHY

Interface

Lane n

Note:

Control and Status Register Control

Packet Checker

Receive User Interface

Reconfiguration Avalon-MM Interface
JTAG Avalon-MM Bridge

rx_usr_clk tx_usr_clk

IO PLL(1)

reconfig_clk
mm_clk Lane 1
mac_clkin

mgmt_clk

IO PLL

Lane 0

396 MHz

mac_pll_ref_clk

pll_ref_clk

pll_ref_clk

System Console
(1) IO PLL is not present if you generate design example for Interlaken Look-aside mode.
For E-tile PAM4 mode variations, when you enable the Preserve unused transceiver channels for PAM4 parameter, an additional reference clock port is added (pll_ref_clk [1]). This port must be driven at the same frequency as defined in the IP parameter editor (Reference clock frequency for preserved channels). The Preserve unused transceiver channels for PAM4 is optional. The pin and related constraints assigned to this clock is visible in the QSF when you select Intel Stratix® 10 or Intel Agilex development kit for design generation.
For design example simulation, the testbench always defines same frequency for pll_ref_clk[0] and pll_ref_clk[1].
Related Information Intel Agilex F-Series Transceiver-SoC Development Kit User Guide

Send Feedback

Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
7

1. Quick Start Guide 683800 | 2022.08.03

1.4. Generating the Design
Figure 6. 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 hardware example design and testbench:
1. In the Intel Quartus Prime Pro Edition software, click File  New Project Wizard to create a new Intel Quartus Prime project, or click File  Open Project to open an existing Intel Quartus Prime project. The wizard prompts you to specify a device.
2. Specify the device family Agilex and select device for your design.
3. In the IP Catalog, locate and double-click Interlaken (2nd Generation) Intel FPGA IP. The New IP Variant window appears.
4. Specify a top-level name <your_ip> for your custom IP variation. The parameter editor saves the IP variation settings in a file named <your_ip>.ip.
5. Click OK. The parameter editor appears.

Figure 7.

Example Design Tab in the Interlaken (2nd Generation) Intel FPGA IP Parameter Editor

6. On the IP tab, specify the parameters for your IP core variation.
7. On the PMA Adaptation tab, specify the PMA adaptation parameters if you plan to use PMA adaptation for your E-tile device variations. This step is optional:
· Select Enable adaptation load soft IP option.
Note: You must enable Enable Native PHY Debug Master Endpoint (NPDME) option on the IP tab when PMA adaptation is enabled.
· Select a PMA adaptation preset for PMA adaptation Select parameter.
· Click PMA Adaptation Preload to load the initial and continuous adaptation parameters.

Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
8

Send Feedback

1. Quick Start Guide 683800 | 2022.08.03

· Specify the number of PMA configurations to support when multiple PMA configurations are enabled using Number of PMA configuration parameter.
· Select which PMA configuration to load or store using Select a PMA configuration to load or store.
· Click Load adaptation from selected PMA configuration to load the selected PMA configuration settings.
For more information about the PMA adaptation parameters, refer to the E-tile Transceiver PHY User Guide.
8. 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: You must select at least one of the Simulation or Synthesis options generate the Example Design Files.
9. For Generated HDL Format, only Verilog is available.
10. For Target Development Kit select the appropriate option.
Note: The Intel Agilex F-Series Transceiver SoC Development Kit option is only available when your project specifies Intel Agilex device name starting with AGFA012 or AGFA014. When you select the Development Kit option, the pin assignments are set according to the Intel Agilex Development Kit device part number AGFB014R24A2E2V and may differ from your selected device. If you intend to test the design on hardware on a different PCB, select No development kit option and make the appropriate pin assignments in the .qsf file.
11. Click Generate Example Design. The Select Example Design Directory window appears.
12. If you want to modify the design example directory path or name from the defaults displayed (uflex_ilk_0_example_design), browse to the new path and type the new design example directory name.
13. Click OK.
Related Information
· Intel Agilex F-Series Transceiver-SoC Development Kit User Guide
· E-tile Transceiver PHY User Guide

1.5. Simulating the Design Example Testbench
Refer to Interlaken (2nd Generation) Hardware Design Example High Level Block for E-tile NRZ Mode Variations and Interlaken (2nd Generation) Hardware Design Example High Level Block for E-tile PAM4 Mode Variations block diagrams of the simulation testbench.
Figure 8. Procedure

Change to Testbench Directory

Run <Simulation Script>

Analyze Results

Send Feedback

Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
9

1. Quick Start Guide 683800 | 2022.08.03

Follow these steps to simulate the testbench:
1. At the command prompt, change to the testbench simulation directory. The directory is <design_example_installation_dir>/example_design/ testbench for Intel Agilex devices.
2. Run the simulation script for the supported simulator of your choice. The script compiles and runs the testbench in the simulator. Your script should check that the SOP and EOP counts match after simulation is complete. Refer to the table Steps to Run Simulation.

Table 4.

Steps to Run Simulation

Simulator

Instructions

ModelSim SE or QuestaSim

In the command line, type -do vlog_pro.do If you prefer to simulate without bringing up the ModelSim GUI, type vsim -c -do vlog_pro.do

VCS

In the command line, type sh vcstest.sh

Xcelium

In the command line, type sh xcelium.sh

3. Analyze the results. A successful simulation sends and receives packets, and displays "Test PASSED". The testbench for the design example completes the following tasks: · Instantiates the Interlaken (2nd Generation) Intel FPGA IP. · Prints PHY status. · Checks metaframe synchronization (SYNC_LOCK) and word (block) boundaries (WORD_LOCK). · Waits for individual lanes to be locked and aligned. · Starts transmitting packets. · Checks packet statistics: -- CRC24 errors -- SOPs -- EOPs The following sample output illustrates a successful simulation test run in Interlaken mode:

****************************************** INFO: Waiting for lanes to be aligned All of the receiver lanes are aligned and are ready to
receive traffic. ***************************************************
*************************************************** INFO: Start transmitting packets
***************************************************
*************************************************** INFO: Stop transmitting packets
***************************************************
*************************************************** INFO: Checking packets statistics
***************************************************
CRC 24 errors reported: 0 SOPs transmitted: 100

Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
10

Send Feedback

1. Quick Start Guide 683800 | 2022.08.03
EOPs transmitted: 100 SOPs received: 100 EOPs received: 100 ECC error count: 0
*************************************************** INFO: Test PASSED
***************************************************
Note: The Interlaken design example simulation testbench sends 100 packets and receives 100 packets.
The following sample output illustrates a successful simulation test run in Interlaken Look-aside mode:
Check TX and RX Counter equal or not ------------------------------------------------READ_MM: address 4000014 = 00000001
------------------------------------------------De-assert Counter equal bit
------------------------------------------------WRITE_MM: address 4000001 gets 00000001 WRITE_MM: address 4000001 gets 00000000
------------------------------------------------RX_SOP COUNTER
------------------------------------------------READ_MM: address 400000c = 0000006a
------------------------------------------------RX_EOP COUNTER
READ_MM: address 400000d = 0000006a -------------------------------------------------
READ_MM: address 4000010 = 00000000
------------------------------------------------Display Final Report
------------------------------------------------0 Detected Error 0 CRC24 errors reported
106 SOPs transmitted 106 EOPs transmitted 106 SOPs received 106 EOPs received -------------------------------------------------
------------------------------------------------Finish Simulation
-------------------------------------------------
------------------------------------------------TEST PASSED
--------------------------------------------------
Note: The number of packets (SOPs and EOPs) varies per lane in Interlaken Lookaside design example simulation sample output.
Related Information Hardware Design Example Components on page 6

Send Feedback

Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
11

1. Quick Start Guide 683800 | 2022.08.03

1.6. Compiling and Configuring the Design Example in Hardware
Figure 9. Procedure

Compile Design in Quartus Prime
Software

Set up Hardware

Program Device

Test Design in Hardware

To compile and run a demonstration test on the hardware example design, follow these steps:
1. Ensure hardware example design generation is complete.
2. In the Intel Quartus Prime Pro Edition software, open the Intel Quartus Prime project <design_example_installation_dir>/example_design/quartus/ example_design.qpf>.
3. On the Processing menu, click Start Compilation.
4. After successful compilation, a .sof file is available in your specified directory. Follow these steps to program the hardware example design on the Intel Agilex device:
a. Connect Intel Agilex F-Series Transceiver-SoC Development Kit to the host computer.
b. Launch the Clock Control application, which is part of the development kit, and set new frequencies for the design example. Below is the frequency setting in the Clock Control application:
· Si5338 (U37), CLK1- 100 MHz
· Si5338 (U36), CLK2- 153.6 MHz
· Si549 (Y2), OUT- Set to the value of pll_ref_clk(1) per your design requirement.
c. On the Tools menu, click Programmer.
d. In the Programmer, click Hardware Setup.
e. Select a programming device.
f. Select and add the Intel Agilex F-Series Transceiver-SoC Development Kit to which your Intel Quartus Prime session can connect.
g. Ensure that Mode is set to JTAG.
h. Select the Intel Agilex device and click Add Device. The Programmer displays a block diagram of the connections between the devices on your board.
i. In the row with your .sof, check the box for the .sof.
j. Check the box in the Program/Configure column.
k. Click Start.

Related Information · Programming Intel FPGA Devices on page 0 · Analyzing and Debugging Designs with System Console

(1) Not all frequencies can be derived by the Clock Control GUI application.
Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide 12

Send Feedback

1. Quick Start Guide 683800 | 2022.08.03
· Intel Agilex F-Series Transceiver-SoC Development Kit User Guide
1.7. Testing the Hardware Design Example
After you compile the Interlaken (2nd Generation) Intel FPGA IP core design example and configure your device, you can use the System Console to program the IP core and its embedded Native PHY IP core registers.
Follow these steps to bring up the System Console and test the hardware design example: 1. In the Intel Quartus Prime Pro Edition software, on the Tools menu, click System
Debugging Tools  System Console. 2. Change to the <design_example_installation_dir>example_design/
hwtest directory. 3. To open a connection to the JTAG master, type the following command:
source sysconsole_testbench.tcl
4. You can turn on internal serial loopback mode with the following design example commands: a. stat: Prints general status info. b. sys_reset: Resets the system. c. loop_on: Turns on internal serial loopback. d. run_example_design: Runs the design example. Note: You must run loop_on command before run_example_design command. The run_example_design runs the following commands in a sequence: sys_reset->stat->gen_on->stat->gen_off. Note: When you select the Enable adaptation load soft IP option, the run_example_design command performs the initial adaptation calibration on RX side by running the run_load_PMA_configuration command.
5. You can turn off internal serial loopback mode with the following design example command: a. loop_off: Turns off internal serial loopback.
6. You can program the IP core with the following additional design example commands: a. gen_on: Enables packet generator. b. gen_off: Disables packet generator. c. run_test_loop: Runs the test for <N> times for E-tile NRZ and PAM4 variations. d. clear_err: Clears all sticky error bits. e. set_test_mode <min_okt_size> <max_pkt_size> <step> <num_to_run>: Sets up test to run in a specific mode. f. get_test_mode: Prints the current test mode. g. set_burst_size <burst_size>: Sets burst size in bytes.

Send Feedback

Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
13

1. Quick Start Guide 683800 | 2022.08.03

h. get_burst_size: Prints burst size information.
The successful test prints HW_TEST:PASS message. Below is the passing criteria for a test run: · No errors for CRC32, CRC24, and checker. · Transmitted SOPs and EOPs should be match with received. The following sample output illustrates a successful test run in Interlaken mode:
__________________________________________________________ INFO: INFO: Stop generating packtes
__________________________________________________________

==== STATUS REPORT ====

TX KHz

: 402813

RX KHz

: 402813

Freq locks

: 0x0000ff

TX PLL lock : 0x000001

Align

: 0x00c10f

Rx LOA

: 0x000000

Tx LOA

: 0x000000

word lock sync lock

: 0x0000ff : 0x0000ff

CRC32 errors : 0 CRC24 errors : 0 Checker errors : 0

FIFO err flags : 0x000000

SOPs transmitted : 1087913770

EOPs transmitted : 1087913770

SOPs received

: 1087913770

EOPs received

: 1087913770

ECC corrected

: 0

ECC error

: 0

Elapsed 161 sec since powerup

HW_TEST : PASS

The successful test prints HW_TEST : PASS message. Below is the passing criteria for a test run:
· No errors for CRC32, CRC24, and checker.
· Transmitted SOPs and EOPs should be match with received.
The following sample output illustrates a successful test run in Interlaken Lookaside mode:

__________________________________________________________ INFO: INFO: Stop generating packtes
__________________________________________________________

==== STATUS REPORT ====

TX KHz

: 402813

RX KHz

: 402812

Freq locks

: 0x000fff

TX PLL lock : 0x000001

Align

: 0x00c10f

Rx LOA

: 0x000000

Tx LOA

: 0x000000

word lock sync lock

: 0x000fff : 0x000fff

Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
14

Send Feedback

1. Quick Start Guide 683800 | 2022.08.03

CRC32 errors : 0 CRC24 errors : 0 Checker errors : 0

SOPs transmitted EOPs transmitted SOPs received EOPs received

: 461 : 461 : 461 : 461

Elapsed 171 sec since powerup

HW_TEST : PASS

Send Feedback

Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
15

683800 | 2022.08.03 Send Feedback

2. Design Example Description
The design example demonstrates the functionalities of the Interlaken IP core. Related Information Interlaken (2nd Generation) FPGA IP User Guide
2.1. Design Example Behavior
To test the design in hardware, type the following commands in the System Console:: 1. Source the setup file:
% source <design_example>uflex_ilk_0_example_design/example_design/hwtest/ sysconsole_testbench.tcl 2. Run the test:

% run_example_design
3. The Interlaken (2nd Generation) hardware design example completes the following steps:
a. Resets the Interlaken (2nd Generation) IP.
b. Configures the Interlaken (2nd Generation) IP in internal loopback mode.
c. Sends a stream of Interlaken packets with predefined data in the payload to the TX user data transfer interface of the IP core.
d. Checks the received packets and reports the status. The packet checker included in the hardware design example provides the following basic packet checking capabilities:
· Checks that the transmitted packet sequence is correct.
· Checks that the received data matches the expected values by ensuring both the start of packet (SOP) and end of packet (EOP) counts align while data is being transmitted and received.

2.2. Interface Signals

Table 5.

Design Example Interface Signals

Port Name

Direction

Width (Bits)

mgmt_clk

Input

1

pll_ref_clk / pll_ref_clk[1:0](2)

Input

1/2

Description
System clock input. Clock frequency must be 100 MHz.
Transceiver reference clock. Drives the RX CDR PLL.
continued...

Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. 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:2015 Registered

2. Design Example Description 683800 | 2022.08.03

Port Name

Direction

rx_pin tx_pin rx_pin_n
tx_pin_n

Input Output Input
Output

mac_clk_pll_ref

Input

usr_pb_reset_n

Input

Related Information Interface Signals

Width (Bits)
Number of lanes Number of lanes Number of lanes Number of lanes
1 1

Description
pll_ref_clk[1] is only available when you enable Preserve unused Note: transceiver channels for PAM4 parameter in E-tile PAM4 mode IP variations.
Receiver SERDES data pin.
Transmit SERDES data pin.
Receiver SERDES data pin. This signal is only available in E-tile PAM4 mode device variations.
Transmit SERDES data pin. This signal is only available in E-tile PAM4 mode device variations.
This signal must be driven by a PLL and must use the same clock source that drives the pll_ref_clk. This signal is only available in E-tile PAM4 mode device variations.
System reset.

2.3. Register Map

Note:

· Design Example register address starts with 0x20** while the Interlaken IP core register address starts with 0x10**.
· Access code: RO--Read Only, and RW--Read/Write.
· System console reads the design example registers and reports the test status on the screen.

Table 6.

Design Example Register Map for Interlaken Design Example

Offset 8'h00

Name

Access Reserved

Description

8'h01 8'h02

System PLL reset

Reserved

Following bits indicates system PLL reset request and

enable value:

RO

· Bit [0] - sys_pll_rst_req

· Bit [1] - sys_pll_rst_en

8'h03

RX lane aligned

RO

Indicates the RX lane alignment.

8'h04

WORD locked

RO

[NUM_LANES­1:0] ­ Word (block) boundaries identification.

continued...

(2) When you enable Preserve unused transceiver channels for PAM4 parameter, an additional reference clock port is added to preserve the unused PAM4 slave channel.

Send Feedback

Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
17

2. Design Example Description 683800 | 2022.08.03

Offset 8'h05 8'h06 - 8'h09 8'h0A

Name Sync locked CRC32 error count CRC24 error count

8'h0B

Overflow/Underflow signal

8'h0C 8'h0D

SOP count EOP count

8'h0E

Error count

8'h0F 8'h10 8'h11 8'h14
8'h15 8'h16 8'h39 8'h40

send_data_mm_clk Checker error
System PLL lock TX SOP count
TX EOP count Continuous packet
ECC error count ECC corrected error count

Access RO RO RO
RO
RO RO
RO
RW
RO RO RO RW RO RO

Description
[NUM_LANES­1:0] ­ Metaframe synchronization.
Indicates the CRC32 error count.
Indicates the CRC24 error count.
Following bits indicate: · Bit [3] - TX underflow signal · Bit [2] - TX overflow signal · Bit [1] - RX overflow signal
Indicates the number of SOP.
Indicates the number of EOP
Indicates the number of following errors: · Loss of lane alignment · Illegal control word · Illegal framing pattern · Missing SOP or EOP indicator
Write 1 to bit [0] to enable the generator signal.
Indicates the checker error. (SOP data error, Channel number error, and PLD data error)
Bit [0] indicates PLL lock indication.
Indicates number of SOP generated by the packet generator.
Indicates number of EOP generated by the packet generator.
Write 1 to bit [0] to enable the continuous packet.
Indicates number of ECC errors.
Indicates number of corrected ECC errors.

Table 7.

Design Example Register Map for Interlaken Look-aside Design Example
Use this register map when you generate the design example with Enable Interlaken Look-aside mode parameter turned on.

Offset

Name

Access

Description

8'h00

Reserved

8'h01

Counter reset

RO

Write 1 to bit [0] to clear TX and RX counter equal bit.

8'h02

System PLL reset

Following bits indicates system PLL reset request and

enable value:

RO

· Bit [0] - sys_pll_rst_req

· Bit [1] - sys_pll_rst_en

8'h03

RX lane aligned

RO

Indicates the RX lane alignment.

8'h04

WORD locked

RO

[NUM_LANES­1:0] ­ Word (block) boundaries identification.

8'h05

Sync locked

RO

[NUM_LANES­1:0] ­ Metaframe synchronization.

8'h06 - 8'h09

CRC32 error count

RO

Indicates the CRC32 error count.

8'h0A

CRC24 error count

RO

Indicates the CRC24 error count.

continued...

Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
18

Send Feedback

2. Design Example Description 683800 | 2022.08.03

Offset 8'h0B 8'h0C 8'h0D
8'h0E
8'h0F 8'h10 8'h11 8'h13 8'h14
8'h15 8'h16 8'h17 8'h23 8'h24

Name
SOP count EOP count
Error count
send_data_mm_clk Checker error
System PLL lock Latency count TX SOP count TX EOP count
Continuous packet TX and RX counter equal
Enable latency Latency ready

Access

Description

Reserved

RO

Indicates the number of SOP.

RO

Indicates the number of EOP

Indicates the number of following errors:

· Loss of lane alignment

RO

· Illegal control word

· Illegal framing pattern

· Missing SOP or EOP indicator

RW

Write 1 to bit [0] to enable the generator signal.

RO

Indicates the checker error. (SOP data error, Channel number error, and PLD data error)

RO

Bit [0] indicates PLL lock indication.

RO

Indicates number of latency.

RO

Indicates number of SOP generated by the packet generator.

RO

Indicates number of EOP generated by the packet generator.

RO

Write 1 to bit [0] to enable the continuous packet.

RW

Indicates TX and RX counter are equal.

WO

Write 1 to bit [0] to enable latency measurement.

RO

Indicates latency measurement are ready.

Send Feedback

Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
19

683800 | 2022.08.03 Send Feedback
3. Interlaken (2nd Generation) Intel Agilex FPGA IP Design Example User Guide Archives
For the latest and previous versions of this user guide, refer to the Interlaken (2nd Generation) Intel Agilex FPGA IP Design Example User Guide HTML version. Select the version and click Download. If an IP or software version is not listed, the user guide for the previous IP or software version applies. IP versions are the same as the Intel Quartus Prime Design Suite software versions up to v19.1. From Intel Quartus Prime Design Suite software version 19.2 or later, IP cores have a new IP versioning scheme.

Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. 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:2015 Registered

683800 | 2022.08.03 Send Feedback

4. Document Revision History for Interlaken (2nd Generation) Intel Agilex FPGA IP Design Example User Guide

Document Version 2022.08.03 2021.10.04 2021.02.24
2020.12.14
2020.10.16 2020.06.22

Intel Quartus Prime Version
21.3 21.3 20.4
20.4
20.2 20.2

IP Version 20.0.1 20.0.1 20.0.1
20.0.0
19.3.0 19.3.0

Changes
Corrected the device OPN for the Intel Agilex F-Series Transceiver-SoC Development Kit.
· Added support for QuestaSim simulator. · Removed support for NCSim simulator.
· Added information about preserving the unused transceiver channel for PAM4 in section: Hardware Design Example Components.
· Added the pll_ref_clk[1] signal description in section: Interface Signals.
· Updated sample hardware test output for Interlaken mode and Interlaken Look-aside mode in section Testing the Hardware Design Example.
· Updated register map for Interlaken Look-aside design example in section Register Map.
· Added a passing criteria for a successful hardware test run in section Testing the Hardware Design Example.
Corrected command to run the initial adaptation calibration on RX side in Testing the Hardware Design Example section.
· The design example is available for Interlaken Lookaside mode.
· Hardware testing of the design example is available for Intel Agilex device variations.
· Added Figure: High-level Block Diagram for Interlaken (2nd Generation) Design Example.
· Updated following sections: -- Hardware and Software Requirements -- Directory Structure
· Modified the following figures to include Interlaken Look-aside related update: -- Figure: Interlaken (2nd Generation) Hardware Design Example High Level Block Diagram for Etile NRZ Mode Variations -- Figure: Interlaken (2nd Generation) Hardware Design Example High Level Block Diagram for Etile PAM4 Mode Variations
· Updated Figure: IP Parameter Editor. · Added information about the frequency settings in
the clock control application in section Compiling and Configuring the Design Example in Hardware.
continued...

Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. 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:2015 Registered

4. Document Revision History for Interlaken (2nd Generation) Intel Agilex FPGA IP Design Example User Guide
683800 | 2022.08.03

Document Version
2019.09.30 2019.07.01

Intel Quartus Prime Version
19.3 19.2

IP Version

Changes

19.2.1 19.2

· Added test run outputs for the Interlaken Lookaside in the following sections: -- Simulating the Design Example Testbench -- Testing the Hardware Design Example
· Added following new signals in Interface Signals section: -- mgmt_clk
-- rx_pin_n
-- tx_pin_n
-- mac_clk_pll_ref
· Added register map for Interlaken Look-aside design example in section: Register Map.
Removed clk100. The mgmt_clk serves as a reference clock to the IO PLL in the following: · Figure: Interlaken (2nd Generation) Hardware
Design Example High Level Block Diagram for E-tile NRZ Mode Variations. · Figure: Interlaken (2nd Generation) Hardware Design Example High Level Block Diagram for E-tile PAM4 Mode Variations.
Initial release.

Interlaken (2nd Generation) Intel® AgilexTM FPGA IP Design Example User Guide
22

Send Feedback



References

Antenna House PDF Output Library 6.6.1359 (Linux64)