Examples and Tools
The FrontPanel Platform installation includes several examples including those which illustrate the platform’s JavaScript+CSS+HTML app capabilities as well as those which use of the C++ and other programmer’s interfaces.
Core Examples
Some of these examples come pre-installed as “core apps” with the FrontPanel Platform. The core examples are focused on simplicity and illustrating key concepts required to apply the FrontPanel SDK and FrontPanel Platform development. A summary of these examples is listed below:
- Counters – Displays two independent counters with controls for each.
- PipeTest – Connects to PipeIn and PipeOut modules on the FPGA to test transfer rates. Block sizes can be set by the user.
- DES – An example based on the OpenCores.org triple-DES encryption and decryption core. Since it is implemented in JavaScript, C++, C#, Java and Python, it is a good start for those wanting to learn the APIs.
- RAMTester – Command-line and FrontPanel App example to read/write FPGA-attached memory.
- DeviceChange – Command-line and C++ GUI example demonstrating how to detect when devices are attached or unattached.
- Flashloader – Command-line example used to program on-board Flash for FPGA boot configuration.
Gateware Included
Note that Platform apps include gateware to support one or more FrontPanel-enabled devices. To reduce space, we have included gateware (bitfiles) for most of our recent devices. Older devices may be compatible but may require additional bitfiles to be added to the application package.
Support Matrix
If the example has a corresponding software executable, source code is provided in one or more languages as indicated in the table below. For FrontPanel App examples, we include the source code for the application that comes preinstalled with the FrontPanel Platform Application.
| EXAMPLE | APP | C++ | C# | PYTHON | JAVA |
|---|---|---|---|---|---|
| Counters | ✓ | ||||
| PipeTest | ✓ | ✓ | |||
| DES | ✓ | ✓ | ✓ | ✓ | ✓ |
| RAMTester | ✓ | ✓ | |||
| DeviceChange | ✓ | ||||
| Flashloader | ✓ |
Tools
A handful of command-line tools are provided to help facilitate development and configuration. A summary of these tools are listed below:
- FlashLoader – The FlashLoader application can be used to program a bitfile or any other data to the onboard FPGA flash of supported devices.
- Si5338Config – Tool to configure Si5338 clock generator registers on the XEM8350 and BRK1900.
- FMCConfig – Tool to read/write the FMC config on the XEM6006.
Platform Projects
Several more in-depth projects are provided as guides for implementing example applications using a variety of SYZYGY peripheral boards. These projects generally provide a more application-focused goal rather than the instruction-focused goal of the core apps. Below, we provide download links to access the project since they are not bundled with the FrontPanel Platform installation.
Counters (Core App)

The Counters App illustrates simple “wire-like” communication between a host application and the FPGA gateware. The example provides a solid basis for virtual instrumentation interfaces in test and debug applications.
Supported Devices
This sample is designed to work with all FrontPanel-enabled devices. Gateware is included that supports the XEM7xxx and later devices.
Source Code Location
Source code for this sample is included in the Examples folder of your FrontPanel Platform installation.
PipeTest (Core App)

The PipeTest App is derived from the command-line PipeTest example and provides benchmarking and data validation functionality.
The app version supports most of the same features of the C++ application, but written for JavaScript along with a simple GUI interface.
Supported Devices
This sample is designed to work with all FrontPanel-enabled devices. Gateware is included that supports the XEM7xxx and later devices.
Source Code Location
Source code for this sample is included in the Examples folder of your FrontPanel Platform installation.
DESTester (Core App)

The DESTester App is derived from the command-line DESTester example and provides FPGA-assisted encryption and decryption using an open source implementation of the DES algorithm.
Supported Devices
This sample is designed to work with all FrontPanel-enabled devices. Gateware is included that supports the XEM7xxx and later devices.
Source Code Location
Source code for this sample is included in the Examples folder of your FrontPanel Platform installation.
RAMTester (Core App)

The RAMTester App is derived from the command-line RAMTester example and exercises the on-board memory of modules with SSRAM or SDRAM.
Supported Devices
This sample is designed to work with all FrontPanel-enabled devices. Gateware is included that supports the XEM7xxx and later devices.
Source Code Location
Source code for this sample is included in the Examples folder of your FrontPanel Platform installation.
Camera and Camera HLS

These two examples illustrate a complete machine vision capture system using the FrontPanel API, HDL, and Platform. The HLS (high-level synthesis) version includes automatic color correction and black level implemented into the image pipeline using HLS.
Supported Devices
This sample is designed to work with the XEM8320 and the SZG-CAMERA.
Resources
FFTScope and Spectrum Analyzer

This composite demonstration instrument provides an IFFT-based signal generator, oscilloscope, and FFT-based spectrum analyzer.
Supported Devices
This sample is designed to work with the XEM8320 and the SZG-DAC-AD911X and SZG-ADC-LTC226X.
Resources
Multi-Channel DAQ

This composite demonstration instrument provides an 8-channel signal generator, and an 8-channel oscilloscope.
Supported Devices
This sample is designed to work with the XEM8320 and the SZG-MULTIDAQ.
Resources
Sensor Dashboard

This dashboard app displays various outputs (accelerometer, gyroscope, environmental, proximity, magnetometer, and GNSS) from the SZG-SENSOR module.
Supported Devices
This sample is designed to work with the XEM8320 and the SZG-SENSOR.
Resources
EthernetConsole

This example provides control and telemetry for the AMD tri-mode ethernet MAC Vivado IP core.
Supported Devices
This sample is designed to work with the XEM8320 and up to two of the SZG-ENET1G.