Latch/Register Scheduling Under Process Variation Aaron Hurst EE 290a, Spring 2005.

Slides:



Advertisements
Similar presentations
Primal-dual Algorithm for Convex Markov Random Fields Vladimir Kolmogorov University College London GDR (Optimisation Discrète, Graph Cuts et Analyse d'Images)
Advertisements

ECE 667 Synthesis and Verification of Digital Circuits
1 LP Duality Lecture 13: Feb Min-Max Theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum.
Adopt Algorithm for Distributed Constraint Optimization
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Introduction to Sequential Logic Design Latches. 2 Terminology A bistable memory device is the generic term for the elements we are studying. Latches.
Introduction to CMOS VLSI Design Sequential Circuits
Mapping for Better Than Worst-Case Delays In LUT-Based FPGA Designs Kirill Minkovich and Jason Cong VLSI CAD Lab Computer Science Department University.
Designing Sequential Logic Circuits
Lecture 11: Sequential Circuit Design. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 11: Sequential Circuits2 Outline  Sequencing  Sequencing Element Design.
Sequential Timing Optimization. Long path timing constraints Data must not reach destination FF too late s i + d(i,j) + T setup  s j + P s i s j d(i,j)
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Five Problems CSE 421 Richard Anderson Winter 2009, Lecture 3.
Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis EE4800 CMOS Digital IC Design & Analysis Lecture 11 Sequential Circuit Design Zhuo Feng.
Precedence Constrained Scheduling Abhiram Ranade Dept. of CSE IIT Bombay.
1 s-t Graph Cuts for Binary Energy Minimization  Now that we have an energy function, the big question is how do we minimize it? n Exhaustive search is.
Precedence Constrained Scheduling Abhiram Ranade Dept. of CSE IIT Bombay.
Introduction to CMOS VLSI Design Clock Skew-tolerant circuits.
Lectures on Network Flows
Distributed Algorithms for Secure Multipath Routing
ECE Synthesis & Verification - Lecture 2 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
A general approximation technique for constrained forest problems Michael X. Goemans & David P. Williamson Presented by: Yonatan Elhanani & Yuval Cohen.
Timing in Sequential circuits – Stabilization time of a latch Assume that: t hl,1 = t lh,1 = t hl,2 = t lh,2 = 1 time unit 1 2.
Statistical timing and synthesis Chandu paper. Canonical form Compute max(A,B) = C in canonical form (assuming  X i independent)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 7: February 11, 2008 Static Timing Analysis and Multi-Level Speedup.
Continuous Retiming EECS 290A Sequential Logic Synthesis and Verification.
Planning operation start times for the manufacture of capital products with uncertain processing times and resource constraints D.P. Song, Dr. C.Hicks.
Backtracking Reading Material: Chapter 13, Sections 1, 2, 4, and 5.
EDA (CS286.5b) Day 19 Covering and Retiming. “Final” Like Assignment #1 –longer –more breadth –focus since assignment #2 –…but ideas are cummulative –open.
1 Retiming Outline: ProblemProblem FormulationFormulation Retiming algorithmRetiming algorithm.
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Retiming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
EDA (CS286.5b) Day 18 Retiming. Today Retiming –cycle time (clock period) –C-slow –initial states –register minimization.
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.
DELAY INSERTION METHOD IN CLOCK SKEW SCHEDULING BARIS TASKIN and IVAN S. KOURTEV ISPD 2005 High Performance Integrated Circuit Design Lab. Department of.
Distributed Constraint Optimization Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University A4M33MAS.
06 - Boundary Models Overview Edge Tracking Active Contours Conclusion.
EE 5900 Advanced Algorithms for Robust VLSI CAD, Spring 2009 Static Timing Analysis and Gate Sizing.
Bounding Variance and Expectation of Longest Path Lengths in DAGs Jeff Edmonds, York University Supratik Chakraborty, IIT Bombay.
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.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 18, 2011 Covering and Retiming.
Models in I.E. Lectures Introduction to Optimization Models: Shortest Paths.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 7: February 3, 2002 Retiming.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
Pipelining and Retiming
CALTECH CS137 Spring DeHon 1 CS137: Electronic Design Automation Day 5: April 12, 2004 Covering and Retiming.
CSEP 521 Applied Algorithms Richard Anderson Winter 2013 Lecture 3.
Models of Greedy Algorithms for Graph Problems Sashka Davis, UCSD Russell Impagliazzo, UCSD SIAM SODA 2004.
Carnegie Mellon Lecture 8 Software Pipelining I. Introduction II. Problem Formulation III. Algorithm Reading: Chapter 10.5 – 10.6 M. LamCS243: Software.
FAMU-FSU College of Engineering EEL 3705 / 3705L Digital Logic Design Spring 2007 Instructor: Dr. Michael Frank Module #10: Sequential Logic Timing & Pipelining.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 25: April 17, 2013 Covering and Retiming.
Excel’s Solver Use Excel’s Solver as a tool to assist the decision maker in identifying the optimal solution for a business decision. Business decisions.
Finding a Path With Largest Smallest Edge
Lectures on Network Flows
CS4234 Optimiz(s)ation Algorithms
ICS 353: Design and Analysis of Algorithms
GreedyMaxCut a b w c d e 1.
Problem Solving 4.
Algorithms (2IL15) – Lecture 7
Trevor Brown DC 2338, Office hour M3-4pm
Timing Analysis and Optimization of Sequential Circuits
CSE 421, University of Washington, Autumn 2006
1.6 Linear Programming Pg. 30.
Constructing a m-connected k-Dominating Set in Unit Disc Graphs
Discrete Optimization
Presentation transcript:

Latch/Register Scheduling Under Process Variation Aaron Hurst EE 290a, Spring 2005

Review  Latch timing is more tolerant to post- manufacturing process variation D1D1 ok D2D ? fail T=5 D 1 = D 2 = {4,6}, P (each) = 50% D2D2 R1R1 R3R3 D1D1 ? d=1  22 D1D1 D2D2

Review  No edge-triggered schedule can match level- sensitive yield Optimal schedule varies from manufactured device to device We don’t know at design-time where to schedule latch points  Can not be quantified with static timing analysis Effect is lost in worst-case analysis Either it will or will not fail

Goal 1. Measure the yield of a scheduled design (verification problem) 2. Find the latch schedule that maximizes yield (optimization problem) General Problem  For each latch, find   and   to maximize yield Single duty clock Problem  Find a global w, and a   for each latch (where   =   + w) to maximize yield L      

Verification  Two methods for verifying a latch schedule 1. Iterative [SMO 90]  Start by assuming the earliest departure times  Find the actual arrivals at latch inputs  Iterate until a fixpoint is reached 2. Structural [Szymanski 92]  Construct a constraint graph  Search for negative cycles in the graph  Can be extended into statistical domain [Zhou 04]

Verification – Iterative Method  Iteration based upon well-researched foundation Statistical timing analysis vs. negative cycle detection  Central questions: 1. Does iteration converge for a statistical arrival times? 2. Does iteration converge for an approximation of statistical arrival times?

Verification - Iterative  max(A,   )  Inaccuracy less of a problem in general timing analysis, when both operands of the max() function have similar 

Verification – Results  Result: algorithm does converge!  As expected, rate of convergence highly dependent on the target period  Need: more formal proof… Static T=MMC+1 Statististical T=MMC+1 Statististical T=MMC-1 Statististical T=MMC *.8 s s s s s s

Optimization - A Special Case  If w=0 (i.e. the latches are edge- triggered), the departure time is independent of the arrival time  Both the verification and optimization problems become much easier  Can solve a standard optimization problem L AlAl DlDl where T is the clock period  is a clock schedule d is the min path delay D is the max path delay find , maximize

Optimization - Results  Conjunction of inequalities can be approximated using the max function of [Clark 61]  Use conjugate gradient to maximize

Optimization - General  If w≠0, there are cyclic timing dependencies  Idea 1: Cut circuits at points where arrival time is least likely to arrive in transparent window  Idea 2: Optimize “sections” of paths using a method similar to [Zhou 04]

Conclusions  General techniques in statistical timing analysis need work  Verification problem is hard  Optimization problem is harder