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 Intel FPGA development module
- USB Cable (USB 2.0 or USB 3.0 as appropriate)
Downloading the FrontPanel SDK
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.
Following the instructions at the top… If you are not already registered with Pins you will need to register first. Once you are registered, you will need to request access to the FrontPanel SDK downloads. Instructions for this are at the top of the page. We need to get enough information from you to associate you with a purchase of one of our products.
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 includes the following components:
- Universal USB driver for all Opal Kelly integration modules
- Opal Kelly’s FrontPanel® desktop application
- 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 Device
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 specified voltage range for the device input.
Connecting the Device
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
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.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.
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.
Vivado IP Core – The FrontPanel Subsystem Vivado IP Core is an HDL generator that handles the interconnection and instantiation of the FrontPanel HDL components delivered within the FrontPanel SDK.
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 & Tools – 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.
Latest FPGA Development Software
Developing new FPGA applications requires design suite software from the vendor of the FPGA on the Opal Kelly module, either Intel (ZEM boards) or Xilinx (XEM boards). Both vendors offer free versions of their tools that can be used with low density FPGAs found on lower end FPGA modules from Opal Kelly. Please refer to the FPGA vendor documentation for the FPGA on your module for the development suite requirements. Note that with 7-series and newer modules (XEM7xxx, XEM8xxx, and beyond) Xilinx requires use of the Vivado Design Suite.
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/