1 / 20

Mihai Budiu May 23, 2007

Global Critical Path: A Tool for System-Level Timing Analysis. Mihai Budiu May 23, 2007. Based On.

hop
Télécharger la présentation

Mihai Budiu May 23, 2007

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 > 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 + data reg 1 2 3 4 acki Delay reqi C H/S acko acki reqi data

  9. Model Stages Using Behaviors reqo + data reg Delay reqi C H/S acko 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 ack0↓ req0↑acki↑ reqi1↑ reqi0↑

  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↑ 2 1 req0↑ acko↓ acki↓ reqi↑ req0↑ 3 acko↓ req0↓ reqi ↓ 4 acko↑ acki ↑ reqi ↑ 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↑→reqEG↑→reqGM↑→reqMN↑ reqAD↑→ [reqDE↑→reqEG↑→ackGC↑→reqCE↓→ackED↓]9 →reqDE↑→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 t0 t1 t2 t3 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.

More Related