Hardware Generation of Arbitrary Random Number Distributions From Uniform Distributions Via the Inversion Method

We present an automated methodology for producing hardware-based random number generator (RNG) designs for arbitrary distributions using the inverse cumulative distribution function (ICDF). The ICDF is evaluated via piecewise polynomial approximation with a hierarchical segmentation scheme that involves uniform segments and segments with size varying by powers of two which can adapt to local function nonlinearities. Analytical error analysis is used to guarantee accuracy to one unit in the last place (ulp). Compact and efficient RNGs that can reach arbitrary multiples of the standard deviation sigma can be generated. For instance, a Gaussian RNG based on our approach for a Xilinx Virtex-4 XC4VLX100-12 field-programmable gate array produces 16-bit random samples up to 8.2 sigma. It occupies 487 slices, 2 block-RAMs, and 2 DSP-blocks. The design is capable of running at 371 MHz and generates one sample every clock cycle.

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

[2]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[3]  Linus Schrage,et al.  A guide to simulation , 1983 .

[4]  Paul Bratley,et al.  A guide to simulation , 1983 .

[5]  L. Devroye Non-Uniform Random Variate Generation , 1986 .

[6]  Paul Bratley,et al.  A guide to simulation (2nd ed.) , 1986 .

[7]  L. Ingber Adaptive Simulated Annealing (ASA) , 1993 .

[8]  Vojin G. Oklobdzija,et al.  An algorithmic and novel design of a leading zero detector circuit: comparison with logic synthesis , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[9]  Pierre L'Ecuyer,et al.  Maximally equidistributed combined Tausworthe generators , 1996, Math. Comput..

[10]  M. Musiela,et al.  The Market Model of Interest Rate Dynamics , 1997 .

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

[12]  Michael J. Schulte,et al.  The Symmetric Table Addition Method for Accurate Function Approximation , 1999, J. VLSI Signal Process..

[13]  G. Marsaglia,et al.  The Ziggurat Method for Generating Random Variables , 2000 .

[14]  Michael J. Schulte,et al.  Design alternatives for barrel shifters , 2002, SPIE Optics + Photonics.

[15]  Wayne Luk,et al.  Hierarchical segmentation schemes for function evaluation , 2003, Proceedings. 2003 IEEE International Conference on Field-Programmable Technology (FPT) (IEEE Cat. No.03EX798).

[16]  Jean-Luc Danger,et al.  Design of High Speed AWGN Communication Channel Emulator , 2003 .

[17]  Joseph M. Lancaster,et al.  Hardware acceleration of pseudo-random number generation for simulation applications , 2003, Proceedings of the 35th Southeastern Symposium on System Theory, 2003..

[18]  V.C. Gaudet,et al.  ASIC implementation of a high speed WGNG for communication channel emulation [white Gaussian noise generator] , 2004, IEEE Workshop onSignal Processing Systems, 2004. SIPS 2004..

[19]  Jaekyun Moon,et al.  Reconfigurable readback-signal generator based on a field-programmable gate array , 2004, IEEE Transactions on Magnetics.

[20]  R. Ramamoorthi,et al.  Efficient BRDF importance sampling using a factored representation , 2004, ACM Trans. Graph..

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

[22]  Javier D. Bruguera,et al.  High-speed function approximation using a minimax quadratic interpolator , 2005, IEEE Transactions on Computers.

[23]  B.F. Cockburn,et al.  An iterative hardware Gaussian noise generator , 2005, PACRIM. 2005 IEEE Pacific Rim Conference on Communications, Computers and signal Processing, 2005..

[24]  Wayne Luk,et al.  Optimizing hardware function evaluation , 2005, IEEE Transactions on Computers.

[25]  Arnaud Tisserand,et al.  Multipartite table methods , 2005, IEEE Transactions on Computers.

[26]  Wayne Luk,et al.  Efficient Hardware Generation of Random Variates with Arbitrary Distributions , 2006, 2006 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

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

[28]  B.V.K.V. Kumar,et al.  Field programmable gate array (FPGA) for iterative code evaluation , 2006, IEEE Transactions on Magnetics.

[29]  Wayne Luk,et al.  Ieee Transactions on Computer-aided Design of Integrated Circuits and Systems Accuracy Guaranteed Bit-width Optimization Abstract— We Present Minibit, an Automated Static Approach for Optimizing Bit-widths of Fixed-point Feedforward Designs with Guaranteed Accuracy. Methods to Minimize Both the In- , 2022 .