loading page

Design of a Random Number Generator for Stochastic Computing(SC)
  • Pilin Junsangsri ,
  • Fabrizio Lombardi
Pilin Junsangsri
Wentworth Institute of Technology

Corresponding Author:[email protected]

Author Profile
Fabrizio Lombardi
Author Profile

Abstract

In most stochastic computing designs, the Stochastic Number Generator (SNG) circuit is of primary importance, but it may require considerable area due to its complexity. This paper proposes a new design for random number generators (RNGs) to be used in SNGs. The proposed RNG design exploits the randomness between each bit of data to generate larger sets of random numbers by concatenating the modules of the proposed customized linear feedback shift registers (LFSRs). To efficiently generate random data, a plane of RNGs (consisting of multiple modules) is proposed; a so-called sliding window approach is utilized for reading data in both directions; (horizontal and vertical). Therefore, sets of random numbers are generated by doubling these datasets and inverting the duplicated datasets. Flip-Flops (FFs) are then used to isolate the datasets and reduce the correlation among them. Compared to existing designs found in the technical literature, the proposed RNG design offers many advantages such as small area per RNG, low power operation, large number of datasets, flexibility and higher accuracy. When compared to the LFSR plane, the proposed RNG design improve power dissipation by 47.03%, area per RNG by 48.71% and the number of datasets by 1466%, the size of each random by 183,000% and the autocorrelation by 98.19%. The proposed design has been used in a stochastic multiplier and adder; for these circuits, the mean square error is reduced by 40.62% for the multiplier circuit, and 26.79% for the adder circuit.