Article count:1077 Read by:1326621

Account Entry

Want to use FPGA or SoC but don't know where to start? Start with an entry-level development platform developed by Xilinx!

Latest update time:2018-12-25
    Reads:

作者:Joseph Yang,Kwee Peng Yap,Lian Heng Tan和Pei Fern Ng


What if you have a great idea but have little idea of ​​the hardware and software that will be used?


Should I sign up for a class and start learning one by one, or try to find a simple, easy-to-use and suitable tool? In this way, I don’t know how long it will take from idea to realization. We are a team of Xilinx who love innovation. When developing a simple but interesting game, we found that we had very limited knowledge of the required ARM processors and development tools, but this did not discourage us. Come and listen to our story.


Most of the engineers in our team are hardware engineers engaged in IC design and know little about Arm® processors or Vivado Design Suite. However, we still wanted to try Xilinx's new AI entry-level development platform, Ultra96, so we decided to use it to start our small project.


Hardware - Ultra96 Board and Grove Ultra96 Board Sensor Starter Kit


The default development board is Ultra96. Also, we used the Grove Ultra96 Development Board Sensor Starter Kit. We chose the Grove Ultra96 kit because this kit contains the Ultra96 Development Board Sensor Mezzanine Board with multiple Grove modules such as LCD, buttons, etc. In addition, the Grove Ultra96 Development Board Sensor Starter Kit also provides example projects for all the included modules.

Figure 1. Grove entry requirements



Project Design


We decided to create a Word Color Match game. The LCD display 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 gain a point.


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


If the player does not press the button when matched, the player loses 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 connected to Zynq UltraScale+ MPSoC and/or Arduino

The sensor development board's connector is fixedly connected to the Zynq (yellow box below) or Arduino (red box below)


Laptop connected to Ultra96 development board via UART for debugging

Zynq UltraScale+ MPSoC with Vivado tools and SDK flow,

Arduino and Grove component interface


Figure 4. Hardware configuration

Let’s take a look at how we partition the game.

  • Arduino - Games

  • Ultra96 - Leaderboard

  • Laptop - Debug Interface


The Arduino and Zynq UltraScale+ MPSoC flows take input from their own set of connected Grove components and update their connected LCDs independently. Since each subsystem is independent and communicates via UART, it was easy to distribute the design among the team. We were able to develop parts of the project independently at the beginning and then easily integrate all the parts once the subsystems were ready.


Finally, the word color matching game board was born.


Figure 5. Color matching game board


Lessons Learned


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


Versatility

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

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


Visit the Ultra96 Development Board Ecosystem

  • The Ultra96 is a versatile platform with many expansion 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 were extremely impressed with its quick conversion to Python and C language design in the Linux environment. Most importantly, we had a lot of fun!


Whether you are creating a simple design project or a more complex one from IoT to machine learning, this is the perfect way to get started.


Want to learn more? Want to create your own project? Here are some links to help you quickly start your own project:


https://www.96boards.org/product/ultra96/


http://www.zedboard.org/product/ultra96/


https://blog.hackster.io/microzed-chronicles-a-look-at-the-ultra96-board-c5b8f7a02209


https://china.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html


 
EEWorld WeChat Subscription

 
EEWorld WeChat Service Number

 
AutoDevelopers

About Us Customer Service Contact Information Datasheet Sitemap LatestNews

Room 1530, Zhongguancun MOOC Times Building,Block B, 18 Zhongguancun Street, Haidian District,Beijing, China Tel:(010)82350740 Postcode:100190

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号