Welcome to the second half!

This is the second half of the Zynq training series. The first half covered the "hardware" side of things; meaning the physical FPGA, the AXI Interface, and a fair amount of "TCL" (pronounced "tickle") interface. In the second half, we will start to write the "software" side which runs on the ARM Cortex processor portion of the Zync chip. In the diagram below, it will focus more in the grey area as the previous section focused a lot more in the yellow underlying "PL" (programmable Logic) area.



Through Avnet, Xilinx and Element14, a training program to learn about the Zynq 7000 platform which is System On Chip combining an FPGA with an ARM processor. This comes to the students as complete development board packed with goodies like a wireless chip from MuRata (BT/BTLE/WIFI), 8GB Flash memory, onboard RAM, USB to JTAG (JTAG programmable over USB), Arduino-style headers (3.3V compatible only), Microphone, Bi-Color LED, and two additional expansion ports.


See all blog posts for this training here.


Software Lab 0 - Setting up the Zynq design environment


Lab 0 is just about getting 7-Zip, Tera Term (terminal program - I'm actually using PuTTY) and getting the files extracted. There isn't much else here. This was actually also covered in the first lab of the hardware series. There really isn't much to talk about here so I'll proceed right on to Lesson 1.


Software Lab 1 - Explore a Zync Hardware Platform

Lab 1 is an introduction to what is required from the 'hardware' team to get the 'software' team running. The hardware team would build the soft peripherals and all the interconnects between the PS & PL; then simply pass a single file over to the software team - In our case, Z_system_wrapper.hdf is the name of the file. This is a zipped file which contains a C Header, C file and a few other such as a TCL script to re-create itself. Again this lab doesn't have too much going on so I won't spend any additional time on it. This is likewise covered in some of the other lessons from the hardware training.


SW Lab 2 - Importing the Hardware platform into the SDK

This lab covers at a high level, an overview of the SDK environment. It will then walk the user through the first step; which is importing the hardware platform so that a Board Support Package (BSP) can be created and software can be written.

If not previously covered, the "SDK" is the main environment for writing the C/C++ software which will run on the Zynq device. If a HDF file is supplied from a different team or OEM, then software developers have no need to run Viviado; which was covered extensively in the Hardware section of this training. The SDK can also burn flash memory, generate bootloaders, and program the Zynq.


The lessons recommend comparing the .hdf file against datasheets from the hardware and directly with the creator for any custom IP (such as the PWM controller we created in the previous HW training).


Here is the SDK after we have imported the first project file:




On to the next lessons!


- James