布線工程師如何充分掌控時鐘信號?
在數(shù)字電路設(shè)計中,時鐘信號是一種在高態(tài)與低態(tài)之間振蕩的信號,決定著電路的性能。在應(yīng)用中,邏輯可能在上升沿、下降沿觸發(fā),或同時在上升沿和下降 沿觸發(fā)。由于溢出給定時鐘域的案例極多,故有必要插入緩沖器樹來充足地驅(qū)動邏輯。時鐘樹通常帶有布線工程師必須滿足的延遲、歪曲率、最小功率及信號完整性 要求。
當電路從前工序設(shè)計人員轉(zhuǎn)移到后工序布線工程師時,可以認為時鐘概述與圖表是必須溝通的最關(guān)鍵信息。多年以來,由于溝通失誤,數(shù)以小時、天甚至是星期計的設(shè)計工作淪為白費,需要包括時鐘樹在內(nèi)的全套重新合成。
在布線之前,采用極佳的時鐘來用于合成及時序約束。約束的時鐘定義可能出現(xiàn)在模塊的頂層焊盤或引腳;可能出現(xiàn)在宏的輸出,如鎖延遲環(huán)(DLL) 或鎖相環(huán)(PLL);或者作為產(chǎn)生的時鐘出現(xiàn)在除法寄存器上。這些時鐘定義可能是也可能不是布線工程師需要定義時鐘樹根以在不同工作模式之間獲得最優(yōu)延遲 及平衡歪曲率的領(lǐng)域。前工序及布線工程師之間圍繞這些信息的高級別信息溝通以及理解布線工程師怎樣運用這些信息,將大幅優(yōu)化物理設(shè)計流程的CTS過程。
有效CTS的設(shè)計技巧
下面的某些技巧在業(yè)界已經(jīng)使用多年,但基于過去幾年的經(jīng)驗,仍然值得重復運用。
為時鐘樹根使用中到大強度的驅(qū)動器。這就使時鐘樹能有恰當?shù)钠瘘c。但不要使用庫中最大的驅(qū)動強度,如果信號完整性(SI)分析或片上變化(VOC)分析未出現(xiàn)問題,能夠在隨后的設(shè)計中用到。
如果時鐘除法寄存器及其同步寄存器要在單獨測試模式中工作,確保它們被復用邏輯有針對性地驅(qū)動。這就能夠在測試模式下在輸入端增加延遲,而不會影響此功能模式下所產(chǎn)生的時鐘驅(qū)動的其他所有寄存器。
(divide-by)寄存器不會與任何下行寄存器平衡。綠色域的寄存器數(shù)量越少,越會使時鐘速度比紫色域中的時鐘速度快得多。
圖1 寄存器時鐘除法寄存器
圖2顯示了可能使每簇下行寄存器及除法寄存器能夠通過復用的一種輸入擁有極小時鐘及通過復用的另一路輸入擁有平衡時鐘的復用機制。
圖2 下行寄存器及除法寄存器復用機制
若有需要,則插入專用復位驅(qū)動器。某些情況下將使用幾個寄存器來同步復位。那些寄存器可能并不需要由相同的寄存器來平衡。在圖3中,由于未采用集中策略,軟件將嘗試平衡門控邏輯后的藍色寄存器,而每個粉紅色寄存器包含在復位同步邏輯中。
圖3 平衡門控邏輯后的寄存器
如果它們在各自專用驅(qū)動器中與其他寄存器分開了的話,在布線過程中這種情況就很容易處理。圖4顯示了可以怎樣在設(shè)計交遞(hand-off)溝通過程中插入及輕易識別占位符(place-holder)或排除緩沖器,使布線工程師知道哪里可能會出現(xiàn)平衡問題。
圖4 插入及輕易識別占位符或排除緩沖器
提供超出預期的時鐘圖表及大量時鐘簡介。當前工序設(shè)計準備好提供網(wǎng)表進行布線時,他們已經(jīng)非常熟悉設(shè)計及時鐘要求。某些情況下,初始CTS設(shè)計 會提示預布線時序約束中使用的理想值在實際物理設(shè)計中不能實現(xiàn)的情況。如果提供了精確的時鐘圖以及帶有時鐘原理相關(guān)信息的網(wǎng)表交遞,就能夠更快地弄清導致 此狀況的問題。
總體圖或是代表設(shè)計中所有時鐘(含門控邏輯)的圖非常有用。這要么是采用畫圖軟件,要么是使用電路圖捕獲工具等使用軟件產(chǎn)生的圖,甚至還可以是手繪并存儲為PDF文檔或發(fā)送傳真給布線工程師的圖。此圖抵得上嘗試直接獲得時鐘格式的多次通話或電子郵件溝通過程中的千言萬語。
由于圖表可能會很復雜繁瑣,就需要提供相應(yīng)的簡介文檔,包括產(chǎn)生的時鐘、任何時鐘門控或復用圖案的詳情以及歪曲率平衡和延遲要求等方面的闡釋。 每種工作模式都需要這些詳細信息,因為在插入時鐘樹期間必須應(yīng)對每種模式。寄存器可能最后會提供用于功能模式的平衡,但如果我們不仔細的話,測試模式下可 能極不平衡。
如果時鐘使用DLL或其他宏或它通過門控邏輯,這些詳細信息就在所必需了。如果有需要的話,有可能通過那些類型的宏來合成及平衡。對于門控邏輯 而言,如果存在一個引腳通過一種模式來連接、但同單元的其他引腳采用另一種模式來連接的情況,走線工具將把這種情況識別為“重匯聚時鐘”。雖然布線工具可 以解決這些問題,但更好的解決辦法可能是迫使工具在時間插入期間查看這個引腳而非其他引腳。
業(yè)界軟件工具中的CTS
業(yè)界軟件遵循設(shè)計人員的規(guī)格及指引,以強大的工具推動時鐘樹合成。源自前工序的跟時鐘樹根插入點、延遲、歪曲率及過渡目標相關(guān)的信息以及用于門 控邏輯、通過寄存器和跨域關(guān)系的詳細信息能夠直接移植到CTS工具中。然后布線工程師將自已判斷要使用的緩沖器類型、優(yōu)化迭代及間距、屏幕和金屬層等布線 要求。
在插入時鐘樹之前,能夠使用走線來確保存在旨在用于平衡的端點。還能夠提示及評估門控邏輯、時鐘樹根排除的分支、IO端點以及重匯聚實例。
時鐘樹可能僅包含緩沖單元或是系列反相器。如今的大多數(shù)技術(shù)擁有特別的時鐘緩沖及時鐘反相單元,這些單元提供平衡的上升及下降時間,以幫助確保占空比不被損及。還可以整合其他要求,如時鐘樹中等級或各個時鐘單元的最大扇出。
結(jié)論
除了上文探討的所有因素,布線工程師很可能還會嘗試有時鐘門控意識的布局、時鐘布線指引及平面布局調(diào)整。CTS替代通常在極少調(diào)整歪曲率、延遲 及過渡目標的情況下運行。試錯法幫助提供極佳的協(xié)調(diào)。如果前工序理解CTS如何工作且在最開始就溝通時鐘結(jié)構(gòu),那么布線工程師將能夠更加得心應(yīng)手地接手任 務(wù)。日程中原本計劃用于CTS的時間就可以用于微調(diào)及改善“你的時鐘”,而非簡單地嘗試將其插入到“我的布線”。