Versal Prime - VCK190 Evaluation Kit Ethernet TRD Tutorial

Board Setup and Application Deployment

Setting up the Board and Application Deployment

Introduction

This document shows how to set up the board and run the Ethernet TRD application with prebuilt images.

Prerequisites

  • Reference design vck190_ethernet_trd_prebuilt_2022.1.zip file

  • VCK190 Evaluation Board

  • Terminal emulator, for example:

    Windows: teraterm (https://osdn.net/projects/ttssh2)

    Linux: picocom (https://github.com/npat-efault/picocom/releases)

    Disk Imager utility, for example

    Windows/linux: Balena Etcher Balena Etcher

  • Host Machine with 4 x 10G/25G NIC

  • 100G QSFP28 to 4 x 25G SFP28 cable

  • Iperf3 application

Board Setup

The following figure shows how to set up the VCK190 evaluation board.

setup

Board jumper and switch settings

This is a one-time setup and the board should have been delivered to you with this default setting, however it is good to double check for the first time when you get the board.

  • Make sure you remove J326 (7-8) jumper.

  • Setup SYSCTRL Boot mode switch SW11 to (ON,OFF,OFF,OFF) from switch bits 1 to 4 as shown in the above picture.

  • Make sure you have the uSD card with the SYSCTRL image inserted in the uSD SysCtrl slot.

  • It is recommended to use the latest SYSCTRL image.

  • Setup Versal Boot Mode switch SW1 to (ON,OFF,OFF,OFF) from switch bits 1 to 4 as shown in the above picture.

External NIC to VCK190 connection

Connect a QSFP to SFP cable from VCK190 QSFP Port (J288) to Host Machine NIC SFP Port.

Serial console settings

VCK190 comes with a USB-C connector for JTAG+UART, when connected three UART ports should be visible in Device Manager:

  • Versal UART0

  • Versal UART1 &

  • System Controller UART

Connect a USB-C cable to the USB-UART connector. In a terminal emulator, connect to Versal UART0 using the following settings:

  • Baud Rate: 115200

  • Data: 8 bit

  • Parity: None

  • Stop: 1 bit

  • Flow Control: None

Flash the SD Card

  • Download the Pre-Built Package , unzip and save it on your computer. Alternatively, go through the tutorials section to build petalinux-sdimage.wic locally.

  • cd into the directory containing the compressed wic file

    To uncompress wic file use following command:

    cd vck190_ethernet_trd_prebuilt_2022.1
    
    xz -d -v petalinux-sdimage.wic.xz
    

    This generates a output file named: petalinux-sdimage.wic.

  • Connect the microSD to your computer.

  • Download the Balena Etcher tool (recommended; available for Window, Linux, and macOS) required to flash the SD card.

  • Follow the instructions in the tool and select the downloaded image to flash onto your microSD card.

  • Eject the SD card from your computer.

    For other OS specific tools to write the image to the SD card refer to Setting up the SD Card Image

SD card partitions

Once the raw image is written to the SD card, you will be able to see two partitions. In the first partition (FAT32 format) resides:

  * Boot image (BOOT.BIN)

  * u-boot boot script (boot.scr)

  * Linux kernel image (Image)

The second patition (ext4 format) contains the root file system.

  • Note: Windows OS will only allow the FAT32 boot partition to be viewed, and the ext4 rootfs partition will not be recognized.

SD Boot mode:

  • Power on the board in SD boot mode.

GT Reference clocks

The GT Reference clocks required for the design are configured by the IDT drivers.

  • Note: Board UI is not required in the 2022.1 release.

Run Host and VCK190 applications

Once the host and VCK190 are booted, set up an IP address for each ethernet port and make sure the Ethernet link is established using ping. Do not proceed until you are able to ping each interface.

>ifconfig <interface_name> down	
>ifconfig <interface_name> up
  • Note: While making the interface up, make sure a valid IP address is set for the interface.

Iperf Commands

  • Execute the following command to start iperf3 server

    iperf3 -s -p <port_no> -i 60

  • Execute the following command to start iperf3 client, this will start the traffic.

    TCP: iperf3 -c <host_interface_IP> -T -p <port_no> -t 60 -i 60

    UDP: iperf3 -c <host_interface_IP> -T -u -p <port_no> -t 60 -i 60

PTP commands

Two Step PTP

VCK190> ptp4l -i eth0 -m

Link partner> ptp4l -i <interface_name> -m -s

or vice versa	

One Step PTP

  1. PTP with 1 step E2E:

    Link partner> ptp4l -i -m -f /usr/bin/default_onestep.cfg

    VCK190> ptp4l -i eth0 -s -m -f /usr/bin/default_onestep.cfg

    or vice versa

  2. PTP with 1 step P2P:

    Link partner> ptp4l -i -m -f /usr/bin/default_onestepp2p.cfg

    VCK190> ptp4l -i eth0 -s -m -f /usr/bin/default_onestepp2p.cfg

    or vice versa

Dynamic switching between 10G <-> 25G

Note: By default the interface links up at 25G.

  • Note: a) For dynamic switching between 10G/25G speed, make sure autonegotiation is ON for the particular interface on the NIC example command to switch ON autonegotiation: ethtool -s speed <10000/25000> autoneg on b) After switching, please expect a delay (~2s) for MRMAC block lock to complete and Link to be detected. c) If the block lock does not happen- immediately, try making the interface down and up to achieve block lock.

To switch between 10G and 25G speeds dynamically use the following commands:

10G -> 25G:

>ifconfig <interface_name> down	
>ethtool -s <interface_name> speed 25000	
>ifconfig <interface_name> up

25G -> 10G:

>ifconfig <interface_name> down
>ethtool -s <interface_name> speed 10000
>ifconfig <interface_name> up

Next Steps

License

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License.

You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright© 2022 Xilinx