CS137: Electronic Design Automation

Slides:



Advertisements
Similar presentations
Exploiting SAT solvers in unbounded model checking
Advertisements

Automatic Test Generation and Logic Optimization.
ECE 667 Synthesis and Verification of Digital Circuits
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 121 Lecture 12 Advanced Combinational ATPG Algorithms  FAN – Multiple Backtrace (1983)  TOPS – Dominators.
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
Timing Analysis - Delay Analysis Models
Counting the bits Analysis of Algorithms Will it run on a larger problem? When will it fail?
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: March 3, 2004 Scheduling Heuristics and Approximation.
Techniques for Dealing with Hard Problems Backtrack: –Systematically enumerates all potential solutions by continually trying to extend a partial solution.
Abstract Answer Set Solver. Todolist Print the rules of Fig 1.
ECE Synthesis & Verification - Lecture 2 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
EDA (CS286.5b) Day 17 Sequential Logic Synthesis (FSM Optimization)
Constraint Satisfaction Problems
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 22: April 23, 2008 FSM Equivalence Checking.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 7: February 11, 2008 Static Timing Analysis and Multi-Level Speedup.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 12: March 2, 2009 Sequential Optimization (FSM Encoding)
Chapter 5 Outline Formal definition of CSP CSP Examples
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
Backtracking.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Farzan Fallah Srinivas Devadas Laboratory for Computer Science MIT Farzan Fallah Srinivas Devadas Laboratory for Computer Science MIT Functional Vector.
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.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 12: February 13, 2002 Scheduling Heuristics and Approximation.
CALTECH CS137 Spring DeHon CS137: Electronic Design Automation Day 9: May 6, 2002 FSM Equivalence Checking.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2015 Architecture Synthesis (Provisioning, Allocation)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 7: February 3, 2002 Retiming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
Types of Algorithms. 2 Algorithm classification Algorithms that use a similar problem-solving approach can be grouped together We’ll talk about a classification.
CALTECH CS137 Spring DeHon 1 CS137: Electronic Design Automation Day 5: April 12, 2004 Covering and Retiming.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 15: March 4, 2002 Two-Level Logic-Synthesis.
Arc Consistency CPSC 322 – CSP 3 Textbook § 4.5 February 2, 2011.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 6: January 26, 2004 Sequential Optimization (FSM Encoding)
Static Timing Analysis
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 17: March 11, 2002 Sequential Optimization (FSM Encoding)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 4, 2011 Static Timing Analysis and Multi-Level Speedup.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 2: September 28, 2005 Covering.
CS137: Electronic Design Automation
Overview Logistics Last lecture Today HW5 due today
The NP class. NP-completeness
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
CS137: Electronic Design Automation
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
CS137: Electronic Design Automation
Structural testing, Path Testing
Definitions D-Algorithm (Roth) D-cubes Bridging faults
Definitions D-Algorithm (Roth) D-cubes Bridging faults
ESE535: Electronic Design Automation
Types of Algorithms.
CPE/EE 428, CPE 528 Testing Combinational Logic (5)
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Great Theoretical Ideas in Computer Science
Vishwani D. Agrawal James J. Danaher Professor
Automatic Test Generation for Combinational Circuits
CPE/EE 428, CPE 528 Testing Combinational Logic (4)
Fault Models, Fault Simulation and Test Generation
CS184a: Computer Architecture (Structures and Organization)
Constraints and Search
Automatic Test Pattern Generation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Delay of Multi-Level Circuits
ICS 252 Introduction to Computer Design
Timing Analysis and Optimization of Sequential Circuits
CS137: Electronic Design Automation
CS137: Electronic Design Automation
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning
Presentation transcript:

CS137: Electronic Design Automation Day 6: April 19, 2002 Static Timing Analysis CALTECH CS137 Spring2004 -- DeHon

Today Topological Worst Case Sensitization Conditions Timed Calculus not adequate (too conservative) Sensitization Conditions Timed Calculus Delay-justified paths Timed-PODEM CALTECH CS137 Spring2004 -- DeHon

Topological Worst-Case Delay Compute ASAP schedule Take max of arrival times Apply node Delay CALTECH CS137 Spring2004 -- DeHon

Topological Worst-Case Delay Node Delays 1 3 1 2 2 1 2 CALTECH CS137 Spring2004 -- DeHon

Topological Worst-Case Delay 7 Compute Delays 1 4 6 3 1 2 3 3 2 2 2 1 1 2 CALTECH CS137 Spring2004 -- DeHon

Conservative Topological Worst-Case Delay can be conservative [Fig/Examples from Logic Synthesis by Devadas, Gosh, Keutzer 1994] CALTECH CS137 Spring2004 -- DeHon

Example Assume each gate 1: 6 delays in longest path (5 if assume c0 latest arriving) CALTECH CS137 Spring2004 -- DeHon

Example Is this path possible? Out from mux 0 input and10 = 0 p0=0 or p1=0 p1=0 167 not matter p0=0 c0 not matter This path not feasible CALTECH CS137 Spring2004 -- DeHon

False Paths Once consider logic for nodes There are logical constraints on data values There are paths which cannot logically occur Call them false paths CALTECH CS137 Spring2004 -- DeHon

What can we do? Need to assess what paths are real Brute force for every pair of inputs compute delay in outputs from in1in2 input transition take worst case Expensive: 22n delay traces CALTECH CS137 Spring2004 -- DeHon

Alternately Look at single vector and determine what controls delay of circuit I.e. look at values on path and determine path sensitized to change with input CALTECH CS137 Spring2004 -- DeHon

Controlled Inputs Controlled input to a gate: input whose value will determine gate output e.g. 0 on a AND gate 1 on a OR gate CALTECH CS137 Spring2004 -- DeHon

Static Sensitization A path is statically sensitized if all the side (non-path) inputs are non-controlling I.e. this path value flips with the input CALTECH CS137 Spring2004 -- DeHon

Statically Sensitized Path CALTECH CS137 Spring2004 -- DeHon

Sufficiency Static Sensitization is sufficient for a path to be a true path in circuit CALTECH CS137 Spring2004 -- DeHon

…but not necessary Paths of length 3 not statically sensitizable. But there is a true path of delay 3. CALTECH CS137 Spring2004 -- DeHon

Static Co-sensitization Each output with a controlled value has a controlling value as input on path (and vice-versa for non-controlled) May trace multiple edges CALTECH CS137 Spring2004 -- DeHon

Necessary Static Co-sensitization is a necessary condition for a path to be true CALTECH CS137 Spring2004 -- DeHon

…but not sufficient Cosensitize path of length 6. Real delay is 5. CALTECH CS137 Spring2004 -- DeHon

Combining Combine these ideas into a timed-calculus for computing delays for an input vector CALTECH CS137 Spring2004 -- DeHon

Computing Delays AND Timing Calculus CALTECH CS137 Spring2004 -- DeHon

Rules If gate output is at a controlling value, pick the minimum input and add gate delay If gate output is at a non-controlling value, pick the maximum input and add gate delay CALTECH CS137 Spring2004 -- DeHon

Example (1) CALTECH CS137 Spring2004 -- DeHon

Example (2) CALTECH CS137 Spring2004 -- DeHon

Now... We know how to get the delay of a single input condition Could: find critical path search for an input vector to sensitize if fail, find next path …until find longest true path May be O(2n) CALTECH CS137 Spring2004 -- DeHon

Better Approach Ask if can justify a delay greater than T Search for satisfying vector …or demonstration that none exists Binary search to find tightest delay CALTECH CS137 Spring2004 -- DeHon

Delay Computation Modification of a testing routine PODEM used to justify an output value for a circuit PODEM backtracking search to find a suitable input vector associated with some target output Simple a branching search with implication pruning Heuristic for smart variable ordering CALTECH CS137 Spring2004 -- DeHon

Search1 Takes in list of nodes to satisfy If all satisfied  done Backtrace to set next PI if inconsistent PI value try inverting this PI call Search2 else search to set next PI if fail try inverting and Search2 CALTECH CS137 Spring2004 -- DeHon

Search2 ;; same idea, but this one not flip bit ;; because already tried inverted value If no conflict search to set next PI otherwise pass back failure CALTECH CS137 Spring2004 -- DeHon

Backtrace Follow back gates w/ unknown values sometimes output dictate input must be (AND needing 1 output; with one input already assigned 1) sometimes have to guess what to follow (OR with 1 output and no inputs set) Uses heuristics to decide what to follow CALTECH CS137 Spring2004 -- DeHon

Example Try justify g=1 CALTECH CS137 Spring2004 -- DeHon

Example CALTECH CS137 Spring2004 -- DeHon

For Timed Justification Also want to compute delay on incompletely specified values Compute bounds on timing upper bound, lower bound Again, use our timed calculus expanded to unknowns CALTECH CS137 Spring2004 -- DeHon

Delay Calculation AND rules CALTECH CS137 Spring2004 -- DeHon

Timed PODEM Input: value to justify and delay T Goal: find input vector which produces value and exceeds delay T Algorithm similar implications check timing as well as logic CALTECH CS137 Spring2004 -- DeHon

Example Justify 1(3) CALTECH CS137 Spring2004 -- DeHon

Example Fail to justify 1(3) Justify 0(3) CALTECH CS137 Spring2004 -- DeHon

Search Less than 2n pruning due to implications here saw a must be 0 no need to search 1xx subtree CALTECH CS137 Spring2004 -- DeHon

Big Ideas Topological Worst-case delays are conservative Once consider logical constraints may have false paths Necessary and sufficient conditions on true paths Search for paths by delay or demonstrate non existence CALTECH CS137 Spring2004 -- DeHon