Time-Encoded Values for Highly Efficient Stochastic Circuits

Stochastic computing (SC) is a promising technique for applications that require low area overhead and fault tolerance, but can tolerate relatively high latency. In the SC paradigm, logical computation is performed on randomized bit streams. In prior work, streams were generated with linear feedback shift registers; these contributed heavily to the hardware cost and consumed a significant amount of power. This paper introduces a new approach for encoding signal values: computation is performed on analog periodic pulse signals. Exploiting pulse width modulation, time-encoded signals corresponding to specific values are generated by adjusting the frequency and duty cycles of pulse width modulated (PWM) signals. With this approach, the latency, area, and energy consumption are all greatly reduced. Experimental results on image processing applications show up to 99% performance speedup, 98% saving in energy dissipation, and 40% area reduction compared to prior stochastic approaches. Circuits synthesized with the proposed approach can work as fast and energy-efficiently as a conventional binary design while retaining the fault-tolerance and low-cost advantages of conventional stochastic designs.

[1]  Marian Verhelst,et al.  Energy-Efficiency and Accuracy of Stochastic Computing Circuits in Emerging Technologies , 2014, IEEE Journal on Emerging and Selected Topics in Circuits and Systems.

[2]  Keshab K. Parhi,et al.  True Random Number Generator circuits based on single- and multi-phase beat frequency detection , 2014, Proceedings of the IEEE 2014 Custom Integrated Circuits Conference.

[3]  Behzad Razavi The Cross-Coupled Pair?Part III [A Circuit for All Seasons] , 2015, IEEE Solid-State Circuits Magazine.

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

[5]  Keshab K. Parhi,et al.  Machine learning classifiers using stochastic logic , 2016, 2016 IEEE 34th International Conference on Computer Design (ICCD).

[6]  Behzad Razavi The Cross-Coupled Pair - Part II [A Circuit for All Seasons] , 2014, IEEE Solid-State Circuits Magazine.

[7]  John P. Hayes Introduction to stochastic computing and its challenges , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[8]  Hae-Seung Lee,et al.  Noise Analysis for Comparator-Based Circuits , 2009, IEEE Transactions on Circuits and Systems I: Regular Papers.

[9]  Vincent C. Gaudet,et al.  Asynchronous Stochastic Decoding of LDPC Codes: Algorithm and Simulation Model , 2014, IEICE Trans. Inf. Syst..

[10]  M. Hassan Najafi,et al.  A Fast Fault-Tolerant Architecture for Sauvola Local Image Thresholding Algorithm Using Stochastic Computing , 2016, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

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

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

[13]  David J. Lilja,et al.  Using Stochastic Computing to Reduce the Hardware Requirements for a Restricted Boltzmann Machine Classifier , 2016, FPGA.

[14]  Kia Bazargan,et al.  Computation on Stochastic Bit Streams Digital Image Processing Case Studies , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[15]  Behzad Razavi The Cross-Coupled Pair - Part I [A Circuit for All Seasons] , 2014, IEEE Solid-State Circuits Magazine.

[16]  Guang Gong,et al.  Signal Design for Good Correlation: For Wireless Communication, Cryptography, and Radar , 2005 .

[17]  Tsuyoshi Iwagaki,et al.  Compact and accurate stochastic circuits with shared random number sources , 2014, 2014 IEEE 32nd International Conference on Computer Design (ICCD).

[18]  Mingzhu Li,et al.  The Pulse Width Modulation and its Use in Induction Motor Speed Control , 2011, 2011 Fourth International Symposium on Computational Intelligence and Design.

[19]  David J. Lilja,et al.  High-speed stochastic circuits using synchronous analog pulses , 2017, 2017 22nd Asia and South Pacific Design Automation Conference (ASP-DAC).

[20]  Daehwa Paik,et al.  A low-noise self-calibrating dynamic comparator for high-speed ADCs , 2008, 2008 IEEE Asian Solid-State Circuits Conference.

[21]  Kiyoung Choi,et al.  Dynamic energy-accuracy trade-off using stochastic computing in deep neural networks , 2016, 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[22]  David A. Johns,et al.  Analog Integrated Circuit Design , 1996 .

[23]  Chris H. Kim,et al.  A Magnetic Tunnel Junction based True Random Number Generator with conditional perturb and real-time output probability tracking , 2014, 2014 IEEE International Electron Devices Meeting.

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

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

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

[27]  Sergio L. Toral Marín,et al.  Stochastic pulse coded arithmetic , 2000, 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353).

[28]  Kia Bazargan,et al.  Polysynchronous stochastic circuits , 2016, 2016 21st Asia and South Pacific Design Automation Conference (ASP-DAC).

[29]  Kiyoung Choi,et al.  An energy-efficient random number generator for stochastic circuits , 2016, 2016 21st Asia and South Pacific Design Automation Conference (ASP-DAC).

[30]  Apostolos Dollas,et al.  Unary Processing , 1987, Adv. Comput..

[31]  Kia Bazargan,et al.  Randomness meets feedback: Stochastic implementation of logistic map dynamical system , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[32]  David Blaauw,et al.  Mixed-signal stochastic computation demonstrated in an image sensor with integrated 2D edge detection and noise filtering , 2014, Proceedings of the IEEE 2014 Custom Integrated Circuits Conference.