380 likes | 467 Vues
This paper proposes an algorithm for optimizing energy consumption in probabilistic Boolean circuits while maintaining correctness. Issues such as supply voltage variation and cell characterization are addressed. The key ideas involve selecting probabilities for gates, optimizing energy consumption, and correctness. The algorithm replaces gates based on observability and selects cells to minimize energy. Future work includes refining the optimization algorithm.
E N D
Timing-aware Energy/Correctness Optimization forProbabilistic BooleaN Circuits Ching-Yi Huang & Yung-Chun Hu & Black 2013/10/14
Outline • Introduction • Previous works • Issues & motivation • Problem formulation & key ideas • Proposed algorithm • Initial Replacing • Cell selection • Further Optimization • Future work
Introduction (1/3) Noise effect Lower VDD
Introduction (2/3) Energy per switching: Energy ratio p
Introduction (3/3) • Probabilistic operations • OR: ∨p • AND: ∧p • NOT: ¬p • Let probabilistic parameter p= 0.9 A 0.9 F B
Previous works Exact method MC method Formula-based method
Previous works • Strategies of correctness optimization Random assignment Observability-based assignment
However… • 1. Let us locate the position of MC method • Used for quick evaluation or verification? • How about hybrid with formula-based method? • 2. The observability-based correctness optimization • Did not consider the energy consumption/reduction • Did not propose how to choose the probabilityp for p-gate • Did not consider the circuit delay
Issues • Supply voltage vs. probability (on 45nm) • Other influences of voltage-scaling • Cell characterization • Multiple supply voltages
V-P & E-P • PTM 45nm bulk • Vtn 0.466 ; Vtp 0.412 • Wn 0.415 ; Wp 0.63; L 0.5 • Standard deviation 0.24 0.22 0.20 0.18 • Cell function: INV, NAND
V-P p p 11 Vdd (V) Sd=0.24, max_p = 0.9857 Sd=0.22, max_p = 0.9911 Vdd (V) p p Vdd (V) Vdd (V) Sd=0.20, max_p = 0.9951 Sd=0.18, max_p = 0.9977
P-E Energy (normalized) Energy (normalized) 1.1 V 0.8 V 0.5V p Sd=0.24, max_p = 0.9857 p Sd=0.22, max_p = 0.9911 Energy (normalized) Energy (normalized) Sd=0.20, max_p = 0.9951 Sd=0.18, max_p = 0.9977 p p
Other influence of voltage-scaling • Supply voltage • Delay • Driving strength • Leakage power (static power) • Switching power (dynamic power) • The “energy” we care = power × delay P = VDDIDDQ+COUTVDD2 f ?
Cell characterization • Why cell characterization is necessary • timing-aware • power-aware • Arcs • CCS, ECSM, NLDM • Synopsys – Liberty NCX
Multiple supply voltages • How many? • Should be as reasonable as possible • What values? • > both Vth of pmos and nmos
Outline • Introduction • Previous works • Issues & motivation • Problem formulation & key ideas • Proposed algorithm • Initial Replacing • Cell selection • Further Optimization • Future work
Problem formulation Objective 1 • Given • A deterministic circuit (every p=1) • Correctness constraint (rate/magnitude) • Derive • Energy optimized PBC • Considering circuit delay (little suffer) Objective 2 • Given • A deterministic circuit (every p=1) • Energy constraint (% of reduction) • Derive • Correctness optimized PBC • Considering circuit delay (little suffer) Timing-aware !!!!!
Key ideas • Timing • Keep intact (no timing violation or little suffer) • Probability selection • Scalable enough algorithm to deal with different # of p • P-gate selection -> cell selection • Energy optimization • Correctness optimization
Energy optimization 22 • As many P-gates as possible • Lower observability first • Avoid placing at critical paths • Correctness is not proportional to the # of P-gates constraint
Correctness optimization 23 • Lower observability first • Avoid placing at critical paths • The energy reduction should be proportional to the # of P-gates constraint Normalized energy consumption Ratio of probabilistic gates (%)
Trade-off between p and E • p • Correctness -> # of P-gates • Energy -> total energy ? -> Need observation • Initial replacing • Based on the observation, determine where to change p • Iterative cell selection algorithm • Similar to gate sizing
Evaluation • In algorithm • Correctness • Formula-based method • Delay & Power • Simple calculation • Estimation based on the information of cells • Not considering false paths • Final check • PrimeTime/PrimePower • Proposed MC method
Comparison • 1. Random assignment • 2. Previous work (observability-based assignment) • 3. Design Compiler
Outline • Introduction • Previous works • Issues & motivation • Problem formulation & key ideas • Proposed algorithm • Initial Replacing • Cell selection • Further Optimization • Future work
Proposed algorithm • Replace lower observability first • Avoid placing at critical paths • Select voltage (probability) • correctness sensitivity estimation • Estimate correctness/energy after every placing • Final check with a little tuning Initial replacing Cell selection Further optimization
Proposed algorithm Initial replacing Cell selection Selection algorithm Further optimization
Proposed algorithm Initial replacing Cell selection • Approximate PBC minimization • Calculate observability • Find near 0 or 1 signals • Evaluate correctness • Remove near-redundant wire according to observability and the diff of correctness • Final check Further optimization
Redundant Removal • In deterministic circuit, we can inject SA faults and remove redundant wires. SA fault Observable? No Remove the wire
Near-redundant removal • In PBC, we may regard signals which have high probability to be 0 or 1 as stuck-at-faults. E A 0.0375 w 0.9 0.9625 0.3 B 0.075 Correctness=0.99375 0.25 C D If every PI has probability of 0.5 to be 1, w has probability of 0.9625 to be 0.
Near-redundant removal • In PBC, we may regard signals which have high probability to be 0 or 1 as stuck-at-faults. 0 Correctness=0.977 The node reduction is 66%.
Approximate PBC minimization Start Identify near-redundant wires Select the node with lowest observability Recalculate observabilty & Re-simulate circuit Check the correctness suffering Yes Remove the near redundant wire Pass ? No Yes Other candidates No Final check & restore Report energy consumption Report correctness Derive final PBC Finish
Correctness definition with respect to applications • Correctness rate vs. correctness magnitude • Others’ definition • Relative error = POorig / POapprox×100% • Error magnitude = (|POorig-POapprox|)/|POmax| ×100% • Error rate (ER) : the percentage of vectors for which the values at a set of outputs deviate from the error free responses, during normal operation. • Error significance (ES) for a set of outputs : defined as the maximum amount by which the numerical value at the outputs of an imperfect circuit version can deviate from the corresponding value for the perfect version • RS = ER*ES
Application (2/2) Assume each PO has same weight, the average correctness is 0.9.
Future work • Learn Liberty NCX • Cell characterization and observation • Correctness redefinition • What technology? (45nm, 90nm, 130nm, 250nm) • More applications (benchmarks referenced by papers) • Merge near-identical signals?