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
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
Common Path Pessimism Removal - Setup analysis • OCV can make the launch clock path to be slower D. Mangiras / Democritus University of Thrace, Greece 3
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Recommend
More recommend