The Avnet ZUBoard 1CG: The Swiss Army Knife of Development Boards
Let's take a deep dive into the ZUBoard 1CG, the key components and interfaces it provides, and the methods of developing solutions.
It is rare to find a development board that is useful for both the professional engineer and the hobbyist, but the Avnet ZUBoard 1CG bridges the gap. At the heart of the Avnet ZUBoard 1CG is the AMD Zynq™ UltraScale™ XCZU1CG MPSoC in a 484 pin package. This device is the smallest of the AMD Zynq™ UltraScale™ family and falls within the Cost Optimized Portfolio.
In this article, we are going to take a deep dive into the ZUBoard 1CG, the key components and interfaces it provides, and the methods of developing solutions.
The SoC
Although it is within the Cost Optimized range, the AMD Zynq™ UltraScale™ XCZU1CG MPSoC is still an exceptionally capable device. It provides developers with dual core Arm® Cortex®-A53 64-bit processors within the application processing unit (APU). Each of the Arm® Cortex®-A53 processors also contains a NEON unit. The NEON unit enables Single Instruction Multiple Data operations to be implemented using both floating and integer operations for vector processing applications. This support for SIMD makes the A53 processors within the APU perfect for image and video processing. In addition to the floating point and SIMD extensions, the A53 processors also provide the developer with cryptographic accelerators. These cryptographic accelerators enable acceleration of AES, SHA and finite field arithmetic, which support elliptic curve cryptography.
The Arm Cortex-A53 processors are coupled with dual core Arm® Cortex®-R5 processors. These processors are within the real-time unit and intended for real-time applications that support standards such as IEC61508 or ISO26262. To support this, the R5 processors run in lock step and the tightly coupled memories implement a single error correction and double error detection. The tightly coupled memory (TCM) enables both low latency and deterministic access to RAM. A total of 128KB of TCM is provided.
In addition to the APU and RPU, a number of peripherals are provided within the processing system. These range from high-speed interfaces, such as Display Port, SATA, USB 3.0 to Gigabit Ethernet, USB 2.0, SPI, UART, CAN, I2C and GPIO. The exact configuration of the processor I/O can be selected thanks to the multiplex I/O (MIO) in the processing system.
Alongside the features described above, which comprise the processing system, the AMD Zynq™ UltraScale™XCZZU1CG MPSoC also provides programmable logic. Several high-speed Arm® eXtensible Interface (AXI) connections enable the processor’s address space to exchange data between the PS and PL, and the processing system programs the programmable logic.
The board and power
The ZUBoard 1CG is a compact development board that operates from a USB-C power supply at 15 volts. The power system generates the rails necessary for the powering of the AMD Zynq™ UltraScale™ XCZU1CG MPSoC mounter on the board (0.85v, 1.8v, 1.2v and 1.1v). It also generates 3.3V and 5V for the user I/O. The board also comes with a coin cell battery, which powers the real-time clock in the AMD Zynq UltraScale XCZU1CG MPSoC. It also has a battery backed RAM used for secure boot.
As would be expected, the ZUBoard 1CG provides developers with a range of memory and interface solutions.
The board provides 256Mb of QSPI memory. It also has a micro-SD card slot, where these memories can be used as the source of the boot files for the user application. To run the operating system and store application data, the board also provides 1GB of LPDDR4 memory. While this is connected to the processing system of the AMD Zynq UltraScale+ XCZU1CG MPSoC, it can be easily accessed by the programmable logic and used for data stores and frame buffers (if necessary).
When it comes to interfacing the ZUBoard 1CG, the board provides a range of standard interfaces that are seen on most development environments. These include USB 2.0 Host, 1 Gig Ethernet, USB UART, and JTAG. This enables developers to easily create applications that run on the processing system and exploit traditional computing interfaces. Allowing developers to create networked solutions using Ethernet while connecting commonly used sensor peripherals using the USB hub.
One of the highlight features of the ZUBoard 1CG is its interfacing, which is provided by the high-speed expansion interfaces. These expansion interfaces break out signals from both the programmable logic and the processing system. From the programmable logic, high performance logic signals are broken out while logic level MIO are broken out along with Gigabit Serial Links from the processing system. These gigabit serial links enable developers to implement USB 3.0 interfaces and Display Port outputs. The provision of processing system MIO enables the boot devices, such as eMMC, to be used on expansion boards.
These high-speed expansion ports are connected to a range of peripherals from dual cameras to eMMC and Display Port outputs. There are also a wide range of third-party high speed compatible boards that provide ADC and DAC interfacing capabilities
Along with the high-speed interfacing solution, the ZUBoard 1CG also provides a MIKROE Click site. This Click site supports the wide ecosystem of boards provided by MIKROE. These click boards provide various interfacing capabilities, from motor drive to wireless communication.
Outside of the high-speed interfacing and Click sites, the ZUBoard 1CG also provides developers with pressure and temperature sensors located onboard.
Creating solutions
When it comes to creating solutions for the ZUBoard 1CG, we use several applications from AMD. These include:
- AMD Vivado™ Design Suite – This is used to configure the processing system, along with capturing the programmable logic design.
- AMD Vitis™ Unified Software Platform – This can be used to create and debug bare metal software applications for the APU and RPU, and to generate embedded Linux applications for the APU.
- PetaLinux Tools – Supports the creation of embedded Linux solutions for AMD FPGA and SoC devices.
- AMD PYNQ™ Framework – Provides a Python-based framework to enable control and data exchange with programmable logic designs.
This solution stack enables developers to be able to create solutions from simple logic designs to solutions, which execute bare metal applications all the way to embedded Linux. While AMD PYNQ Framework enables developers to be able to leverage the productivity performance gained by using Python combined with the performance provided by programmable logic.
To give some idea of how powerful the ZUBoard 1CG is, we can look at its capabilities for accelerating functions from the processing system to the programmable logic. This uses a design created within the AMD Vivado Design Suite software to implement a Fast Fourier Transform, a common feature of many signal processing algorithms. We can offload the processing of this algorithm from the processor to the programmable logic. Using this AMD Vivado Design Suite software design combined with AMD PYNQ Framework enables the developer to easily benchmark the capabilities of the programmable logic acceleration. As the size of the FFT calculation increases, the FFT implemented in hardware also increases in performance significantly.
This capability to combine offload features from the programmable logic to the FPGA demonstrates the power of ZUBoard 1CG.
However, it is not just the standalone capabilities of the board and the SoC that make this suitable for both professional and makers alike. It is the combination of the board, the SoC and the tool chain that provide the developer with an exceptionally capable platform at a great price point.
If you want to get started with the ZUBoard 1CG, check out the projects and blogs below.
- Getting Started with AMD PYNQ™ Framework and the ZUBoard
- Getting Started with the ZUBoard, AMD Vivado™ Design Suite and AMD Vitis™ Unified Software Platform
- ZUBoard PetaLinux & Motor Control
- Avnet ZUBoard 1CG and Dual Camera High-Speed IO Module
- Avnet ZUBoard – Temperature Sensor
- MATLAB, Model Composer, and the Avnet ZUBoard
AMD, and the AMD Arrow logo, PYNQ, UltraScale+, Vivado, Vitis, Zynq and combinations thereof are trademarks of Advanced Micro Devices, Inc.