Timing Analysis Predicated on a topological ordering. l 1 = 1 level: l 2 = 1 x y x y z z c s g1g1 g4g4 g3g3 g2g2 g5g5 l 3 = 2 l 5 = 2 l 4 = 3.

Slides:



Advertisements
Similar presentations
The Synthesis of Cyclic Circuits with SAT and Interpolation By John Backes and Marc Riedel ECE University of Minnesota.
Advertisements

Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Glitches & Hazards.
Logical Design.
Timing Analysis - Delay Analysis Models
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Timing Analysis.
Timing Analysis Predicated on a topological ordering. l 1 = 1 level: l 2 = 1 x y x y z z c s g1g1 g4g4 g3g3 g2g2 g5g5 l 3 = 2 l 5 = 2 l 4 = 3.
The Analysis of Cyclic Circuits with Boolean Satisfiability John Backes, Brian Fett, and Marc Riedel Electrical Engineering, University of Minnesota.
Cyclic Combinational Circuits and Other Novel Constructs Marrella splendensCyclic circuit (500 million year old Trilobite)(novel construct)
01/25/2005 Combinationality of cyclic circuits EECS 290A – Spring 2005 UC Berkeley.
1 On Convergence of Switching Windows Computation in Presence of Crosstalk Noise Pinhong Chen* +, Yuji Kukimoto +, Chin-Chi Teng +, Kurt Keutzer* *Dept.
Cyclic Combinational Circuits: Analysis for Synthesis Marc D. Riedel and Jehoshua Bruck California Institute of Technology.
Combining Technology Mapping and Retiming EECS 290A Sequential Logic Synthesis and Verification.
The Synthesis of Cyclic Combinational Circuits Marc D. Riedel and Jehoshua Bruck California Institute of Technology {riedel,
08/07/041 CSE-221 Digital Logic Design (DLD) Lecture-8:
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt1 Lecture 11alt Advances in Combinational ATPG Algorithms  Branch and Bound Search  FAN – Multiple.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
TH EDA NTHU-CS VLSI/CAD LAB 1 Re-synthesis for Reliability Design Shih-Chieh Chang Department of Computer Science National Tsing Hua University.
Cyclic Combinational Circuits Theory Marc D. Riedel California Institute of Technology Marrella splendensCyclic circuit (500 million year old Trilobite)(novel.
Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback.
Computing Delay with Coupling Using Timed Automata Serdar Tasiran, Yuji Kukimoto, Robert K. Brayton Department of Electrical Engineering & Computer Sciences.
Rajeev K. Ranjan Advanced Technology Group Synopsys Inc. On the Optimization Power of Retiming and Resynthesis Transformations Joint work with: Vigyan.
Cyclic Combinational Circuits and Other Novel Constructs Marc D. Riedel California Institute of Technology Marrella splendensCyclic circuit (500 million.
Rajeev K. Ranjan Advanced Technology Group Synopsys Inc. Using Combinational Verification for Sequential Circuits Joint work with: Vigyan Singhal, Cadence.
Boolean Matching in Logic Synthesis. Equivalence of Functions Equivalence of two functions defined under l Negation of input variables l Permutation of.
Logic Simulation 2 Outline –Timing Models –Simulation Algorithms Goal –Understand timing models –Understand simulation algorithms Reading –Gate-Level Simulation.
A Probabilistic Method to Determine the Minimum Leakage Vector for Combinational Designs Kanupriya Gulati Nikhil Jayakumar Sunil P. Khatri Department of.
Timing Analysis of Cyclic Combinational Circuits Marc D. Riedel and Jehoshua Bruck California Institute of Technology IWLS, Temecula Creek, CA, June 4,
01/27/2005 Combinationality of cyclic definitions EECS 290A – Spring 2005 UC Berkeley.
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
Digital Integrated Circuits© Prentice Hall 1995 Combinational Logic COMBINATIONAL LOGIC.
Sequential Circuit  It is a type of logic circuit whose output depends not only on the present value of its input signals but on the past history of its.
Functional Timing Analysis Made Fast and General Presenter: Yi-Ting Chung Advisor: Jie-Hong Roland Jiang 03/09/2012 Graduate Institute of Electronics Engineering,
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
Combinational Logic Design
EE 5900 Advanced Algorithms for Robust VLSI CAD, Spring 2009 Static Timing Analysis and Gate Sizing.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
False Path. Timing analysis problems We want to determine the true critical paths of a circuit in order to: –To determine the minimum cycle time that.
An Efficient Clustering Algorithm For Low Power Clock Tree Synthesis Rupesh S. Shelar Enterprise Microprocessor Group Intel Corporation, Hillsboro, OR.
1 Wire Length Prediction-based Technology Mapping and Fanout Optimization Qinghua Liu Malgorzata Marek-Sadowska VLSI Design Automation Lab UC-Santa Barbara.
Toggle Equivalence Preserving (TEP) Logic Optimization Eugene Goldberg (Cadence), Kanupriya Gulati (Texas A&M University) Sunil Khatri (Texas A&M University)
Basic Logic Operations and Standard Logic Gates (Lecture #1) ECE 331 – Digital System Design.
05/04/06 1 Integrating Logic Synthesis, Tech mapping and Retiming Presented by Atchuthan Perinkulam Based on the above paper by A. Mishchenko et al, UCAL.
Sneha.  Gates Gates  Characteristics of gates Characteristics of gates  Basic Gates Basic Gates  AND Gate AND Gate  OR gate OR gate  NOT gate NOT.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Chun-Yao Wang ( 王俊堯 ) 2011/12/16 Department of Computer Science, National Tsing Hua University Hsinchu, Taiwan, R.O.C.
Jehoshua (Shuki) Bruck. From Screws to Systems… The Lineage of BMW.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
EE 4271 VLSI Design, Fall 2013 Static Timing Analysis and Gate Sizing Optimization.
Cyclic Combinational Circuits and Other Novel Constructs Marrella splendensCyclic circuit (500 million year old Trilobite)(novel construct)
1/8/ L16 Timing & Concurrency III Copyright Joanne DeGroat, ECE, OSU1 Timing & Concurrency III Delay Model foundations for simulation and.
The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.
1 Fundamentals of Computer Science Combinational Circuits.
Manufacture Testing of Digital Circuits
A New ATPG Algorithm for 21 st Century: The wojoRithm John Sunwoo Electrical & Computer Engineering Auburn University, AL.
Basic Logic Operations and Standard Logic Gates [Lecture:1] Instructor: Sajib Roy Lecturer, ETE, ULAB ETE 204 – Digital Electronics.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
Kanupriya Gulati * Mathew Lovell ** Sunil P. Khatri * * Computer Engineering, Texas A&M University ** Hewlett Packard Company, Fort Collins, CO Efficient.
Presented By Anna Fariha Roll : SN – 213 MS, 1 st Semester Session: Boolean Matching.
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.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
The Analysis of Cyclic Circuits with Boolean Satisfiability
ECE 331 – Digital System Design
COMBINATIONAL LOGIC.
A New ATPG Algorithm for 21st Century: The wojoRithm
DESIGN OF SEQUENTIAL CIRCUITS
“Definition” of Combinational
Binary Logic.
Example: Verification
Presentation transcript:

Timing Analysis Predicated on a topological ordering. l 1 = 1 level: l 2 = 1 x y x y z z c s g1g1 g4g4 g3g3 g2g2 g5g5 l 3 = 2 l 5 = 2 l 4 = 3

z Timing Analysis Predicated on a topological ordering x y x y z c s arrival times 1010 (assume a delay bound of 1 time unit for each gate) l 1 = 1 l 2 = 1 g4g4 g3g3 g2g2 g5g5 l 3 = 2 l 5 = 2 l 4 = 3 g1g1 level:

Cyclic Combinational Circuits a b x c d x No topological ordering. How can we perform timing analysis? AND OR AND OR

Cyclic Combinational Circuits a b x c d x AND OR AND OR No topological ordering. How can we perform timing analysis?

Algorithms for functional analysis (IWLS’03); Strategies for synthesis (DAC’03). In trials on benchmark circuits, cyclic optimizations reduced the area of by as much as 30% In previous papers, we presented: Prior Work

Optimization for Area Number of NAND2/NOR2 gates in Berkeley SIS vs. CYCLIFYsolutions BenchmarkBerkeley SISCaltech CYCLIFYImprovement 5xp % ex % planet % s % bw % cse % pma % s % duke % styr % s % application of “script.rugged” and mapping

An algorithm for timing analysis. Synthesis results, with optimization jointly targeting area and delay. In trials on benchmarks circuits, cyclic optimizations simultaneously reduced the area by up to 10% and the delay by up to 25%. In this paper, we discuss: Contributions

cyclic circuit acyclic circuit Related Work Their approach: identify equivalent acyclic circuits. Malik (1994), Hsu, Sun and Du (1998), and Edwards (2003) considered analysis techniques for cyclic circuits. inputsoutputs Unravelling cyclic circuits this way is a difficult task. minimum-cut feedback set

Our Approach Perform event propagation, directly on a cyclic circuit. outputs inputs cyclic circuit

Our Approach Perform event propagation, directly on a cyclic circuit. [b]0[b]0 [c]0[c]0 [a]0[a]0 [x]0[x]0 [d]0[d]0 f 2 =[d+c(x+ba))] 6 f 1 =[b(a+x(c+d))] 6 Compute events symbolically, with BDDs. cyclic circuit

Circuit Model Perform static analysis in the “floating-mode”. At the outset: all wires are assumed to have unknown/undefined values ( ). the primary inputs assume definite values in {0, 1}. a “controlling” input full set of “non-controlling” inputs unknown/undefined output

Circuit Model During the analysis, only signals driven (directly or indirectly) by the primary inputs are assigned definite values. 1    ORAND   Perform static analysis in the “floating-mode”. At the outset: all wires are assumed to have unknown/undefined values ( ). the primary inputs assume definite values in {0, 1}.

Circuit Model AND Up-bounded inertial delay model. each gate has delay in [ 0, t d ] Ensures monotone speed-up property.

Circuit Model The arrival time at a gate output is determined: either by the earliest controlling input. AND (assuming a delay bound of 1)

Circuit Model The arrival time at a gate output is determined: either by the earliest controlling input; AND or by the latest non-controlling input (assuming a delay bound of 1)

Analysis Functional Analysis: determine what is computed. Timing Analysis: determine how long it takes to compute it. level: l 1 = 1 l 2 = 1 l 3 = 2 l 5 = 2 l 4 = 3 a b a b g1g1 g2g2 g3g3 g4g4 g5g5 c c

Analysis Explicit analysis: ORAND Functional Analysis: determine what is computed. Timing Analysis: determine how long it takes to compute it.

ORAND Analysis Explicit analysis: Functional Analysis: determine what is computed. Timing Analysis: determine how long it takes to compute it.

ORAND m inputs explict evaluation intractable  combinations; Analysis Explicit analysis: Functional Analysis: determine what is computed. Timing Analysis: determine how long it takes to compute it.

ORAND Analysis Symbolic analysis: binary, multi-terminal decision diagrams. (See “Timing Analysis of Cyclic Circuits,” IWLS, ’04) ? 1313 Functional Analysis: determine what is computed. Timing Analysis: determine how long it takes to compute it.

Timing Analysis Characterize arrival times symbolically (with BDDs): : set of input assignments that produce 0 : set of input assignments that produce 1 Implicitly: set of input assignments for which output is

Timing Analysis Characterize arrival times symbolically (with BDDs): Time-stamp the characteristic sets: arrival time : set of input assignments that produce 0 : set of input assignments that produce 1

Initialization internal signals: x primary inputs:

Propagation For a controlling input value v, producing an output value w, If there is a change in the characteristic set of a gate’s fan-in:

Propagation For non-controlling input values v 1, v 2, v 3 producing an output value w, If there is a change in the characteristic set of a gate’s fan-in:

Propagation If there is a change in the characteristic set of a gate’s fan-in: If changes as a result, update its time-stamp: delay in [ 0, t d ]

a b x AND c d x OR AND OR Example time 1time 2time 3time 4time 5time

Timing Analysis The algorithm terminates since the cardinality of each set increases over time; at most. The circuit is combinational iff the “care” set of input assignments is contained within for each output gate g i. The delay bounds on the arrival times for the output gates give a bound on the circuit delay.

Multi-Terminal BDDs For finer-grained timing information, preserve a history of the changes. Reference: Bahar et al., “Timing Analysis using ADDs"

Synthesis Select best solution through a branch-and-bound search. N1N1 N2N2 N4N4 N7N7 N3N3 N5N5 N8N8 N6N6 N9N9 See The Synthesis of Cyclic Combinational Circuits, DAC’03. Analysis algorithm is used to validate and rank potential solutions.

Implementation: CYCLIFY Program Incorporated synthesis methodology in a general logic synthesis environment (Berkeley SIS package). Trials on wide range of circuits –randomly generated –benchmarks –industrial designs. Conclusion: nearly all circuits of practical interest can be optimized with feedback.

Optimization for Area and Delay Area and Delay of Berkeley SIS vs. CYCLIFYsolutions. Berkeley SISCaltech CYCLIFY benchmarkAreaDelayAreaImprovementDelayImprovement p % % t % % in % % in % % 5xp %224.35% bw % % s % % s % % duke % % s % % s % % Area: number of NAND2/NOR2 gates. Delay: 1 time unit/gate. application of “script.delay” and mapping