Stochastic Theater: Stochastic Datapath Generation Framework for Fault-Tolerant IoT Sensors

Rui Policarpo Duarte, Mário Véstias, Carlos Carvalho, João Casaleiro


Stochastic Computing has emerged as a competitive computing paradigm that produces fast and simple implementations of arithmetic operations, while offering high levels of parallelism, and graceful degradation of the results when in the presence of errors. IoT devices are often operate under limited power and area constraints and subjected to harsh environments, for which, traditional computing paradigms struggle to provide high availability and fault-tolerance. Stochastic Computing is based on the computation of pseudo-random sequences of bits, hence requiring only a single bit per signal, rather than a data-bus. Notwithstanding, we haven’t witnessed its inclusion in custom computing systems. In this direction, this work presents Stochastic Theater, a framework to specify, simulate, and test Stochastic Datapaths to perform computations using stochastic bitstreams targeting IoT systems. In virtue of the granularity of the bitstreams, the bit-level specification of circuits, high-performance characteristics and reconfigurable capabilities, FPGAs were adopted to implement and test such systems. The proposed framework creates Stochastic Machines from a set of user defined arithmetic expressions, and then tests them with the corresponding input values and specific fault injection patterns. Besides the support to create autonomous Stochastic Computing systems, the presented framework also provides generation of stochastic units, being able to produce estimates on performance, resources and power. A demonstration is presented targeting KLT, typical method for data compression in IoT applications.


IoT; FPGA; Fault-Tolerant Computing; Stochastic Bitstreams; Approximate Computing

Full Text:




S.J. Agate and C.G. Drury.

newblock Electronic calculators: which notation is the better?

newblock {em Applied Ergonomics}, 11(1):2 -- 6, 1980.


Armin Alaghi and John~P. Hayes.

newblock Survey of stochastic computing.

newblock {em ACM Trans. Embed. Comput. Syst.}, 12(2s):92:1--92:19, May 2013.


Peter Alfke.

newblock Efficient shift registers, lfsr counters, and long pseudo-random

sequence generators, July 1996.


B.D. Brown and H.C. Card.

newblock Stochastic neural computation. i. computational elements.

newblock {em Computers, IEEE Transactions on}, 50(9):891--905, Sep 2001.


Yun-Nan Chang and K.K. Parhi.

newblock Architectures for digital filters using stochastic computing.

newblock In {em Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE

International Conference on}, pages 2697--2701, May 2013.


R.~P. Duarte, J.~Lobo, J.~F. Ferreira, and J.~Dias.

newblock Synthesis of bayesian machines on {FPGAs} using stochastic


newblock 2nd International Workshop on Neuromorphic and Brain-Based Computing

Systems (NeuComp 2015), associated with DATE2015, Design Automation Test

Europe 2015, March 2015.


R.~P. Duarte, M.~Vestias, and H.~Neto.

newblock Xtokaxtikox: A stochastic computing-based autonomous cyber-physical


newblock In {em Proceedings of the 1st IEEE International Conference on

Rebooting Computing (ICRC)}, 2016.


Rui~Policarpo Duarte, Mario Vestias, and Horacio Neto.

newblock Enhancing stochastic computations via process variation.

newblock In {em Field Programmable Logic and Applications (FPL), 2015 25th

International Conference on}, pages 519--522, Aug 2015.


B.R. Gaines.

newblock Stochastic computing systems.

newblock volume~2, page~37, 1965.


Brian~R. Gaines.

newblock Techniques of identification with the stochastic computer.

newblock In {em in "Proc. International Federation of Automatic Control

Symposium on Identification, Progue}, 1967.



newblock Human behaviour and performance in calculator use with algebraic and

reverse polish notation.

newblock {em Ergonomics}, 22(9):1011--1019, 1979.


Hui Li, Da~Zhang, and S.Y. Foo.

newblock A stochastic digital implementation of a neural network controller

for small wind turbine systems.

newblock {em Power Electronics, IEEE Transactions on}, 21(5):1502--1507, Sept


P.~Li, D.~J. Lilja, W.~Qian, M.~D. Riedel, and K.~Bazargan.

newblock Logical computation on stochastic bit streams with linear

finite-state machines.

newblock {em IEEE Transactions on Computers}, 63(6):1474--1486, June 2014.


Mingjie Lin, Ilia Lebedev, and John Wawrzynek.

newblock High-throughput bayesian computing machine with reconfigurable


newblock In {em Proceedings of the 18th Annual ACM/SIGDA International

Symposium on Field Programmable Gate Arrays}, FPGA '10, pages 73--82, New

York, NY, USA, 2010. ACM.


A.J. Martin and M.~Nystrom.

newblock Asynchronous techniques for system-on-chip design.

newblock {em Proceedings of the IEEE}, 94(6):1089--1120, June 2006.


P.~Merolla, J.~Arthur, F.~Akopyan, N.~Imam, R.~Manohar, and D.S. Modha.

newblock A digital neurosynaptic core using embedded crossbar memory with 45pj

per spike in 45nm.

newblock In {em Custom Integrated Circuits Conference (CICC), 2011 IEEE},

pages 1--4, Sept 2011.


Nadia Nedjah and Luiza de~Macedo~Mourelle.

newblock Reconfigurable hardware for neural networks: binary versus


newblock {em Neural Computing and Applications}, 16(3):249--255, May 2007.


Weikang Qian, Xin Li, M.D. Riedel, K.~Bazargan, and D.J. Lilja.

newblock An architecture for fault-tolerant computation with stochastic logic.

newblock {em Computers, IEEE Transactions on}, 60(1):93--105, Jan 2011.


N.~Saraf, K.~Bazargan, D.J. Lilja, and M.D. Riedel.

newblock {IIR} filters using stochastic arithmetic.

newblock In {em Design, Automation and Test in Europe Conference and

Exhibition (DATE), 2014}, pages 1--6, March 2014.


M.~Suri, O.~Bichler, D.~Querlioz, G.~Palma, E.~Vianello, D.~Vuillaume,

C.~Gamrat, and B.~DeSalvo.

newblock Cbram devices as binary synapses for low-power stochastic

neuromorphic systems: Auditory (cochlea) and visual (retina) cognitive

processing applications.

newblock In {em Electron Devices Meeting (IEDM), 2012 IEEE International},

pages 10.3.1--10.3.4, Dec 2012.


J.~von Neumann.

newblock Probabilistic logics and synthesis of reliable organisms from

unreliable components.

newblock In C.~Shannon and J.~McCarthy, editors, {em Automata Studies}, pages

--98. Princeton University Press, 1956.


Nevin~Lianwen Zhang and David Poole.

newblock Exploiting causal independence in bayesian network inference.

newblock {em Journal of Artificial Intelligence Research}, 5:301--328, 1996.


Jieyu Zhao.

newblock {em Stochastic Bit Stream Neural Networks}.

newblock Phd thesis, London University, 1995.


Fan Zhou, Jun Liu, Yi~Yu, Xiang Tian, Hui Liu, Yaoyao Hao, Shaomin Zhang,

Weidong Chen, Jianhua Dai, and Xiaoxiang Zheng.

newblock Field-programmable gate array implementation of a probabilistic

neural network for motor cortical decoding in rats.

newblock {em Journal of Neuroscience Methods}, 185(2):299 -- 306, 2010.


  • There are currently no refbacks.

Copyright (c) 2018 Rui Policarpo Duarte

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.