Getting Started Guide

Configuring a Bitfile

This guide will take you through the process necessary to configure the Programmable Logic (PL) side of the Zynq Ultrascale+ MPSoC from the Processor Side (PS).

The following are requirements for this guide:

  • ECM1900
  • BRK1900
  • microSD card
  • USB type C storage device. Type converting adapter can be used
  • USB type C to Host USB type cable

The following instructions show how to configure a bitfile:

  1. Unplug USB cable from Host PC.
  2. Insert the microSD card containing the BRK1900 Linux image into the microSD card slot on the ECM1900.
  3. Power the BRK1900 either through the DC barrel jack or the 6-pin Mini-Fin connector. Please read and follow the voltage and current specifications located under ‘Powering the BRK1900’ at BRK1900 Breakout Board.
  4. Turn on the BRK1900.
  5. Plug in a USB type C cable from the UART port on the ECM1900 to the USB port of your host computer.
  6. Use your favorite serial console on your host computer to communicate with the COM port your USB device is connected to. The baud rate for this connection is 115200.
  7. Power cycle the BRK1900 to receive console output though the serial connection.
  8. After boot completes you can log in using using the credentials below:
    • Username: root
    • Password: root
  9. Generate a compatible bitfile for the ECM1900 (instructions shown below). You may also use our provided LED-ECM1900.bit which lights up the LEDs as 11000011.
  10. Place the bitfile onto a USB type C storage device.
  11. Plug the storage device into either the USB 3.0 type C port on the BRK1900, or the USB 2.0 type C port on the ECM1900.
  12. The storage device will mount to /run/media/sda1. Run the following command to configure the bitfile onto the PL side.
fpgautil -b /run/media/sda1/LED-ECM1900.bit

Creating a Compatible Bitfile

This guide will take you through generating a compatible bitfIle for the ECM1900. Each bitfile generated for the ECM1900/BRK1900 will need the Zynq Ultrascale+ MPSoC IP instantiated within it. This IP will need to be configured with our included preset configuration TCL script located at the following GitHub repository: opalkelly-opensource/ecm1900-tools.

  1. Update your local board files to include the BRK1900 from the Xilinx BoardStore.
  2. Open a new Vivado design to target the BRK1900 board.
  3. Create a new block design in the IP Integrator (IPI).
  4. Instantiate the Zynq UltraScale+ MPSoC IP within the IPI.
  5. Click on the “Run Block Automation” notification and apply the “Board Preset” to this IP. 
  6. Select ‘Generate Block Design’ to generate the Verilog HDL sources.
  7. Instantiate this generated block design into your top level HDL module.
  8. Add additional PL resources to your HDL design as required.
  9. Generate the BRK1900 compatible bitfile.
  10. Upload the bitfile to the ECM/BRK1900 using the instructions provided above in ‘Configuring a Bitfile’.