Example: RAMTester
The RAMTester example is used to exercise the on-board memory of modules with SSRAM or SDRAM. This example can perform full-array testing using data generated on the host, stored in memory, retrieved from memory, and compared to the original data.
The FrontPanel Platform interface for this example is shown below

FrontPanel Platform App
An app version of the RAMTester example is provided as a FrontPanel Platform app, written in JS+HTML+CSS. This app is included in the FrontPanel Platform App Launcher.
Command Line App
To try this example, simply place the executable and the bitfile appropriate to your device in the same directory. By default, the bitfile downloaded to the FPGA must be named “ramtest.bit”
- Download the pre-built example bitfiles corresponding to your FPGA module from our Pins Downloads.
- Find
RAMTester.exe(and its source code) located- For FrontPanel Classic, these are in the Samples directory installed with the FrontPanel SDK.
- For FrontPanel Platform, these are in the Examples directory.
- You need to have the following in a single directory:
RAMTester.exeokFrontPanel.dll(.sofor Linux,.dylibfor macOS)ramtest.bit(from step 1)
- At the command line, run:
RAMTester.exe
The example will then proceed to write the full SDRAM with random data, then read the full array and check it against what was written. The memory size depends on which Opal Kelly product you have. RAMTester will also test multiple devices if your product has multiple SDRAM.
A device is only accessible in one application at a time. Ensure the FrontPanel application is closed before running the example.
Example Usage
C:\Work\RAMTester> RAMTester.exe
---- Opal Kelly ---- RAMTester Application v1.0 ----
FrontPanel DLL loaded. Version: 6.0.0
Found a device: XEM8320-AU25P
Device firmware version: 1.61
Device serial number: 2607000YFH
Device ID string: Opal Kelly XEM8320
FrontPanel support is enabled.
Waiting for calibration to complete...
Checking memory calibration status...
Memory calibration passed
Generating random data...
Writing to memory(0)...
Write Time: 4046 mS - Speed: 265 MB/S
Reading from memory(0)...
Read and Verify Time: 5864 mS - Speed: 183 MB/S
Passed: 1 Failed: 0
Generating random data...
Writing to memory(0)...
Write Time: 3796 mS - Speed: 282 MB/S
Reading from memory(0)...
Read and Verify Time: 5873 mS - Speed: 182 MB/S
Passed: 2 Failed: 0
Generating random data...
Writing to memory(0)...
Write Time: 3868 mS - Speed: 277 MB/S
Reading from memory(0)...
Read and Verify Time: 5734 mS - Speed: 187 MB/S
Passed: 3 Failed: 0
Generating random data...
Writing to memory(0)...
Write Time: 3721 mS - Speed: 288 MB/S
Reading from memory(0)...
Read and Verify Time: 5963 mS - Speed: 180 MB/S
Passed: 4 Failed: 0
Generating random data...
Writing to memory(0)...
Write Time: 3849 mS - Speed: 278 MB/S
Reading from memory(0)...
Read and Verify Time: 5760 mS - Speed: 186 MB/S
Passed: 5 Failed: 0
Generating random data...
Writing to memory(0)...
Write Time: 4011 mS - Speed: 267 MB/S
Reading from memory(0)...
Read and Verify Time: 5958 mS - Speed: 180 MB/S
Passed: 6 Failed: 0
Generating random data...
Writing to memory(0)...
Write Time: 3991 mS - Speed: 269 MB/S
Reading from memory(0)...
Read and Verify Time: 6048 mS - Speed: 177 MB/S
Passed: 7 Failed: 0
Generating random data...
Writing to memory(0)...
Write Time: 4007 mS - Speed: 267 MB/S
Reading from memory(0)...
Read and Verify Time: 5967 mS - Speed: 179 MB/S
Passed: 8 Failed: 0
Generating random data...
Writing to memory(0)...
Write Time: 3993 mS - Speed: 268 MB/S
Reading from memory(0)...
Read and Verify Time: 5965 mS - Speed: 180 MB/S
Passed: 9 Failed: 0
Generating random data...
Writing to memory(0)...
Write Time: 3953 mS - Speed: 271 MB/S
Reading from memory(0)...
Read and Verify Time: 5980 mS - Speed: 179 MB/S
Passed: 10 Failed: 0Code language: JavaScript (javascript)