Inexpensive Parallel Random Number Generator for Configurable Hardware

نویسندگان

  • Mustapha Abdulai
  • Bob Brodersen
  • Danijela Čabrić
  • R. Coveyou
چکیده

In this paper we study a hardware efficient implementation of a uniform random number generator based on Cellular Automata. This random number generator can be used to create Additive Gaussian White Noise and other noise sources in wireless application simulations. The algorithm used to generate random numbers can be realized using simple digital circuits and memory, and we implemented it on an emulation platform based on large FPGA array. Our goal was to investigate periodicity and correlation properties of the generator as a function of initialization sequence. We have developed the testing strategy that detects the period and locking states of the generator with a simulation time at least two orders of magnitude shorter than in a software implementation. “The generation of random numbers is too important to be left to chance” R. Coveyou 1.0 Introduction: Random number sequences can be found in a large number of applications that include cryptography, unbiased sampling in Monte Carlo simulations, and imitating stochastic natural processes. Good random number generators are required to provide true source of randomness in applications where one has to model a physical process. For example, in a simulation of a wireless communication system there are several noise sources that need to be included. The most commonly used is Additive White Gaussian Noise, but there other analog impairments like phase noise, clock jitter, etc. that in a complete system analysis must be taken into account. In general, a communication system is characterized through a bit error rate (BER) vs. signal to noise ratio (SNR) curves, which require long and highly computational extensive Monte Carlo simulations. Therefore, it is desirable to have a fast preferably hardware implementation of a system that can produce BER vs. SNR curves in real time. The type of random number generator needed for wireless applications simulations must be very fast but furthermore highly implementation efficient. In this project we study the random number generators that can be implemented on a FPGA using simple logic blocks and have a satisfactory performance for simulation of wireless communication systems. A wide variety of ingenious methods have been designed to generate random numbers. Most generators are software based and generally fall into one of these three categories: Linear Congruential Generator – Usually of the form m b aX X i i mod ) ( 1 + = − , where a, b, and m are constants. This random number generator requires integer recursion thus it is expensive in hardware. Also, this generator is efficiently predictable when the constants a, b and m are known [1]. Lagged Fibonacci Generator – Generally of the form m X X X s i r i i mod ) ( − − ⊗ = , where r, s and m are constants, r > s, and ⊗ could be any of the following binary operators, xor , , , × − + . This generator requires the initial data set r X X X ,.., , 2 1 and depending on the choice of the binary operator might require integer recursion. Linear Feedback Shift Register Generator – They are based on the theory of primitive polynomials in the form 1 + + q p X X . Given such a primitive polynomial and p binary digits, 1 2 1 0 ,..., , , − p X X X X then q p k p k k X X X + − − ⊕ = , where ⊕ is the XOR operator. This generator has been shown to exhibit lattice structures in the random number sequence generated [1]. On the other hand, there are other non-software based ways of generating random numbers. Some examples are: Physical devices – Random number generators based on physical devices usually sample some physical event (like vibrations or temperature) and generate the random numbers using A/D converters. The random number sequences generated by physical devices are non reproducible unless they are stored in memory. Cellular Automata Random Number Generator – Based on linear finite state machine each consisting of one-dimensional array of cells, each cell is allowed to communicate only with its immediate neighbor based on a rule. In general one considers a sequence of numbers random if no general pattern can be discerned, no prediction can be made about it, and no description can be found [2]. However, on a computer, random numbers are generated by the successive iteration of a definite transformation. Thus for number sequences generated by a computer the most random sequence are those that are least predictable. 1.1 Organization of This Paper The remainder of this paper is organized as follows. Section 2 provides implementation details of the random number generator on the Berkeley Emulation Engine (BEE) FPGA and Simulink ® system simulation. Section 3 discusses one application of the random number generator, the Additive White Gaussian Noise Generator. Section 4 discusses the test performed on the random number sequences generated to check for any correlation effects. Section 5 presents the results of our project in relation to the periodicity of the random number generator and its locking states. Section 6 concludes with the status of this project and future considerations. 2.0 Implementation Random number sequences are generated either by a deterministic rule on a computer (pseudo-random numbers) or by sampling certain random natural properties (like noise in a room, etc). For our application the best random number sequence is one that is very uniform, has very little correlation effects, requires minimal hardware, easy to use, and above all the “random sequence” must be completely reproducible. Recent studies have shown that Cellular Automata is a promising technique for generating uniform random numbers. Cellular Automata can be viewed as computational systems, whose evolution process information is contained in their initial configurations. It can also be considered as a discrete approximation of partial differential equations [2]. The generation of random numbers using Cellular Automata has been proven to be at least as random as the more established random number generators [2,3]. Moreover, this generator has the advantage of being highly parallel and thus easily scalable at relatively very little hardware cost. For random sequences produced by Cellular Automata there are no known mathematical shortcuts to predicting the values and the computational power needed to discern a pattern is usually far greater than the power used to generate the sequences [2]. The Random number generator chosen for this study is based on a one dimensional cellular automaton with the following connecting rule: } 1] O1[k I2[k] 1] O2[k I1[k] { ) k N, k 2, (k for O1[N] I2[1] O2[2] I1[1]

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Automated Synthesis of Configurable Two-dimensional Linear Feedback Shifter Registers for Random/Embedded Test Patterns

Abstract A new approach to optimize a configurable twodimensional (2-D) linear feedback shift registers (LFSR) for both embedded and random test pattern generation in built-in self-test (BIST) is proposed. This configurable 2-D LFSR based test pattern generator generates: 1) a deterministic sequence of test patterns for random-pattern-resistant faults, and then 2) random patterns for random-pat...

متن کامل

A robust -40 to 120°C all-digital true random number generator in 40nm CMOS

An all-digital True Random Number Generator (TRNG) harvesting entropy from the collapse of 2 edges injected into one even-stage ring is fabricated in 40nm CMOS. A configurable ring and tuning loop provides robustness across a wide range of temperature (-40 to 120°C), voltage (0.6 to 0.9V), process variation, and external attack. The dynamic tuning loop automatically configures the ring to meet ...

متن کامل

Hardware Acceleration of Parallel Lagged-Fibonacci Pseudo Random Number Generation

The Scalable Parallel Random Number Generators (SPRNG) library is widely used to generate random numbers in Monte Carlo simulations due to the good statistical properties of both its serial and parallel random number streams. In this paper, we suggest an efficient hardware architecture for the Parallel Additive Lagged-Fibonacci Generator (PALFG) provided by the SPRNG library. This design has be...

متن کامل

Systolic Random Number Generation for Genetic Algorithms

A parallel hardware random number generator for use with a VLSI genetic algorithm processing device is proposed. The design uses an systolic array of mixed congruential random number generators. The generators are constantly reseeded with the outputs of the proceeding generators to avoid signiicant biasing of the randomness of the array which would result in longer times for the algorithm to co...

متن کامل

Benchmark of the Unrolling of Pseudorandom Numbers Generators

Research software involving stochastic behaviour often requires an enormous quantity of random numbers. In addition to the quality of the pseudorandom number generator (PRNG), the speed of the algorithm and the ease of its implementation are common practical aspects. In this work we will discuss how to optimize the access speed to random numbers independently from the generation algorithm using...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003