Marc Riedel The Synthesis of Stochastic Logic for Nanoscale Computation IWLS 2007, San Diego May 31, 2007 Weikang Qian and John Backes Circuits & Biology Lab, University of Minnesota joint work with
5/31/07IWLS Computing Beyond CMOS Intense research into novel materials and devices: Carbon Nanotubes… Molecular Switches… Biological Processes…
5/31/07IWLS Computing Beyond CMOS Many technologies still in exploratory phase: !
5/31/07IWLS Nanoscale Circuits Topological constraints. Inherent randomness. High defect rates. Features: Challenges: High density of bits. Identify general traits that impinge upon logic synthesis: carbon nanowire crossbar
Circuit Modeling logic Characterize probability of outcomes. inputsoutputs Model defects, variations, uncertainty, etc.:
Circuit Modeling logic Functional description is Boolean: inputsoutputs
Consider a probabilistic interpretation: logic stochastic logic inputsoutputs Circuit Modeling
stochastic logic Stochastic Logic inputsoutputs ,1,1,0,1,0,1,1,0,1,… 1,0,0,0,1,0,0,0,0,0,… p 1 = Prob(one) p 2 = Prob(one) serial bit streams Consider a probabilistic interpretation:
stochastic logic Stochastic Logic inputsoutputs Consider a probabilistic interpretation:
stochastic logic Stochastic Logic p 1 = Prob(one) p 2 = Prob(one) parallel bit streams Consider a probabilistic interpretation:
stochastic logic Stochastic Logic parallel bit streams Consider a probabilistic interpretation:
stochastic logic Stochastic Logic Interpret outputs according to fractional weighting: 0 1 0
5/31/07IWLS Synthesis of Stochastic Logic Circuit that computes a probability distribution corresponding to a logical specification. Given a technology characterized by: Synthesize: High degree of structural parallelism. Inherent randomness in logic/interconnects. Cast problem in terms of arithmetic operations. Perform synthesis with binary moment diagrams. Strategy:
5/31/07IWLS A real value x in [ 0, 1 ] is encoded as a stream of bits X. For each bit, the probability that it is one is: P( X=1 ) = x. Probabilistic Bundles x X
5/31/07IWLS Arithmetic Operations Multiplication(Scaled) Addition ba BPAP CPc )()( )( ) )1( ()](1[)()( )( bsas BPSPAPSP CPc
5/31/07IWLS Nanowire Crossbar (idealized)
5/31/07IWLS Nanowire Crossbar (idealized) Randomized connections, yet nearly one-to-one.
5/31/0718 Shuffled AND
5/31/07IWLS Takes the AND of randomly chosen pairs. Multiplication Shuffled AND
5/31/0720 Bundleplexing
Scaled Addition Randomly selection of wires from different bundles,. Randomly selection of wires from different bundles, according to a fixed ratio. ¾ Bundleplexer
5/31/07IWLS Stochastic Logic Shuffled ANDs, Bundleplexers { { A 0 A 1... { A n } B
5/31/07IWLS Stochastic Logic Shuffled ANDs, Bundleplexers { { { }
5/31/07IWLS Synthesis Strategy From circuit, construct a data structure called a multiplicative binary moment diagram (*BMD). Manipulate the *BMD into the right form. Implement a stochastic circuit with Shuffled AND gates and Bundleplexors.
5/31/07IWLS Arithmetic Functions xxxxxxxxxxxxf
5/31/07IWLS Construct *BMD See R. Bryant, “Verification of Arithmetic Circuits with BMDs,” xxxxxxxxxxxxf xfwfwf RRLL f L f R
Split *BMD xxxxxxxxxxxxf positivenegative
positive Normalize xxxxxxxxf P X xxxxxxxxxxxxf
5/31/07IWLS Implement Stochastic Logic x w f R f L X w SAND BUX x f R f L X
5/31/07IWLS Implement Stochastic Logic
Size of Stochastic Circuits Circuit#Device#Input#Output#StDeviceRatio C b majority lion cm138a bbtas cm42a tcon beecount decod sqrt8ml sqrt c Average1.54
CircuitS Ratio of Bundle Widths to Scaling S C b majority mc cm138a bbtas cm42a tcon Decod Sqrt8ml Sqrt c Average Error Percentages
5/31/07IWLS Discussion Exploits both parallelism and randomness. Obviates the need for post-fabrication configuration. Measured tradeoff between degree of redundancy and accuracy of the computation.
5/31/07IWLS drug compound (fixed quantity) E. Coli Research Theme: Probabilistic Computing Bacteria are genetically engineered to produce a drug that fights cancer.
5/31/07IWLS Bacteria invade cancerous tissue: cancerous tissue Research Theme: Probabilistic Computing
5/31/07IWLS Compound is injected. cancerous tissue Bacteria produce the drug: Research Theme: Probabilistic Computing
5/31/07IWLS produce drug compound E. Coli Needed: synthesis of probabilistic response in each bacterium. with Prob. 0.3 don’t produce drug with Prob. 0.7 See B. Fett, J. Bruck and M. Riedel, “Synthesizing Stochasticity in Biochemical Systems”, DAC Research Theme: Probabilistic Computing