Simple algorithms can be analytically characterized, but such analysis is questionable or even impossible for more complicated algorithms, such as Model Predictive Control (MPC). Instead, Monte Carlo Arithmetic (MCA) enables statistical experimentation with an algorithm during runtime for detection and mitigation of numerical anomalies. Previous studies of MCA have been limited to software floating point. This paper studies how MCA can be used in an FPGA implementation of the Logarithmic Number System (LNS), forming the Monte Carlo Logarithmic Number System (MCLNS). Simulation studies present how MCLNS affects the accuracy vs. performance of an MPC implementation, and synthesis results give an estimate of the cost of utilizing MCLNS in a Xilinx Virtex-IV FPGA.
Panagiotis D. Vouzis, Sylvain Collange, Mark G. Ar