Solution
The cRIO-906x and the myRIO controllers use a
Xilinx Zynq System-On-Chip (SOC) which contains the processor and the FPGA fabric in the same die. This means that when your Real-Time processor restarts, the FPGA has to be reset and cleared. The FPGA will be reset and cleared if you reboot using the reset button on the controller, a reset watchdog in your Real-Time VI or your FPGA VI, or if you restart it from MAX.
- To keep the FPGA running after you halt your Real-Time executable, you need to end the executable without restarting the target. Since the cRIO-906x and myRIO controllers are running NI Linux Real-Time, shell scripts can be used from within your Real-Time VI to end the current Real-Time executable and start it again.
- If you are using a Real-Time or FPGA watchdog in your code, you may need to modify your executable sequence. Most Real-Time watchdog code uses the RT Watchdog VIs . If you need want to shut down your Real-Time executable without restarting your controller or if you need to run your FPGA code through a shutdown process, then you will need to set up your Watchdog Configure VI to set an occurrence instead of rebooting the controller when the Watchdog timer expires. That way when the occurrence fires, you can control the shutdown procedure for your Real-Time executable.
- Similarly, if you are writing to the System Reset Chassis I/O item in your FPGA code, your FPGA code will stop executing after you write to that node. If you need to execute a shutdown sequence, do it before writing to System Reset.
When the FPGA is cleared, your C Series modules will go into a sleeping state where they output their default values. This is usually a high-impedance state for digital output modules. If you need your digital outputs to enter a different state when the Real-Time controller is rebooting, then you need to use a either a pull-up or pull-down resistor to pull the line to a known state. Ensure that your resistor is large enough so that it does not demand too much current from your C Series module. Analog output modules have various power-on output options. Refer to C Series module specific documentation for more information about C Series module power-on output states and maximum current outputs.