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 basic gates with invertible capability, but can also be extended to construct invertible stochastic adder and multiplier circuits. Experimental results are presented which demonstrate correct operation of synthesizable invertible circuitry performing both multiplication and factorization, along with fabricated ASIC measurement results for an invertible multiplier circuit.
翻译:可逆逻辑可在两种模式之一中运行:1)前向模式,即输入被呈现并产生单一正确输出;2)反向模式,即输出被固定,输入取与输出一致的值。通过多种玻尔兹曼机配置可以创建可逆逻辑。此类系统已被证明能快速解决某些具有挑战性的问题,例如因子分解和组合优化。本文表明,可逆逻辑可以通过基于随机计算的简单脉冲神经网络实现。我们提出了一种可逆随机门的设计方法,该方法可通过少量CMOS硬件实现。我们证明,该设计不仅能正确实现具有可逆功能的基本逻辑门,还可扩展用于构建可逆随机加法器和乘法器电路。实验结果显示,可综合的可逆电路在执行乘法与因子分解时均能正确运行,同时提供了可逆乘法器电路的ASIC芯片实测结果。