View
236
Download
0
Embed Size (px)
Citation preview
專題製作成果報告Gated Clock Cloning for Timing Fixing
指導教授: 林榮彬教授專題組員: 韓儩源、蔡萬都
大綱 問題描述 演算法 流程圖 測試結果 Q&A
問題描述
問題描述
Constraint Function Max(Si+Li) + Enable Logic(E0+Ej) + Skew <= Clock
Period (P0) + Delay (Sj)
演算法 Build Kd-tree For Grouping Flip-Flops Decision Clock Gating Location Merge Clock Gating
Build Kd-tree For Grouping Flip-Flops利用現有的” kdtree algorithm” 來對 flip-flop進行 nearest neighbor 的分堆
Decision Clock Gating LocationConstraint Function
Maxdelay(Si+Li) +E0 +Ej+skew<=period+Sj
找到一個點是符合 skew 又不超過Maxdelay(Si+Li)
加入 Ej 檢查 Constraint function
Decision Clock Gating Location 利用提供的查找表來計算 delay
clock root 固定置於 (0,0) - Sj = x + y , 先決定 Sj 再調整 Lj
距離計算方法: Manhattan Distance
Decision Clock Gating Location
x + y = Sj
ENABLELOGIC
FLIP FLOP
clock root
CLOCK GATE
Decision Clock Gating Location 而從要符合 skew 的條件下,我們可以得到一
個 delay(Lj) 的範圍:Maxdelay-Sj-skew <= Lj <=Maxdelay-
Sj
再利用查找表將 Lj 的範圍長度算出i1 <= delay(Lj)’s length <= i2
Decision Clock Gating Location
x + y = Sj
ENABLELOGIC
FLIP FLOP
clock root
CLOCK GATE
Lj 的範圍
Lj 的範圍
Delay Sj
Delay Lj
Decision Clock Gating Location 加入 Ej 檢查 Constraint function
若是不符合 Constraint function 或是找不到 delay(Lj) 的範圍,便重新決定 Sj
Decision Clock Gating Location
x + y = Sj
ENABLELOGIC
FLIP FLOP
clock root
CLOCK GATE
Delay Sj
Delay Lj
Delay Ej
New x + y = Sj
Merge Clock Gating Bottom-up FLIP FLOP
合併後的 group
流程圖
測試結果 主辦單位測試檔
主辦單位測試結果
Test case PERIOD DIE_SIZE FLIP_FLOP
case1 4000 8000 x 8000 800
case2 50000 20000 x 15000 1200
Test case Buffer number
Gate number Run time
case1 2417 172 1529s
case2 3817 240 804s
Q&A
Thank you