For many applications, a computer or microcontroller, such as those based on the ARM architecture, is a great solution. Flexible and relatively low cost, microcontrollers have powered a wide variety of devices for many years. Another option, however, is an FPGA, or field-programmable gate array. When set up correctly, these devices can produce precisely targeted computational power when needed, while still maintaining a low power budget. FPGA systems also give system designers a huge amount of hardware flexibility, as output pins can be set up exactly as needed.
While this speed and hardware flexibility is great for many applications, a big drawback is the fact that logic tends to be specialized for a certain operation and is difficult to redesign compared to microcontroller-based systems. While both have tradeoffs, with new designs that combine an FPGA and traditional processor onto a single SoC, like the Zynq-7000S, you can take advantage of both of these hardware worlds without integrating the two parts together yourself.
The Zynq-7000S SoC features a single-core ARM Cortex-A9 processor, along with a 28nm Artix-7 based programmable logic, linked together with the AMBA—Advanced Microcontroller Bus Architecture—interface. This system can take advantage of the Cortex-A9 processor for general computing, while the programmable logic can then be used for specialized computation-heavy tasks. When properly configured, this type of system can punch well above its weight when compared to a microcontroller-only system but maintains much of the same flexibility. Applications such as computer vision for robots, and motor control as illustrated in the linked examples are ideal for such setups.
Hybrid FPGA Implementation with Cora Z7 Board
While it’s easy to see where this kind of CPU and FPGA combination can be useful, how does one actually get started with this kind of tech? Whether as the basis for experimentation and development of your own custom implementation, a very low production run, or even an advanced makerpro project, the Cora Z7 presents an attractive option. When compared to Digilent’s other low-cost FPGA dev board options, it includes more features than their Cmod board, yet is a smaller form-factor smaller than those from the Arty family, such as the Arty-S7-50.
To complement its versatile Zynq-7000S SoC, the Cora features headers that are compatible with Arduino Uno-style expansion shields, 2 Pmod ports, and additional I/O routed to an unpopulated expansion header. A Gigabit Ethernet port is also available, along with an OTG USB port. Power is provided via USB or a barrel jack to provide 4.5-5.5V power, and it features two pushbuttons and two RGB LEDs for out-of-the-box experimentation without the need for any extra hardware.
The system can run as an embedded Linux platform, and boots off of the built-in micro-SD card reader. Digilent provides a Petalinux project to allow you to get your system running ASAP. If you’ve ever wanted to get started with using an FPGA system with the versatility of an MCU, the Cora Z7 could be the answer you’re looking for.
Jeremy S. Cook is a freelance tech journalist and engineering consultant with over 10 years of factory automation experience. An avid maker and experimenter, you can follow him on Twitter or see his electromechanical exploits on the Jeremy S. Cook YouTube Channel!