Synthesizing Number Generators for Stochastic Computing using Mixed Integer Programming

15 Feb 2019  ·  Vincent T. Lee, Samuel Archibald Elliot, Armin Alaghi, Luis Ceze ·

Stochastic computing (SC) is a high density, low-power computation technique which encodes values as unary bitstreams instead of binary-encoded (BE) values. Practical SC implementations require deterministic or pseudo-random number sequences which are optimally correlated to generate bitstreams and achieve accurate results. Unfortunately, the size of the search space makes manually designing optimally correlated number sequences a difficult task. To automate this design burden, we propose a synthesis formulation using mixed integer programming to automatically generate optimally correlated number sequences. In particular, our synthesis formulation improves the accuracy of arithmetic operations such as multiplication and squaring circuits by up to 2.5x and 20x respectively. We also show how our technique can be extended to scale to larger circuits.

PDF Abstract

Datasets


  Add Datasets introduced or used in this paper