Efficient CMOS invertible logic using stochastic computing

Sean C. Smithson, Naoya Onizawa, Brett H. Meyer, Warren J. Gross, Takahiro Hanyu

Research output: Contribution to journalArticlepeer-review

41 Citations (Scopus)


Invertible logic can operate in one of two modes: 1) a forward mode, in which inputs are presented and a single, correct output is produced, and 2) a reverse mode, in which the output is fixed and the inputs take on values consistent with the output. It is possible to create invertible logic using various Boltzmann machine configurations. Such systems have been shown to solve certain challenging problems quickly, such as factorization and combinatorial optimization. In this paper, we show that invertible logic can be implemented using simple spiking neural networks based on stochastic computing. We present a design methodology for invertible stochastic gates, which can be implemented using a small amount of CMOS hardware. We demonstrate that our design can not only correctly implement the basic gates with invertible capability but can also be extended to construct invertible stochastic adder and multiplier circuits. The experimental results are presented, which demonstrate the correct operation of synthesizable invertible circuitry performing both multiplication and factorization, along with fabricated ASIC measurement results for an invertible multiplier circuit.

Original languageEnglish
Article number8610326
Pages (from-to)2263-2274
Number of pages12
JournalIEEE Transactions on Circuits and Systems I: Regular Papers
Issue number6
Publication statusPublished - 2019 Jun


  • CMOS integrated circuits probabilistic logic
  • machine learning


Dive into the research topics of 'Efficient CMOS invertible logic using stochastic computing'. Together they form a unique fingerprint.

Cite this