Stochastic computing is a low cost, noise tolerant computing technique based on streams of random bits. Given the non-deterministic nature of the architecture, we apply information theoretic techniques to the analysis and design of stochastic circuits. The fundamental circuit elements, adders and multipliers, are characterized in terms of mutual information between the desired quantity and the stochastic output. Using this measure we verify that stochastic computations are tolerant to errors caused by unreliable hardware. A surprising observation is that for two-input single-output stochastic adders and multipliers, it is better to have two noise sources at the inputs than a single noise source at the output.
['Adriel Kind']
Information flow in stochastic computers