Mihai Budiu - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Mihai Budiu

Description:

Girish Venkataramani, Tiberiu Chelcea, Mihai Budiu, and Seth C. ... Verilog. back-end. Synopsys, Cadence P/R. asynchronous. circuit. layout. ModelSim. Input data ... – PowerPoint PPT presentation

Number of Views:80
Avg rating:3.0/5.0
Slides: 21
Provided by: Microsoft123
Category:
Tags: budiu | mihai | verilog

less

Transcript and Presenter's Notes

Title: Mihai Budiu


1

Global Critical Path A Tool for System-Level
Timing Analysis
  • Mihai Budiu
  • May 23, 2007

2
Based On
  • Critical Path A Tool for System-Level Timing
    Analysis Girish Venkataramani, Tiberiu Chelcea,
    Mihai Budiu, and Seth C. Goldstein, Design
    Automation Conference (DAC), San Diego, CA, June
    4-8, 2007

Girish Venkataramani summer intern here in
2005 Now graduating from CMU His Ph.D. thesis
A System Level Timing Analysis and Optimization
Methodology for Hardware Compilation is based on
the Global Critical Path
3
Critical Path
  • Longest path between source and sink in DAG

4
Synchronous Combinational Circuits
Longest signal propagating path between two
consecutive latches. clk gt crit path
Latch
Latch
clk
5
Events
Events (n1, t1) ? (n2, t2)
Events Signal Transitions on edges E
Circuit (V, E)
6
Chaining of Events
Circuit (V, E)
7
Timed Graph
Event signal from (A, t1) to (B, t3)
A
A
B
B
t0
t1
t2
t3
(n1,t2) ? (n2,t2) t2 t1
Dynamic Critical Path longest path in Timed
Graph
Note easy to model node computation delay too.
8
Goal Apply to Real Circuits
In this work focused on asynchronous 4-way
handshake circuits
Delay
C
H/S


reg
reg
Delay
C
H/S
reqo

reg
data
1 2 3 4
Delay
acki
reqi
C
H/S
acko
acki
reqi
data
9
Model Stages Using Behaviors
reqo

reg
data
Delay
reqi
C
H/S
acko
acki
Behavior Input transitions (precondition) Output transitions (postcondition)
Compute reqi0?, reqi1?, ack0? req0?, acki?
Return to zero req ack0? req0?
Return to zero ack reqi0?, reqi1? acki?
10
Behaviors can Handle Choice
arbiter
mux
Deterministic (unique) choice
Nondeterministic choice
In the absence of choice and non-deterministic
delays a static analysis can determine the GCP.
11
Runtime Locally Critical Events
timeline
Behavior Input transitions (precondition) Output transitions (postcondition)
Compute reqi0?, reqi1?, ack0? req0?, acki?
Return to zero req ack0? req0?
Return to zero ack reqi0?, reqi1? acki?
12
GCP Computation Algorithm
3. Some transitions repeated
2. Trace back along locally critical input
event
1. Start from last node executed
0. At run-time each node records locally critical
events
13
Possible Locally Critical Paths
2
1
reqi ?
reqi?
req0?
acki?
acko?
3
4
reqi ?
req0?
acko?
acko?
acki ?
14
Chaining Events Backwards
1
reqi?
req0?
acko?
15
Theorem
  • PATHdata req?
  • PATHsync ack?? req?? ack?
  • GCP PATHdata ? PATHsync

16
What does this mean?
  • PATHdata req?
  • Good wait for data
  • PATHsync ack?? req?? ack?
  • Maybe bad synchronization problem
  • GCP PATHdata ? PATHsync

17
An Example
reqAD?? reqDE??reqEG??ackGJ??reqJA?9 ?reqDE??re
qEG? ?reqGM? ?reqMN?
reqAD?? reqDE??reqEG??ackGC??reqCE??ackED?9 ?req
DE??reqEG? ?reqGM? ?reqMN?
18
Critical Path Toolflow
C
GCP
Feedback path
CASHcore
Verilog back-end
P/R model
GCP extraction
Synopsys,Cadence P/R
PLI calls
Execution trace
ModelSim
asynchronouscircuitlayout
Input data
19
Effectiveness
20
Conclusions Global Critical Path
  • Is defined as a path on the timed graph.
  • Tracks dependences.
  • Can be computed by automatic tools.
  • Summarizes concurrent computation bottlenecks.
  • Can be incorporated in a feedback loop. to drive
    optimizations and de-optimizations.
  • Is a profiling (input-dependent) concept.
Write a Comment
User Comments (0)
About PowerShow.com