UltraScale+MPSoC software and hardware design and starter kit

Immediately report to the class to start learning, or find a way to find an easy to use and appropriate tools? In this way, from idea to realization, I don’t know what time to delay. We are a team of Xilinx who loves innovation. When developing a simple but fun game, we found that we have very limited understanding of the ARM processor and development tools we need, but this does not make us discouraged. Listen to our story.

Most of our team's engineers are hardware engineers working on IC design. Little is known about the Arm® processor or Vivado® Design Suite, but we still want to try Xilinx's new AI entry-level development platform. Ultra96, so we decided to use it to launch our small project.

Hardware - Ultra96 Board and Grove Ultra96 Board Sensor Starter Kit

The default development board is Ultra96. In addition, we used the Grove Ultra96 Development Board Sensor Starter Kit. We chose the Grove Ultra96 kit because it includes the Ultra96 development board sensor mezzanine board with multiple Grove modules such as LCDs, buttons, and more. In addition, the Grove Ultra96 Development Board Sensor Starter Kit provides sample projects for all included modules.

Figure 1. Grove entry conditions

Project Design

We decided to create a Word Color Match game. The LCD monitor has an RGB adjustable backlight, which is an important part of the game. Whenever the background color matches the displayed word, the player needs to press a button to get a point.

Figure 2. When the background color does not match the displayed word

If the player does not press the button while matching, the player will lose a life. The game ends when the player loses five lives.

Figure 3. When the background color matches the displayed word

Our projects mainly include

Grove components are connected to Zynq® UltraScale+TM MPSoC and/or Arduino

- Fixed connection of the connector of the sensor development board to Zynq (lower yellow frame) or Arduino (red frame below)

The laptop is connected to the Ultra96 development board for debugging via UART

Zynq UltraScale + MPSoC with Vivado tools and SDK processes,

Arduino interfaces with Grove components

Figure 4. Hardware configuration

Look again at how we partitioned the game.

Arduino - Games

Ultra96 - Leaderboard

Laptop - debugging interface

The Arduino and Zynq UltraScale + MPSoC processes import from their own set of connected Grove components and independently update their connected LCDs. Since each subsystem is independent and communicates via the UART, it is easy to assign designs across the team. We were able to develop a part of the project independently at the beginning and then easily integrate all the parts once the subsystem was ready.

Finally, the word color matching game board was born.

Figure 5. Color matching game board

Learned experience

Here are the lessons we learned from this experience and Ultra96:


With the Ultra96 development board sensor sandwich board, you can get started quickly with a simple Arduino tutorial

Leveraging Arm-based Zynq UltraScale + MPSoC means users can develop more compute-intensive applications on this platform

Access the ecosystem of the Ultra96 development board

Ultra96 is a versatile platform with many extended options

Visit the Grove ecosystem

The ecosystem provides a wide range of modules and easy to use drivers

Visit the Arduino ecosystem

The ecosystem provides a wide range of examples online

Before the project started, we were also afraid of the steep learning curve and thought it would take a long time to complete a project. However, all four team members were able to quickly understand the Ultra96 development platform within two months and appreciated the rapid transcoding of Python and C language designs in the Linux environment. Most importantly, we have a great time!

Whether you're creating a simple design project or a more complex design project from the Internet of Things to machine learning, this is the perfect way to start your design.