Pseudo-Random Number Generators for Stochastic Computing (SC): Design and Analysis - Pilin Junsangsri; Fabrizio Lombardi (IEEE Open Journal of Nanotechnology)
In most nanoscale stochastic computing designs, the Stochastic Number Generator (SNG) circuit is complex and occupies a significant area because each copy of a stochastic variable requires its own dedicated (and independent) stochastic number generator. This article introduces a novel approach for pseudo-random number generators (RNGs) to be used in SNGs. The proposed RNG design leverages the inherent randomness between each bit of data to generate larger sets of random numbers by concatenating the modules of the customized linear feedback shift registers. To efficiently generate random data, a plane of RNGs (comprising of multiple modules) is introduced. A sliding window approach is employed for reading data in both the horizontal and vertical directions; therefore, the sets of random numbers are generated by doubling the datasets and inverting the duplicated datasets. Flip-Flops are utilized to isolate the datasets and diminish correlation among them. This paper explores variations in parameters to evaluate their impact on the performance of the proposed design. A comparative analysis between the proposed design and existing SNG designs from technical literature is presented. The results show that the proposed nanoscale RNG design offers many advantages such as small area per RNG, low power operation, generated large datasets and higher accuracy.