FrontPanel SDK
The FrontPanel SDK dramatically accelerates the development of your FPGA-based USB device by providing three essential components to this development:
- Software API to help you build your application.
- Robust Driver to communicate with your device over USB.
- Pre-built HDL Modules that integrate with your HDL to make communication with the host PC simple and easy.
By utilizing the FrontPanel SDK and Opal Kelly FPGA modules such as our XEM3010 you can focus on the design of your hardware and software that provides value to your customers.
Multi-Platform FrontPanel API and USB Driver 
Our robust USB driver and FrontPanel API work together to provide an easy-to-use software interface to your hardware that is consistent across the Windows (32-/64-bit), Linux (32-/64-bit), and Mac OS X development environments.
And to make things even easier, we provide pre-built wrappers to the FrontPanel API for C, C#, C++, Python, and Java. And the DLL may be used from any of the huge library of software that support external calling such as Matlab and LabVIEW.
Atomic HDL Modules
The HDL you build into the FPGA constitutes the interface between your instrument and USB. Integrate our intuitive HDL modules into your design and you have a fast, extensible, and simple conduit between your hardware and your software.
Simulation Models 
ModelSim simulation models round out the complete package by allowing simulation of the PC to FPGA interaction that the FrontPanel API provides. Simulation saves you hours of development time by specifically targetting components of your design rather than iterating in the dark.
FrontPanel Application
Optionally, our stand-alone FrontPanel Application allows FPGA and PLL configuration, XML-based Virtual Control Components, firmware updates, individual device string programming, and more!
The stand-alone FrontPanel Application lets you quickly and easily define your own graphical user interface that communicates with your hardware. FrontPanel supports many basic user interface elements including:
- LEDs
- Hexadecimal displays
- Sliders
- Pushbuttons
- Checkboxes
- Toggle buttons
- Numerical entry
Custom Interfaces and Test Hardware 
FPGA technology is used in a wide variety of in-house prototypes and other custom projects. These types of projects benefit from both FrontPanel's easy-to-use virtual interface components as well as the convenience and predictability of the FrontPanel programmer's interface.


For Students and Educators 
FrontPanel is perfect for use in many classroom settings. It's flexible ease-of-use encourages exploration and makes it possible for students to realize their experiments and projects faster.
In structured courses, educators can setup template interfaces in FrontPanel XML, easing the student's learning curve while standardizing the way students interface, debug, and evaluate their assignments. Later, students can write custom XML interfaces or even write C++, Python, or Java applications.
Features & Specifications
- Windows: API available as DLL (C/C++), C#, Java, Python libraries
- Mac OS X: API available as universal dynamic library (C/C++), Java, Ruby, Python libraries
- Linux: API available as shared object (C/C++), Java, Ruby, Python libraries
- Simulation: Behavioral simulation supported, no back-annotation
- Up to 38 MB/s transfers
Requirements
- Windows: Windows XP, Windows Vista, and Windows 7 (32-bit and 64-bit)
- Mac OS X: Mac OS X version 10.4 or later (Universal)
- Linux: FedoraCore 10 32-/64-bit (many other distributions also known to work)
- Simulation: ModelSim Starter XE 6.3c or ActiveHDL 7.1
- Opal Kelly FrontPanel-supported device (XEM3001, XEM3005, XEM3010, XEM3050, XEM5010)
- Xilinx ISE 8.2i or later for building FPGA configuration files