Create a Custom FPGA and Integrate it into the Scan Engine VeriStand Custom Device

Updated Apr 3, 2018

Reported In


  • VeriStand Full

Issue Details

Is there any way to create a custom FPGA personality and integrate it into the Scan Engine Custom Device in order to use it in NI VeriStand?


Using the Scan Engine Custom Device plus the native NI VeriStand FPGA support, will only be possible for FPGA devices that have sufficient DMA Channels. You may refer to the additional information section below and the following link to learn more about how may channels are available on your device. 

VeriStand can also communicate with the FPGA without using DMA channels, using User Defined Variables (UDVs) or Front Panel Communication. However, do note that due to the limitations of the NI-RIO drivers, the UDVs in an EtherCAT chassis (like an NI 9144 for example) will not be discoverable.

With all of that said, the Scan Engine Custom Device does support having Specialty Digital modules in your cRIO chassis. Specialty Digital modules allow you to define some custom digital behavior (such as counters and pwm outputs) with the scan engine without the need to compile a bitfile. There are some limitations to be aware of though: 
  1. A max of 2 Specialty Digital modules per chassis.
  2. Speciality Digital is only supported on digital modules with 8 channels or less.
  3. For PWM outputs, you can only have a fixed frequency for your pulse train. There are 8 selectable frequency options per channel between 1 Hz and 20 kHz, but these values can only be changed at configuration, not run-time. Writing the PWM yourself in FPGA could be more flexible if you need variable frequencies as well as duty cycle.

Additional Information

The number of DMA channels available to the FPGA determines when this configuration is possible. Scan Engine mode requires 2 DMA channels, the NI VeriStand FPGA template requires 2 DMA channels, and the XNET modules require 1 DMA channel.


Not Helpful