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.
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 Applicationfor 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:
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 modelsdescribe 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.
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
- QNX Neutrino 6.5.0 (USB / PCI) API available as shared-object (please contact firstname.lastname@example.org for availability).
- Linux (USB only) API available as shared object (C/C++), Java, Ruby, Python libraries
- 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
- Mac OS X Version 10.10+
- 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@example.com.
- 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)