A Word-Length Optimized Hardware Gaussian Random Number Generator Based on the Box-Muller Method

In this paper, we proposed a hardware Gaussian random number generator based on the Box-Muller method. To reduce the resource complexity, an efficient word-length optimization model is proposed to find out the optimal word-lengths for signals. Experimental results show that our word-length optimized Fixed-Point generator runs as fast as 403.7 MHz on a Xilinx Virtex-6 FPGA device and is capable of generating 2 samples every clock cycle, which is 12.6 times faster compared to its corresponding dedicated software version. It uses up 442 Slices, 1517 FFs and 1517 LUTs, which is only about 1% of the device and saves almost 85% and 71% of area in comparison to the corresponding IEEE double & single Floating-Point generators, respectively. The statistical quality of the Gaussian samples produced by our design is verified by the common empirical test: the chi-square (X 2) test.

[1]  R. Brent Algorithm 488: A Gaussian pseudo-random number generator , 1974, CACM.

[2]  Wonyong Sung,et al.  Simulation-based word-length optimization method for fixed-point digital signal processing systems , 1995, IEEE Trans. Signal Process..

[3]  Wayne Luk,et al.  MiniBit: bit-width optimization via affine arithmetic , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[4]  Jean-Michel Muller,et al.  Elementary Functions: Algorithms and Implementation , 1997 .

[5]  Wayne Luk,et al.  A hardware Gaussian noise generator using the Wallace method , 2005, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[6]  Takuji Nishimura,et al.  Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator , 1998, TOMC.

[7]  Jiang Jiang,et al.  Software/Hardware Framework for Generating Parallel Long-Period Random Numbers Using the WELL Method , 2011, 2011 21st International Conference on Field Programmable Logic and Applications.

[8]  James R. Bell,et al.  Algorithm 334: Normal random deviates , 1968, CACM.

[9]  Pierre L'Ecuyer,et al.  Efficient and portable combined Tausworthe random number generators , 1990, TOMC.

[10]  G. W. Snedecor Statistical Methods , 1964 .

[11]  Pierre L'Ecuyer,et al.  Improved long-period generators based on linear recurrences modulo 2 , 2004, TOMS.

[12]  M. E. Muller,et al.  A Note on the Generation of Random Normal Deviates , 1958 .

[13]  Wayne Luk,et al.  Ziggurat-based hardware Gaussian random number generator , 2005, International Conference on Field Programmable Logic and Applications, 2005..

[14]  De Figueiredo,et al.  Self-validated numerical methods and applications , 1997 .

[15]  J. Muller Elementary Functions, Algorithms and Implementation, 2nd Edition , 2006 .

[16]  Hanjin Cho,et al.  Numerical word-length optimization for CDMA demodulator , 2001, ISCAS 2001. The 2001 IEEE International Symposium on Circuits and Systems (Cat. No.01CH37196).

[17]  Wayne Luk,et al.  A hardware Gaussian noise generator using the Box-Muller method and its error analysis , 2006, IEEE Transactions on Computers.

[18]  F. Gebhardt Generating normally distributed random numbers by inverting the normal distribution functions , 1964 .