Zynq-7000 is a programmable System-on-Chip (SoC) manufactured by Xilinx. Zynq consists of Processing Systems (PS) and Programmable Logic (PL). The Zynq block diagram is shown in the following figure. The PS consists of hard core components, i.e. the components are permanently embedded in the silicon. The PS components are dual core ARM Cortex-A9, DDR3 memory controller, flash memory controller, and peripherals. The PL is an FPGA (Xilinx Artix-7 or Kintex-7 based FPGA), which can be used for implementing soft core components.
In Zynq, we can program the PL as well as the PS. We can built a custom hardware (by using HDL) in PL, and control this custom hardware from the program that runs on ARM Cortex-A9. The interface between custom hardware and ARM Cortex-A9 is AXI4 system bus. AXI4 is an industry standard bus that is generally used in SoC design. The ARM Cortex-A9 is an application grade processor, so it can run Linux OS. Zynq is suitable for embedded system that requires hardware acceleration or HW/SW co-design, for example machine learning, cryptography, etc.
ZYBO (ZYnq BOard) is one of the development board for Zynq. This board is shown in the following figure. ZYBO has many features such as GPIO, LED, switch, USB, USB OTG, Ethernet, VGA output, HDMI I/O, audio I/O, and microSD card slot. ZYBO can run Linux OS. ZYBO can be used as a single board computer like Raspberry Pi. We can connect ZYBO to VGA or HDMI monitor, speaker, mouse, and keyboard. The ARM Cortex-A9 clock speed is 650 MHz, and the RAM size is 512 MB. With ZYBO, we can design a full system that use custom hardware, Linux, and application that runs on top of the Linux.
Vivado is software for designing and simulating the custom hardware design. We can use Verilog or VHDL to program the PL. Vivado also comes with SDK that is based on Eclipse IDE. With the SDK, we can create a bare metal program (program that runs without OS or usually called firmware) for ARM Cortex-A9. We can create a bare metal program by using C programming language. The step-by-step of Vivado installation is described as the following:
- Download Vivado 2016.4.
- Extract the installer file: Xilinx_Vivado_SDK_2016.4_0124_1.tar.
- Run the installer file: xsetup.exe.
- Follow the installation process, and select Vivado HL WebPACK edition.
- Enable Software Development Kit (SDK). If you forget to enable this, you may have to reinstall the Vivado.
- Optionally, if you don’t need the 7 Series and UltraScale options, you can disable it to save HDD space.
- Select the installation directory. You can use the default directory (C:\Xilinx), or use another directory, but make sure the directory’s name doesn’t contain any space.
- Wait until the installation process completed. It will take about 30 minutes depending on the PC specification.
- Install cable drivers: Jungo and Xilinx.
- Get the free WebPACK license. You should register first if you don’t have Xilinx account.
- Follow the instruction, and the license file (.lic) will be sent to your email.
- Load the license file by clicking the Copy License button.
In this tutorial, you have learned how to install Vivado. In the next tutorial, I will explain how to create the first custom hardware design that use AXI4-Lite GPIO. With AXI4-Lite GPIO, we can control LEDs or read switches.
Go to the part 2 of the tutorial.