skip to main content
survey

Gaussian Random Number Generation: A Survey on Hardware Architectures

Published: 01 November 2016 Publication History

Abstract

Some excellent surveys of the Gaussian random number generators (GRNGs) from the algorithmic perspective exist in the published literature to date (e.g., Thomas et al. [2007]). In the last decade, however, advancements in digital hardware have resulted in an ever-decreasing hardware cost and increased design flexibility. Additionally, recent advances in applications like gaming, weather forecasting, and simulations in physics and astronomy require faster, cheaper, and statistically accurate GRNGs. These two trends have contributed toward the development of a number of novel GRNG architectures optimized for hardware design. A detailed comparative study of these hardware architectures has been somewhat missing in the published literature. This work provides the potential user a capsulization of the published hardware GRNG architectures. We have provided the method and theory, pros and cons, and a comparative summary of the speed, statistical accuracy, and hardware resource utilization of these architectures. Finally, we have complemented this work by describing two novel hardware GRNG architectures, namely, the CLT-inversion and the multihat algorithm, respectively. These new architectures provide high tail accuracy ( and , respectively) at a low hardware cost.

References

[1]
A. Alimohammad, S. F. Fard, B. F. Cockburn, and C. Schlegel. 2008. A compact and accurate Gaussian variate generator. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 16, 5 (May 2008), 517--527.
[2]
D. Ashlock. 2006. Evolutionary Computation for Modeling and Optimization. Springer.
[3]
S. Banks, P. Beadling, and A. Ferencz. 2008. FPGA implementation of pseudo random number generators for Monte Carlo methods in quantitative finance. In International Conference on Reconfigurable Computing and FPGAs, 2008. 271--276.
[4]
G. E. Box and M. E. Muller. 1958. A note on the generation of random normal deviates. Annals of Mathematical Statistics 29, 2 (1958), 610--611.
[5]
R. P. Brent. 2008. Some comments on C. S. Wallace’s random number generators. Computer Journal 51, 5 (2008), 579--584.
[6]
R. C. C. Cheung, D. U. Lee, W. Luk, and J. D. Villasenor. 2007. Hardware generation of arbitrary random number distributions from uniform distributions via the inversion method. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 15, 8 (Aug. 2007), 952--962.
[7]
L. Colavito and D. Silage. 2009. Efficient PGA LFSR implementation whitens pseudo random numbers. In International Conference on Reconfigurable Computing and FPGAs, 2009. 308--313.
[8]
C. P. Dancey and J. Reidy. 2004. Statistics without Maths for Psychology: Using Spss for Windows. Prentice-Hall, Upper Saddle River, NJ.
[9]
J. L. Danger, A. Ghazel, E. Boutillon, and H. Laamari. 2000. Efficient FPGA implementation of Gaussian noise generator for communication channel emulation. In The 7th IEEE International Conference on Electronics, Circuits and Systems, 2000. Vol. 1. 366--369.
[10]
C. de Schryver, D. Schmidt, N. Wehn, E. Korn, H. Marxen, and R. Korn. 2010. A new hardware efficient inversion based random number generator for non-uniform distributions. In 2010 International Conference on Reconfigurable Computing and FPGAs, 2010. 190--195.
[11]
P. Echeverria and M. Lopez-Vallejo. 2007. FPGA Gaussian random number generator based on quintic Hermite interpolation inversion. In 50th Midwest Symposium on Circuits and Systems, 2007. 871--874.
[12]
H. M. Edrees, B. Cheung, M. Sandora, D. B. Nummey, and D. Stefan. 2009. Hardware-optimized Ziggurat algorithm for high-speed Gaussian random number generators. In ERSA, Toomas P. Plaks (Ed.). CSREA Press, 254--260.
[13]
E. Fung, K. Leung, N. Parimi, M. Purnaprajna, and V. C. Gaudet. 2004. ASIC implementation of a high speed WGNG for communication channel emulation [white Gaussian noise generator]. In IEEE Workshop on Signal Processing Systems, 2004. 304--309.
[14]
S. Ghahramani. 2005. Fundamentals of Probability with Stochastic Processes. Pearson/Prentice Hall.
[15]
A. Ghazel, E. Boutillon, J. L. Danger, G. Gulak, and H. Laamari. 2001. Design and performance analysis of a high speed AWGN communication channel emulator. In IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, 2001. Vol. 2. 374--377.
[16]
R. Gutierrez, V. Torres, and J. Valls. 2012. Hardware architecture of a Gaussian noise generator based on the inversion method. IEEE Transactions on Circuits and Systems II: Express Briefs 59, 8 (Aug. 2012), 501--505.
[17]
A. R. Hamid and Q. N. Tran. 2015. Emerging Trends in Computational Biology, Bioinformatics and Systems Biology: Algorithms and Software Tools (Emerging Trends in Computer Science and Applied Computing). Morgan Kaufmann.
[18]
P. Kabal. 2000. Generating Gaussian Pseudo-Random Deviates. McGill University.
[19]
S. Konuma and S. Ichikawa. 2005. Design and evaluation of hardware pseudo-random number generator MT19937. IEICE Transactions 88-D, 12 (2005), 2876--2879.
[20]
D. U. Lee, R. C. C. Cheung, J. D. Villasenor, and W. Luk. 2006. Inversion-based hardware Gaussian random number generator: A case study of function evaluation via hierarchical segmentation. In IEEE International Conference on Field Programmable Technology, 2006. 33--40.
[21]
D. U. Lee, W. Luk, J. Villasenor, and P. Y. K. Cheung. 2003. Hierarchical segmentation schemes for function evaluation. In Proceedings of the 2003 IEEE International Conference on Field-Programmable Technology (FPT’03). 92--99.
[22]
D. U. Lee, W. Luk, J. D. Villasenor, and P. Y. K. Cheung. 2004. A Gaussian noise generator for hardware-based simulations. IEEE Transactions on Computers 53, 12 (Dec. 2004), 1523--1534.
[23]
D. U. Lee, W. Luk, J. D. Villasenor, G. Zhang, and P. H. W. Leong. 2005. A hardware Gaussian noise generator using the Wallace method. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 13, 8 (Aug. 2005), 911--920.
[24]
D. U. Lee, J. D. Villasenor, W. Luk, and P. H. W. Leong. 2006. A hardware Gaussian noise generator using the Box-Muller method and its error analysis. IEEE Transactions on Computers 55, 6 (June 2006), 659--671.
[25]
Y. Li, P. Chow, J. Jiang, M. Zhang, and S. Wei. 2012. Software/hardware framework for generating parallel Gaussian random numbers based on the Monty Python method. In 2012 International Conference on Field-Programmable Technology (FPT’12). 190--197.
[26]
J. S. Malik and A. Hemani. 2009. On the design of Doppler filters for next generation radio channel simulators. In 3rd International Conference on Signals, Circuits and Systems (SCS’09). 1--6.
[27]
J. S. Malik, A. Hemani, and N. D. Gohar. 2013. Unifying CORDIC and Box-Muller algorithms: An accurate and efficient Gaussian random number generator. In IEEE 24th International Conference on Application-Specific Systems, Architectures and Processors (ASAP’13). 277--280.
[28]
J. S. Malik, A. Hemani, J. N. Malik, B. Silmane, and N. D Gohar. 2014. Revisiting central limit theorem: Accurate Gaussian random number generation in VLSI. IEEE Transactions on Very Large Scale Integration (VLSI) Systems PP, 99 (2014), 1--1.
[29]
J. S. Malik, J. N. Malik, A. Hemani, and N. D. Gohar. 2011a. An efficient hardware implementation of high quality AWGN generator using Box-Muller method. In 11th International Symposium on Communications and Information Technologies (ISCIT’11). 449--454.
[30]
J. S. Malik, J. N. Malik, A. Hemani, and N. D. Gohar. 2011b. Generating high tail accuracy Gaussian random numbers in hardware using central limit theorem. In 19th International Conference on VLSI and System-on-Chip (VLSI-SoC’11). 60--65.
[31]
J. S. Malik, P. Palazzari, and A. Hemani. 2012. Effort, resources and abstraction vs performance in high-level synthesis: Finding new answers to an old question. SIGARCH Computer Architecture News 40, 5 (March 2012), 64--69.
[32]
G. Marsaglia and T. A. Bray. 1964. A convenient method for generating normal variables. Journal of SIAM Review 6, 3 (1964), 260--264.
[33]
G. Marsaglia and W. W. Tsang. 1984. A fast, easily implemented method for sampling from decreasing or symmetric unimodal density functions. SIAM Journal on Scientific Statistical Computing 5 (1984), 349--359.
[34]
G. Marsaglia and W. W. Tsang. 1998. The Monty Python method for generating random variables. ACM Transactions on Mathematical Software 24, 3 (1998), 341--350.
[35]
G. Marsaglia and W. W. Tsang. 1999. The Monty Python method for generating gamma variables. Journal of Statistical Software 3, 3 (1999), 1--8.
[36]
G. Marsaglia and W. W. Tsang. 2000. The Ziggurat method for generating random variables. Journal of Statistical Software 5, 8 (2000), 1--7.
[37]
M. E. Muller. 1958. An inverse method for the generation of random normal deviates on large-scale computers. Journal of Mathematical Tables and Other Aids in Computing 12, 63 (1958), 167--174.
[38]
E. S. Page. 1959. Pseudo-random elements for computers. Journal of the Royal Statistical Society 8, 2 (June 1959), 124--131.
[39]
M. Schatzman. 2002. Numerical Analysis: A Mathematical Introduction. Clarendon Press, Oxford.
[40]
C. D. Schryver, D. Schmidt, N. Wehn, E. Korn, H. Marxen, A. Kostiuk, and R. Korn. 2012. A hardware efficient random number generator for nonuniform distributions with arbitrary precision. International Journal of Reconfigurable Computing 2012, Article 12 (Jan. 2012), 1 page.
[41]
B. G. Sileshi, C. Ferrer, and J. Oliver. 2014. Accelerating hardware Gaussian random number generation using Ziggurat and CORDIC algorithms. In IEEE Sensors, 2014. 2122--2125.
[42]
M. Stefano and S. Simone. 2007. The quantum separability problem for Gaussian states. Electronic Notes on Theoretical Computer Science 169 (March 2007), 121--131.
[43]
G. Tennant. 2001. Six Sigma: SPC and TQM in Manufacturing and Services. Gower Publishing.
[44]
D. B. Thomas. 2014. FPGA Gaussian random number generators with guaranteed statistical accuracy. In IEEE 22nd Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM’14). 149--156.
[45]
D. B. Thomas. 2015. The table-Hadamard GRNG: An area-efficient FPGA Gaussian random number generator. ACM Transactions on Reconfigurable Technological Systems 8, 4, Article 23 (Sept. 2015), 22 pages.
[46]
D. B. Thomas and W. Luk. 2006. Non-uniform random number generation through piecewise linear approximations. In International Conference on Field Programmable Logic and Applications, 2006. 1--6.
[47]
D. B Thomas and W. Luk. 2013. The LUT-SR family of uniform random number generators for FPGA architectures. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 21 (2013), 761--770.
[48]
D. B. Thomas, L. Wayne, P. H. W. Leong, and J. D. Villasenor. 2007. Gaussian random number generators. ACM Computer Surveys 39, 4, Article 11 (Nov. 2007).
[49]
C. S. Wallace. 1996. Fast pseudo random generators for normal and exponential variates. ACM Transactions on Mathematical Software 22 (1996), 119--127.
[50]
Xilinx. 2002. Additive white Gaussian noise (AWGN) core. Xilinx.
[51]
G. L. Zhang, P. H. Leong, C. H. Ho, K. H. Tsoi, C. C. Cheung, D. U. Lee, R. C. Cheung, and W. Luk. 2005a. Reconfigurable acceleration for Monte Carlo based financial simulation. In IEEE International Conference on Field-Programmable Technology, 2005. 215--222.
[52]
Z. G. Zhang, P. H. W. Leong, D. U. Lee, J. D. Villasenor, R. C. C. Cheung, and W. Luk. 2005b. Ziggurat-based hardware Gaussian random number generator. In International Conference on Field Programmable Logic and Applications, 2005. 275--280.

Cited By

View all
  • (2025)Generating Gaussian Pseudorandom Noise with Binary SequencesArithmetic of Finite Fields10.1007/978-3-031-81824-0_8(117-126)Online publication date: 28-Feb-2025
  • (2025)ADAMANT: Hardware-Accelerated Query Processing Made EasyScalable Data Management for Future Hardware10.1007/978-3-031-74097-8_1(1-38)Online publication date: 24-Jan-2025
  • (2024)An Energy-Efficient Bayesian Neural Network Implementation Using Stochastic Computing MethodIEEE Transactions on Neural Networks and Learning Systems10.1109/TNNLS.2023.326553335:9(12913-12923)Online publication date: Sep-2024
  • Show More Cited By

Index Terms

  1. Gaussian Random Number Generation: A Survey on Hardware Architectures

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Computing Surveys
      ACM Computing Surveys  Volume 49, Issue 3
      September 2017
      658 pages
      ISSN:0360-0300
      EISSN:1557-7341
      DOI:10.1145/2988524
      • Editor:
      • Sartaj Sahni
      Issue’s Table of Contents
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 01 November 2016
      Accepted: 01 July 2016
      Revised: 01 May 2016
      Received: 01 June 2015
      Published in CSUR Volume 49, Issue 3

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. AWGN
      2. Gaussian
      3. Hardware accelerators
      4. algorithms
      5. normal
      6. random number generator

      Qualifiers

      • Survey
      • Research
      • Refereed

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)119
      • Downloads (Last 6 weeks)13
      Reflects downloads up to 28 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2025)Generating Gaussian Pseudorandom Noise with Binary SequencesArithmetic of Finite Fields10.1007/978-3-031-81824-0_8(117-126)Online publication date: 28-Feb-2025
      • (2025)ADAMANT: Hardware-Accelerated Query Processing Made EasyScalable Data Management for Future Hardware10.1007/978-3-031-74097-8_1(1-38)Online publication date: 24-Jan-2025
      • (2024)An Energy-Efficient Bayesian Neural Network Implementation Using Stochastic Computing MethodIEEE Transactions on Neural Networks and Learning Systems10.1109/TNNLS.2023.326553335:9(12913-12923)Online publication date: Sep-2024
      • (2024)Flexible FPGA Gaussian Random Number Generators With Reconfigurable VarianceIEEE Transactions on Circuits and Systems I: Regular Papers10.1109/TCSI.2024.337473171:5(2384-2397)Online publication date: May-2024
      • (2024)Accelerating Bayesian Neural Networks on Low-Power Edge RISC-V Processors2024 IEEE 24th International Conference on Nanotechnology (NANO)10.1109/NANO61778.2024.10628877(507-512)Online publication date: 8-Jul-2024
      • (2024)Low Latency Variational Autoencoder on FPGAsIEEE Journal on Emerging and Selected Topics in Circuits and Systems10.1109/JETCAS.2024.338966014:2(323-333)Online publication date: Jun-2024
      • (2024)Easy to integrate API for accessing true random numbers generated with IDQ’s Quantis ApplianceSoftwareX10.1016/j.softx.2024.10184127(101841)Online publication date: Sep-2024
      • (2024)WALLAXNeurocomputing10.1016/j.neucom.2023.126933566:COnline publication date: 21-Jan-2024
      • (2023)Critical Analysis of Beta Random Variable Generation MethodsMathematics10.3390/math1124489311:24(4893)Online publication date: 6-Dec-2023
      • (2023)An Energy-Efficient Bayesian Neural Network Accelerator With CiM and a Time-Interleaved Hadamard Digital GRNG Using 22-nm FinFETIEEE Journal of Solid-State Circuits10.1109/JSSC.2023.328318658:10(2826-2838)Online publication date: Oct-2023
      • Show More Cited By

      View Options

      Login options

      Full Access

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media