Create minimalist Vivado project¶
Goal¶
The goal of this tutorial is to create minimalist Vivado project for Antelope that you can use for building Linux distribution.
A bit of background¶
Building Linux distribution for Zynq UltraScale+ device (such as Antelope DPU) requires hardware definition file (.xsa
). That file includes essential configuration such as:
DDR memory
Clocks
Enabled peripherals
I/O pins, in particular how peripherals connect to physical pins of chip
Connectivity between Processing System (PS) and Programmable Logic (PL)
Vivado lets you to configure all these settings and export them in form of .xsa
file. Simplest way to create Vivado project is by using block design which offers graphical way to layout IP cores, customize them and connect together.
Prerequisites¶
AMD Vivado Design Suite
Free Standard Edition can be download from https://www.xilinx.com/products/design-tools/vivado.html
Enable support for Zynq UltraScale+ MPSoC during installation
During installation when selecting devices support make sure to select Zynq UltraScale+ MPSoC in SoC group. Just UltraScale+ is different family of devices.
Both ‘Vitis’ and ‘Vivado’ selections include Vivado. You can use either of them but using ‘Vitis’ installs additional tools.
This tutorial uses 2024.1 version. Other versions might also work correctly but it’s possible that exact steps will be different.
Provided outputs¶
Following files (Tutorial files) are associated with this tutorial:
Antelope/Zero-to-hero/01 Create minimalist Vivado project/antelope_minimal.xsa
- Vivado hardware definition file.
Use these files if you want to skip tutorial.
Create project Vivado¶
Note
Antelope User Manual describes all configuration values used in these steps.
Start Vivado and create new project. In new project wizard select following options:
Project type: RTL Project
Select
Don’t select
Part:
xczu4cg-sfvc784-1L-i
Create top-level block design by using
in Flow Navigator. Usetop_bd
as name.In block design diagram editor add Zynq UltraScale+ MPSoC IP block.
Start customization of Zynq UltraScale+ MPSoC IP block by double-clicking on it.
Go to I/O Configuration and set following options:
MIO Voltage Standard on all I/O Banks: LVCMOS18
: Single, x4, without feedback clock
: Single Ready/busy on MIO10, Data strobe on MIO12
: on MIO46..47, no modem signals
: on MIO26..51
: on MIO 64..75, enable MDIO3 on MIO76..77
Go to Clock Configuration and set following options:
: 33.3333 MHz (make sure it’s set to this exact value)
: disable all clocks
Go to DDR Configuration and set following options:
Requested Device Frequency: 1067
Effective DRAM Bus Width: 32-bit
ECC: Disabled
Speed Bin: DDR4 2133R
DRAM Device Capacity: 16384 MBits
Row Address Count: 17
Go to PS-PL Configuration and set following options:
: Disable
: Disable all interfaces
In Sources view select
and click in context menu. Use option.Click ‘Generate Bitstream’ in Flow Navigator to finalize design and generate outputs.
Export hardware by clicking
. Don’t include bitstream. Save exported hardware asantelope-minimal.xsa
file in known place for next tutorials.
Summary¶
In this tutorial you walked through creating minimalist Vivado project for Antelope. Configuration enables only minimal set of peripherals (UART, Ethernet and flash memories) and doesn’t provide support of usage of Programmable Logic. In the next step you can use exported .xsa
as base of building Linux distribution for Antelope.