In addition to my regular What's Next blogs regarding interviews, predictions, and ruminations about the future of programmable technology, I will also be covering some of the new developments and announcements in the industry that might help point the way to where things are going (hence the "What's New" portion of this column's title).
This week, I'm going to cover the recent release of a fully-featured development platform and associated design community based on the Xilinx Zynq-7000 EPP (Extensible Processing Platform). The folks at Avnet and Digilent have created an incredibly cool development platform called the ZedBoard for the Zynq. What? You don't remember what the Zynq is? Well, read on...
The Zynq-7000 EPP has a hard ARM dual-core Cortex-A9 processor enhanced with the NEON engine, a single- and double-precision vector floating-point unit, and a large set of peripherals including memory controllers, CAN, USB, Gigabit, Ethernet, SD-SDIO, UARTs, analog-to-digital converters, and more. Its high-performance multi-standard I/Os and multi-gigabit transceivers offer a wide range of connectivity options, thereby allowing designers to deploy Zynq devices in a tremendous variety of applications. The programmable fabric portion of the Zynq leverages the Xilinx 7 series programmable fabric. This allows designers currently developing on Xilinx 7 series All Programmable Devices (the posh new name for FPGAs) to seamlessly port their existing APD designs into Zynq-7000 EPPs.
The real differentiator of the Zynq-7000 EPP family, when compared to traditional embedded processors, is the tight integration of its programmable fabric with its ARM Cortex-A9 processing system. The interface between the processing system and the programmable fabric is built on nine AXI interfaces and many control signals (like DMA and Interrupts), which totals more than 3,000 interconnections. This high throughput eliminates the bottlenecks that limit traditional two-chip ASIC-FPGA, ASSP-FPGA, and MCU-FPGA solutions. With the Zynq-7000 EPP, designers can build their own custom devices by adding peripherals in the programmable fabric. Designers can also dramatically increase the overall performance of the system by creating their own custom hardware accelerators. (See: Ask Max: FPGA Processors vs. Hardware Accelerators.)
The Zynq-7000 EPP is more than just a new category of programmable device. It has been crafted alongside an incredibly powerful development environment, which features silicon devices, development platforms, development tools, operating systems, and an ecosystem that includes communities based on platforms like the ZedBoard.
Which brings us to the ZedBoard itself. (For the full description, click here to see the official product brief.) The ZedBoard comes with a Xilinx Zynq-7000 XC7Z020 device, a boatload of memory (512 MB of DDR3, 256MB of QSPI Flash, and a 4GB SD card), 10/100/1G Ethernet, USB OTG 2.0, USB UART, PS and PL I/O expansion, multiple output display capabilities (1080P HDMI, 8bit VGA, 128x32 OLED), I2S audio codec, and on-board USB/JTAG programming, all for a sweet price of only $299 for an academic version or $395 for the corporate version.
The impressive hardware components on the ZedBoard support the development of Linux, Android, Windows, and other OS/RTOS-based designs. Also, an optional seven-inch touch display kit is available from Avnet to add touch capability to your platform. Existing reference designs for a variety of Zynq-based applications are already available. For example, the Zynq Linux Wiki shows details on creating a Linux kernel for the Zynq. More ZedBoard applications will be posted at the community developer site, including tutorials, reference designs, and documentation, along with a wide range of community projects.
But wait, there's more! In this week's All Programmable Planet live online chat, we kicked off a robot avatar project. Our current feeling is that the Zynq-7000 EPP could be the device -- and the ZedBoard the main development platform -- this project employs for a variety of functions, including robotic vision and analysis, motor control, audio processing, wireless interconnect to the Web, battery and power management, and even a small Skynet kernel (well, maybe that last idea is going a bit too far).
The ZedBoard community is a great idea that should dramatically help build the infrastructure required for success in the embedded marketplace. Leveraging the existing ecosystem for the ARM processors used in the Zynq is critical, but if a vibrant community can take the ZedBoard to the next level, then who knows where things might end up? The DIY energy is out there (witness the amazing things that platforms like the Arduino are doing by checking out our buddies at SparkFun). The ZedBoard and its associated community is ideally positioned to take this energy to the next level.