The FrontPanel SDK dramatically accelerates the development of your FPGA-based USB or PCI Express device by providing three essential components:
Software API and a robust driver to communicate with your device over USB or PCI Express.
Device firmware to manage FPGA configuration and communication.
Small FPGA IP blocks that integrate with your HDL to make host communication simple and easy.
See some brief examples of the FrontPanel SDK →
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.Our PCI Express driver is available for Windows 32-bit and 64-bit operating systems.
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.
Use our stand-alone FrontPanel Application for FPGA and PLL configuration, XML-based Virtual Control Components, firmware updates, general device setup, 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:
Interactive FrontPanel XFP Scripting
Bring new life to your FrontPanel XFP descriptions with scripting capabilities.
Attach scripts to FrontPanel components to perform event-based computations based on user-input or FPGA communication over wires, triggers, and pipes.
FrontPanel Scripting makes it easy to add business logic to XFP profiles so you can generate interactive interfaces to your hardware faster without having to implement user interfaces using C++ or Python.
Perform preprocessing on numerical entries.
Format outputs for human-readable display.
Evaluate and process data blocks from pipes.
Perform closed-loop processing.
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.
Save hours of development time by specifically targetting components of your design rather than iterating in the dark. Our HDL simulation models describe the behavioral function of the PC to FPGA interaction and work under Xilinx’s iSim, Modelsim, and other HDL simulators.
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.
Technical Specifications and Support
Features & Specifications
- Windows (USB / PCI) API available as DLL (C/C++), C#, Java, Python libraries
- Mac OS X (USB only) API available as universal dynamic library (C/C++), Java, Ruby, Python libraries
- Linux (USB only) API available as shared object (C/C++), Java, Ruby, Python libraries
- QNX Neutrino 6.5.0 (USB / PCI) API available as shared-object (please contact [email protected] for availability).
- Behavioral simulation supported, no back-annotation
- USB 3.0 transfer rates up to 340+ MBps
- USB 2.0 transfer rates up to 38 MBps
- PCIe transfer rates up to 200 MBps
- Windows 7, Windows 8.1, Windows 10, Windows 11
- Mac OS X Version 10.10+, Intel and Apple Silicon
- Linux CentOS 6.5 32-/64-bit (x86 and amd64)
- Linux Ubuntu 16.04LTS 32-/64-bit (x86 and amd64)
- Linux – Many other distributions also known to work with libraries from the two official distributions above.
- Linux ARM targets as available and One-Time Ports available for a fee. If you require official support for ARM targets, please contact [email protected]
- Simulation: Compatible with most VHDL/Verilog simulators
- Opal Kelly FrontPanel-supported device
- Xilinx ISE 14.1i or later recommended for building FPGA configuration files (Spartan-6 and earlier)
- Xilinx Vivado recommended for building FPGA configuration files (7-Series and later)
- Altera Quartus 15.0 or later recommended for building FPGA configuration files (Cyclone IV and later)