The Community for Technology Leaders
Parallel and Distributed Processing Symposium, International (2008)
Miami, FL, USA
Apr. 14, 2008 to Apr. 18, 2008
ISBN: 978-1-4244-1693-6
pp: 1-8
Christian Schlegel , Dept. of Electrical and Computer Engineering, Univ. of Alberta, Edmonton, Canada
Bruce F. Cockburn , Dept. of Electrical and Computer Engineering, Univ. of Alberta, Edmonton, Canada
Saeed Fouladi Fard , Dept. of Electrical and Computer Engineering, Univ. of Alberta, Edmonton, Canada
Amirhossein Alimohammad , Dept. of Electrical and Computer Engineering, Univ. of Alberta, Edmonton, Canada
ABSTRACT
Most commonly-used pseudo-random number generators (PNGs) in computer systems are based on linear recurrence. These deterministic PNGs have fast and compact implementations, and can ensure very long periods. However, the points generated by linear PNGs in fact have a regular lattice structure and are thus not suitable for applications that rely on the assumption of uniformly distributed pseudo-random numbers (PNs). In this paper we propose and evaluate several fast and compact linear, non-linear, and hybrid PNGs for a field-programmable gate array (FPGA). The PNGs have excellent equidistribution properties and very small auto-correlations, and have very long repetition periods. The distribution and long-range correlation properties of the new generators are efficiently, and much more rapidly, estimated at hardware speeds using designed modules within the FPGA. The results of these statistical tests confirm that the combination of several linear PNGs or the combination of even one small non-linear PNG with a linear PNG significantly improves the statistical properties of the generated PNs.
INDEX TERMS
CITATION
Christian Schlegel, Bruce F. Cockburn, Saeed Fouladi Fard, Amirhossein Alimohammad, "On the efficiency and accuracy of hybrid pseudo-random number generators for FPGA-based simulations", Parallel and Distributed Processing Symposium, International, vol. 00, no. , pp. 1-8, 2008, doi:10.1109/IPDPS.2008.4536524
79 ms
(Ver 3.3 (11022016))