240 likes | 488 Views
報告組員 961406 郭善群 961460 周嘉宇. 報告主題 Using Multi-Bit Flip-Flops for Clock Power Saving. Introduction. Constraints. Placement density constraint Timing slack constraint. Density Constraint. Maximum placement density : 9 Flip-flop area : 1. Slack Constraint.
E N D
報告組員 961406 郭善群 961460 周嘉宇
報告主題 Using Multi-Bit Flip-Flops for Clock Power Saving
Constraints • Placement density constraint • Timing slack constraint
Density Constraint • Maximum placement density : 9 • Flip-flop area : 1
Slack Constraint • maximumdistance: • |(500 - 100)|+|(500 - 500)|+ 200 = 600 • 600 -(|(500 - 100)|+|(600 - 500)|) = 100
一、直接合併式演算法 • 1. 計算所有 pin 和其所連接的 flip-flop 的 Maximum Distance • 2.利用Maximum Distance 圍出所有 pin 之合法範圍的正方形 • 3. 找出所有 flip-flop 的排列組合(Permutations),並去除不合法的組合 • 4. while (Permutations > 0) • 5. 找出所有比對中的 flip-flop 的所屬正方形是否全部有交集 • 有交集則表示該區域可放置合併後的 flip-flop • 6. 進行交集例外處理(滿足 timing slack constraint) • 7. 檢查是否滿足 placement density constraint • 8.符合兩限制即合併 • 9. 計算 power reduction
步驟一 • 計算所有 pin和其所連接的 flip-flop的 Maximum Distance。 • maximum distance=600
步驟二 • 利用Maximum Distance圍出所有 pin之合法範圍的正方形。
步驟三 • 找出所有 flip-flop的排列組合,並去除不合法的組合。 • Example: 可用 flip-flop數為 1-bit、2-bit、4-bit 有四個 1-bitflip-flop:F1、F2、F3、F4
步驟四 • while (Permutations > 0) • 不斷執行步驟五到步驟八,直到所有可行的 Permutations皆被執行過。
步驟五 • 找出所有比對中的 flip-flop的所屬正方形是否全部有交集,有交集則表示該區域可放置合併後的 flip-flop。
步驟六 • 處理交集的例外狀況。
步驟七 • 檢查是否滿足 placement density條件。 • 符合兩限制即合併。 • 計算 power reduction。 步驟八 步驟九
二、隨機選取式合併演算法 • 1. 設定count值 • 2.while(count > 0) • 3. 隨機選出一 bin,並選出該 bin 裡一座標 • 4. 隨機取出數個在 step 3 所選出的 bin 附近的 flip-flops 做假設合併 • 檢查是否符合兩限制條件 • 6. 符合兩限制即合併 • 7. 計算 power reduction
步驟一 • 設定 count 值 • while(count > 0) • 持續執行步驟三到六直到 count 為 0 步驟二
步驟三 • 隨機選出一 bin,並選出該 bin 裡一座標 • 此座標為合併時欲放置的位置。
步驟四 • 隨機取出數個在步驟三所選出的 bin附近的 flip-flops做假設合併。
步驟五 • 檢查是否符合兩限制條件。 • 符合兩限制即合併。 • 計算 power reduction。 步驟六 步驟七
圖形化介面 • 合併前的介面圖。
圖形化介面 • 合併後的介面圖。