Over the last week I have been approached by a number of different people who are using different Zynq based development kits and they’re wondering how to apply the MicroZed Chronicles to their chosen hardware. In addition to the Avnet MicroZed, there are a number of other popular development kits based on versions of the Zynq. Here’s a list of popular Zynq-based development boards showing the Zynq SoC variant on each board:
MicroZed – XC7Z010
ZedBoard – XC7Z020
ZC702 – XC7Z020
ZC706 – XC7Z045
ZYBO – XC7Z010
Why should users of others dev kits not want to follow along with the internet’s preeminent Zynq blog? It’s actually pretty easy to do and takes us back over 12 months to the very first blog in this series where we defined the configuration of the hardware we would be working with. This is the point where we can declare the board we’re using—when we declared the project—as in the picture below:
Selecting the desired board configures the appropriate SoC, its surrounding environment, and configuration for the peripherals on the board—for example, which of the MIO pins each peripheral is connected to along with the configuration information required for the MIO pins. Most importantly, this selection also sets up the DDR DRAM address location and configuration parameters, which saves us from entering this information by hand. The image below shows the configuration for the MicroZed DDR:
But what happens if we wish to use a board that lacks a built in default? In that case we can import an xml file that defines the board configuration we are going to use. This file is normally supplied by the board manufacturer. If not, then demand one.
It’s simple to import one of these files:
Create a project that targets the device in your development board or kit.
Double click on the block diagram to open the re-customize IP screen.
Select the IMPORT XPS SETTINGS option
Point this option to your vendor-supplied XML file
Import the file as shown below:
The image below shows the DDR configuration for the Zynq with settings for the Digilent Zybo board:
Once your hardware is correctly defined, you can build your system as I have done for each of the blogs in this series. Most of my blogs focus on using Zynq peripherals or modules. In such cases, no changes are required. When the blog uses external devices—for example LEDs or pushbuttons—you need to adjust the MIO specifications and pin out for your board. However, the blogs explain how to do this even though they’re written with a focus on the Avnet MicroZed board. It’s pretty straight forward to use these blog posts for any board because the same principles apply.
You can find the code for all of the previous examples in the MicroZed Chronicles blog series here and the list of previous blogs in the series are below.
To those that emailed and asked me, thanks! I hope you have fun following along with this series and learning about the Zynq SoC.
Please see the previous entries in this MicroZed Chronicles series by Adam Taylor: