Dynamic Stochastic Computing for Digital Signal Processing Applications
Siting Liua and Jie Hanb
Department of Electrical and Computer Engineering University of Alberta, Edmonton, AB, Canada
asiting2@ualberta.ca
bjhan8@ualberta.ca
ABSTRACT
Stochastic computing (SC) utilizes a random binary bit stream to encode a number by counting the frequency of 1’s in the stream (or sequence). Typically, a small circuit is used to perform a bit-wise logic operation on the stochastic sequences, which leads to significant hardware and power savings. Energy efficiency, however, is a challenge for SC due to the long sequences required for accurately encoding numbers. To overcome this challenge, we consider to use a stochastic sequence to encode a continuously variable signal instead of a number to achieve higher accuracy, higher energy efficiency and greater flexibility. Specifically, one single bit is used to encode a sample from a signal for efficient processing. This type of sequences encodes constantly variable values, so it is referred to as dynamic stochastic sequences (DSS’s). The DSS enables the use of SC circuits to efficiently perform tasks such as frequency mixing and function estimation. It is shown that such a dynamic SC (DSC) system achieves savings up to 98.4% in energy and up to 96.8% in time with a slightly higher accuracy compared to conventional SC. It also achieves energy and time savings of up to 60% compared to a fixed-width binary implementation.
Keywords: Stochastic Computing, Dynamic Stochastic Computing, Dynamic Stochastic Sequence, Frequency Mixer, Function Estimation.