2017 Volume E100.A Issue 8 Pages 1661-1671
For some applications, it has been known that stochastic computing (SC) has many potential advantages compared with conventional computation on binary radix encoding. Thus, there has been proposed many design methodologies to realize SCs. Recently, a general design method to realize SC operations by designing Boolean circuits (functions) has been proposed. As a central part of the method, we need to design a logic circuit such that its output becomes 1 with a certain desired probability with respect to random inputs. Also, to realize an SC arithmetic operation with a constant value, in some situations we need to prepare a random bit-stream that becomes 1 with a desired probability from a set of predetermined physical random sources. We call such a bit-stream as a stochastic number (SN). We can utilize the above-mentioned previous method to prepare stochastic numbers by designing Boolean circuits. The method assumes all the random sources become 1 with the same probability 1/2. In this paper, we investigate a different framework where we can prepare different probabilities of each stochastic number in the physical random sources. Then, this paper presents the necessary and sufficient condition of given random inputs in order to produce a stochastic number with a given specified precision. Based on the condition, we can propose a method to generate a stochastic number by using the minimum number of random inputs. Indeed our method uses much less number of inputs than the previous method, and our preliminary experiment shows that the generated circuits by our method also tend to be smaller than the ones by the previous method.