  Stochastic computing (SC) is an emerging computing technique which offers
higher computational density, and lower power over binary-encoded (BE)
computation. Unlike BE computation, SC encodes values as probabilistic
bitstreams which makes designing new circuits unintuitive. Existing techniques
for synthesizing SC circuits are limited to specific classes of functions such
as polynomial evaluation or constant scaling. In this paper, we propose using
stochastic synthesis, which is originally a program synthesis technique, to
automate the task of synthesizing new SC circuits. Our results show stochastic
synthesis is more general than past techniques and can synthesize manually
designed SC circuits as well as new ones such as an approximate square root
unit.
