High Quality Uniform Random Number Generation Using LUT Optimised State-transition Matrices
This paper presents a family of uniform random number generators designed for efficient implementation in Lookup table (LUT) based FPGA architectures. A generator with a period of 2k − 1 can be implemented using k flip-flops and k LUTs, and provides k random output bits each cycle. Each generator is based on a binary linear recurrence, with a state-transition matrix designed to make best use of all available LUT inputs in a given FPGA architecture, and to ensure that the critical path between all registers is a single LUT. This class of generator provides a higher sample rate per area than LFSR and Combined Tausworthe generators, and operates at similar or higher clock-rates. The statistical quality of the generators increases with k, and can be used to pass all common empirical tests such as Diehard, Crush and the NIST cryptographic test suite. Theoretical properties such as global equidistribution can also be calculated, and best and average case statistics shown. Due to the large number of random bits generated per cycle these generators can be used as a basis for generators with even higher statistical quality, and an example involving combination through addition is demonstrated.
KeywordsUniform Random Numbers FPGA Simulation
- 1.P. Alfke, “Efficient Shift Registers, LFSR Counters, and Long Pseudo-random Sequence Generators.” Technical Report, Xilinx, Inc., 1996.Google Scholar
- 2.Alpha Data, ADM-XRC SDK User Guide 4.3.1, 2003.Google Scholar
- 3.Altera Corporation, Stratix II Device Handbook, Volume 1, 2005.Google Scholar
- 4.R. Andraka and R. Phelps, “An FPGA Based Processor Yields a Real Time High Fidelity Radar Environment Simulator,” in Conference on Military and Aerospace Applications of Programmable Devices and Technologies, 1998.Google Scholar
- 6.S. Duplichan, PPSearch: A Primitive Polynomial Search Program, http://users2.ev1.net/~sduplichan/primitivepolynomials/, 2003.
- 7.V. Fischer and M. Drutarovský, “True Random Number Generator Embedded in Reconfigurable Hardware,” in CHES ’02: Revised Papers from the 4th International Workshop on Cryptographic Hardware and Embedded Systems, Springer, Berlin Heidelberg New York, 2003, pp. 415–430.Google Scholar
- 9.M. George and P. Alfke, Linear Feedback Shift Registers in Virtex Devices, Technical Report, Xilinx, Inc., 2001.Google Scholar
- 11.D. E. Knuth, Semi-numerical Algorithms, Volume 2 of the Art of Computer Programming, 2nd edition, Addison-Wesley, Reading, MA, 1981.Google Scholar
- 13.P. L’Ecuyer and R. Simard, TestU01 Random Number Test Suite, http://www.iro.umontreal.ca/~simardr/indexe.html.
- 14.D. Lee, J. Villasenor, W. Luk, and P. Leong, “A Hardware Gaussian Noise Generator Using the Box-muller Method and Its Error Analysis,” To Appear in IEEE Transactions on Computers, 2006.Google Scholar
- 16.G. Marsaglia, The Diehard Random Number Test Suite, http://stat.fsu.edu/pub/diehard/, 1997.
- 20.A. Negoi and J. Zimmermann, “Monte Carlo Hardware Simulator for Electron Dynamics in Semiconductors,” in International Annual Semiconductor Conference, Sinaia, Romania, 1996, pp. 557–560.Google Scholar
- 21.F. Panneton and P. L’Ecuyer, “On the Xorshift Random Number Generators,” To appear in ACM Transactions on Modeling and Simulation, 2005.Google Scholar
- 22.F. Panneton, P. L’Ecuyer, and M. Matsumoto, “Improved Long-period Generators Based on Linear Recurrences Modulo 2,” To appear in ACM Transactions on Mathematical Software, 2005.Google Scholar
- 23.B. Shackleford, M. Tanaka, R. J. Carter, and G. Snider, “FPGA Implementation of Neighborhood-of-four Cellular Automata Random Number Generators,” in ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, ACM, New York, 2002, pp. 106–112.Google Scholar
- 24.V. Shoup, Ntl: A Library for Doing Number Theory, http://www.shoup.net/ntl/.
- 26.K. H. Tsoi, K. H. Leung, and P. H. W. Leong, “Compact FPGA-based True and Pseudo Random Number Generators,” in IEEE Symposium on FPGAs for Custom Computing Machines, IEEE Computer Society, Washington, DC, 2003, p. 51.Google Scholar
- 28.Xilinx, Inc., Virtex-II Platform FPGAs: Complete Data Sheet, 2000.Google Scholar
- 29.G. L. Zhang, P. H. Leong, D.-U. Lee, J. D. Villasenor, R. C. Cheung, and W. Luk, “Ziggurat-based Hardware Gaussian Random Number Generator,” in International Conference on Field Programmable Logic and Applications, IEEE Computer Society , 2005, pp. 275–280.Google Scholar
- 30.G. L. Zhang, P. H. W. Leong, C. H. Ho, K. H. Tsoi, D.-U. Lee, R. C. C. Cheung, and W. Luk, “Reconfigurable Acceleration for Monte Carlo Based Financial Simulation,” in International Conference on Field-Programmable Technology, IEEE Computer Society , 2005, pp. 215–224.Google Scholar