One of the questions I get asked a lot is which development board is the best for (beginner) FPGA and SOC development. Understandably, this can be a daunting question since there is a wide range of development boards available within the AMD Xilinx ecosystem.
In this blog, we are going to look at a couple different boards which are great for getting started. I have tried to select development boards which are in stock now or I know will be in stock within the next few weeks or a month.
One of the first requirements for any AMD Xilinx development board is that it needs to be part of the 7 series , UltraScale or UltraScale+ families. Using a development board based on an earlier device will restrict your usage of development tools to older, out of date ones. This will significantly reduce your productivity and cause you to learn a tool chain which is not relevant.
When it comes to selecting a development board, you need to consider both your immediate learning objectives or project requirements and potential future ones.
If you want to learn basic FPGA development skills, a great starting point is the Arty S7-50. This board offers a Spartan 7 FPGA with a good level of resources along with good interfacing capabilities with the Pmod and Arduino shield interfaces. The Arty S7-50 also provides 256 MB of DDR3L which is very useful if you want to explore the implementation of soft processor cores like MicroBlaze.
While the Arty S7-50 is a great starting point if you want to experiment or learn about working with Ethernet in a FPGA, the Arty A7-100 makes a great development board because it offers significantly increased logic resources along with Ethernet connection which means we can add network connectivity to our softcore processor and logic designs. Both the Arty S7 and A7 provide us with a traditional FPGA with which we can start developing and learning how to use RTL, HDL and work with soft-core processors.
However, many modern programmable logic developments are based around a heterogeneous SoC. For most developers looking for a development board, this requires a board based on the Zynq-7000 SoC or Zynq UltraScale+ MPSoC.
The Arty Z7-20 is an ideal starting point if you want to work with the Zynq-based devices because similar to the other boards in the Arty range, it offers a range of interfacing and also provides us with dual-core A9 processors in the processing system. The rather nice thing about the Arty Z7-20 is that we can use the PYNQ Z1 image on the SD card and use Python to work with and control the designs in the programmable logic once you have explored bare metal and PetaLinux developments on the A9 cores.
Should your application require a little more processing power than what is available in the Zynq processor, we need to look at MPSoC-based boards. Two of the best are the ZU1 CG board and the Ultra96-V2.
The ZU1 CG board is based around the Zynq MPSoC and provides not only programmable logic but also dual-core Arm A53 and dual-core R5 processors along with a very capable processing system which provides Gigabit Ethernet, USB 3.0 and DisplayPort. The ZU1 CG board also includes 1 GB of LPDDR4, a MicroBus Click interface, and three high-speed expansions which are pinned to be compatible with SYZYGY interfaces (voltage selection is not automatic). This gives access to a range of Mikroe Interface Click Boards and expansion boards to provide a number of different solutions such as ADCs / DACs for signal processing or image sensors for image processing.
The penultimate board is based on the Linaro Consumer Edition Specification and is the Ultra96-V2 which provides developers with access to the Zynq MPSoC ZU3EG. The Ultra96-V2 provides up and downstream USB 3.0, WiFi and Bluetooth along with expansion via a high speed and low-speed expansion header. This means we can break out to Mikroe Interface Click Boards, image sensors or Pmod using these interfaces. The Ultra96-V2 is a great choice for more demanding application prototyping and, since it uses the same device as is on the UltraZed-EG, it provides a nice path to production if that is your eventual aim with a System on Module (SoM).
Speaking about SoMs, the final development boards you might want to consider are the Kria KV260 and KR260. These boards are based around the Kria SoM and provide developers with great examples of how AMD Xilinx devices can be used higher in the stack, especially for AI using Vitis AI and robotic applications using ROS2.
There is no doubt you will have great fun learning and creating applications regardless of which one you choose.
Workshops and Webinars
Upcoming webinar - Introduction to Vivado 30th March
Enjoy the blog why not take a look at the free webinars, workshops and training courses we have created over the years. Highlights include
Embedded System Book
Do you want to know more about designing embedded systems from scratch? Check out our book on creating embedded systems. This book will walk you through all the stages of requirements, architecture, component selection, schematics, layout, and FPGA / software design.
We designed and manufactured the board at the heart of the book! The schematics and layout are available in Altium here
Sponsored by AMD Xilinx