Stochastic Computing

Stochastic computing is an alternative method of computation which relies on stochastically encoded unary bit streams as opposed to traditional binary encodings. Unlike binary encodings which require wide datapaths, stochastic circuits are simpler offering dramatically reduced area overhead and power consumption by trading off run time and accuracy. Multipliers are implemented as two input AND or XOR gates, while adders simply amount to a single multiplexor. This project aims to explore the application space and how to appropriately balance these opportunities and trade offs.