采用Magma Talus的時鐘樹實施
3.調整時鐘樹以減少偏移
調整時鐘樹是一項棘手的工作。首先,它要視起始時鐘樹的質量而定;其次,對它有一定要求,要求在盡可能少增加樹延遲和面積的同時達成偏移目標。時鐘偏移會影響建立和保持時序,最終影響整個芯片的時序收斂。其基本目標是要在不影響整體結構并保持轉換率等標準的前提下插入緩沖器以調整時鐘偏移(clock skew)。
Talus使用“run gate clock”來調整時鐘樹。如只針對偏移目標,這個功能的作用并不能很好發揮出來。尤其對于有些小分支,Talus可能會增加極長的緩沖鏈以平衡偏移,緩沖器間的距離很小。單元延遲在這些緩沖鏈的分支延遲中占主要部分;而其它常規分支延遲則是互連線延遲占主要部分。這可能導致橫跨不同角點的巨大偏移問題。我們開發了一個半定制腳本來指導Talus應對這個問題。它可限制用于偏移平衡的緩沖器類型、緩沖器間線長距離以及新網絡的布線方式。通過這些額外的控制,我們通常可獲得100ps全局偏移和僅100ps左右的時鐘樹延遲增加。
第IV章:來自CTS實驗的最佳實踐
1. 采用適當葉轉換(leaf slew)來創建時鐘樹
表-4顯示了葉轉換是如何影響到時序和功耗。它依據不同葉轉換時間對建立時序、保持時序和功耗進行了對比;當轉換時間的增加、建立和保持時序總負余量提高時很容易就可發現這種情況。轉換時間快對時鐘網絡功耗也較為有益。隨著轉換時間的提高,短路功耗會相應增加。它也是轉換目標與樹面積間的一種折衷權衡。過緊的轉換會導致時鐘樹面積、層數和延遲的提高。它需要多次迭代的實驗來才可獲得最佳效果。
2. 指定緩沖器/反向器類型以指導Talus,實現更好QOR。
Talus的CTS性能易受到時鐘單元類型的影響。如果不加以適當約束,Talus呈現給您的將會是具有長插入延遲的差的樹結構。驅動能力弱的時鐘單元也同樣用于時鐘樹,這可能導致不同角點時序水平的顯著降低。表-5是兩個CTS結果間相同分支的比較:一個有時鐘緩沖區和轉換器控制,另一個則無。從表中,您可看出,通過采用時鐘單元約束,Talus可創建更好的時鐘樹。
3. 優化時鐘布線。
我們通常期望時鐘網絡可采用更高優先級、更好布線類型來進行布線。但光是這樣還不夠,特別是在深亞微米技術中,串擾效應對整個芯片的時序和良率都有重大影響。時鐘信號通常以極高速度地運行,切換的頻率比數據信號的都要高。因此如何隔離時鐘線和常規信號就顯得至為重要。首先,我們要盡可能多地在厚層上進行時鐘信號布線。厚層的單元電阻和接地電容較低。顯而易見,分配長的時鐘網絡到厚層中并采用更寬的寬度和更大的空間也可改善時鐘轉換。Talus可定義非默認規則并設置首要層從而實現它。出于對有些關鍵時鐘的考慮,推薦防止串擾的方式就是用接地信號對時鐘線進行屏蔽(shield)。由于非默認規則布線對可布性有影響,因此它是時序與布線間一種折衷方案。在我們的設計中,我們根據線長、驅動單元類型及等級來定義不同規則。最終,它可使得時序網絡更具魯棒性。
第V章:結論
在我們的案例中,Talus CTS引擎能夠處理非常復雜的樹結構。它提供了充足的CTS行為配置選項。CTS引擎的核心十分強大,足以創建一個平衡的基本時鐘樹。但如前幾章所講述的,它也是有些局限性。幸運的是,基于TCL環境和易于訪問的DB,我們開發了一些功能強大的半定制腳本來指導CTS引擎并增強其性能。通過這種方式,我們的大部分設計要求都可得到滿足。
評論