1 / 20

Global Critical Path: A Comprehensive Tool for System-Level Timing Analysis

This work presents the Global Critical Path (GCP) methodology, developed for efficient system-level timing analysis in synchronous and asynchronous circuits. Authored by Mihai Budiu, Girish Venkataramani, Tiberiu Chelcea, and Seth C. Goldstein, it builds upon methods in hardware compilation to analyze the longest data paths between nodes and optimize circuit performance. The GCP tool captures dependencies, summarizes computation bottlenecks, and is designed for real circuits, facilitating feedback-driven optimizations. This research was presented at DAC 2007 in San Diego.

hop
Télécharger la présentation

Global Critical Path: A Comprehensive Tool for System-Level Timing Analysis

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