Correlation manipulating circuits for stochastic computing

Stochastic computing (SC) is an emerging computing technique that promises high density, low power, and error tolerant solutions. In SC, values are encoded as unary bitstreams and SC arithmetic circuits operate on one or more bitstreams. In many cases, the input bitstreams must be correlated or uncorrelated for SC arithmetic to produce accurate results. As a result, a key challenge for designing SC accelerators is manipulating the impact of correlation across SC operations. This paper presents and evaluates a set of novel correlation manipulating circuits to manage correlation in SC computation: a synchronizer, desynchronizer, and decorrelator. We then use these circuits to propose improved SC maximum, minimum, and saturating adder designs. Compared to existing correlation manipulation techniques, our circuits are more accurate and up to 3× more energy efficient. In the context of an image processing pipeline, these circuits can reduce the total energy consumption by up to 24%.

[1]  John P. Hayes,et al.  Isolation-based decorrelation of stochastic circuits , 2016, 2016 IEEE 34th International Conference on Computer Design (ICCD).

[2]  John P. Hayes,et al.  Exploiting correlation in stochastic circuit design , 2013, 2013 IEEE 31st International Conference on Computer Design (ICCD).

[3]  Keshab K. Parhi,et al.  Effect of bit-level correlation in stochastic computing , 2015, 2015 IEEE International Conference on Digital Signal Processing (DSP).

[4]  Brian R. Gaines,et al.  Stochastic computing , 1967, AFIPS '67 (Spring).

[5]  Jie Han,et al.  Energy efficient stochastic computing with Sobol sequences , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[6]  John P. Hayes,et al.  Design of Division Circuits for Stochastic Computing , 2016, 2016 IEEE Computer Society Annual Symposium on VLSI (ISVLSI).

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

[8]  Qinru Qiu,et al.  SC-DCNN: Highly-Scalable Deep Convolutional Neural Network using Stochastic Computing , 2016, ASPLOS.

[9]  John P. Hayes,et al.  Energy-efficient hybrid stochastic-binary neural networks for near-sensor computing , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[10]  Shie Mannor,et al.  Stochastic decoding of LDPC codes , 2006, IEEE Communications Letters.

[11]  Pai-Shun Ting,et al.  Stochastic Logic Realization of Matrix Operations , 2014, 2014 17th Euromicro Conference on Digital System Design.

[12]  Shie Mannor,et al.  Tracking Forecast Memories in stochastic decoders , 2009, 2009 IEEE International Conference on Acoustics, Speech and Signal Processing.

[13]  John P. Hayes,et al.  Fast and accurate computation using stochastic circuits , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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