1 / 11

Zero Skew Clock Tree Implementation ─ The Delay Model

Zero Skew Clock Tree Implementation ─ The Delay Model. Outline. The Delay Model Linear Delay Model Elmore Delay Model The Delay Model under DME algorithm. Linear Delay Model. Delay is proportion to wirelength T LD (u, w)= ∑ |e v |. u. e v. e v ∈ path(u, w). …. e v. w.

cliff
Download Presentation

Zero Skew Clock Tree Implementation ─ The Delay Model

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. Zero Skew Clock Tree Implementation ─ The Delay Model

  2. Outline • The Delay Model • Linear Delay Model • Elmore Delay Model • The Delay Model under DME algorithm

  3. Linear Delay Model • Delay is proportion to wirelength • TLD(u, w)= ∑ |ev| u ev ev ∈ path(u, w) … ev w

  4. Elmore Delay Model • Delay=resistance * downstream capacitance • r’ = resistance per unit length c’= capacitance per unit length • For edge ev • rev= r’ × |ev| • cev= c’ × |ev| • Ted(u,w)= ∑ rev(1/2cev+Cv) • Delay grows as square of wire length u ev cev v Cv ev ∈ path(u, w)

  5. Elmore Delay Model • Lumped circuit approximations for distributed RC lines • π–model(most popular) • T–model • L–model.

  6. Elmore Delay Model

  7. DME algorithm • Phase 1 : eb B Calculate_Edge_Length( |ea|, |eb| ) A ea msa.delay+ea= msb.delay+eb

  8. DME algorithm • Phase 2 :

  9. DME : Linear Delay Model • Calculate_Edge_Length( |ea|, |eb| ) Linear delay model : let k=d( msa , msb ) // shortest distance between two segments If | msa.delay - msb.delay | ≦ k msa.delay + |ea| = msb.delay + |eb| |ea| + |eb| = k ( |eb| = k - |eb| ) |ea| = ½ × ( k + msb.delay - msa.delay ) Else If msa.delay > msb.delay |ea| = 0 |eb| = msa.delay - msb.delay Else |ea| = msb.delay - msa.delay |eb| = 0 ea + eb = k ea eb msa.delay msb.delay msa.delay+ea= msb.delay+eb

  10. DME : Elmore Delay Model ea + eb = k • Calculate_Edge_Length( |ea|, |eb| ) Elmore delay model : letr’ = resistance per unit length c’= capacitance per unit length rea= r’ × |ea| reb= r’ × |eb| cea= c’ × |ea| ceb= c’ × |eb| k = d( msa , msb ) // shortest distance between two segments rea(1/2 cea+C1) + msa.delay= reb(1/2 ceb+C2) + msb.delay => |ea| = ( msb.delay- msa.delay+r’k(C2+1/2c’k) ) / ( r’(C1+C2+c’k) ) If |ea| < 0, means msa.delay > msb.delay msa.delay = r’ k’ (1/2c’ k’ +C2)+ msb.delay => k’ = (((r’C2)2+2r’c’(msa.delay- msb.delay))1/2-r’C2)/r’c’ |ea| = 0 |eb| = k’ If |ea| > k k’ = (((r’C1)2+2r’c’(msb.delay- msa.delay))1/2-r’C1)/r’c’ |ea| = k’ |eb| = 0 ea eb msb.delay msa.delay C1 C2 rea(1/2 cea+C1) + msa.delay= reb(1/2 ceb+C2) + msb.delay

  11. Thank You

More Related