Your shipment should have arrived with the following items. If anything is missing, please contact us as soon as possible so we may replace the item.
- Xilinx or Altera FPGA Integration Module
- USB Cable (USB 2.0 or USB 3.0 as appropriate)
Installation and Setup
This section will guide you through the software installation. The XEM is a USB device which requires a special driver to be installed on your system. You should install this driver before connecting the XEM to your system. After installation, you should attach your device. Windows performs additional device driver installation after the device is attached, so you should do this before starting FrontPanel for the first time.
Note that the FrontPanel SDK is also available for Mac and Linux platforms. This guide only covers the Windows release.
- Microsoft Windows 7 or later (32- or 64-bit)
- USB (version 1.1, 2.0, or 3.0)
- 512 MB RAM
- Approximately 50 MB free disk space
The FrontPanel SDK is available for free download to registered customers through our Pins Support Portal online. Note that you will need to sign up for a Pins account and request download approval by supplying your order information.
The FrontPanel SDK includes the following components:
- Universal USB driver for all Opal Kelly integration modules.
- Opal Kelly’s FrontPanelTM virtual instrumentation software.
- FrontPanel API for C, C++, Python, and Java.
- Sample Verilog and VHDL projects.
- Sample FrontPanel projects.
The installation wizard will guide you through the installation and should only take a minute or two. We suggest installing everything available -- it won’t take up much space. By default, the installation procedure will copy files to the following directory:
C:\Program Files\Opal Kelly\FrontPanelUSB
When installation is complete, a two new entry will be made in your Start Menu:
Start Menu → All Programs → Opal Kelly
The folder (Opal Kelly) contains shortcuts to the documentation as well as a shortcut to the Samples folder. The shortcut (Opal Kelly FrontPanel) will start FrontPanel.
Powering the Integration Module
Some integration modules are USB bus powered (e.g. XEM6001 and XEM6002). Others will require external power to be applied. Please refer to the corresponding User’s Manual for information on powering the device. Be sure to use a clean, well-regulated supply within the voltage range for the device input.
IMPORTANT - Heat Dissipation
Care should be taken to provide proper cooling for the XEM and components on the board. The devices can potentially generate more heat than can be dissipated in still air. Passive or active cooling should be considered. Cooling requirements must be determined by the end-user using empirical data or simulation information from the appropriate Xilinx or Altera tools.
Connecting the XEM
Once the software is installed on your system, connect the module to a USB port which can provide bus power. Windows will recognize that a new device has been attached and will display a notice near the taskbar. Windows will then display the Found New Hardware dialog.
Allow Windows to install the software automatically and click Next. Windows should then properly locate the driver installed previously and complete the installation. Your module is now ready to be used and will be recognized in FrontPanel.
Note that different modules have different USB serial numbers. Windows recognizes them as different devices and therefore performs the “Found New Hardware” procedure for each board. If you have multiple devices, you’ll need to go through this short procedure for each one. Each time, Windows should find the appropriate driver automatically.
An Introductory Project
FrontPanel Sample Bitfiles
Pre-built bitfiles for the FrontPanel Samples are available for download through the Pins Support Portal.
A few examples have been installed with the FrontPanel software. These can be found at the following location under the Start Menu:
Opal Kelly → FrontPanel → Samples
Browse to this location and open the First example to find the following:
|File / Folder||Description|
|Project source folder for the XEMxxxx in Verilog.|
|Project source folder for the XEMxxxx in VHDL.|
|Project source folders for other Opal Kelly modules.|
|The FrontPanel XML interface description.|
The Samples folder contains a README file that describes the process of building the sample bitfiles. You can download pre-built bitfiles from our website.
Download the Configuration File
Start FrontPanel and click the download button to open a file selector dialog. Browse to the appropriate configuration file (e.g.
first-xem3005-1200.bit) and click OK. FrontPanel will then download the configuration file to the FPGA. Download time typically varies between 50 ms and 800 ms depending on the USB connection speed and configuration file size.
Instead of using the file selector dialog to browse for the configuration file, you can drag the First.bit file onto the FPGA Download button.
Load the FrontPanel Profile
When the download is complete, click the “Load Profile” button to open another file selector dialog. This time, select the
First.xfp file and click OK. FrontPanel will load the profile and open the first (and only) panel in the profile. It should look like this:
The panel contains eight okToggleButtons which are connected to the physical LEDs on the XEM3001 as well as four okLEDs which are connected to the physical pushbuttons. You can click on the toggle buttons and observe that the LEDs change state. You can also press the pushbuttons and observe the virtual LEDs in FrontPanel echo their state. At the bottom are the inputs (A and B) and the output (SUM) of a 16-bit adder designed into the FPGA. Using the mouse wheel or keyboard, you can change the inputs and observe the output.
Note that the functionality varies slightly depending on what LEDs and buttons are available on your specific hardware. For example, the XEM3010 only has two pushbuttons.
Congratulations! You’ve just been introduced to the simplicity and power of FrontPanel. More elaborate examples are available in the Samples directory. Please see the FrontPanel User’s Manual for a short tutorial on FrontPanel.
You’re ready to start using your module. A few documents will help get you going quickly. These documents are available on our website.
FrontPanel User’s Manual - This manual describes FrontPanel and describes how to add FrontPanel support to new or existing FPGA designs. You're looking at it now!
Device User’s Manual - This manual describes the design and function of the module. Look here to find specification and application information about the module.
Pins - Module pin mappings (how each expansion pin is connected to the FPGA) are provided online through Opal Kelly Pins. You can review this information online and create your own Peripherals to automatically generate constraint files for the FPGA design tools.
FrontPanel API Documentation - This HTML documentation is a browsable description of the FrontPanel programmer’s interface. Although specifically written for the C++ API, it readily translates to the Python API except in noted areas.
Samples - Several sample projects provide a great starting point to developing your own project. These are installed with FrontPanel in the installation directory.
The following additional tools are not available for download from Opal Kelly but may be useful.
Xilinx ISE WebPack / Vivado and latest Service Pack [NOT INCLUDED]
This is a free download from Xilinx’s website and provides the tools necessary to design and implement a complete project on many Opal Kelly modules. Development for the XEM3050, XEM6010-LX150, and XEM6310-LX150 requires a license of ISE Logic Edition which is not free. Xilinx provides several tutorial examples and a lot of design assistance on their website: http://www.xilinx.com
Python for Windows
Python is an object-oriented, multi-platform interpreted language with a simple syntax. Together with extensive libraries, application development with Python is quick, easy, and robust. FrontPanel Python extensions allow you to configure and communicate with the XEM within any Python program. More information on Python can be found at their official website:
http://www.python.org. Be sure to download a supported version of Python.
wxWidgets is an Open Source C++ class library designed to make GUI design fast and portable. Applications designed with wxWidgets can easily be ported between Windows, Linux, and Apple operating systems. wxWidgets is often favorably compared to the Microsoft Foundation Classes (MFC). More information can be found at the website: http://www.wxwidgets.org
This is an implementation of the wxWidgets library for use under Python. This diverse library makes it very easy to build graphical applications quickly. In addition to the FrontPanel Python extensions, a complete GUI interface to your project can be built quickly and easily. The official website for wxPython is at: http://www.wxpython.org
FreeMat is a free environment for rapid engineering, scientific prototyping, and data processing. It is similar to commercial systems such as MATLAB from Mathworks but is Open Source. It is available as a free download at http://freemat.sourceforge.net/