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
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
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.