Serdar Tasiran Systems Research Center, HP Labs (formerly Compaq)
Computing Delay with Coupling Using Timed Automata Serdar Tasiran, Yuji Kukimoto, Robert K. Brayton...
-
date post
20-Dec-2015 -
Category
Documents
-
view
221 -
download
0
Transcript of Computing Delay with Coupling Using Timed Automata Serdar Tasiran, Yuji Kukimoto, Robert K. Brayton...
Computing Delay with CouplingUsing Timed Automata
Serdar Tasiran, Yuji Kukimoto, Robert K. Brayton
Department of Electrical Engineering & Computer Sciences
University of California, Berkeley
,
Overview
A timed-automaton-based method for computing the delay of a combinational circuit.
Outline: Why do we need a new method?
Timed automata Representing sets of waveforms Delay models Hierarchical representation
The complexity problem Hierarchical approach Timed “image computation” Heuristics
Status and Future Work
Why do we need a new method?
From ICCAD ‘97tutorial on timing analysis.(Devgan, et. al.)
GOAL: Delay analysis tool that can handle ~100s of gates.
Must handle sophisticated delay models Dynamic logic: Complex gates
Delay depends on relative arrival times and values of inputs. Cross-talk between nodes, wires running parallel.
What about static analysis and simulation?
Simulation Number of possible input patterns exponential in # of inputs:
For large circuits, infeasible to simulate all patterns. Delay not guaranteed unless all patterns are simulated.
From ICCAD ‘97tutorial on timing analysis.(Devgan, et. al.)
Static Analysis Topological delay does not account for cross-talk. Assuming worst case cross-talk on all wires is too conservative.
OUR APPROACH Timed automata serve as delay models for circuit components Delay parameters obtained by
Simulation Analytical methods
Formal timing verification used to compute delay All patterns covered; delay guaranteed.
From ICCAD ‘97tutorial on timing analysis.(Devgan, et. al.)
OUR METHOD
GOOD
MEDIUM
YES
Timed Automata
Clocks (timers): real-valued variables, increase at same rate.
For each location an output assignment 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 3o = 0 o = 1
Initial
2
3
i
o
reset x
Timed Automata as Delay Models
i =0, x 0
i =1, x dfall,max
Initial
o = 1
i = 1, x 0
i = 0, x drise,max
o = 0
x dfall,max
o = 1
o = 0
Initial
x dfall,max
dfall,min x
x drise,max
drise,min x
x drise,max
Example: Inertial delay model for a wire segment.
Determine dfall,min , dfall,max , drise,min , drise,max using simulation for various input patterns.
Construct timed automaton model with these parameters.
More sophisticated delay models can be expressed using timed automata.
Delay of this gate depends on Old and new values of a, b, c, d, e Relative arrival times of a, b, c, d, e
Modeling this circuit with [dmin, dmax]is too coarse.
Modeling Cross-talk With Timed Automata
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
f and g are determined by simulation or analytical computation and by conservative discretization.
Choosing a smaller time unit gives better accuracy but increases complexity.
ok = 0, ck = risingok = 0, ck = stable
ok = 0, ck = rising
ok = 0, ck = rising
ok = 1, ck = stable
x drise,max
drise,min x
x drise,max
drise,min x
x drise,max
drise,min x
x drise,max
x drise,max
x drise,max
i = 1x 0
cj = risingx f(x)
cj = fallingx g(x)
wire k
aggressor wire j
x f(x)
[0,3] [0,5]
[4,7] [6,10]
[8,10] [9,12]
[11,15] [12,17]
Representing Sets of Input Waveforms
Two-vector delay: All inputs areinitially stable and then switchsimultaneously.
clock = highi = iold i = inew
For each input signal
x 0
i = iold i = inewx = arrivei
Different arrival times
i = iold i = inewdmin x dmax
Asynchronous input
Floating-mode:clock = highi = arbitrary i = inew
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 5p= 1 p= 0
Initial
B1 B3B2
B
i o
2 delay 3A
i = 0, x 0
i =1, x 3
o = 1 2 x 3 x 3o = 1 o = 0
Initial
A1 A3A2
A || B
i o p
o=1, p=1
Initial
(A1 , B1) i = 0, x 0
i =1, x 3
o=1, p=1
(A2 , B1)
x 3
2 x 3 o=0, p=1
(A3 , B2)
y 5y 0
3 y 5o=0, p=0
(A3 , B3)
Variable Hiding (Smoothing)
A||B
i o p
o=1, p=1
Initial
(A1 , B1) i = 0, x 0
i =1, x 3
o=1, p=1
(A2 , B1)
x 3
2 x 3 o=0, p=1
(A3 , B2)
y 5y 0
3 y 5o=0, p=0
(A3 , B3)
p=1
Initial
(A1 , B1) i = 0, x 0
i =1, x 3
p=1
(A2 , B1)
x 3
2 x 3 p=1
(A3 , B2)
y 5y 0
3 y 5p=0
(A3 , B3)
(o) (A||B)
i p
Hierarchical View of Circuits
Higher Level Block =
(internal signals) ( Component 1 || Component 2 ||... Component n )
“COMPOSE-SMOOTH”
To obtain simpler, smaller representation for HLBwe often need to
Apply conservative abstraction, I.e., overapproximate behavior of product automaton.
Hierarchy Example
XN = (x, y, z) ( N1 || N2 || N3 || N4 ) XN specifies exactly the set of
possible waveforms at c for given a and b.
XN has 44 = 256 locations and 4 timer variables
N4N1
N2
N3
XN
x
y
z
a
b
c
Suppose the following representation is accurate enough
Can have timed automaton XNabstract with much fewer locations and one timer representing this information.
Pre-designed templates for abstraction Formal guarantee that high level model is conservative.
May be intransition
dmin,ab
dmax,ab
Last transitionof a or b
c
Delay Computation with Timed Automata
GIVEN Set of primary input waveforms.
Represented by timed automaton I. A combinational circuit
Described as an interconnection of components G1, G2, …, Gk
COMPUTE The set of possible primary output waveforms
F = (primary inputs, internal variables) ( I || G1 || G2 || ... || Gk ) Beautiful, but...
Problem: Complexity Verification with timed automata is exponential
in the number of timers. State of the art: ~50 timers (KRONOS. Maler, et. al.)
We need the expressiveness and coverage of the timed automaton approach
Must find way to handle problem using max. ~50 timers at a time.
Hierarchy and Image Computation
F
G3
G5
G6 G4
I
F = (primary inputs, internal variables) ( I || G1 || G2 || ... || Gk )
Freedom in constructing evaluation tree Has huge effect on the size of intermediate results At each node of the tree,
Can smooth variables occurring only in descendants of that node.
Evaluation tree corresponds to hierarchically partitioning the circuit.
G2 G1
“Image Computation”
cut-sets
Perform compositions in topological order. Corresponds to propagating the set of primary input
waveforms across the circuit. Can smooth variables to the left of each cut set.
Conjecture: Can represent waveforms at each cut set using ~50 timers.
Compose-Smooth-Abstract
Key subroutine for this approach.
ALGORITHM: Take product of component automata Smooth internal variables
Perform “untimed reachability analysis” on product automaton Ignore timing information on edges Perform reachability analysis considering logical functionality only Conservative: Less minimization than timed analysis. BUT efficient: Complexity does not depend on timers.
Apply timer minimization algorithm of [Daws, Yovine, RTSS ‘96]. Identifies:
Timers that can’t be simultaneously active Timers that have equal values Important observation: Only the # of simultaneously active, unique timers
affects complexity. Conjecture: For shallow DSM circuits, few timers should be required.
Other Heuristics
BISIMILARITY MINIMIZATION Smoothing internal variables results in many silent transitions Likely to have many bisimilar locations. Perform bisimilarity minimization on automaton, treating resets
and timer predicates as untimed symbols. Sufficient check for timed bisimilarity Efficient: No exponential dependency on timers.
PARTITIONING Partitions with disjoint support
Can smooth inputs to partition Partitions with few output variables
Smaller automata Identify “bottle-necks” in topology
Long and narrow partitions Apply “SMOOTH-ABSTRACT” when intermediate results get large. Divide sets of waveforms into separate sets.
Advantages of Approach
Modeling issues and verification and analysis issues are decoupled.
Timed automata serve as clean interface between the two. The same algorithms remain applicable
For different delay models At different levels of the hierarchy
Efficiency can be traded-off for accuracy without modifying analysis algorithm.
Precise, exact characterization of delay computation problem Allows sound conservative simplifications.
Timing properties other than delay can be verified Hold and set-up times For dynamic logic, is the input pulse wide enough to discharge output? Is there a channel-connected path from supply to ground?
Flexibility in clustering and image computation Room for heuristics.
Status and Future Work
Timed-automaton-based delay computation algorithm implemented inside MOCHA.
BDD based implementation Makes use of VIS model checker Works on flat representation only
Will implement Timer minimization algorithm Abstraction templates Algorithm computing bisimilarity quotient Partitioning heuristics
Experience from asynchronous circuits: With carefully chosen abstractions, was able to handle circuit
with ~100 gates We hope to achieve the same for combinational circuits.