3. Run the Prebuilt Image

3.1. Prerequisites

3.2. SD Card Creation

Choose an unpartitioned SD card of size 8GB or greater for this demo. Use the Win32 Disk Imager utility for Windows or ‘dd’ command line utility for Linux to write the given rawdisk image sdcard.img to the SD card.

After unzipping the image file sdcard.zip using windows extractor, use the following steps to write a raw disk image to a removable device using the Win32 Disk Imager utility.

  1. Browse to the location of the unzipped image in the Win32 utility

  2. Choose the correct SD card under ‘device’

  3. Select ‘Write’ to the SD card, click ‘Yes’ at the prompt to continue writing and wait till the operation is complete

    Win32 Image

Steps to write a raw disk image to a removable device using dd command-line utility for Linux

  1. Unzip the given image file sdcard.zip in linux

  2. Use dd to write sdcard.img to correct enumerated disk for SD card in the Linux machine:

    unzip sdcard.zip
    sudo dd if=sdcard.img of=/dev/sdbx bs=1M
    

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)

while in the second patition (ext4 format) resides the root file system.

Note: A Windows OS would only allows FAT32 partitions to be viewed, which is the boot partition, whereas ext4 format is not recognized.

3.3. Board Setup

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

VMK180 Board Setup

Board jumper and switch settings

This is a onetime setup and the board should have been delivered to you with this default settings, but 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 SYSCTRL uSD card inserted in the slot and card has the 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.

Serial console settings

VMK180 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 the terminal emulator choose Versal UART0 and use the following settings:

  • Baud Rate: 115200

  • Data: 8 bit

  • Parity: None

  • Stop: 1 bit

  • Flow Control: None

3.4. External NIC to VMK180 connection

  • Connect a QSFP cable from external NIC on a host machine to VMK180 QSFP port.

3.5. Versal VMK180 Setup

SD Boot mode steps:
  1. Place the boot image in sd card and power on the board in SD boot mode.

  2. Hit any command to stop autoboot at u-boot

  3. Set the GT reference clock as mentioned under “Setting the GT reference clock using Board UI” section.

  4. Once clock programming is done enter “boot” command at u-boot.

  5. Once Linux boots, it asks for username and password, please type “root” for both.

Note

The follwoing board settings needs to be done before booting linux images on VMK180, for every fresh boot in all boot modes.

Setting the GT reference clock using Board UI:

  • Copy the clock files from the clock_files folder of the vmk180_trd_platform3_2020.2 package to BoardUI->tests->VMK180->clockFiles folder.

  • Open the VMK180 Board UI application. Choose the board information as shown in the figure

VMK180 Board Setup
  • Once the GUI is open, go to File -> Change the System Controller Port. Choose the port corresponding to the system controller. On the bottom left, click on System Controller Tab

    VMK180 Board Setup
  • Choose the reference clock files to be programmed as shown in the following figure:

    VMK180 Board Setup
  • Click on Set 8A34001 FMC2 Frequency. Once the clocks are set, user will see the following in the logs window

    VMK180 Board Setup

This will program the clocks needed for the design.

3.6. Run Host and VMK180 applications

  • Once host and vmk180 are booted, setup IP for each ethernet port and make sure ethernet link is established using ping. Once ping is successfull only proceed further.

  • Execute following command to run the Host utility

    iperf3 -s -i 60

  • Execute following command on Target(EP) to start traffic

    iperf3 -c <remote Host IP> -t 60 -i 60