Schemes for probabilistic computation can exploit physical sources to generate random values in the form of bit streams. Generally, each source has a fixed bias and so provides bits with a specific probability of being one. If many different probability values are required, it can be expensive to generate all of these directly from physical sources. This paper demonstrates novel techniques for synthesizing combinational logic that transforms source probabilities into different target probabilities. We consider three scenarios in terms of whether the source probabilities are specified and whether they can be duplicated. In the case that the source probabilities are not specified and can be duplicated, we provide a specific choice, the set 0.4, 0.5; we show how to synthesize logic that transforms probabilities from this set into arbitrary decimal probabilities. Further, we show that for any integer n ≥ 2, there exists a single probability that can be transformed into arbitrary base-n fractional probabilities. In the case that the source probabilities are specified and cannot be duplicated, we provide two methods for synthesizing logic to transform them into target probabilities. In the case that the source probabilities are not specified, but once chosen cannot be duplicated, we provide an optimal choice.
|Original language||English (US)|
|Number of pages||14|
|Journal||IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems|
|State||Published - Sep 2011|
Bibliographical noteFunding Information:
Manuscript received September 19, 2010; revised January 14, 2011; accepted March 8, 2011. Date of current version August 19, 2011. This work was supported by a grant from the Focus Center Research Program on Functional Engineered Nano-Architectonics, Semiconductor Research Corporation, under Contract 2003-NT-1107, and a CAREER Award, under Grant 0845650, from the National Science Foundation. This paper was recommended by Associate Editor I. Bahar.
- Logic synthesis
- probabilistic logic
- probabilistic signals
- random bit streams
- stochastic bit streams