Penn ESE535 Spring 2009 -- DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.

Slides:



Advertisements
Similar presentations
Automatic Test Generation and Logic Optimization.
Advertisements

ECE 667 Synthesis and Verification of Digital Circuits
§3 Shortest Path Algorithms Given a digraph G = ( V, E ), and a cost function c( e ) for e  E( G ). The length of a path P from source to destination.
Timing Analysis - Delay Analysis Models
EDA (CS286.5b) Day 10 Scheduling (Intro Branch-and-Bound)
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.
Timing Optimization. Optimization of Timing Three phases 1globally restructure to reduce the maximum level or longest path Ex: a ripple carry adder ==>
Clock Skewing EECS 290A Sequential Logic Synthesis and Verification.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 13: March 4, 2009 FSM Equivalence Checking.
ECE Synthesis & Verification - Lecture 2 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
Modern VLSI Design 2e: Chapter4 Copyright  1998 Prentice Hall PTR.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 15: March 12, 2007 Interconnect 3: Richness.
EDA (CS286.5b) Day 17 Sequential Logic Synthesis (FSM Optimization)
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt1 Lecture 11alt Advances in Combinational ATPG Algorithms  Branch and Bound Search  FAN – Multiple.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 14: March 19, 2008 Statistical Static Timing Analysis.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 23, 2008 Covering.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 22: April 23, 2008 FSM Equivalence Checking.
EDA (CS286.5b) Day 6 Partitioning: Spectral + MinCut.
Penn ESE Fall DeHon 1 ESE (ESE534): Computer Organization Day 19: March 26, 2007 Retime 1: Transformations.
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)
EDA (CS286.5b) Day 3 Clustering (LUT Map and Delay) N.B. no lecture Thursday.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 16: March 23, 2009 Covering.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 12: March 2, 2009 Sequential Optimization (FSM Encoding)
CS294-6 Reconfigurable Computing Day 15 October 13, 1998 LUT Mapping.
Penn ESE525 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2009 Partitioning 2 (spectral, network flow)
EDA (CS286.5b) Day 19 Covering and Retiming. “Final” Like Assignment #1 –longer –more breadth –focus since assignment #2 –…but ideas are cummulative –open.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 3: January 27, 2008 Clustering (LUT Mapping, Delay) Please work preclass example.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 17: March 30, 2009 Clustering (LUT Mapping, Delay)
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 14: February 28, 2007 Interconnect 2: Wiring Requirements and Implications.
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 8: February 13, 2008 Retiming.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning CPSC 315 – Programming Studio Spring 2008 Project 2, Lecture 2 Adapted from slides of Yoonsuck.
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.
Computer Science CPSC 322 Lecture 13 Arc Consistency (4.5, 4.6 ) Slide 1.
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 18, 2011 Covering and Retiming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2015 Architecture Synthesis (Provisioning, Allocation)
Penn ESE525 Spring DeHon 1 ESE535: Electronic Design Automation Day 6: February 4, 2014 Partitioning 2 (spectral, network flow)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 2: January 20, 2010 Universality, Gates, Logic Work Preclass Exercise.
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)
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.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 13, 2013 High Level Synthesis II Dataflow Graph Sharing.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2015 Clustering (LUT Mapping, Delay)
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 17: March 29, 2010 Interconnect 2: Wiring Requirements and Implications.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 25: April 17, 2013 Covering and Retiming.
CS137: Electronic Design Automation
SINGLE-LEVEL PARTITIONING SUPPORT IN BOOM-II
ESE535: Electronic Design Automation
CS137: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Timing Optimization.
Automatic Test Pattern Generation
ESE535: Electronic Design Automation
Delay of Multi-Level Circuits
CS137: Electronic Design Automation
Presentation transcript:

Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup

Penn ESE535 Spring DeHon 2 Today Topological Worst Case –not adequate (too conservative) Sensitization Conditions Timed Calculus Delay-justified paths –Timed-PODEM Speedup

Penn ESE535 Spring DeHon 3 Topological Worst-Case Delay Compute ASAP schedule –Take max of arrival times –Apply node Delay

Penn ESE535 Spring DeHon 4 Topological Worst-Case Delay Node Delays

Penn ESE535 Spring DeHon 5 Topological Worst-Case Delay Compute Delays

Penn ESE535 Spring DeHon 6 Conservative Topological Worst-Case Delay can be conservative [Fig/Examples from Logic Synthesis by Devadas, Gosh, Keutzer 1994]

Penn ESE535 Spring DeHon 7 Example Assume each gate 1: 6 delays in longest path (5 if assume c0 latest arriving)

Penn ESE535 Spring DeHon 8 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

Penn ESE535 Spring DeHon 9 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

Penn ESE535 Spring DeHon 10 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: –2 2n delay traces

Penn ESE535 Spring DeHon 11 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

Penn ESE535 Spring DeHon 12 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

Penn ESE535 Spring DeHon 13 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

Penn ESE535 Spring DeHon 14 Statically Sensitized Path

Penn ESE535 Spring DeHon 15 Sufficiency Static Sensitization is sufficient for a path to be a true path in circuit

Penn ESE535 Spring DeHon 16 …but not necessary Paths of length 3 not statically sensitizable. But there is a true path of delay 3.

Penn ESE535 Spring DeHon 17 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

Penn ESE535 Spring DeHon 18 Necessary Static Co-sensitization is a necessary condition for a path to be true

Penn ESE535 Spring DeHon 19 …but not sufficient Cosensitize path of length 6. Real delay is 5.

Penn ESE535 Spring DeHon 20 Combining Combine these ideas into a timed- calculus for computing delays for an input vector

Penn ESE535 Spring DeHon 21 Computing Delays AND Timing Calculus

Penn ESE535 Spring DeHon 22 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

Penn ESE535 Spring DeHon 23 Example (1)

Penn ESE535 Spring DeHon 24 Example (2)

Penn ESE535 Spring DeHon 25 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(2 n )

Penn ESE535 Spring DeHon 26 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

Penn ESE535 Spring DeHon 27 Delay Computation Modification of a testing routine –used to justify an output value for a circuit –similar to SAT PODEM –backtracking search to find a suitable input vector associated with some target output –Simply a branching search with implication pruning Heuristic for smart variable ordering

Penn ESE535 Spring DeHon 28 Search Takes two lists –outputs to set; inputs already set Propagate values and implications If all outputs satisfied  succeed Pick next PI to set and set value –Search with this value set –If inconsistent If PI not implied –Invert value of PI –Search with this value set –If inconsistent  fail –Else succeed Else fail –Else succeed

Penn ESE535 Spring DeHon 29 Picking next variable to set 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

Penn ESE535 Spring DeHon 30 Example Try justify g=1

Penn ESE535 Spring DeHon 31 Example

Penn ESE535 Spring DeHon 32 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

Penn ESE535 Spring DeHon 33 Delay Calculation AND rules

Penn ESE535 Spring DeHon 34 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

Penn ESE535 Spring DeHon 35 Example Justify 1(3)

Penn ESE535 Spring DeHon 36 Example Fail to justify 1(3) Justify 0(3)

Penn ESE535 Spring DeHon 37 Search Less than 2 n –pruning due to implications –here saw a must be 0 no need to search 1xx subtree

Penn ESE535 Spring DeHon 38 Questions On static timing analysis?

Penn ESE535 Spring DeHon 39 Speed Up (sketch flavor)

Penn ESE535 Spring DeHon 40 Speed Up Start with area optimized network Know target arrival times –Know delay from static analysis Want to reduce delay of node

Penn ESE535 Spring DeHon 41 Basic Idea Improve speed by: –Collapsing node(s) –Refactoring collapsed subgraph to reduce height

Penn ESE535 Spring DeHon 42 Speed Up While (delay decreasing, timing not met) –Compute delay (slack) Static timing analysis –Generate network close to critical path w/in some delay , to some distance d –Weight nodes in network Less weight = more potential to improve, prefer to cut –Compute mincut of nodes on weighted network –For each node in cutset Partial collapse –For each node in cutset Timing redecompose

Penn ESE535 Spring DeHon 43 MinCut of Nodes Cut nodes not edges –Typically will need to transform to dual graph All edges become nodes, nodes become edges –Then use maxflow/mincut

Penn ESE535 Spring DeHon 44 MinCut of Nodes What are possible cuts?

Penn ESE535 Spring DeHon 45 MinCut of Nodes

Penn ESE535 Spring DeHon 46 MinCut of Nodes

Penn ESE535 Spring DeHon 47 Weighted Cut W=W t +  W a   tuning parameter Want to minimize area expansion –Things in collapsed network may be duplicated –E.g. W a =literals in duplicated logic Want to maximize likely benefit –Prefer nodes with varying input times to the “near critical path” network Quantify: large variance in arrival times –Prefer nodes with critical path on longer paths

Penn ESE535 Spring DeHon 48 Weighing Benefit Want to maximize likely benefit –Prefer nodes with varying input times to the “near critical path” network

Penn ESE535 Spring DeHon 49 Weighing Benefit Want to maximize likely benefit –Prefer nodes with critical path on longer paths

Penn ESE535 Spring DeHon 50 Timing Decomposition Extract area saving kernels that do not include critical inputs to node –f=abcd+abce+abef (last time) –Kernels={cd+ce+ef,e+d,c+f} –F=abe(c+f)+abcd, ab(cd+ce+ef), abc(e+d)+abef –What if: Critical input is f? d? a? {a,d}? When decompose (e.g. into nand2’s) similarly balance with critical inputs closest to output

Penn ESE535 Spring DeHon 51 Example

Penn ESE535 Spring DeHon 52 Example

Penn ESE535 Spring DeHon 53 Example New factor

Penn ESE535 Spring DeHon 54 Speed Up (review) While (delay decreasing, timing not met) –Compute delay (slack) Static timing analysis –Generate network close to critical path w/in some delay , to some distance d –Weight nodes in network Less weight = more potential to improve, prefer to cut –Compute mincut of nodes on weighted network –For each node in cutset Partial collapse –For each node in cutset timing redecompose

Penn ESE535 Spring DeHon 55 Admin Reading –Monday (handout today) Next week –Lecture Monday –No lecture Wednesday  work on assignment –No office hours  ask questions about problems 1 and 2 before Monday

Penn ESE535 Spring DeHon 56 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 Search with implications Iterative improvement