Site icon AranaCorp

Get started with TE0720 and Xilinx Vivado

In this tutorial, we go through the steps to program a TE0720, development board integrating a Xilinx Zynq-Z020 SoC, with Vivado and Vitis part of Xilinx software suite.

Material

TE0720 Overview

The Trenz Electronic TE0720 is an industrial-grade SoM (System on Module) based on Xilinx Zynq-7000 SoC with up to 1 GB of DDR3/L SDRAM, 32MB of SPI flash memory, Gigabit Ethernet PHY transceiver, a USB PHY transceiver and powerful switching-mode power supplies for all on-board voltages. A large number of configurable I/Os is provided via rugged high-speed stacking strips.

Key Features:

Installation of Xilinx software

Download and install Xilinx as self-extract or Single-file donwload

N.B.: You need at least 50 Gb of memory to install Xilinx

Project Creation

Create new project and select a name like tutoTE0720

Navigate to Default parts section. In Tab Boards, press on “Install/Update Boards”

This will configure the project specificallly for the board

Create first design

Click on create design.

In tab Diagram, click on the plus sign “+” to add IP. Search for Zynq7

Double-click on block to configure IP and modify parameters to add the required functionalities .

Then click on Run Block Automation to complete diagram automatically. Once the DDR and FIXED_IO outputs are set, you can add the missing connection.

then right click on design and select Generate output products

Finally right-click on design again and select “Create HDL wrapper…” .and chose let Vivado manage.

Once your design is complete and the wrapper generated, you can go through implementation

Get ready for implementation

The complete implementation process is divided in three process: Synthesis, Implementation and bitstream generation.

In the right menu, “Run Synthesis”

Wheen asked, select “Run Implementation”

“Generate bitstream”

Program device using Vivado

Once the bitstream is generated, you can proceed to device programmation.

Open Hardware Manager and Open Target (in the green highlighted info bar)

Program Device in the right menu

Temperature from Zynq is displayed in dashboard tab. TE0720 device was programmed using the Vivado software.

Program CPU

Select file>Export>Export Hardware…

Select option Pre-synthesis

Then Tools> Launch Vitis IDE

Select same workspace as Vivado project

Create platform from XSA generated by Vivado by browsing to the XSA file in Vivado project created in the Export Hardware step.

Choose application name and target core

Choose template

Once the program is coded properly, you can select “Build Project”

You can test the connexion to hardware clicking on the task bar icon

If the hardware is properly connected, you can start debuggig by navigating to “Debug As”

Once debug is started, you can see that the program is running on the CPU. To be abble to debug and see the message in the terminal, one step is missing.

Debug from Vitis Serial Console

To observe debug messages(printf) from the Zynq board, you can use the Vitis Serial Console. Click on the plus sign and select the serial port connected to the Zynq board.

Debug project in JTAG Terminal

In order to see the printf messages, we need to route the stdout output to coresight

Disconnect board to stop the program in debug tab

Go back to Design tab and open project settings (double click on <tutorial-name>.prj). Then click On “Navigate to BSP Settings”

And “Modify BSP Settings…”

Navigate to standalone and change stdin and stdout from ps7_uart_0 to ps7_coresight_comp_0

To apply the changes, the project should be build again. Then click on Debug As

In the XSCT Console, enter the following command to open the terminal

 jtagterminal

You can see the message from the code displayed in the terminal. Proof that the TE0720 was successfully programmed by Vitis.

Sources

Exit mobile version