Computing Delay with Coupling Using Timed Automata Serdar Tasiran, Yuji Kukimoto, Robert K. Brayton Department of Electrical Engineering & Computer Sciences.

Slides:



Advertisements
Similar presentations
CS370 – Spring 2003 Hazards/Glitches. Time Response in Combinational Networks Gate Delays and Timing Waveforms Hazards/Glitches and How To Avoid Them.
Advertisements

ECE C03 Lecture 71 Lecture 7 Delays and Timing in Multilevel Logic Synthesis Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Finite State Machines (FSMs)
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Asynchronous Sequential Logic
Sequential Circuit Analysis & Design Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman H. El-Maleh.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
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.
Computer Science & Engineering Department University of California, San Diego SPICE Diego A Transistor Level Full System Simulator Chung-Kuan Cheng May.
A Timed-Automaton Based Method for Accurate Computation of Delay in the Presence of Cross-Talk Serdar Tasiran, Sunil P. Khatri, Sergio Yovine, Robert K.
1 On Convergence of Switching Windows Computation in Presence of Crosstalk Noise Pinhong Chen* +, Yuji Kukimoto +, Chin-Chi Teng +, Kurt Keutzer* *Dept.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
RTL Hardware Design by P. Chu Chapter 161 Clock and Synchronization.
STARI: A Case Study in Compositional and Hierarchical Timing Verification Serdar Tasiran, Prof. Robert K. Brayton Department of Electrical Engineering.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Dr. Shi Dept. of Electrical and Computer Engineering.
ENGIN112 L28: Timing Analysis November 7, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 28 Timing Analysis.
Give qualifications of instructors: DAP
Asynchronous Sequential Logic
A High Performance Application Representation for Reconfigurable Systems Wenrui GongGang WangRyan Kastner Department of Electrical and Computer Engineering.
Sanjit A. Seshia and Randal E. Bryant Computer Science Department
EECS 40 Spring 2003 Lecture 12S. Ross and W. G. OldhamCopyright Regents of the University of California More Digital Logic Gate delay and signal propagation.
NuCAD ELECTRICAL ENGINEERING AND COMPUTER SCIENCE McCormick Northwestern University Robert R. McCormick School of Engineering and Applied Science Nostra-XTalk.
ECE C03 Lecture 61 Lecture 6 Delays and Timing in Multilevel Logic Synthesis Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
Presenter: PCLee Design Automation Conference, ASP-DAC '07. Asia and South Pacific.
Timing Analysis of Cyclic Combinational Circuits Marc D. Riedel and Jehoshua Bruck California Institute of Technology IWLS, Temecula Creek, CA, June 4,
Embedded Systems Hardware: Storage Elements; Finite State Machines; Sequential Logic.
Statistical Critical Path Selection for Timing Validation Kai Yang, Kwang-Ting Cheng, and Li-C Wang Department of Electrical and Computer Engineering University.
Antoine Girard VAL-AMS Project Meeting April 2007 Behavioral Metrics for Simulation-based Circuit Validation.
Sequential Circuits Chapter 4 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 11 – Design Concepts.
Digital Computer Design Fundamental
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Interconnect design. n Crosstalk. n Power optimization.
Capturing Crosstalk-Induced Waveform for Accurate Static Timing Analysis Masanori Hashimoto, Yuji Yamada, Hidetoshi Onodera Kyoto University.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
ECE Advanced Digital Systems Design Lecture 12 – Timing Analysis Capt Michael Tanner Room 2F46A HQ U.S. Air Force Academy I n t e g r i.
Chap 4. Sequential Circuits
Digital Logic Problems (II) Prof. Sin-Min Lee Department of Mathematics and Computer Science.
1 Combinational Logic Design Digital Computer Logic Kashif Bashir
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Interconnect design. n Crosstalk. n Power optimization.
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
Computer Organization & Programming Chapter 5 Synchronous Components.
Convergence of Model Checking & Program Analysis Philippe Giabbanelli CMPT 894 – Spring 2008.
EE 4271 VLSI Design, Fall 2013 Static Timing Analysis and Gate Sizing Optimization.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Verification & Validation By: Amir Masoud Gharehbaghi
Digital Logic Design Lecture # 6 University of Tehran.
Lecture # 5 University of Tehran
Static Timing Analysis
Standard & Canonical Forms COE 202 Digital Logic Design Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of Petroleum.
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
Chapter 3 Boolean Algebra and Digital Logic T103: Computer architecture, logic and information processing.
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
Topics  Direct Predicate Characterization as an evaluation method.  Implementation and Testing of the Approach.  Conclusions and Future Work.
Design and Documentation
Static Timing Analysis and Gate Sizing Optimization
VLSI Testing Lecture 5: Logic Simulation
Synthesis for Verification
Vishwani D. Agrawal Department of ECE, Auburn University
ECE 434 Advanced Digital System L03
CPE/EE 422/522 Advanced Logic Design L02
Static Timing Analysis and Gate Sizing Optimization
CSE 370 – Winter Sequential Logic - 1
Sungho Kang Yonsei University
Discrete Controller Synthesis
ECE 352 Digital System Fundamentals
Presentation transcript:

Computing Delay with Coupling Using Timed Automata Serdar Tasiran, Yuji Kukimoto, Robert K. Brayton Department of Electrical Engineering & Computer Sciences University of California, Berkeley,

Overview l A timed-automaton-based method for computing the delay of a combinational circuit. l Outline: u Why do we need a new method? u Timed automata s Representing sets of waveforms s Delay models s Hierarchical representation u The complexity problem s Hierarchical approach s Timed “image computation” s Heuristics u Status and Future Work

Why do we need a new method? From ICCAD ‘97 tutorial on timing analysis. (Devgan, et. al.) GOAL: Delay analysis tool that can handle ~100s of gates. l Must handle sophisticated delay models u Dynamic logic: Complex gates s Delay depends on relative arrival times and values of inputs. u Cross-talk between nodes, wires running parallel.

What about static analysis and simulation? Simulation l Number of possible input patterns exponential in # of inputs: è For large circuits, infeasible to simulate all patterns. l Delay not guaranteed unless all patterns are simulated. From ICCAD ‘97 tutorial on timing analysis. (Devgan, et. al.) Static Analysis l Topological delay does not account for cross-talk. l Assuming worst case cross-talk on all wires is too conservative.

OUR APPROACH l Timed automata serve as delay models for circuit components l Delay parameters obtained by u Simulation u Analytical methods l Formal timing verification used to compute delay u All patterns covered; delay guaranteed. From ICCAD ‘97 tutorial on timing analysis. (Devgan, et. al.)

Timed Automata l Clocks (timers): real-valued variables, increase at same rate. l For each location u an output assignment u an invariant: a clock predicate. Clock predicate: Positive Boolean combination of x  d and x   d. i o 2  delay  3 i = 1, x  0 i =0, x  3 o = 0 2  x  3 x  3 o = 0 o = 1 Initial 2 3 i o reset x

From ICCAD ‘97 tutorial on timing analysis. (Devgan, et. al.)

Timed Automata as Delay Models i =0, x  0 i =1, x  d fall,max Initial o = 1 i = 1, x  0 i = 0, x  d rise,max o = 0 x  d fall,max o = 1 o = 0 Initial x  d fall,max d fall,min  x x  d rise,max d rise,min  x x  d rise,max l Example: Inertial delay model for a wire segment. Determine d fall,min, d fall,max, d rise,min, d rise,max using simulation for various input patterns. l Construct timed automaton model with these parameters. l More sophisticated delay models can be expressed using timed automata. l Delay of this gate depends on u Old and new values of a, b, c, d, e u Relative arrival times of a, b, c, d, e l Modeling this circuit with [d min, d max ] is too coarse.

Modeling Cross-talk With Timed Automata l f and g are look-up tables  f increases x  wire k takes less time to rise  g decreases x  wire k takes longer to rise l f and g are determined by simulation or analytical computation and by conservative discretization. l Choosing a smaller time unit gives better accuracy but increases complexity. o k = 0, c k = risingo k = 0, c k = stable o k = 0, c k = rising o k = 1, c k = stable x  d rise,max d rise,min  x x  d rise,max d rise,min  x x  d rise,max d rise,min  x x  d rise,max i = 1 x  0 c j = rising x  f(x) c j = falling x  g(x) wire k aggressor wire j

Representing Sets of Input Waveforms l Two-vector delay: All inputs are initially stable and then switch simultaneously. clock = high i = i old i = i new For each input signal x  0 i = i old i = i new x = arrive i Different arrival times i = i old i = i new d min  x  d max Asynchronous input l Floating-mode: clock = high i = arbitrary i = i new For each input signal x  0

Composition of Timed Automata o p 3  delay  5 o= 0, y  0 o=1, y  5 p= 1 3  y  5 y  5 p= 1 p= 0 Initial B1B1 B3B3 B2B2 B i o 2  delay  3 A i = 0, x  0 i =1, x  3 o = 1 2  x  3 x  3 o = 1 o = 0 Initial A1A1 A3A3 A2A2 A || B i o p o=1, p=1 Initial (A 1, B 1 ) i = 0, x  0 i =1, x  3 o=1, p=1 (A 2, B 1 ) x  3 2  x  3 o=0, p=1 (A 3, B 2 ) y  5 y  0 3  y  5 o=0, p=0 (A 3, B 3 )

Variable Hiding (Smoothing) A||B i o p o=1, p=1 Initial (A 1, B 1 ) i = 0, x  0 i =1, x  3 o=1, p=1 (A 2, B 1 ) x  3 2  x  3 o=0, p=1 (A 3, B 2 ) y  5 y  0 3  y  5 o=0, p=0 (A 3, B 3 ) p=1 Initial (A 1, B 1 ) i = 0, x  0 i =1, x  3 p=1 (A 2, B 1 ) x  3 2  x  3 p=1 (A 3, B 2 ) y  5 y  0 3  y  5 p=0 (A 3, B 3 ) (  o) (A||B) i p

Hierarchical View of Circuits Higher Level Block = (  internal signals) ( Component 1 || Component 2 ||... Component n ) l “COMPOSE-SMOOTH” l To obtain simpler, smaller representation for HLB we often need to u Apply conservative abstraction, I.e., overapproximate behavior of product automaton.

Hierarchy Example XN = (  x, y, z) ( N 1 || N 2 || N 3 || N 4 ) l XN specifies exactly the set of possible waveforms at c for given a and b. l XN has 4 4 = 256 locations and 4 timer variables N4N4 N1N1 N2N2 N3N3 XN x y z a b c l Suppose the following representation is accurate enough l Can have timed automaton XN abstract with much fewer locations and one timer representing this information. l Pre-designed templates for abstraction áFormal guarantee that high level model is conservative. May be in transition d min,ab d max,ab Last transition of a or b c

Delay Computation with Timed Automata GIVEN l Set of primary input waveforms. u Represented by timed automaton I. l A combinational circuit u Described as an interconnection of components G 1, G 2, …, G k COMPUTE l The set of possible primary output waveforms  F = (  primary inputs, internal variables) ( I || G 1 || G 2 ||... || G k ) l Beautiful, but... u Problem: Complexity u Verification with timed automata is exponential in the number of timers. u State of the art: ~50 timers (KRONOS. Maler, et. al.) l We need the expressiveness and coverage of the timed automaton approach l Must find way to handle problem using max. ~50 timers at a time.

Hierarchy and Image Computation F G3G3 G5G5 G6G6 G4G4 I F = (  primary inputs, internal variables) ( I || G 1 || G 2 ||... || G k ) l Freedom in constructing evaluation tree l Has huge effect on the size of intermediate results l At each node of the tree, Can smooth variables occurring only in descendants of that node. l Evaluation tree corresponds to hierarchically partitioning the circuit. G2G2 G1G1

“Image Computation” cut-sets l Perform compositions in topological order. u Corresponds to propagating the set of primary input waveforms across the circuit. u Can smooth variables to the left of each cut set. l Conjecture: Can represent waveforms at each cut set using ~50 timers.

Compose-Smooth-Abstract l Key subroutine for this approach. ALGORITHM: l Take product of component automata l Smooth internal variables l Perform “untimed reachability analysis” on product automaton u Ignore timing information on edges u Perform reachability analysis considering logical functionality only u Conservative: Less minimization than timed analysis. u BUT efficient: Complexity does not depend on timers. l Apply timer minimization algorithm of [Daws, Yovine, RTSS ‘96]. Identifies: u Timers that can’t be simultaneously active u Timers that have equal values u Important observation: Only the # of simultaneously active, unique timers affects complexity. u Conjecture: For shallow DSM circuits, few timers should be required.

Other Heuristics BISIMILARITY MINIMIZATION l Smoothing internal variables results in many silent transitions l Likely to have many bisimilar locations. l Perform bisimilarity minimization on automaton, treating resets and timer predicates as untimed symbols. u Sufficient check for timed bisimilarity u Efficient: No exponential dependency on timers. PARTITIONING l Partitions with disjoint support u Can smooth inputs to partition l Partitions with few output variables u Smaller automata u Identify “bottle-necks” in topology l Long and narrow partitions l Apply “SMOOTH-ABSTRACT” when intermediate results get large. l Divide sets of waveforms into separate sets.

Advantages of Approach l Modeling issues and verification and analysis issues are decoupled. l Timed automata serve as clean interface between the two. l The same algorithms remain applicable u For different delay models u At different levels of the hierarchy l Efficiency can be traded-off for accuracy without modifying analysis algorithm. l Precise, exact characterization of delay computation problem u Allows sound conservative simplifications. l Timing properties other than delay can be verified u Hold and set-up times u For dynamic logic, is the input pulse wide enough to discharge output? u Is there a channel-connected path from supply to ground? l Flexibility in clustering and image computation u Room for heuristics.

Status and Future Work l Timed-automaton-based delay computation algorithm implemented inside MOCHA. u BDD based implementation u Makes use of VIS model checker u Works on flat representation only l Will implement u Timer minimization algorithm u Abstraction templates u Algorithm computing bisimilarity quotient u Partitioning heuristics l Experience from asynchronous circuits: u With carefully chosen abstractions, was able to handle circuit with ~100 gates l We hope to achieve the same for combinational circuits.

3 Claims Made in This Talk l Timed automata make good DSM delay models. l They decouple modeling and analysis issues, and enable exact formalization of problem. l Using hierarchy, abstraction and heuristics, the computational issues can be overcome.