The ZEM5305 is a compact FPGA board featuring the Altera Cyclone V E FPGA and SuperSpeed USB 3.0 connectivity via a USB 3.0 Micro-B receptacle.  Designed as a full-featured integration module, the ZEM5305 provides access to up to 94 I/O pins on its 484-pin Cyclone V E device and has a 512-MiByte DDR3 SDRAM available to the FPGA. One SPI Flash devices provide a total of 32 MiB of non-volatile memory (System Flash) which holds the device firmware and can be used to store FPGA configuration bitfiles. The ZEM5305 is designed for compact system integrations in applications where the peripheral can provide the necessary power supplies to the module.

PCB Footprint

mechanical drawing of the ZEM5305 is available in PDF and image formats.  The PCB is 64mm x 42mm (2.52″ x 1.65″) with four mounting holes (M2 metric screws) spaced as shown in the figure.  These mounting holes are electrically isolated from all signals on the module.

The ZEM5305 has a two 80-pin Samtec BSE connectors providing access to 90 I/O, 2 CLKOUT, and 2 CLKIN pins.

Functional Block Diagram


The ZEM5305 is built around the Altera Cyclone V 5CEFA2U19C8N. The device has the following resources as derived from the Altera documentation.

Logic Elements (LE)25,000
8-input Adaptive Logic Modules37,736
Distributed RAM196 Kib
Block RAM1,760 Kib
18×18 Multipliers50
Hard Memory Controller1

Power Supply

To reduce cost and size, the ZEM5305 is designed with only one on-board linear power supply, a DDR3 termination supply. All other power must be provided from the attached peripheral. The additional power supplies provide DC power for the USB microcontroller, FPGA, DDR3 memory, and other peripherals. In addition to allowing reuse of existing peripheral supplies, this also facilitates the use of linear-only supplies for applications that cannot tolerate switching supplies.

Expansion Bus Power

The USB’s 5v supply is provided to the expansion header and power header to enable the design of bus-powered applications. The USB 3.0 specification allows for up to 4.5 W (900 mA at 5 V) to be provided to external peripherals over the USB cable. While power consumption of an unconfigured ZEM5305 is quite low, due to the flexibility allowed in FPGA design, the Cyclone V E and DDR3 could potentially consume over 4.5 W during operation with a user design, thus violating the USB specification.

Before relying on USB power, you should be aware of the limitations and the fact that using USB power may render the ZEM5305 a USB-noncompliant device.

SuperSpeed USB 3.0 Interface

The ZEM5305 uses a Cypress FX3 USB microcontroller to make the device a high-performance SuperSpeed USB 3.0 peripheral. As a USB peripheral, the device is instantly recognized as a plug and play peripheral on millions of PCs. More importantly, FPGA downloads to the ZEM happen quickly, virtual instruments under FrontPanel update quickly, and data transfers are blazingly fast.

On-board Peripherals

The ZEM5305 is designed to compactly support a large number of applications with a small number of on-board peripherals.  These peripherals are listed below.

Low-Jitter Crystal Oscillator

A fixed-frequency, 100 MHz, low-jitter oscillator is included on-board and outputs LVDS to the FPGA. The Cyclone V FPGA can produce a wide range of clock frequencies using the on-chip PLL capabilities.

512-MiByte Word-Wide DDR3 Synchronous DRAM

The module also includes a 512-MiByte DDR3 SDRAM with a full 16-bit word-wide interface to the FPGA.  This SDRAM is attached exclusively to the FPGA and does not share any pins with the expansion connector. The maximum clock rate supported by the Cyclone V E is DDR3-800 (400 MHz).

The DDR3 SDRAM is a Micron MT41K256M16HA-125:E (or compatible).

System Flash – 16 MiB Serial Flash Memory

A 128 Mib serial flash device (Micron N25Q128A13B1240E or equivalent) provides on-board non-volatile storage accessible to the USB microcontroller.  This device is used to store device firmware and configuration settings as well as other user assets such as FPGA configuration files or calibration data.  Erase, read, and write functions are available at all times (with or without a configured FPGA) through the use of FrontPanel API methods. This device is not directly accessible to the FPGA.


Four LEDs and are available for general use as indicators.

FrontPanel Support

The ZEM5305 is fully supported by Opal Kelly’s FrontPanel Application.  FrontPanel augments the limited peripheral support with a host of PC-based virtual instruments such as LEDs, hex displays, pushbuttons, toggle buttons, and so on.  Essentially, this makes your PC a reconfigurable I/O board and adds tremendous value to the ZEM5305 as an experimentation or prototyping system.

Programmer’s Interface

In addition to complete support within FrontPanel, the ZEM5305 is also fully supported by the FrontPanel SDK, a powerful C++ class library available to Windows, Mac OS X, and Linux programmers allowing you to easily interface your own software to the XEM.

In addition to the C++ library, wrappers have been written for C#, Java, and Python making the API available under those languages as well. Sample wrappers (unsupported) are also provided for Matlab and LabVIEW.

Complete documentation and several sample programs are installed with FrontPanel.