Hard-Core FGPA Provides A Flexible Development Target
Xilinx made a splash when it first came out with the Zynq-7000 (see “FPGA Packs In Dual Cortex-A9 Micro” at electronicdesign.com). Its dual ARM Cortex-A9 cores were at the center of a microcontroller packed onto the same chip as an FPGA. Yet Xilinx is not alone in blending FPGAs with hard-core ARM processors. Microsemi and Altera have offerings as well. Altera has even announced a quad-core version with 64-bit ARM Cortex-A53 cores (see “FPGA Embeds 64-bit Cores And High Speed Interfaces” at electronicdesign.com).
This file type includes high resolution graphics and schematics when applicable.
Since then, the Zynq has garnered quite a bit of support. Even LDRA is supporting the Zynq-7000 platform with its LDRA Tool Suite, which addresses everything from unit testing to static analysis.
The Zynq-7000 can be found in platforms like National Instruments’ (NI) cRIO-9068 (Fig. 1). NI built the CompactRIO line around a processor and an FPGA. It typically programs using NI’s LabVIEW, but the move to an integrated Zynq-7000 chip reduced costs and provided a more flexible development platform that runs on Linux. The Zynq-7000 can easily handle Linux, which is one of the reasons for the chip’s flexibility. It can run applications that may or may not need the FPGA support.
Related Articles
- FPGA Packs In Dual Cortex-A9 Micro
- Dual Core Cortex-A9 With ECC Finds FPGA Home
- FPGA Embeds 64-bit Cores And High Speed Interfaces
- FPGA Design Suite Generates Global Minimum Layout
- Latest Micro Dev Kits Make For Too Many Toys, Too Little Time
NI is being more open with the latest cRIO platform, enabling developers to utilize Linux directly. Applications written in other languages such as C can be used with the FPGA, opening up some interesting alternatives given the vast number of modules that can be plugged into the cRIO platform.
Getting started with the Zynq-7000 has never been easier. Programming the FPGA portion is still as much of a challenge as ever, but Xilinx’s Vivado development tool makes the job much simpler (see “FPGA Design Suite Generates Global Minimum Layout” at electronicdesign.com). On the other hand, utilized prepackaged FPGA firmware that can be loaded via the Cortex-A9s means developers can utilize these systems without needing to develop the FPGA firmware. They can take advantage of the hardware acceleration from applications that run on the hard-core processors.
Another way to get started with the Zynq is to use a system-on-module (SOM) like Avnet’s MicroZed (Fig. 2) or Digilent’s ZYBO (Fig. 3). The MicroZed is a more compact version of the open-source Zedboard available from Digilent (see “Latest Micro Dev Kits Make For Too Many Toys, Too Little Time” at electronicdesign.com). These all support Digilent’s Pmod modules, which plug into a 12-pin header. This is handy for prototyping and experimentation because quite a variety of Pmods is available such as capacitive touch interfaces, stereo amplifiers, Wi-Fi modules, and organic LED (OLED) displays. There are analog-to-digital converters (ADCs), digital-to-analog converters (DACs), and other analog and digital interfaces as well.
I am looking forward to checking out the MicroZed because it also has two connectors on the bottom, so it can be plugged into a carrier board to expose over 100 signals instead of just using the Pmod connectors. It is practical to use in more rugged applications. Avnet has a set of Zynq Mini-Module Plus boards with even larger versions of the FPGA and high-speed GTX ports as well.
These platforms also have Ethernet support in common. This makes a big difference for debugging and for providing network access in general, which is imperative for the Internet of Things (IoT). Linux provides the platform for easily dealing with the network aspects of an application while the FPGA fabric provides unparalleled performance and flexibility. Quite a few Zedboard projects already are available at www.zedboard.org.
There is also something to be said about the standardization that Zynq provides. The FPGA fabric capabilities are different between versions of the chip, but the microcontroller core is the same. This should make vendor and community support easier, at least on the Linux side. It may get some designers to consider using an FPGA for their next project. Applications like image recognition can be completed sooner with hardware acceleration.