soft clustering driven flip flop placement targeting
play

Soft-Clustering Driven Flip-flop Placement Targeting Clock-induced - PowerPoint PPT Presentation

Soft-Clustering Driven Flip-flop Placement Targeting Clock-induced OCV Dimitrios Mangiras Giorgos Dimitrakopoulos Democritus University of Thrace, Xanthi, Greece Pavlos Mattheakis Pierre-Olivier Ribet Mentor, a Siemens Business, Grenoble,


  1. Soft-Clustering Driven Flip-flop Placement Targeting Clock-induced OCV Dimitrios Mangiras Giorgos Dimitrakopoulos Democritus University of Thrace, Xanthi, Greece Pavlos Mattheakis Pierre-Olivier Ribet Mentor, a Siemens Business, Grenoble, France ISPD 2020, Taipei, Taiwan

  2. On-Chip Variations • Variability is inherent to semiconductor manufacturing • Variations make cells in both data and clock paths to be slower or faster than expected • Temperature and voltage drops affect dynamically the timing of the design • Extra margins needed to cover OCV degradations • Limits potential timing performance • Our focus is to alleviate the effect of clock induced OCV • The variability in clock latency and how this is affected by the structure of the clock tree D. Mangiras / Democritus University of Thrace, Greece 2

  3. Common Path Pessimism Removal - Setup analysis • OCV can make the launch clock path to be slower D. Mangiras / Democritus University of Thrace, Greece 3

  4. Common Path Pessimism Removal - Setup analysis • OCV can make the launch clock path to be slower • OCV can make the capture clock path to be faster D. Mangiras / Democritus University of Thrace, Greece 4

  5. Common Path Pessimism Removal - Setup analysis • OCV can make the launch clock path to be slower • OCV can make the capture clock path to be faster • Cells in the common clock path can not be slower and faster simultaneously for both launch and capture paths • CPPR discards this pessimism in STA D. Mangiras / Democritus University of Thrace, Greece 5

  6. Main idea • Produce clock trees with as many common paths as possible • Closely placed cells are most probably driven by the same clock path • Move relevant clocked cells closer • CTS will drive them with the same buffer paths • Reduce implicitly the effect of timing degradation due to OCV • Skew = launch_path_delay – capture_path_delay setup = D 1 max – ( D 2 min + D 3 m𝑗𝑜 + D 4 m𝑗𝑜 ) • A → B: skew A→B setup = D 4 max – D 5 m𝑗𝑜 • B → C: skew B→𝐷 setup = ( D 2 max + D 3 max + D 5 max ) – D 1 m𝑗𝑜 • C → A: skew C→𝐵 D. Mangiras / Democritus University of Thrace, Greece 6

  7. Main idea max = D i (1+ γ ) and D i min = D i (1- γ ) • D i • D i = delay without OCV • γ is the derating factor setup = ( D 1 - D 2 - D 3 - D 4 ) + γ ( D 1 + D 2 + D 3 + D 4 ) • A → B: skew A→B setup = • B → C: skew B→𝐷 ( D 4 - D 5 ) + γ ( D 4 + D 5 ) setup = ( D 2 + D 3 + D 5 - D 1 ) + γ ( D 2 + D 3 + D 5 + D 1 ) • C → A: skew C→𝐵 D. Mangiras / Democritus University of Thrace, Greece 7

  8. How to reduce OCV impact • Minimize D 4 and D 5 by moving flip-flops B and C closer • This movement guides CTS to drive flip-flops B and C with a common clock path increasing their common clock delay • Decrease D 1 and D 2 clock path delays • Move the clock gater closer to flip-flop A • CTS will also produce a longer common path for A and the clock gater D. Mangiras / Democritus University of Thrace, Greece 8

  9. Overview of the proposed algorithm For each clock tree • Traverse clock hierarchy bottom-up For each • Clock cells are clustered using k-HM clock net soft clustering Compute memberships Soft clustering • Compute cells-to-cluster Update cluster centers memberships No • Cluster centers are updated Convergence? Yes • Clock cells are relocated to Cell Relocation approach the new position Update timing • Update routing and timing No Convergence? information Yes Yes More clock nets? No Yes More clock trees? D. Mangiras / Democritus University of Thrace, Greece 9

  10. Why soft clustering c 2 • Hard clustering : each point belongs to only one cluster c 1 • Cell moving towards only one cluster 0.5 0.5 • Ping-pong effect choosing the best cluster 0.5 0.5 • Unable to handle cases when two clusters have I the same cost • Slow convergence c 2 • Soft clustering : each point belongs to every cluster c 1 • All clusters contribute to the cell’s relocation • New location is the weighted mean of all cluster 0.5 0.5 centers 0.5 0.5 I • Each cell approaches both two clusters having the same cost • No need to choose one c 2 • More trusted convergence due to less oscillations c 1 I D. Mangiras / Democritus University of Thrace, Greece 10

  11. K-harmonic means soft clustering • Hard clustering : each point belongs to only one cluster −p−2 s i − c j d(s i , c j ) = • Soft clustering : each point belongs to every cluster −p−2 K k=1 s i − c j • Basic: m(s i , c j ) = d(s i , c j ) F • Only physical distance between points and clusters D E H ∀sk t s k ,s i d(s k ,c j ) • Ours: m s i , c j = α ∙ d s i , c j + (1 − α) ∙ ∀sk t s k ,s i C I A • Physical distance of cell to cluster J B • Physical proximity of cell’s neighbors to cluster cluster register combinational center • How critical are the neighbors path 𝛃 = 𝟐 𝟏 < 𝛃 < 𝟐 𝛃 = 0 F F F D H E H E E D H D I I I C C C B J A A B B A J J Similar to register clumping - Clusters based only on Intermediate state only physical distance physical proximity of neighbors D. Mangiras / Democritus University of Thrace, Greece 11 positive slack

  12. Compute membership weights • Start computing the physical distance probability of each cell s i to each cluster c j center −p−2 s i − c j d(s i , c j ) = −p−2 K k=1 s i − c j d(s F , c 1 ) = 0.1 ... d(s D , c 1 ) = 0.8 d(s E , c 1 ) = 0.4 d(s F , c 2 ) = 0.9 ... d(s D , c 2 ) = 0.2 d(s E , c 2 ) = 0.6 F D E 0.1 0.1 0.2 0.2 0.6 0.6 0.4 0.4 H 0.9 0.9 c 1 0.8 0.8 c 2 combinational C cluster path I center A register J B positive slack D. Mangiras / Democritus University of Thrace, Greece 12

  13. Identifying which clock cells should be placed closer • Timing neighbors : Two clock cells with clock pins on the same net and belong to the launch and capture parts of a constrained timing path D. Mangiras / Democritus University of Thrace, Greece 13

  14. Identifying which clock cells should be placed closer • Timing neighbors : Two clock cells with clock pins on the same net and belong to the launch and capture parts of a constrained timing path • Flip-flop C is a timing neighbor of flip-flop D but not of flip flop B • Clock gater G1 is a timing neighbor of clock gater G2 D. Mangiras / Democritus University of Thrace, Greece 14

  15. Compute membership weights • Registers F and D are the timing neighbors of E • Path DE is more critical than EF • t 𝑡 𝐸 , 𝑡 𝐹 = 0.8 and t 𝑡 𝐺 , 𝑡 𝐹 = 0.2 m s E , c 1 = 0.35 ∙ d s E , c 1 + 0.65 ∙ t s D , s E ∙ d s D , c 1 + t s F , s E ∙ d s F , c 1 = 0.57 m s E , c 2 = 0.35 ∙ d s E , c 2 + 0.65 ∙ t s D , s E ∙ d s D , c 2 + t s F , s E ∙ d s F , c 2 = 0.43 F D E 0.1 0.1 0.2 0.2 0.43 0.4 0.57 0.5 H 0.9 0.9 c 1 0.8 0.8 c 2 combinational C cluster path I center A register J B positive slack D. Mangiras / Democritus University of Thrace, Greece 15

  16. Update cluster centers −p−2 • All clock cells membership weights are updated K k=1 s i − c j w(s i ) = • Cluster centers are recomputed using kHM formulas −p 2 K k=1 s i − c j ∀s i m s i , c j w s i x s i ∀s i m s i , c j w s i y s i x c j = y c j = ∀s i w s i ∀s i w s i F D E 0.05 0.0 0.15 0.1 0.43 0.4 0.5 0.57 H 0.95 0.9 c 1 0.85 0.8 c 2 combinational C updated path I cluster A register center J B positive slack D. Mangiras / Democritus University of Thrace, Greece 16

  17. Cell relocation • Cell approaches the weighted mean location of all neighbor clusters • Closer to cluster centers that clock cell has higher membership weights for them • Cell movement is limited by : ∀c j m s i , c j x s i new = x c j • Its Timing Feasible Region (TFR) to prevent timing degradation ∀c j m s i , c j • A maximum allowed displacement ∀c j m s i , c j y s i new = y c j ∀c j m s i , c j F D E 0.43 0. 43 0. 0.57 57 H c 1 c 2 C I new location A of E J B positive slack D. Mangiras / Democritus University of Thrace, Greece 17

  18. Cell relocation • Cell approaches the weighted mean location of all neighbor clusters • Closer to cluster centers that clock cell has higher membership weights for them • Cell movement is limited by : ∀c j m s i , c j x s i new = x c j • Its Timing Feasible Region (TFR) to prevent timing degradation ∀c j m s i , c j • A maximum allowed displacement ∀c j m s i , c j y s i new = y c j ∀c j m s i , c j F D H E c 1 c 2 C I new location A of E J B positive slack D. Mangiras / Democritus University of Thrace, Greece 18

  19. Cell relocation • Once a cell is relocated, it’s new physical probabilities change the membership weights of every timing neighbor • The membership weights are updated • Cells approach even more clusters where their more timing critical neighbors are closer F F D H c 1 E c 2 C I A B J positive slack D. Mangiras / Democritus University of Thrace, Greece 19

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend