USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering,

Slides:



Advertisements
Similar presentations
Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
Advertisements

Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Gregory Shklover, Ben Emanuel Intel Corporation MATAM, Haifa 31015, Israel Simultaneous Clock and Data Gate Sizing Algorithm with Common Global Objective.
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Types of Logic Circuits
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Presenter: PCLee VLSI Design, Automatic and Test, (VLSI-TSA-DAT).
Reduction of Interpolants for Logic Synthesis John Backes Marc Riedel University of Minnesota Dept.
Logic Synthesis for Asynchronous Circuits Based on Petri Net Unfoldings and Incremental SAT Victor Khomenko, Maciej Koutny, and Alex Yakovlev University.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
A Probabilistic Method to Determine the Minimum Leakage Vector for Combinational Designs Kanupriya Gulati Nikhil Jayakumar Sunil P. Khatri Department of.
Computing Over­Approximations with Bounded Model Checking Daniel Kroening ETH Zürich.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
Maximizing the Lifetime of Wireless Sensor Networks through Optimal Single-Session Flow Routing Y.Thomas Hou, Yi Shi, Jianping Pan, Scott F.Midkiff Mobile.
Derivation of Monotonic Covers for Standard C Implementation Using STG Unfoldings Victor Khomenko.
Functional Timing Analysis Made Fast and General Presenter: Yi-Ting Chung Advisor: Jie-Hong Roland Jiang 03/09/2012 Graduate Institute of Electronics Engineering,
Presenter : Ching-Hua Huang 2013/9/16 Visibility Enhancement for Silicon Debug Cited count : 62 Yu-Chin Hsu; Furshing Tsai; Wells Jong; Ying-Tsai Chang.
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
1 Sign Bit Reduction Encoding for Low Power Applications Hsin-Wei Lin Saneei, M. Afzali-Kusha, A. and Navabi, Z. Sign Bit Reduction Encoding for Low Power.
1 Exploring Custom Instruction Synthesis for Application-Specific Instruction Set Processors with Multiple Design Objectives Lin, Hai Fei, Yunsi ACM/IEEE.
Power Management of Flash Memory for Portable Devices ELG 4135, Fall 2006 Faculty of Engineering, University of Ottawa November 1, 2006 Thayalan Selvam.
A Routing Approach to Reduce Glitches in Low Power FPGAs Quang Dinh, Deming Chen, Martin D. F. Wong Department of Electrical and Computer Engineering University.
Power-Aware RAM Processing for FPGAs December 9, 2005 Power-aware RAM Processing for FPGA Embedded Memory Blocks Russell Tessier University of Massachusetts.
Boolean Minimizer FC-Min: Coverage Finding Process Petr Fišer, Hana Kubátová Czech Technical University Department of Computer Science and Engineering.
Lazy Annotation for Program Testing and Verification Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang November 26,
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Cut-Based Inductive Invariant Computation Michael Case 1,2 Alan Mishchenko 1 Robert Brayton 1 Robert Brayton 1 1 UC Berkeley 2 IBM Systems and Technology.
Maze Routing Algorithms with Exact Matching Constraints for Analog and Mixed Signal Designs M. M. Ozdal and R. F. Hentschke Intel Corporation ICCAD 2012.
Arithmetic Test Pattern Generation: A Bit Level Formulation of the Optimization Problem S. Manich, L. García and J. Figueras.
Properties Incompleteness Evaluation by Functional Verification IEEE TRANSACTIONS ON COMPUTERS, VOL. 56, NO. 4, APRIL
Efficient Resource Allocation for Wireless Multicast De-Nian Yang, Member, IEEE Ming-Syan Chen, Fellow, IEEE IEEE Transactions on Mobile Computing, April.
03/31/031 ECE 551: Digital System Design & Synthesis Lecture Set 8 8.1: Miscellaneous Synthesis (In separate file) 8.2: Sequential Synthesis.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
IPR: In-Place Reconfiguration for FPGA Fault Tolerance Zhe Feng 1, Yu Hu 1, Lei He 1 and Rupak Majumdar 2 1 Electrical Engineering Department 2 Computer.
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
Fast Synthesis of Clock Gating from Existing Logic Aaron P. Hurst Univ. of California, Berkeley Portions In Collaboration with… Artur Quiring and Andreas.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
REU 2007-ParSat: A Parallel SAT Solver Christopher Earl, Mentor: Dr. Hao Zheng Department of Computer Science & Engineering Introduction Results and Conclusions.
Full Design. DESIGN CONCEPTS The main idea behind this design was to create an architecture capable of performing run-time load balancing in order to.
Circuit Synthesis A logic function can be represented in several different forms:  Truth table representation  Boolean equation  Circuit schematic 
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
BDD-based Synthesis of Reversible Logic for Large Functions Robert Wille Rolf Drechsler DAC’09 Presenter: Meng-yen Li.
Unified Adaptivity Optimization of Clock and Logic Signals Shiyan Hu and Jiang Hu Dept of Electrical and Computer Engineering Texas A&M University.
Resolution Proofs as a Data Structure for Logic Synthesis John Backes Marc Riedel Electrical.
Hybrid BDD and All-SAT Method for Model Checking
Inference and search for the propositional satisfiability problem
The Analysis of Cyclic Circuits with Boolean Satisfiability
Alan Mishchenko UC Berkeley
James D. Z. Ma Department of Electrical and Computer Engineering
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
SAT-Based Logic Optimization and Resynthesis
Synthesis for Verification
Propositional Calculus: Boolean Algebra and Simplification
Optimal Redundancy Removal without Fixedpoint Computation
SAT-Based Area Recovery in Technology Mapping
NP-Completeness Proofs
SAT-Based Optimization with Don’t-Cares Revisited
Yiyu Shi*, Wei Yao*, Jinjun Xiong+ and Lei He*
Automated Extraction of Inductive Invariants to Aid Model Checking
FPGA Glitch Power Analysis and Reduction
Research Status of Equivalence Checking at Zhejiang University
Resolution Proofs for Combinational Equivalence
Chapter 11 Limitations of Algorithm Power
Post-Silicon Calibration for Large-Volume Products
32 BIT PARALLEL LOAD REGISTER WITH CLOCK GATING
Canonical Computation without Canonical Data Structure
Improved Design Debugging using Maximum Satisfiability
Chapter 3b Leakage Efficient Chip-Level Dual-Vdd Assignment with Time Slack Allocation for FPGA Power Reduction Prof. Lei He Electrical Engineering Department.
Presentation transcript:

USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering, National Taiwan University, Taiwan DAC’11

Outline  Introduction  Preliminaries  Algorithm  Implementation  Experimental results  Conclusion

Introduction  Portable and mobile devices: how to reduce the power consumption in order to prolong the battery life between recharges.  Roughly 70% of the dynamic power is consumed by the clock trees and their latch loads [1].  Not all of the clock switching and latch loads are necessary in circuit operations. -clock gating

 The clock gating mechanism saves the power by reducing the data loading of the gated registers.  However, it should not alter their functionalities.

 Synthesis the gating logic -provide the full controllability on the synthesis of the clock gating signal to find the optimal power consumption. -substantial timing or area overheads to the circuit  SAT-based method (refer as Hurst’s algorithm) -searches for internal nets as valid gating signals -minimal overhead in gating logic -Hurst’s algorithm has no flexibility in synthesizing gating logic

 This paper extends Hurst’s algorithm by constructing the interpolants of the SAT proofs as the clock gating signals.  Our proposed algorithm can lead to better power saving than Hurst’s algorithm with a slightly area overhead from the interpolant circuitries.

Preliminaries  Modeling Clock Gating as a Satisfiability Problem -for a net to be a gating signal, either Formula (1) or (1’), but not both, must be true for all input vectors.  SAT is the problem of determining if the variables of a given Boolean formula can be assigned in such a way as to make the formula evaluate to TRUE

 rewrites Formula (1) or (1’), respectively  uses a Boolean SAT solver to solve each of them  If it is unsatisfiable, then Formula (1) or (1’) holds and the net g or its inverse is a valid gating signal for register R.

 For a valid gating signal g verified by Hurst’s algorithm, its gating condition g(x) is usually a subset of the maximal gating condition of the gated register R.  It is possible to enlarge the gating condition in order to increase the gating capability and thus optimize the power consumption.

 Craig’s Interpolation  In this paper, we adopt the interpolation construction technique to derive the gating signals with larger clock gating capability.

Algorithm  Identifying clock gating candidates  Extracting interpolants  Selecting gating signals for power optimization

Identifying clock gating candidates  net-register pair (g, R): g is a net, R is a register  valid gating candidate: the net’s function can be formally proven as a gating condition of the register (Formula 1 or 1’).  millions of net-register pairs: modeling and solving all of them into SAT problems is very time-consuming.  perform logic simulation to filter out invalid net- register pairs before the SAT proofs.

 A net-register pair if both Formulae (1) and (1’) are invalidated by simulation, that is, if there exist two input vectors X 1 and X2 that satisfy Formulae (2) and (2’), it’s invalid.  At the end of simulation, a great portion of the netregister pairs are invalidated and then use SAT engine to prove the rest pairs later.

Extracting interpolants  G-type gating candidate a gating candidate composed by an internal net g and a register R  I-type gating candidate we can construct an interpolant, I, of A and B from their common variables in linear time according to the properties of the interpolation

 I-type gating candidates can enlarge the on-set of g(x) to have better power saving  G-type gating candidates can minimize the gate count of the clock gating logic.  potential timing violation If the candidate on the critical path, the delay of the circuit will increase => discard the candidate

Selecting gating signals for power optimization  P G : the gating probability that is equal to the on-set probability of the gating candidate  N: the number of gated registers  S Ri : the saved power for each of them  C G : the gating power cost resulted from the additional gating logic

 To maximize the power saving Find the gating signals that can gate the most number of registers with the most power savings and the highest gating probabilities Gating power cost should be as low as possible  P G and N in Equation (3) are unavailable

 Use simulation approach to record the hitting probability of a signal as the “estimated gating probability”  Set N to a constant value, just enough to estimate the relative power saving

Implementation  Identifications of the valid gating candidates could be still the timing bottleneck  May suffer the memory explosion from recording all interpolants in the identification processes.  Here presents two techniques to solve both memory and runtime problems.  Brings significant improvement on runtime with tiny decrease in gated clock switches.

 Memory Usage Improvement the additional memory demand comes from the storage of interpolants and their gating logic.  To prevent memory explosion -reduce the number of interpolants -prune away the interpolants with large gating logic

 reduce the number of interpolants merge functionally equivalent interpolants  prune away the interpolants with large gating logic reduce the number of the G-type gating candidates before performing SAT proofs on them picks the G-type gating candidates with the maximum EP G

Runtime Improvement  only keeps the first interpolant more interpolants from the same G-candidate could indeed bring more optimization possibilities =>increase the SAT solving time  In our observation, 90% of the runtime is spent on the SAT proofs in our algorithm  The Memory Usage Improvement technique also helps the runtime improvement

 There are some “hard solving” problems to a SAT solver, which may not be solved in hours  Our algorithm restricts the “backtrack variable” of the SAT solver, MiniSAT [11].  By limiting the backtracking times of a solver, the solver will give up those gating candidates which need more backtracks in the SAT solving.  This is also beneficial to prevent constructing large size of interpolants.

Experimental results

Conclusion  Embedded the interpolation technique to the SAT- based clock gating method with no explicit timing overhead.  Avoid the memory explosion from the interpolation technique.  Have the promising experimental results which perform better or equal power reduction efficiency than Hurst’s SAT-based algorithm.