Parallel random number generators for sequences uniformly distributed over any range of integers

A VLSI design methodology is proposed for the efficient generation of multiple pseudorandom number sequences based on a simplification of Cauwenberghs' counterpropagation technique. We demonstrate that the counterpropagation of two sequences can be replaced by one propagating and one nonpropagating sequence, requiring as few as half the number of flip-flops, while still allowing new circuits to be added to the system without additional calculations-there is no need to keep track of random starting values, tap combinations, or time shifts. Moreover we extend our method from multiple bit sequences to multiple random number sequences that are uniformly distributed over any range of integers. In particular we address the more general problem of generating sequences over the range [0,K] where K+1 is any desired integer, including a power of two or a prime number. To this end we demonstrate that the simple concatenation of random bits to form random bytes is a special case of a more general concept whereby random integers distributed over prime number ranges are concatenated to form random integers distributed over any range. We find that the proposed design compares favorably with design strategies based on cellular automata, both in terms of statistical properties and implementation efficiencies.

[1]  Andrew L. Rukhin,et al.  Approximate entropy for testing randomness , 2000, Journal of Applied Probability.

[2]  Howard C. Card,et al.  Parallel Random Number Generation for VLSI Systems Using Cellular Automata , 1989, IEEE Trans. Computers.

[3]  Jay P. Fillmore,et al.  Linear Recursive Sequences , 1968 .

[4]  Brian R. Gaines,et al.  Stochastic Computing Systems , 1969 .

[5]  Yuke Wang,et al.  A method of generating uniformly distributed sequences over [0, K], where K+1 is not a power of two , 2003, 2003 International Conference on Multimedia and Expo. ICME '03. Proceedings (Cat. No.03TH8698).

[6]  Jukka Saarinen,et al.  VLSI implementation of Tausworthe random number generator for parallel processing environment , 1991 .

[7]  Yuke Wang,et al.  A method of generating uniformly distributed sequences over [0,K], where K+1 is not a power of two , 2003, 2003 IEEE International Conference on Acoustics, Speech, and Signal Processing, 2003. Proceedings. (ICASSP '03)..

[8]  Donald Hayes Russell Associate Editor's Comments , 1986 .

[9]  Pierre L'Ecuyer,et al.  Testing random number generators , 1992, WSC '92.

[10]  R. Kuehnel,et al.  Binomial logic: extending stochastic computing to high-bandwidth signals , 2002, Conference Record of the Thirty-Sixth Asilomar Conference on Signals, Systems and Computers, 2002..

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

[12]  Elaine B. Barker,et al.  A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications , 2000 .

[13]  S. K. Park,et al.  Random number generators: good ones are hard to find , 1988, CACM.

[14]  Serge Demidenko,et al.  Generation and Application of Pseudorandom Sequences for Random Testing , 1988 .

[15]  Leopoldo García Franquelo,et al.  Continuous time filter design using stochastic logic , 1999, 42nd Midwest Symposium on Circuits and Systems (Cat. No.99CH36356).

[16]  Leopoldo García Franquelo,et al.  Analog to digital and digital to analog conversion based on stochastic logic , 1995, Proceedings of IECON '95 - 21st Annual Conference on IEEE Industrial Electronics.

[17]  J. P. R. Tootill,et al.  The Runs Up-and-Down Performance of Tausworthe Pseudo-Random Number Generators , 1971, JACM.

[18]  Gert Cauwenberghs,et al.  An analog VLSI recurrent neural network learning a continuous-time trajectory , 1996, IEEE Trans. Neural Networks.

[19]  Stuart Haber,et al.  Generating multiple analog noise sources from a single linear feedback shift register with neural network applications , 1990, IEEE International Symposium on Circuits and Systems.