Cora Z7S Cost-Optimized Single Core SoC Platform for Industrial IoT Applications
Digilent’s Cora Z7S is built around Xilinx’s powerful Zynq 7000S. The Zynq 7000S device features a single-core ARM Cortex™-A9 processor mated with 28 nm Artix®-7-based programmable logic (think of a Raspberry Pi and an FPGA board mashed together). This combination allows hardware designers to get access to software resources such as Linux and open-sourced tools, and software designers to get access to hardware configuration.
The Zynq APSoC is divided into two distinct subsystems: the Processing System (PS) and the Programmable Logic (PL).
The PL is nearly identical to a Xilinx 7-series Artix FPGA, except that it contains several dedicated ports and buses that tightly couple it to the PS. The PL can be configured either directly by the processor or via the JTAG port. The PS consists of many components, including the Application Processing Unit (APU), Advanced Microcontroller Bus Architecture (AMBA) Interconnect, DDR3 Memory controller, and various peripheral controllers with their inputs and outputs multiplexed to 54 dedicated pins (called multiplexed I/O, or MIO pins).
The specifications for the Zynq-7000S are listed below:
- 667 MHz single-core Cortex-A9 processor
- DDR3 memory controller with 8 DMA channels and 4 High Performance AXI3 Slave ports
- High-bandwidth peripheral controllers: 1G Ethernet, USB 2.0, SDIO
- Low-bandwidth peripheral controllers: SPI, UART, CAN, I2C
- 1 MSPS on-chip ADC
- Programmable from JTAG and microSD card
- Programmable logic equivalent to Artix-7 FPGA
- 14,400 Look-up Tables (LUTs)
- 28,800 Flip Flops
- 225KB Block RAM
- 2 Clock Management Tiles
What is included in Cora Z7S
The Cora Z7S’ wide array of hardware interfaces, from a 1 Gbps Ethernet PHY to analog-to-digital converters and general-purpose input/output pins, make it an ideal platform for the development of a vast variety of embedded applications. The small form factor and mounting holes make the Cora Z7 ready to be used as a component of a larger solution. The on-board SD Card slot, Ethernet, and power solution allow the Cora Z7 to operate independently of a host computer.
The Cora Z7S can be connected to standard Arduino shields to add extended functionality. Special care was taken while designing the Cora Z7S to make sure it is compatible with the majority of Arduino shields on the market. The shield connector has 45 pins connected to the FPGA for general purpose digital I/O. Due to the flexibility of FPGAs, it is possible to use these pins for just about anything including digital read/write, SPI connections, UART connections, I2C connections, and PWM. Six of these pins, AN0 - AN5, can also be used as single-ended analog inputs with an input range of 0 V - 3.3 V, and another six, AN6 - AN11, can be used as differential analog input pairs with an input range of 0 V - 1.0 V.
Cora Z7S top view (Image source: Digilent, Inc.)
The Cora Z7S is fully compatible with Xilinx Vivado Design Suite. This toolset melds FPGA logic design and embedded ARM software development into an easy-to-use, intuitive design flow. It can be used for designing systems of any complexity, from a complete operating system running multiple server applications in tandem, down to a simple bare metal program that controls some LEDs. It is also possible to treat the Zynq APSoC as a standalone FPGA for those not interested in using the processor in their design.
Zynq platforms are well-suited to be embedded Linux targets, and Cora Z7S is no exception. To help you get started, there is a PetaLinux project that will get you up and running with a Linux system quickly. For more information, see the Cora Z7 Resource Center.