(1)我今天要報告的 Paper 是 Generation …. ,講的主要是通過在 clock network 裡面,使用混合 driving strength 的 Multi-Bit Flip-Flops 來減少功耗,作者 包含以下這幾位實驗室的學長姊和教授。 (2)然後這是今天匯報的大鋼,首先在 Introduction 的部分會先介紹 clock network 的結構,以及前人在 Multi flip-flop 上的研究基礎。接著介紹這篇 Paper 總體的方法流程。然後是 Paper 裡面兩個主要的方法: 計算不同 driving strength 下的 Flip-flop Feasible Region 以及選擇最優的 MBFF 的生成方法,最後是實驗結 果。 (3)在電路設計中,有許多電子元器件是序向邏輯電路,須接受時鐘信號的 輸入。這張圖中展示的就是一個時鐘信號網路經過 routing 之後形成的 clock tree。 (看圖) (4)先前的 Paper 研究了包含使用 multi-bit flip-flop 來降低功耗,通過把幾個 單 bit 的 FF 在晶體管級別做合併,形成多 bit 的 FF。(看圖) (5)這一頁的表格列出了在 MBFF 裡,每個 bit 相比於單 bit 的 FF,減少了多 少功耗 (看表) … 另外,使用 MBFF 也可以幫助我們在 clock routing 時,減少 clock tree 的 wirelength 和 clock buffer 的數量。 (6)(看圖) (7)上面的三張圖,左邊兩張是…,這兩個 MBFF 的區別在於他們接受的是不 同的 driving strength。因為 Flip-flop 在某些 routing 情況下會違反 timing constraint 時,這時候就會需要通過增強 driving strength 來讓 Flip-flop 能夠有符合範圍內的 clock skew。關於之前 Multi-bit Flip-flop 的研究,都只局限於在… (8)比如在這個 clock placement 中,第一張圖是不考慮 FF 合併的 clock tree 情況,第二章圖是…. (9) (10) 首先在 Extract Flip-flop Info 這步,我們會先得到每個 Flip-flop 的輸入、 輸出 pin 的位置和他們的 timing slack,接著我們會去計算每個 Flip-flop 在不同 driving strength 下的 timing feasible region,feasible region 指的是 Flip-flop 擺在這 些 region 內不會 violate timing constraint。接著我們在 feasible region 對應的 rectangle intersection graph 中找 maximal clique,這些 maximal clique 對應的就是 那些可以被 merge 到一起並且不會違反 timing constraint 的 Flip-flop。最後產生 一群可以達到最大 power reduction 的 MBFF,並且通過計算中位數指定他們的位 置。然後通過 commercial tool 完成 placement legalization 和 timing analysis 後, 我們再測試 MBFF 裡的某些 bit 是否可以降低 driving strength 來完成最後的 power reduction。 (11)這邊是幾種不同 driving strength 下的 Flip-flop 的 Feasible region。圖中 的菱形框框為 Manhattan circle,Manhattan circle 常常用來表示信號傳輸的 timing constraint,圓心表示信號發出的點,而圓的邊界表示允許的最大延遲範圍。所以 在圖中,這些 Manhattan circle 重疊的部分就是 Flip-flop 的 Feasible region。在比 較強的 driving strength 下,…. ,這也是為什麼我們在之後的研究願意去提高某 些 Flip-flop 的 driving strength 的原因,因為這樣可以幫助我們為 flip-flop 找到更 多和其他 flip-flop 合併的機會。 (12)(看 圖) … ( 說明 rectangle intersection graph 邊的關係 ) 在 rectangle intersection graph 中,maximal clique 代表著潛在有可能可以形成的 MBFF (13)延續上一張的 rectangle intersection graph,通過之前的參考文獻,我們 知道可以在不建構出對應的 rectangle intersection graph 的條件下,在 polynomial time 找到 maximal clique,這篇 paper 使用了一個叫 sweep line 的方法。現在整 個平面被 Feasible region 劃分成幾個垂直的 strip,我們對每個 strip 從上往下掃, 遇到某個 Feasible region 的邊界就標記,遇到 feasible region 的 top 邊界就標記為 in-edge,…. 。最後在左圖找到 比如: …的 maximal clique。 (14)在不同 driving strength 下 rectangle intersection graph 中找完所有的 maximal clique 後,我們對每個 maximal clique 取幾個不同的 MBFF candidate,並 根據 candidate 的 cost 來決定留下某個 maximal clique 的哪個 candidate。這個 sampling procedure 採用上面列出的公式,對於每個 maximal clique 我們隨機的生 成 C 取 k 個 k-bit 的 MBFF candidate,比如….。 (15)另外就是我們在 MBFF 生成中,允許某些 bits 為 empty bit,所以有可能 可以出現 3 個 Flip-flop 合併到一起,最後以 4-bit MBFF 產生。(修改一下 Sampling procedure 的 k 值取值) (16) (解釋 Cost function) “u” 代表的是某一個 MBFF candidate … (看圖) (17、18)(看圖) (19) 接下來是這篇 Paper 產生沒有衝突的 MBFF 算法(衝突指的是 因為一 個 FF 可能包含在不只一個的 Maximal Clique 裡) ,算法首先把所有可能的 MBFF push 進一個 Priority queue 裡面,接著…(看圖解釋) (20、21) (看圖) (22) 在產生完這些 MBFF 之後,我們現在要幫 MBFF 指定位置。通過計算 MBFF 的 pin 的 weighted median interval,我們得到一個 MBFF 的 preferred region。 我們對整個 plane 做切割成一個個的 bins,那些被 preferred region 覆蓋到的 bins 會被給予 rank 0,那些在 feasible region 裡的 bins 也會根據… (23)在 commercial tool 做完 … 後,我們對每個 MBFF 的 output pin 進行檢 查,如果某個 output pin 的 timing slack 大於門檻的會,我們就認為可以安全的對 其降低 driving strength。 (24) (看表格) ……. (25) (看表格) 減少 11% sink 、5.8% area、2.6% power (解釋 case1 case2) 減少 4% clock wirelength、6.3%clock buffer count (26) 在 cost function 裡把 switching power 的考量再加近來,與之前的實驗 結果做對比… (27) (看表格)