32
O-RAN Intel ® FPGA IP Design Example User Guide Updated for Intel ® Quartus ® Prime Design Suite: 21.2 IP Version: 1.5.1 Subscribe Send Feedback UG-20317 | 2021.09.14 Latest document on the web: PDF | HTML

O-RAN Intel® FPGA IP Design Example User Guide

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 2: O-RAN Intel® FPGA IP Design Example User Guide

Contents

1. About the O-RAN Intel® FPGA IP Design Example...........................................................3

2. Getting Started with the O-RAN Intel FPGA IP Design Example...................................... 42.1. Generating the O-RAN IP Design Example.................................................................4

2.1.1. O-RAN IP Design Example Parameters..........................................................62.2. Simulating the O-RAN IP Design Example................................................................. 6

2.2.1. Simulating the O-RAN Design Example for Intel Agilex F-Tile Devices.............. 152.2.2. Enabling Dynamic Reconfiguation to the Ethernet IP..................................... 152.2.3. O-RAN IP Design Example Testbench.......................................................... 15

2.3. Operating the O-RAN IP Design Example.................................................................162.3.1. Generating and Downloading the Programming .elf File............................. 20

3. O-RAN Intel FPGA IP Design Example Functional Description....................................... 23

4. O-RAN IP Design Example User Guide Archives............................................................ 31

5. Document Revision History for the O-RAN Intel FPGA IP Design Example User Guide.. 32

Contents

O-RAN Intel® FPGA IP Design Example User Guide Send Feedback

2

Page 3: O-RAN Intel® FPGA IP Design Example User Guide

1. About the O-RAN Intel® FPGA IP Design ExampleThe design example allows you to simulate, compile, and test your O-RAN IP instanceon various development boards. The design example includes Ethernet IP, eCPRI IP,eCPRI IOPLL, PTP IOPLL, and a test wrapper.

The compiled hardware design example runs on the:

• Intel® Agilex™ F-Series Transceiver-SoC Development Kit for the E-tile designexamples

• Intel Arria® 10 GX Signal Integrity Development Kit

• Intel Stratix® 10 GX Transceiver Signal Integrity Development Kit for the H-tiledesign examples

• Intel Stratix 10 TX Transceiver Signal Integrity Development Kit for the E-tiledesign examples

The design example on F-tile devices supports simulations only.

Related Information

• O-RAN Intel FPGA IP User Guide

• O-RAN Intel FPGA IP Device Support

• About the O-RAN Intel FPGA IP

• eCPRI Intel FPGA IP User Guide

• IOPLL Intel FPGA IP Core User Guide

• Intel Agilex F-series Transceiver SoC Development Kit

• Arria 10 GX Transceiver Signal Integrity Development Kit User Guide

• Intel Stratix 10 GX Transceiver Signal Integrity Development Kit User Guide

• Intel Stratix 10 TX Transceiver Signal Integrity Development Kit User Guide

UG-20317 | 2021.09.14

Send Feedback

Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of IntelCorporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to currentspecifications in accordance with Intel's standard warranty, but reserves the right to make changes to anyproducts and services at any time without notice. Intel assumes no responsibility or liability arising out of theapplication or use of any information, product, or service described herein except as expressly agreed to inwriting by Intel. Intel customers are advised to obtain the latest version of device specifications before relyingon any published information and before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2015Registered

Page 4: O-RAN Intel® FPGA IP Design Example User Guide

2. Getting Started with the O-RAN Intel FPGA IP DesignExample

2.1. Generating the O-RAN IP Design Example

Quickly configure your custom IP variation in the IP Parameter Editor and generate adesign example.

Before you begin, ensure both the eCPRI Intel FPGA IP and ORAN Intel FPGA IP areinstalled in the <quartus_installation_dir>/ip/altera_cloud directory.

1. Create an Intel Quartus® Prime Pro Edition project in which to integrate your IP.

a. In the Intel Quartus Prime Pro Edition, click File ➤ New Project Wizard tocreate a new Intel Quartus Prime project, or File ➤ Open Project to open anexisting Quartus Prime project. The wizard prompts you to specify a device.

b. Specify the device family that meets the speed grade requirements for the IP.

c. Click Finish.

2. In the IP Catalog, select O-RAN Intel FPGA IP.The New IP Variation window appears.

3. Specify a top-level name for your new custom IP variation.The parameter editor saves the IP variation settings in a file named<your_ip>.ip.

4. Click OK. The parameter editor appears.

UG-20317 | 2021.09.14

Send Feedback

Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of IntelCorporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to currentspecifications in accordance with Intel's standard warranty, but reserves the right to make changes to anyproducts and services at any time without notice. Intel assumes no responsibility or liability arising out of theapplication or use of any information, product, or service described herein except as expressly agreed to inwriting by Intel. Intel customers are advised to obtain the latest version of device specifications before relyingon any published information and before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2015Registered

Page 5: O-RAN Intel® FPGA IP Design Example User Guide

Figure 1. O-RAN IP Parameter Editor

5. Specify the parameters for your IP variation. Refer to Parameters for informationabout specific IP parameters.

6. Click the Design Example tab and specify the parameters for your designexample.

Figure 2. Design Example Parameter Editor

7. Click Generate HDL.The Generation dialog box appears.

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

Send Feedback O-RAN Intel® FPGA IP Design Example User Guide

5

Page 6: O-RAN Intel® FPGA IP Design Example User Guide

8. Specify output file generation options, and then click Generate.The IP variation files generate according to your specifications.

9. Click Finish. The parameter editor adds the top-level .ip file to the currentproject automatically. If you are prompted to manually add the .ip file to theproject, click Project ➤ Add/Remove Files in Project to add the file.

10. After generating and instantiating your IP variation, make appropriate pinassignments to connect ports and set any appropriate per-instance RTLparameters.

Related Information

O-RAN IP Parameters

2.1.1. O-RAN IP Design Example Parameters

Table 1. O-RAN IP Design Example Parameters

Parameter Values Description

GenerateExampleDesign for

Simulation Select to generate the simulation files. For example for F-tile designs thatsupport simulation only.

Synthesis Select to generate the synthesis files

Synthesis &Simulation

Select to generate the synthesis and simulation files.

Generate FileFormat

VerilogVHDL Select either Verilog HDL or VHDL as the format for generated RTL filessimulation and synthesis. Some submodules are generated in mixed (bothVerilog HDL and VHDL) formats.

Select board Agilex SIDevelopment Kit

Select to allow you to test the design example on the selected Inteldevelopment kit. The wizard automatically selects the target device to matchthe device on the selected Intel development kit. Select AGFB014R24A2E3Vfor an Intel Agilex 10 E-tile device. If your board revision has a different speedgrade of these devices above, you can correct it.

Arria SignalIntegrityDevelopment Kit

Select to allow you to test the design example on the selected Inteldevelopment kit. The wizard automatically selects the target device to matchthe device on the selected Intel development kit. Select 10AX115S2F45I1SGfor an Intel Arria 10 device. If your board revision has a different speed gradeof these devices above, you can correct it.

Stratix 10 SignalIntegrityDevelopment Kit

Select to allow you to test the design example on the selected Inteldevelopment kit. The wizard automatically selects the target device to matchthe device on the selected Intel development kit. Select 1SX280HU2F50E2VGfor Intel Stratix 10 H-Tile and 1ST280EY2F55E2VG for Intel Stratix 10 E-Tile.If your board revision has a different speed grade of these devices above, youcan correct it.

No DevelopmentKit

Select to exclude development kit hardware for the design example. Forexample for F-tile designs that support simulation only.

Number ofchannels

1 to 4 Select the number of channels to generate in the design example.

2.2. Simulating the O-RAN IP Design Example

1. Turn on Example Design ➤ Files Types Generated ➤ Simulation.

2. Run the script to simulate the testbench in the ModelSim, VCS, or VCS MXsimulators.

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

O-RAN Intel® FPGA IP Design Example User Guide Send Feedback

6

Page 7: O-RAN Intel® FPGA IP Design Example User Guide

Table 2. Simulation Scripts

Simulator File Directory Script

ModelSim Altera SE <variation name> oran_testbench/simulation/setup_scripts/mentor run_vsim.do

VCS <variation name>oran _testbench/simulation/setup_scripts/synopsys/vcs

run_vcs.sh

VCSMX <variation name>oran _testbench/simulation/setup_scripts/synopsys/vcsmx

run_vcsmx.sh

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

Send Feedback O-RAN Intel® FPGA IP Design Example User Guide

7

Page 8: O-RAN Intel® FPGA IP Design Example User Guide

Figure 3. Transmitter Top-Level Simulation

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

O-RAN Intel® FPGA IP Design Example User Guide Send Feedback

8

Page 9: O-RAN Intel® FPGA IP Design Example User Guide

Figure 4. Transmitter Top-Level Simulation (Zoomed)

Figure 5. Receiver Top-Level Simulation

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

Send Feedback O-RAN Intel® FPGA IP Design Example User Guide

9

Page 10: O-RAN Intel® FPGA IP Design Example User Guide

Figure 6. Receiver Top-Level Simulation (Zoomed)

Figure 7. Simulation Transcript Window (Number of Channels = 4)

# Waiting for RX alignment# RX deskew locked# RX lane aligmnent locked# Waiting for link fault clear# Link fault clear# MAC Source Address 0_0 Channel 0: 33445566# MAC Source Address 0_1 Channel 0: 00007788# MAC Destination Address 0_0 Channel 0: 33445566# MAC Destination Address 0_1 Channel 0: 00007788# MAC Destination Address 1_0 Channel 0: 11223344# MAC Destination Address 1_1 Channel 0: 00005566# MAC Destination Address 2_0 Channel 0: 22334455# MAC Destination Address 2_1 Channel 0: 00006677# MAC Destination Address 3_0 Channel 0: 44556677# MAC Destination Address 3_1 Channel 0: 00008899# MAC Destination Address 4_0 Channel 0: 66778899# MAC Destination Address 4_1 Channel 0: 0000aabb# MAC Destination Address 5_0 Channel 0: 778899aa# MAC Destination Address 5_1 Channel 0: 0000bbcc# MAC Destination Address 6_0 Channel 0: 8899aabb# MAC Destination Address 6_1 Channel 0: 0000ccdd# MAC Destination Address 7_0 Channel 0: 99aabbcc# MAC Destination Address 7_1 Channel 0: 0000ddee# eCPRI Common Control Channel 0: 00000041# Enable interrupt eCPRI Common Control Channel 0: 00000241# eCPRI version Channel 0: 2# Disable Oran RX Window Enable Channel 0: 00000000# Disable Oran TX Window Enable Channel 0: 00000000# Enable Oran Static Functional Mode Channel 0: 00000000# Oran Static Static udCompHdr Channel 0: 00000083# MAC Source Address 0_0 Channel 1: 33445566# MAC Source Address 0_1 Channel 1: 00007788# MAC Destination Address 0_0 Channel 1: 33445566# MAC Destination Address 0_1 Channel 1: 00007788# MAC Destination Address 1_0 Channel 1: 11223344# MAC Destination Address 1_1 Channel 1: 00005566# MAC Destination Address 2_0 Channel 1: 22334455# MAC Destination Address 2_1 Channel 1: 00006677# MAC Destination Address 3_0 Channel 1: 44556677# MAC Destination Address 3_1 Channel 1: 00008899# MAC Destination Address 4_0 Channel 1: 66778899# MAC Destination Address 4_1 Channel 1: 0000aabb

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

O-RAN Intel® FPGA IP Design Example User Guide Send Feedback

10

Page 11: O-RAN Intel® FPGA IP Design Example User Guide

# MAC Destination Address 5_0 Channel 1: 778899aa# MAC Destination Address 5_1 Channel 1: 0000bbcc# MAC Destination Address 6_0 Channel 1: 8899aabb# MAC Destination Address 6_1 Channel 1: 0000ccdd# MAC Destination Address 7_0 Channel 1: 99aabbcc# MAC Destination Address 7_1 Channel 1: 0000ddee# eCPRI Common Control Channel 1: 00000041# Enable interrupt eCPRI Common Control Channel 1: 00000241# eCPRI version Channel 1: 2# Disable Oran RX Window Enable Channel 1: 00000000# Disable Oran TX Window Enable Channel 1: 00000000# Enable Oran Static Functional Mode Channel 1: 00000000# Oran Static Static udCompHdr Channel 1: 00000083# MAC Source Address 0_0 Channel 2: 33445566# MAC Source Address 0_1 Channel 2: 00007788# MAC Destination Address 0_0 Channel 2: 33445566# MAC Destination Address 0_1 Channel 2: 00007788# MAC Destination Address 1_0 Channel 2: 11223344# MAC Destination Address 1_1 Channel 2: 00005566# MAC Destination Address 2_0 Channel 2: 22334455# MAC Destination Address 2_1 Channel 2: 00006677# MAC Destination Address 3_0 Channel 2: 44556677# MAC Destination Address 3_1 Channel 2: 00008899# MAC Destination Address 4_0 Channel 2: 66778899# MAC Destination Address 4_1 Channel 2: 0000aabb# MAC Destination Address 5_0 Channel 2: 778899aa# MAC Destination Address 5_1 Channel 2: 0000bbcc# MAC Destination Address 6_0 Channel 2: 8899aabb# MAC Destination Address 6_1 Channel 2: 0000ccdd# MAC Destination Address 7_0 Channel 2: 99aabbcc# MAC Destination Address 7_1 Channel 2: 0000ddee# eCPRI Common Control Channel 2: 00000041# Enable interrupt eCPRI Common Control Channel 2: 00000241# eCPRI version Channel 2: 2# Disable Oran RX Window Enable Channel 2: 00000000# Disable Oran TX Window Enable Channel 2: 00000000# Enable Oran Static Functional Mode Channel 2: 00000000# Oran Static Static udCompHdr Channel 2: 00000083# MAC Source Address 0_0 Channel 3: 33445566# MAC Source Address 0_1 Channel 3: 00007788# MAC Destination Address 0_0 Channel 3: 33445566# MAC Destination Address 0_1 Channel 3: 00007788# MAC Destination Address 1_0 Channel 3: 11223344# MAC Destination Address 1_1 Channel 3: 00005566# MAC Destination Address 2_0 Channel 3: 22334455# MAC Destination Address 2_1 Channel 3: 00006677# MAC Destination Address 3_0 Channel 3: 44556677# MAC Destination Address 3_1 Channel 3: 00008899# MAC Destination Address 4_0 Channel 3: 66778899# MAC Destination Address 4_1 Channel 3: 0000aabb# MAC Destination Address 5_0 Channel 3: 778899aa# MAC Destination Address 5_1 Channel 3: 0000bbcc# MAC Destination Address 6_0 Channel 3: 8899aabb# MAC Destination Address 6_1 Channel 3: 0000ccdd# MAC Destination Address 7_0 Channel 3: 99aabbcc# MAC Destination Address 7_1 Channel 3: 0000ddee# eCPRI Common Control Channel 3: 00000041# Enable interrupt eCPRI Common Control Channel 3: 00000241# eCPRI version Channel 3: 2# Disable Oran RX Window Enable Channel 3: 00000000# Disable Oran TX Window Enable Channel 3: 00000000# Enable Oran Static Functional Mode Channel 3: 00000000# Oran Static Static udCompHdr Channel 3: 00000083# __________________________________________________________# INFO: Out of reset status # __________________________________________________________# #

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

Send Feedback O-RAN Intel® FPGA IP Design Example User Guide

11

Page 12: O-RAN Intel® FPGA IP Design Example User Guide

# Channel 0 Oran TX C SOPs count : 0# Channel 0 Oran TX C EOPs count : 0# Channel 0 Oran RX C SOPs count : 0# Channel 0 Oran RX C EOPs count : 0# Channel 0 Oran TX U SOPs count : 0# Channel 0 Oran TX U EOPs count : 0# Channel 0 Oran RX U SOPs count : 0# Channel 0 Oran RX U EOPs count : 0# Channel 0 External PTP TX SOPs count : 0# Channel 0 External PTP TX EOPs count : 0# Channel 0 External MISC TX SOPs count : 0# Channel 0 External MISC TX EOPs count : 0# Channel 0 External RX SOPs count : 0# Channel 0 External RX EOPs count : 0# Channel 1 Oran TX C SOPs count : 0# Channel 1 Oran TX C EOPs count : 0# Channel 1 Oran RX C SOPs count : 0# Channel 1 Oran RX C EOPs count : 0# Channel 1 Oran TX U SOPs count : 0# Channel 1 Oran TX U EOPs count : 0# Channel 1 Oran RX U SOPs count : 0# Channel 1 Oran RX U EOPs count : 0# Channel 1 External PTP TX SOPs count : 0# Channel 1 External PTP TX EOPs count : 0# Channel 1 External MISC TX SOPs count : 0# Channel 1 External MISC TX EOPs count : 0# Channel 1 External RX SOPs count : 0# Channel 1 External RX EOPs count : 0# Channel 2 Oran TX C SOPs count : 0# Channel 2 Oran TX C EOPs count : 0# Channel 2 Oran RX C SOPs count : 0# Channel 2 Oran RX C EOPs count : 0# Channel 2 Oran TX U SOPs count : 0# Channel 2 Oran TX U EOPs count : 0# Channel 2 Oran RX U SOPs count : 0# Channel 2 Oran RX U EOPs count : 0# Channel 2 External PTP TX SOPs count : 0# Channel 2 External PTP TX EOPs count : 0# Channel 2 External MISC TX SOPs count : 0# Channel 2 External MISC TX EOPs count : 0# Channel 2 External RX SOPs count : 0# Channel 2 External RX EOPs count : 0# Channel 3 Oran TX C SOPs count : 0# Channel 3 Oran TX C EOPs count : 0# Channel 3 Oran RX C SOPs count : 0# Channel 3 Oran RX C EOPs count : 0# Channel 3 Oran TX U SOPs count : 0# Channel 3 Oran TX U EOPs count : 0# Channel 3 Oran RX U SOPs count : 0# Channel 3 Oran RX U EOPs count : 0# Channel 3 External PTP TX SOPs count : 0# Channel 3 External PTP TX EOPs count : 0# Channel 3 External MISC TX SOPs count : 0# Channel 3 External MISC TX EOPs count : 0# Channel 3 External RX SOPs count : 0# Channel 3 External RX EOPs count : 0# __________________________________________________________# INFO: Start transmitting packets# __________________________________________________________# # # INFO: Waiting for the Channel 0 C-plane TX traffic transfer to complete# INFO: Channel 0 C-plane TX traffic transfer completed# INFO: Waiting for the Channel 0 U-plane TX traffic transfer to complete# INFO: Channel 0 U-plane TX traffic transfer completed# INFO: Waiting for the Channel 0 eCPRI External TX PTP traffic transfer to complete# INFO: Channel 0 eCPRI External TX PTP traffic transfer completed

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

O-RAN Intel® FPGA IP Design Example User Guide Send Feedback

12

Page 13: O-RAN Intel® FPGA IP Design Example User Guide

# INFO: Waiting for the Channel 0 eCPRI External TX Misc traffic transfer to complete# INFO: Channel 0 eCPRI External TX Misc traffic transfer completed# INFO: Waiting for the Channel 1 C-plane TX traffic transfer to complete# INFO: Channel 1 C-plane TX traffic transfer completed# INFO: Waiting for the Channel 1 U-plane TX traffic transfer to complete# INFO: Channel 1 U-plane TX traffic transfer completed# INFO: Waiting for the Channel 1 eCPRI External TX PTP traffic transfer to complete# INFO: Channel 1 eCPRI External TX PTP traffic transfer completed# INFO: Waiting for the Channel 1 eCPRI External TX Misc traffic transfer to complete# INFO: Channel 1 eCPRI External TX Misc traffic transfer completed# INFO: Waiting for the Channel 2 C-plane TX traffic transfer to complete# INFO: Channel 2 C-plane TX traffic transfer completed# INFO: Waiting for the Channel 2 U-plane TX traffic transfer to complete# INFO: Channel 2 U-plane TX traffic transfer completed# INFO: Waiting for the Channel 2 eCPRI External TX PTP traffic transfer to complete# INFO: Channel 2 eCPRI External TX PTP traffic transfer completed# INFO: Waiting for the Channel 2 eCPRI External TX Misc traffic transfer to complete# INFO: Channel 2 eCPRI External TX Misc traffic transfer completed# INFO: Waiting for the Channel 3 C-plane TX traffic transfer to complete# INFO: Channel 3 C-plane TX traffic transfer completed# INFO: Waiting for the Channel 3 U-plane TX traffic transfer to complete# INFO: Channel 3 U-plane TX traffic transfer completed# INFO: Waiting for the Channel 3 eCPRI External TX PTP traffic transfer to complete# INFO: Channel 3 eCPRI External TX PTP traffic transfer completed# INFO: Waiting for the Channel 3 eCPRI External TX Misc traffic transfer to complete# INFO: Channel 3 eCPRI External TX Misc traffic transfer completed# __________________________________________________________# INFO: Stop transmitting packets# __________________________________________________________# # # __________________________________________________________# INFO: Checking packets statistics# __________________________________________________________# # # Channel 0 Oran C SOPs transmitted: 300# Channel 0 Oran C EOPs transmitted: 300# Channel 0 Oran C SOPs received: 300# Channel 0 Oran C EOPs received: 300# Channel 0 Oran C Error reported: 0# Channel 0 Oran U SOPs transmitted: 300# Channel 0 Oran U EOPs transmitted: 300# Channel 0 Oran U SOPs received: 300# Channel 0 Oran U EOPs received: 300# Channel 0 Oran U Error reported: 0# Channel 0 External PTP SOPs transmitted: 4# Channel 0 External PTP EOPs transmitted: 4# Channel 0 External MISC SOPs transmitted: 128# Channel 0 External MISC EOPs transmitted: 128# Channel 0 External SOPs received: 132

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

Send Feedback O-RAN Intel® FPGA IP Design Example User Guide

13

Page 14: O-RAN Intel® FPGA IP Design Example User Guide

# Channel 0 External EOPs received: 132# Channel 0 External PTP SOPs received: 4# Channel 0 External PTP EOPs received: 4# Channel 0 External MISC SOPs received: 128# Channel 0 External MISC EOPs received: 128# Channel 0 External Error reported: 0# Channel 0 External Timestamp Fingerprint Error reported: 0# Channel 1 Oran C SOPs transmitted: 300# Channel 1 Oran C EOPs transmitted: 300# Channel 1 Oran C SOPs received: 300# Channel 1 Oran C EOPs received: 300# Channel 1 Oran C Error reported: 0# Channel 1 Oran U SOPs transmitted: 300# Channel 1 Oran U EOPs transmitted: 300# Channel 1 Oran U SOPs received: 300# Channel 1 Oran U EOPs received: 300# Channel 1 Oran U Error reported: 0# Channel 1 External PTP SOPs transmitted: 4# Channel 1 External PTP EOPs transmitted: 4# Channel 1 External MISC SOPs transmitted: 128# Channel 1 External MISC EOPs transmitted: 128# Channel 1 External SOPs received: 132# Channel 1 External EOPs received: 132# Channel 1 External PTP SOPs received: 4# Channel 1 External PTP EOPs received: 4# Channel 1 External MISC SOPs received: 128# Channel 1 External MISC EOPs received: 128# Channel 1 External Error reported: 0# Channel 1 External Timestamp Fingerprint Error reported: 0# Channel 2 Oran C SOPs transmitted: 300# Channel 2 Oran C EOPs transmitted: 300# Channel 2 Oran C SOPs received: 300# Channel 2 Oran C EOPs received: 300# Channel 2 Oran C Error reported: 0# Channel 2 Oran U SOPs transmitted: 300# Channel 2 Oran U EOPs transmitted: 300# Channel 2 Oran U SOPs received: 300# Channel 2 Oran U EOPs received: 300# Channel 2 Oran U Error reported: 0# Channel 2 External PTP SOPs transmitted: 4# Channel 2 External PTP EOPs transmitted: 4# Channel 2 External MISC SOPs transmitted: 128# Channel 2 External MISC EOPs transmitted: 128# Channel 2 External SOPs received: 132# Channel 2 External EOPs received: 132# Channel 2 External PTP SOPs received: 4# Channel 2 External PTP EOPs received: 4# Channel 2 External MISC SOPs received: 128# Channel 2 External MISC EOPs received: 128# Channel 2 External Error reported: 0# Channel 2 External Timestamp Fingerprint Error reported: 0# Channel 3 Oran C SOPs transmitted: 300# Channel 3 Oran C EOPs transmitted: 300# Channel 3 Oran C SOPs received: 300# Channel 3 Oran C EOPs received: 300# Channel 3 Oran C Error reported: 0# Channel 3 Oran U SOPs transmitted: 300# Channel 3 Oran U EOPs transmitted: 300# Channel 3 Oran U SOPs received: 300# Channel 3 Oran U EOPs received: 300# Channel 3 Oran U Error reported: 0# Channel 3 External PTP SOPs transmitted: 4# Channel 3 External PTP EOPs transmitted: 4# Channel 3 External MISC SOPs transmitted: 128# Channel 3 External MISC EOPs transmitted: 128# Channel 3 External SOPs received: 132# Channel 3 External EOPs received: 132# Channel 3 External PTP SOPs received: 4

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

O-RAN Intel® FPGA IP Design Example User Guide Send Feedback

14

Page 15: O-RAN Intel® FPGA IP Design Example User Guide

# Channel 3 External PTP EOPs received: 4# Channel 3 External MISC SOPs received: 128# Channel 3 External MISC EOPs received: 128# Channel 3 External Error reported: 0# Channel 3 External Timestamp Fingerprint Error reported: 0# __________________________________________________________# INFO: Test PASSED # # __________________________________________________________

2.2.1. Simulating the O-RAN Design Example for Intel Agilex F-TileDevices

When targeting Intel Agilex F-tile devices, the design example supports VCSsimulations only.

1. Turn on Example Design ➤ Files Types Generated ➤ Simulation.

2. Change the directory to <simulation design example>/simulation/quartus.

3. Run these two commands:

quartus_ipgenerate --run_default_mode_op oran_ed -c oran_ed

quartus_tlg oran_ed..

4. Change the directory to <simulation design example>/simulation/setup_scripts.

5. Run this command: ip-setup-simulation --use-quartus-top-names --quartus-project=../quartus/oran_ed.qpf.

6. Change the directory to <simulation design example>/simulation/setup_scripts/synopsys/vcs.

7. Run this command: sh run_vcs.sh.

2.2.2. Enabling Dynamic Reconfiguation to the Ethernet IP

By default, the dynamic reconfiguration is disabled in the O-RAN IP design example.

1. Look for the following line in the test_wrapper.sv from the generated<design_example_path>/simulation/testbench directory:

parameter ETHERNET_DR_EN = 0,

2. Change the value from 0 to 1:

parameter ETHERNET_DR_EN = 1

3. Rerun the simulation using the same generated example design directory.

2.2.3. O-RAN IP Design Example Testbench

The generated simulation testbench is dynamic and has the same configuration as theIP.

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

Send Feedback O-RAN Intel® FPGA IP Design Example User Guide

15

Page 16: O-RAN Intel® FPGA IP Design Example User Guide

Figure 8. Testbench Block Diagram

Test Wrapper Device Under Test

External TrafficGenerator

External TrafficChecker

O-RAN TrafficGenerator

eCPRI IP Ethernet IP

O-RAN TrafficChecker

O-RAN IP

2.3. Operating the O-RAN IP Design Example

After you download the design example .sof file to an FPGA:

1. For Intel Stratix 10 and Intel Agilex E-tile designs, program thenios_system.elf software into the FPGA. Refer to Generating and Downloadingthe Programming File.

2. Change the directory to <variation name>/synthesis/quartus/hardware_test/ and find the relevant system console script: .

• oran_agilex.tcl for Intel Agilex E-tile designs.

• oran_a10.tcl for Intel Arria 10 designs

• oran_s10.tcl for Intel Stratix 10 designs

3. For E-tile, you must perform either an internal or external loopback commandonce first after programming the SOF file for proper transceiver calibration.

4. Change the TEST_MODE variable value in flow.c for the testing condition:

• 0 - for simulation only, serial loopback enable

• 1 - serial loopback enable

• 2 - serial loopback + calibration

• 3 - calibration only

Whenever you change flow.c, recompile and regenerate the Nios II software,then reprogram the design into the FPGA before reprogramming the Nios IIsoftware application.

5. Test the design operation through the commands supported in the system consolescript. The system console script provides useful commands for reading statisticsand features enabling in the design.

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

O-RAN Intel® FPGA IP Design Example User Guide Send Feedback

16

Page 17: O-RAN Intel® FPGA IP Design Example User Guide

Table 3. System Console Script Commands

Command Description

link_init_int_lpbk Enable transmitter to receiver internal serial loopback within the transceiver and performthe transceiver calibration flow. Ethernet Hard Intel FPGA IP (E-tile) only.

link_init_ext_lpbk Enable transmitter to receiver external loopback and perform the transceiver calibrationflow. Ethernet Hard Intel FPGA IP (E-tile) only.

loop_off Disable transmitter to receiver internal serial loopback. 25G Ethernet Intel Stratix 10 FPGAIP (H-tile) and Low Latency Ethernet 10G MAC IP (Intel Arria 10) only.

loop_on Enable transmitter to receiver internal serial loopback. 25G Ethernet Intel Stratix 10 FPGAIP (H-tile) and Low Latency Ethernet 10G MAC IP (Intel Arria 10) only.

dr_25g_to_10g_etile Switch the data rate of the Ethernet MAC from 25G to 10G. Use for E-tile devices.

dr_10g_to_25g_etile Switch the data rate of the Ethernet MAC from 10G to 25G. Use for E-tile devices.

traffic_gen_enable Resets the entire design system, enables the traffic generator and checker.

chkmac_stats Displays the statistics for Ethernet MAC.

ext_continuous_mode_en Resets the entire design system, enables the traffic generator to generate continuous trafficpackets.

dr_25g_to_10g_htile Switch the data rate of the Ethernet MAC from 25G to 10G. Use for H-tile device.

dr_10g_to_25g_htile Switch the data rate of the Ethernet MAC from 10G to 25G. Use for H-tile device.

traffic_gen_disable Disables the traffic generators and checkers, resets the entire design system.

read_test_statistics Displays the error statistics for traffic generators and checkers.

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

Send Feedback O-RAN Intel® FPGA IP Design Example User Guide

17

Page 18: O-RAN Intel® FPGA IP Design Example User Guide

Figure 9. System Console Printout (Number of channels = 1)

Channel 0 EXT PTP TX SOP Count: 128Channel 0 EXT PTP TX EOP Count: 128Channel 0 EXT MISC TX SOP Count: 4678620Channel 0 EXT MISC TX EOP Count: 4692270Channel 0 EXT RX SOP Count: 4707383Channel 0 EXT RX EOP Count: 4721099Channel 0 EXT Checker Errors: 0Channel 0 EXT Checker Error Counts: 0Channel 0 EXT PTP Fingerprint Errors: 0Channel 0 EXT PTP Fingerprint Error Counts: 0Channel 0 TX C SOP Count: 31307046Channel 0 TX C EOP Count: 31393627Channel 0 RX C SOP Count: 31483538Channel 0 RX C EOP Count: 31612072Channel 0 C Checker Errors: 0Channel 0 C Checker Error Counts: 0Channel 0 TX U SOP Count: 17907031Channel 0 TX U EOP Count: 17956870Channel 0 RX U SOP Count: 18006336Channel 0 RX U EOP Count: 18055157Channel 0 U Checker Errors: 0Channel 0 U Checker Error Counts: 0

========================================================================================== ETHERNET MAC STATISTICS FOR Channel 0 (Rx) ==========================================================================================Fragmented Frames : 0 Jabbered Frames : 0 Right Size with FCS Err Frames : 0 Multicast data Err Frames : 0 Broadcast data Err Frames : 0 Unicast data Err Frames : 0 64 Byte Frames : 128 65 - 127 Byte Frames : 50812181 128 - 255 Byte Frames : 5081233 256 - 511 Byte Frames : 0 512 - 1023 Byte Frames : 0 1024 - 1518 Byte Frames : 0 1519 - MAX Byte Frames : 0 > MAX Byte Frames : 0 Multicast data OK Frame : 55893542 Broadcast data OK Frame : 0 Unicast data OK Frames : 0 Multicast Control Frames : 0 Broadcast Control Frames : 0 Unicast Control Frames : 0 Pause Control Frames : 0 Payload Octets OK : 3847414692 Frame Octets OK : 4873823428 Rx Maximum Frame Length : 1518 Any Size with FCS Err Frame : 0 Multicast control Err Frame : 0 Broadcast control Err Frame : 0 Unicast control Err Frames : 0 Pause control Err Frames : 0 Rx Frame Starts : 55893544

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

O-RAN Intel® FPGA IP Design Example User Guide Send Feedback

18

Page 19: O-RAN Intel® FPGA IP Design Example User Guide

Figure 10. System Console (25G to 10G DR E-tile)

Initiate Dynamic Reconfiguration for Ethernet 25G -> 10G

DR Successful 25G -> 10G

RX PHY Register Access: Checking Clock Frequencies (KHz)

TXCLK :16114 (KHZ)RXCLK :16113 (KHZ) RX PHY Status Polling

Rx Frequency Lock Status 0x0000000f

Mac Clock in OK Condition? 0x00000001

Rx Frame Error ? 0x00000000

Rx PHY Fully Aligned? 0x00000001

Polling RX PHY Channel 0

RX PHY Channel 0 is up and running!

Figure 11. System Console Printout (25G to 10G DR H-tile)

Initiate Dynamic Reconfiguration for Ethernet 25G -> 10G

DR Successful 25G -> 10G

RX PHY Register Access: Checking Clock Frequencies (KHz)

TXCLK :15625 (KHZ)RXCLK :15625 (KHZ) RX PHY Status Polling

Rx Frequency Lock Status 0x00000001

Mac Clock in OK Condition? 0x00000007

Rx Frame Error ? 0x00000000

Rx PHY Fully Aligned? 0x00000001

Polling RX PHY Channel 0

RX PHY Channel 0 is up and running!

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

Send Feedback O-RAN Intel® FPGA IP Design Example User Guide

19

Page 20: O-RAN Intel® FPGA IP Design Example User Guide

Figure 12. System Console Printout (10G to 25G DR E-tile)

Initiate Dynamic Reconfiguration for Ethernet 10G -> 25G

DR Successful 10G -> 25G

RX PHY Register Access: Checking Clock Frequencies (KHz)

TXCLK :40283 (KHZ)RXCLK :40283 (KHZ) RX PHY Status Polling

Rx Frequency Lock Status 0x0000000f

Mac Clock in OK Condition? 0x00000001

Rx Frame Error ? 0x00000000

Rx PHY Fully Aligned? 0x00000001

Polling RX PHY Channel 0

RX PHY Channel 0 is up and running!

Figure 13. System Console Printout (10G to 25G DR H-tile)

Initiate Dynamic Reconfiguration for Ethernet 10G -> 25G

DR Successful 10G -> 25G

RX PHY Register Access: Checking Clock Frequencies (KHz)

TXCLK :39061 (KHZ)RXCLK :39063 (KHZ) RX PHY Status Polling

Rx Frequency Lock Status 0x00000001

Mac Clock in OK Condition? 0x00000007

Rx Frame Error ? 0x00000000

Rx PHY Fully Aligned? 0x00000001

Polling RX PHY Channel 0

RX PHY Channel 0 is up and running!

2.3.1. Generating and Downloading the Programming .elf File

Generate and download the .elf file for the O-RAN IP design example to thedevelopment board. For Intel Stratix 10 designs and Intel Agilex E-tile only.

1. Change the directory to <design_example_dir>/synthesis/quartus.

2. In the Intel Quartus Prime Pro Edition software, click Open Project and open<design_example_dir>/synthesis/quartus/oran_ed.qpf.

3. Select Tools ➤ Nios II Software Build Tools for Eclipse.The Workspace Launcher window prompt appears.

4. In the workspace specify the path as <design_example_dir>/synthesis/quartus to store your Eclipse project. A new Nios II - Eclipse window appears.

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

O-RAN Intel® FPGA IP Design Example User Guide Send Feedback

20

Page 21: O-RAN Intel® FPGA IP Design Example User Guide

5. In the Nios II - Eclipse window, right-click under Project Explorer tab, andselect New ➤ Nios II Board Support Package.

Figure 14. Project Explorer Window

6. In the Nios II Board Support Package window:

a. In the Project name parameter, specify your desired project name.

b. In the SOPC Information File name parameter, browse to the location of<design_example_dir>/synthesis/ip_components/nios_system/nios_system.sopcinfo file.

c. Click Finish.

Figure 15. Nios II Board Support Package Window

The newly created project appears under Project Explorer tab in Nios II -Eclipse window.

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

Send Feedback O-RAN Intel® FPGA IP Design Example User Guide

21

Page 22: O-RAN Intel® FPGA IP Design Example User Guide

7. Right-click under Project Explorer tab and select Nios II ➤ Nios II CommandShell.

Figure 16. Project Explorer - Nios II Command Shell

8. In the Nios® II Command Shell, type the three following commands:

nios2-bsp hal bsp <design_example_dir>/synthesis/ip_components/nios_system/nios_system.sopcinfo

nios2-app-generate-makefile --app-dir app --bsp-dir bsp --elf-name nios_system.elf --src-dir <design_example_dir>/synthesis/compilation/ed_fw

make --directory=app

9. Type the following command in the Nios II Command Shell to download the .elfsoftware application to the board:

nios2-download -g -r -c 1 -d 2 --accept-bad-sysid app/nios_system.elf

2. Getting Started with the O-RAN Intel FPGA IP Design Example

UG-20317 | 2021.09.14

O-RAN Intel® FPGA IP Design Example User Guide Send Feedback

22

Page 23: O-RAN Intel® FPGA IP Design Example User Guide

3. O-RAN Intel FPGA IP Design Example FunctionalDescription

Figure 17. Block Diagram

PTPIOPLL eCPRI

IOPLL

eCPRIMAC

Ethernet MAC

O-RANMAC

TestWrapper

Avalon MMAddress Decoder

Nios IISubsystem

SystemConsole

PIO IN: IP status signals check

PIO OUT: control, transmitter, receiver, and CSR reset

TOD

RSFEC ReconfigurationTransceiver Reconfiguration

Ethernet Reconfiguration

IOPLL Reconfiguration

Transmitter and receiver serial pins

clk100

Avalon memory-mapped interface

Avalon streaming interface

PIO_OUT: rate_switch_done, PIO_IN: rate_switch_en

Signal Direction Comments

clk100 Input Input clock for reconfiguration.For Intel Arria 10 designs, a 156.25 MHz oscillator on the board drives this clock.For Intel Agilex and Intel Stratix 10 designs, a 100 MHz oscillator on the boarddrives this clock.

mgmt_reset_n Input Input reset for the Nios II system.

clk_ref Input For Intel Arria 10 designs, a 322.265625 MHz clock input for the Transceiver ATXPLL and 1G/10GbE and 10GBase-KR PHY IP . Connect to pll_refclk0[0]in theTransceiver ATX PLL and rx_cdr_ref_clk_10g[0] in the 1G/10GbE and10GBase-KR PHY IP.For Intel Agilex F-tile, Intel AgilexE-tile, and Intel Stratix 10 E-tile designs,156.25 MHz clock input for the E-tile Ethernet Hard IP core. Connect toi_clk_ref[0] in the Ethernet Hard IP.

continued...

UG-20317 | 2021.09.14

Send Feedback

Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of IntelCorporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to currentspecifications in accordance with Intel's standard warranty, but reserves the right to make changes to anyproducts and services at any time without notice. Intel assumes no responsibility or liability arising out of theapplication or use of any information, product, or service described herein except as expressly agreed to inwriting by Intel. Intel customers are advised to obtain the latest version of device specifications before relyingon any published information and before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2015Registered

Page 24: O-RAN Intel® FPGA IP Design Example User Guide

Signal Direction Comments

For Intel Stratix 10 H-tile designs, a 322.265625 MHz clock input for theTransceiver ATX PLL and 25G Ethernet IP. Connect to pll_refclk0[0]in theTransceiver ATX PLL and clk_ref[0] in 25G Ethernet IP.

tod_sync_sampling_clk Input For Intel Arria 10 designs, a 250 MHz clock input for TOD subsystem.

tx_serial Output Transmitter serial data. Supports up to four channels.

rx_serial Input Receiver serial data. Supports up to four channels.

O-RAN IP

The O-RAN IP receives and transmits data at the transmitter and receiver applicationinterfaces (the traffic components instantiated within the test wrapper).

eCPRI IP

The eCPRI IP receives and transmits data at the Avalon® streaming source and sinkinterfaces (from the O-RAN transmitter, and receiver transport interfaces) and theexternal source and sink interfaces (the external traffic components instantiated withinthe test wrapper). The eCPRI IP prioritizes the data for transmission to the EthernetIP.

eCPRI IOPLL

For design examples targetting Intel Stratix 10 and Intel Agilex devices only, theeCPRI IOPLL generates the clock output of 390.625 MHz to feed into the transmitterand receiver data path of the eCPRI IP, the O-RAN IP, and the traffic generator andchecker components.

PTP IOPLL

For Intel Arria 10 devices the PTP IOPLL generates the 312.5 MHz and 156.25 MHzclock inputs for the Low Latency Ethernet 10G MAC, eCPRI, O-RAN, 1G/10GbE and10GBase-KR PHY IPs.

For Intel Stratix 10 devices, the PTP IOPLL generates the latency measurement inputreference clock for the 25G Ethernet Intel FPGA IP and the sampling clock for TODsubsystem. For the 25G Ethernet Intel FPGA IP with the IEEE 1588v2 feature, Intelrecommends that you set the frequency of this clock to 156.25 MHz.

For more information, refer to the 25G Ethernet Intel Stratix 10 FPGA IP DesignExample User Guide and the Intel Stratix 10 H-Tile Transceiver PHY User Guide.

Nios II subsystem

The Nios II subsystem consists of the:

• Avalon memory-mapped bridge, which allows Avalon memory-mapped dataarbitration between traffic from the Nios II processor and the test wrapper

• A Nios II processor

• An Avalon memory-mapped address decoder

3. O-RAN Intel FPGA IP Design Example Functional Description

UG-20317 | 2021.09.14

O-RAN Intel® FPGA IP Design Example User Guide Send Feedback

24

Page 25: O-RAN Intel® FPGA IP Design Example User Guide

For design examples targetting Intel Stratix 10 and Intel Agilex E-tile devices only, theNios II processor performs the data rate switching based on the output from the testwrapper's rate_switch register value. The Nios II processor programs the necessaryregister after the command from the test wrapper. Design examples targetting IntelArria 10 devices do not support data rate switching.

Ethernet IP

The design example instantiates one of the following Ethernet IP to interface with theeCPRI IP:

• Low Latency Ethernet 10G MAC IP and 1G/10GbE and 10GBase-KR PHY IP (IntelArria 10 designs)

• Ethernet Hard IP (Intel Stratix 10 E-tile and Intel Agilexdesigns)

• 25G Ethernet Stratix 10 IP (Intel Stratix 10 H-tile designs)

TOD Subsystem

The time of day (TOD) subsystem consists of two IEEE 1588 TOD modules for bothtransmitter and receiver, and one IEEE 1588 TOD synchronizer module.

System Console Access through JTAG Interface

The system console provides an interface for you to debug and monitor the status ofthe IP and the traffic generators and checkers.

Test Wrapper

The test wrapper consists of numerous traffic generators and checkers that generatedifferent types of data packets to the O-RAN IP and the eCPRI IP.

Test Wrapper O-RAN IP Data Packets

The traffic generator supports O-RAN packets to the Avalon streaming source and sinkinterfaces of the O-RAN IP with configurations for C-plane, C-plane extension, and U-plane.

Table 4. C-Plane Configurations

Parameter Description

rtcid

seqid

Transport header fixed parameter value.

dataDirection

Filterindex

Common Header fixed parameter value.

frameId Fixed initial value (configured with parameter).

subframeId Fixed initial value (configured with parameter).

slotId Fixed initial value (configured with parameter).

symbolId Fixed initial value (configured with parameter).

NumberofSections 6 for Sectiontype. 1, 2 for Sectiontype 3.

Sectiontype 1, 3.

Timeoffset Fixed parameter value.

continued...

3. O-RAN Intel FPGA IP Design Example Functional Description

UG-20317 | 2021.09.14

Send Feedback O-RAN Intel® FPGA IP Design Example User Guide

25

Page 26: O-RAN Intel® FPGA IP Design Example User Guide

Parameter Description

frameStructure Fixed parameter value.

cpLength Fixed parameter value.

udCompHdr Applicable only when compression is enabled: udCompMeth = 0001 or 0011, and udIqWidth =1000 or 1100

sectionId Section header fixed parameter value.

Sectiontype Section extension.

ExtType 3 (DL precoding).

Rb Fixed parameter value.

StartPrb Fixed parameter value.

numPrb Fixed parameter value.

reMask Fixed parameter value.

numSymbol Fixed parameter value.

Ef 0 for Sectiontype 1, 1 for Sectiontype 3.

frequencyOffset Fixed parameter value.

Table 5. C-Plane Extension Configurations

Parameter Description

NumberofSections 2.

ExtType 3 (DL Precoding).

Payload Size 32 bytes (16 bytes for each section).

Table 6. U-Plane Configurations• Incremental pattern mode generation with some interpacket gaps.

• Configurable via CSR to run in either non-continuous or continuous mode.

• Transmitter and receiver packet statistic status available to access via CSR.

Parameter Description

dataDirection

Filterindex

Common header fixed parameter value.

frameId Fixed initial counter value (configured from parameter).

subframeId Fixed initial counter value (configured from parameter).

slotId Fixed initial counter value (configured from parameter).

symbolId Fixed initial counter value (configured from parameter).

udCompHdr Applicable only when compression is enabled. udCompMeth = 0001 or 0011 and udIqWidth = 1000 or1100

sectionId Section header fixed parameter value.

Rb Fixed parameter value.

StartPrb Fixed parameter value.

numPrb Fixed parameter value.

3. O-RAN Intel FPGA IP Design Example Functional Description

UG-20317 | 2021.09.14

O-RAN Intel® FPGA IP Design Example User Guide Send Feedback

26

Page 27: O-RAN Intel® FPGA IP Design Example User Guide

Table 7. Supported C and U-plane Traffic Configurations

The table shows specific configuration settings supported in the design example. You may modify theseparameters in the generated oran_ed_top.sv and oran_tb.sv files to run the design example successfully.

ENABLE_COMPRESSION(1) (3)

ENABLE_CPLANE(2)

ENABLE_UPLANE udCompMeth(3)

udIqWidth(3) C_Sectiontype(4)

1 1 0 0,1,3 8,12,16 1,3

1 1 1 1,3 8,12 1,3

0 0 1 0 16 1,3

0 1 1 0 16 1,3

0 1 0 0 16 1,3

Test Wrapper ECPRI IP IP Data Packets

For PTP synchronization packets and non-PTP miscellaneous packets to the externalsource and sink interfaces:

• External PTP packets:

— Static Ethernet header generation with predefined parameters: EtherType =0x88F7, or Message Type = Opcode 0 (sync), or PTP version = 0

— Predefined pattern mode generation with interpacket gap of two cycles andpayload size of 57 bytes for each packet.

— 128 packets generate every second.

— CSR configurable to run either non-continuous or continuous.

— Transmitter or receiver packet statistic status available via CSR.

(1) This parameter setting must match Enable companding in the O-RAN IP GUI.

(2) These parameter settings are only applicable when you turn on Enable C-plane in the O-RANIP GUI. When you turn off Enable C-Plane, you must set the following configuration:• ENABLE_CPLANE = 0

(3) These parameter settings are only applicable when you turn on Enable companding in theO-RAN IP GUI. when you turn off Enable companding, you must set the followingconfigurations:• ENABLE_COMPRESSION = 0• udCompMeth = 0• udIqWidth = 16

(4) The design example ignores the C_Sectiontype parameter when yoiu turn off Enable C-plane in the O-RAN IP GUI• For C_Sectiontype = 1, the example design only supports C_NumberofSections = 6.• For C_Sectiontype = 3, the example design only supports C_NumberofSections = 2..

3. O-RAN Intel FPGA IP Design Example Functional Description

UG-20317 | 2021.09.14

Send Feedback O-RAN Intel® FPGA IP Design Example User Guide

27

Page 28: O-RAN Intel® FPGA IP Design Example User Guide

• External non-PTP miscellaneous packets:

— Static Ethernet header generation with predefined parameters: EtherType =0x8100 (non-PTP)

— PRBS pattern mode generation with interpacket gap of two cycles and payloadsize of 128 bytes for each packet.

— CSR configurable to run either non-continuous or continuous.

— Transmitter or receiver packet statistic status available via CSR.

Design Example Address Mapping

Table 8. JTAG to Avalon Memory-mapped Bridge Address Mapping

Address Target

0x20100000 – 0x201fffff (5) IOPLL reconfiguration Avalon memory-mapped register.

0x20200000 – 0x203fffff Ethernet MAC Avalon memory-mapped register.

0x20400000 – 0x205fffff Ethernet MAC Native PHY Avalon memory-mapped register..

0x20600000 – 0x207fffff (5) Native PHY RSFEC Avalon memory-mapped register.

0x40000000 – 0x5fffffff eCPRI IP Avalon memory-mapped register.

0x80000000 – 0x9fffffff Design example test generator and verifier Avalon memory-mapped register.

Table 9. Address mapping when accessing through the Nios II processorOnly available for Intel Stratix 10 designs.

Address Target

0x00100000 – 0x001fffff IOPLL Re-configuration Avalon memory-mapped register

0x00200000 – 0x003fffff Ethernet MAC Avalon memory-mapped register

0x00400000 – 0x005fffff Ethernet MAC Native PHY Avalon memory-mapped register.

0x00600000 – 0x007fffff Native PHY Reed-Solomon FEC Avalon memory-mapped register.

Access the Ethernet MAC and the Ethernet MAC Native PHY Avalon memory-mappedregister using word offset instead of byte offset.

For more information on the Ethernet MAC, Ethernet MAC Native PHY Avalon memory-mapped, and eCPRI IP Avalon memory-mapped registers, refer to the respective userguides.

Table 10. Test generator and verifier Avalon memory-mapped register

Word Offset Description Default Attribute

0x0 Start send data• Bit 1: PTP, non-PTP type• Bit 0: O-RAN C-plane, U-plane, C-plane extension

0x0 RW

0x1 Continuous packet enable 0x0 RW

0x2 Clear error 0x0 RW

continued...

(5) Only available for Intel Stratix 10 and Intel Agilex E-tile designs.

3. O-RAN Intel FPGA IP Design Example Functional Description

UG-20317 | 2021.09.14

O-RAN Intel® FPGA IP Design Example User Guide Send Feedback

28

Page 29: O-RAN Intel® FPGA IP Design Example User Guide

Word Offset Description Default Attribute

0x3 (6) Rate switch• Bit 7: tile

— 1’b0: H-Tile— 1’b1: E-Tile

• Bit 6:4: Ethernet rate— 3’b0: 25G to 10G— 3’b1: 10G to 25G

• Bit 0: switch rate enableYou must set bit 0 and poll until bit 0 is clear for rate switching

E-tile:0x80

Non E-tile:0x0

RW

0x4 (6) Rate switch done• Bit 1: rate switch done

0x0 RO

0x5 System configuration status• Bit 31: System ready• Bit 30-13: Reserved• Bit 12-5: UDCOMPPARAM• Bit 4: COMP_EN• Bit 3: EXT_PACKET_EN• Bit 2: CPLANE_EXT_EN• Bit 1: CPLANE_EN• Bit 0: UPLANE_EN

0x0 RO

0x6 - 0x1F Reserved 0x0 RO

0x20 eCPRI error interrupt 0x0 RO

0x21 External packets error 0x0 RO

0x22 External PTP packets transmitter SOP count 0x0 RO

0x23 External PTP packets transmitter EOP count 0x0 RO

0x24 External misc packets transmitter SOP count 0x0 RO

0x25 External misc packets transmitter EOP count 0x0 RO

0x26 External receiver packets SOP count 0x0 RO

0x27 External receiver packets EOP count 0x0 RO

0x28 External error count 0x0 RO

0x29 – 0x2C Reserved 0x0 RO

0x2D External PTP timestamp fingerprint error Count 0x0 RO

0x2E External PTP timestamp fingerprint error 0x0 RO

0x2F External receiver error status 0x0 RO

0x30 – 0x53 Reserved 0x0 RO

0x54 O-RAN error interrupt 0x0 RO

0x55 Avalon streaming receiver U-plane error status• Bit 0: Avalon streaming receiver U-plane error status

0x0 RO

0x56 Avalon streaming receiver C-plane error status• Bit 0: Avalon streaming receiver C-plane error status

0x0 RO

0x57 Avalon streaming receiver C-plane extension error status 0x0 RO

continued...

(6) Only available for Intel Stratix 10 and Intel Agilex E-tile designs.

3. O-RAN Intel FPGA IP Design Example Functional Description

UG-20317 | 2021.09.14

Send Feedback O-RAN Intel® FPGA IP Design Example User Guide

29

Page 30: O-RAN Intel® FPGA IP Design Example User Guide

Word Offset Description Default Attribute

Bit 0: Avalon streaming receiverx C-plane extension error status

0x58 C-plane Checker Errors 0x0 RO

0x59 C-plane Checker Errors 0x0 RO

0x60 Transmitter C-plane SOP Count 0x0 RO

0x61 Transmitter C-plane EOP Count 0x0 RO

0x62 Receiver C-plane SOP Count 0x0 RO

0x63 Receiver C-plane EOP Count 0x0 RO

0x64 Total C-plane Error Count 0x0 RO

0x65 C-plane Extension Checker Errors 0x0 RO

0x66 Transmitter C-plane extension SOP count 0x0 RO

0x67 Transmitter C-plane extension EOP Count 0x0 RO

0x68 Receiver C-plane extension SOP Count 0x0 RO

0x69 Receiver C-plane extension EOP count 0x0 RO

0x70 Transmitter C-plane extension error count 0x0 RO

0x71 Transmitter U-plane SOP count 0x0 RO

0x72 Transmitter U-plane EOP count 0x0 RO

0x73 U-plane checker errors 0x0 RO

0x74 Receiver U-plane SOP count 0x0 RO

0x75 Receiver U-plane EOP count 0x0 RO

0x76 Total U-plane error count 0x0 RO

Related Information

• 25G Ethernet Intel Arria 10 FPGA IP User Guide

• 25G Ethernet Intel Stratix 10 FPGA IP User Guide

• eCPRI Intel FPGA IP User Guide

• IOPLL Intel FPGA IP Core User Guide

• L- and H-Tile Transceiver PHY User Guide

3. O-RAN Intel FPGA IP Design Example Functional Description

UG-20317 | 2021.09.14

O-RAN Intel® FPGA IP Design Example User Guide Send Feedback

30

Page 31: O-RAN Intel® FPGA IP Design Example User Guide

4. O-RAN IP Design Example User Guide ArchivesIf the table does not list an IP version, the user guide for the previous IP versionapplies.

Table 11. O-RAN IP Intel FPGA IP Design Example User Guide Archive

Intel Quartus PrimeVersion

User Guide

21.1 O-RAN Intel FPGA IP Design Example User Guide

20.3 O-RAN Intel FPGA IP Design Example User Guide

UG-20317 | 2021.09.14

Send Feedback

Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of IntelCorporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to currentspecifications in accordance with Intel's standard warranty, but reserves the right to make changes to anyproducts and services at any time without notice. Intel assumes no responsibility or liability arising out of theapplication or use of any information, product, or service described herein except as expressly agreed to inwriting by Intel. Intel customers are advised to obtain the latest version of device specifications before relyingon any published information and before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2015Registered

Page 32: O-RAN Intel® FPGA IP Design Example User Guide

5. Document Revision History for the O-RAN Intel FPGA IPDesign Example User Guide

Document Version Intel QuartusPrime Version

IP Version Changes

2021.09.14 21.2 1.5.1 • Added new Number of channels parameter.• Added new System Console Printout figures.• Changed block diagram• Changed clk_ref description• Replaced Test generator and verifier Avalon

memory-mapped register table

2021.06.30 21.1 1.4.0 Added support for Intel Agilex 10 devices.

2020.11.30 20.3 1.1.0 Initial release.

UG-20317 | 2021.09.14

Send Feedback

Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of IntelCorporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to currentspecifications in accordance with Intel's standard warranty, but reserves the right to make changes to anyproducts and services at any time without notice. Intel assumes no responsibility or liability arising out of theapplication or use of any information, product, or service described herein except as expressly agreed to inwriting by Intel. Intel customers are advised to obtain the latest version of device specifications before relyingon any published information and before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2015Registered