Exploiting correlation in stochastic circuit design

Stochastic computing (SC) is a re-emerging computing paradigm which enables ultra-low power and massive parallelism in important applications like real-time image processing. It is characterized by its use of pseudo-random numbers implemented by 0-1 sequences called stochastic numbers (SNs) and interpreted as probabilities. Accuracy is usually assumed to depend on the interacting SNs being highly independent or uncorrelated in a loosely specified way. This paper introduces a new and rigorous SC correlation (SCC) measure for SNs, and shows that, contrary to intuition, correlation can be exploited as a resource in SC design. We propose a general framework for analyzing and designing combinational circuits with correlated inputs, and demonstrate that such circuits can be significantly more efficient and more accurate than traditional SC circuits. We also provide a method of analyzing stochastic sequential circuits, which tend to have inherently correlated state variables and have proven very hard to analyze.

[1]  John P. Hayes,et al.  Stochastic circuits for real-time image-processing applications , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[2]  W.J. Gross,et al.  Stochastic Implementation of LDPC Decoders , 2005, Conference Record of the Thirty-Ninth Asilomar Conference onSignals, Systems and Computers, 2005..

[3]  Hua Dang,et al.  Understanding variance propagation in stochastic computing systems , 2012, 2012 IEEE 30th International Conference on Computer Design (ICCD).

[4]  P. R. Stephan,et al.  SIS : A System for Sequential Circuit Synthesis , 1992 .

[5]  John P. Hayes,et al.  Probabilistic transfer matrices in symbolic reliability analysis of logic circuits , 2008, TODE.

[6]  Charles M. Grinstead,et al.  Introduction to probability , 1999, Statistics for the Behavioural Sciences.

[7]  Guang Gong,et al.  Signal Design for Good Correlation: Preface , 2005 .

[8]  John Shawe-Taylor,et al.  Generating binary sequences for stochastic computing , 1994, IEEE Trans. Inf. Theory.

[9]  John P. Hayes,et al.  A spectral transform approach to stochastic circuits , 2012, 2012 IEEE 30th International Conference on Computer Design (ICCD).

[10]  Howard C. Card,et al.  Stochastic Neural Computation I: Computational Elements , 2001, IEEE Trans. Computers.

[11]  David J. Lilja,et al.  Using stochastic computing to implement digital image processing algorithms , 2011, 2011 IEEE 29th International Conference on Computer Design (ICCD).

[12]  W. J. Poppelbaum,et al.  Stochastic computing elements and systems , 1967, AFIPS '67 (Fall).

[13]  C. Tappert,et al.  A Survey of Binary Similarity and Distance Measures , 2010 .

[14]  Mohamad Sawan,et al.  Delayed Stochastic Decoding of LDPC Codes , 2011, IEEE Transactions on Signal Processing.

[15]  Vincent C. Gaudet,et al.  Iterative decoding using stochastic computation , 2003 .

[16]  G. Verghese,et al.  Mass fluctuation kinetics: capturing stochastic effects in systems of chemical reactions through coupled mean-variance computations. , 2007, The Journal of chemical physics.

[17]  Kia Bazargan,et al.  The synthesis of linear Finite State Machine-based Stochastic Computational Elements , 2012, 17th Asia and South Pacific Design Automation Conference.

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

[19]  Xin Li,et al.  An Architecture for Fault-Tolerant Computation with Stochastic Logic , 2011, IEEE Transactions on Computers.

[20]  John P. Hayes,et al.  Survey of Stochastic Computing , 2013, TECS.