Stochastic Number Generator (SNG)

\label{stochastic-number-generator-sng}
It is possible to say that the success of Stochastic computing bases on the efficient generation of random bit stream encoding real values. Stochastic Numbers (SNs) generated must be random and uncorrelated for the accuracy purpose. Fortunately, the exist works introduced many approaches which can be generally devided into two main groups: using comparator and without using comparator.
Binary
number /m c
/m
Figure 1.2: Digital to stochastic converter
For the first group, the basic idea for generating Stochastic Number (SN) can be seen in Fig.1.2. At each clock cycle, an m–bit random binary number denoted y is generated by a random or a pseudo–random source and then compared to an m–bit binary number denoted x. At the output of the comparator, we obtain a 1 if y < x and a 0 otherwise. The received sequence is called a stochastic sequence in which probability of observing a bit being logic 1 is equal to x. This result can be mathematically explained as follows: A random source generates a value y obeying a certain probability density function f (y),
and a comparator compares the value y with a constant value x, consequently, the output of this configuration is a sequence of random bits that have probability of being logic 1 as