The XEM7001 is a small, business-card sized (3.5’’ x 2.0’’) FPGA board featuring the Xilinx Artix-7 FPGA.

Designed as a full-featured starter system, the XEM7001 provides access to most of the I/O pins on the 256-pin FPGA device.  The XEM7001 is ideally suited to experiments based on the FrontPanel virtual instrumentation platform, integration into prototype development, or as a quick and easy way to add USB capability to an existing device.

The XEM7001 has been designed to be pin- and footprint-compatible to its Spartan-6 predecessor, the XEM6001.

Documentation and Reference Materials

The following is a comprehensive list of documentation available for this device.

XEM7001 User’s ManualThis online documentation space.
XEM7001 Pins ReferenceThe interactive Pins reference for the device provides detailed pinout
information as well as automated constraint file generation. Export
functionality is provided to PDF, CSV. Constraint files are provided
for UCF, XCD (Xilinx) and QSF, SDF (Altera).
FrontPanel SDK User’s ManualThe online documentation space for the FrontPanel SDK.
FrontPanel API ReferenceOnline API reference with detailed usage for every API method.

Functional Block Diagram

USB 2.0 Interface

The XEM7001 uses a Cypress CY7C68013A FX2 USB microcontroller to make the device a USB 2.0 peripheral.  As a USB peripheral, the module is instantly recognized as a plug and play peripheral on millions of PCs.  More importantly, FPGA downloads happen blazingly fast, virtual instruments under FrontPanel update quickly, and data transfers operate at full USB 2.0 High Speed rates.

The USB interface also allows the XEM to be bus-powered which means it is ultra-portable requiring just a USB cable and the proper drivers to connect to any supporting PC, including laptops.

On-board Peripherals

The XEM7001 is designed as a low-cost, barebones device.  However, a few key peripherals have been added for convenience.


A small serial EEPROM is attached to the USB microcontroller on the XEM7001, but not directly available to the FPGA.  The EEPROM is used to store boot code for the microcontroller as well as PLL configuration data and a device identifier string.

The PLL configuration data is loaded from EEPROM and used to reconfigure the PLL each time a new configuration file is loaded to the FPGA.  Therefore, stable and active clocks will be present on the FPGA pins as soon as it comes out of configuration.  The stored PLL configuration may be changed at any time using FrontPanel’s PLL Configuration Dialog.

The EEPROM also stores a device identifier string which may be changed at any time using FrontPanel.  The string serves only a cosmetic purpose and is used when multiple XEM devices are attached to the same computer so you may select the proper active device.

Cypress CY22150 PLL

A multi-output, single-VCO PLL can provide up to five clocks, three to the FPGA and another two to the expansion connectors JP2 and JP3.  The PLL is driven by a 48-MHz signal output from the USB microcontroller.  The PLL can output clocks up to 150 MHz and is configured through the FrontPanel software interface or the FrontPanel API.

32 Mb SPI Flash

A serial flash device is available to the FPGA for configuration booting and post-configuration usage as general-purpose non-volatile memory.

LEDs and Pushbuttons

Eight LEDs and four pushbuttons are available for general use as debug inputs and outputs.

FrontPanel Support

The XEM7001 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 XEM7001 as an experimentation or prototyping system.

Programmer’s Interface

In addition to complete support within FrontPanel, the XEM7001 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.


Software, documentation, samples, and related materials are Copyright © 2006-2021 Opal Kelly Incorporated.

Opal Kelly Incorporated
Portland, OR 

All rights reserved. Unauthorized duplication, in whole or part, of this document by any means except for brief excerpts in published reviews is prohibited without the express written permission of Opal Kelly Incorporated.

Opal Kelly® and FrontPanel® are registered trademarks of Opal Kelly Incorporated. Linux is a registered trademark of Linus Torvalds. Microsoft and Windows are both registered trademarks of Microsoft Corporation. All other trademarks referenced herein are the property of their respective owners and no trademark rights are claimed.