關(guān)鍵路徑中的時序分析工具對設(shè)計成敗要點
靜態(tài)時序分析技術(shù)的許多基本概念與動態(tài)仿真不同。首先,靜態(tài)工具沒有仿真周期之說,因此不存在按時間表發(fā)生的事件。靜態(tài)工具通過路徑計算延遲的總和,并比較相對于預定義時鐘的延遲。它僅關(guān)注時序間的相對關(guān)系而不是評估邏輯功能。一旦靜態(tài)工具列舉出所有的邏輯一致的路徑,它就會以電子數(shù)據(jù)表的方式定位非間隙性錯誤(negative slack errors),無需用向量去激活某個路徑。而動態(tài)時序仿真卻不能發(fā)現(xiàn)沖突,除非有一連串的向量集中顯示這種特殊情況,另外,靜態(tài)時序工具能自動引導用戶首先解決最關(guān)鍵的問題。 靜態(tài)時序工具可識別的時序故障數(shù)要比仿真多得多,包括:建立/保持和恢復/移除檢查(包括反向建立/保持);最小和******跳變;時鐘脈沖寬度和時鐘畸變;門級時鐘的瞬時脈沖檢測;總線競爭與總線懸浮錯誤;不受約束的邏輯通道。另外,一些靜態(tài)時序工具還能計算經(jīng)過導通晶體管、傳輸門和雙向鎖存的延遲,并能自動對關(guān)鍵路徑、約束性沖突、異步時鐘域和某些瓶頸邏輯進行識別與分類。 時序分析工具種類很多。Synopsys公司的Primetime和Mentor Graphics公司的SST Velocity主要用于全芯片的IC設(shè)計。芯片上的PVT(工藝、電壓、溫度)參數(shù)、晶體管級分析和反向建立/保持的檢查在時序分析中非常重要,例如:Innoveda公司的Blast工具主要用于FPGA和板級設(shè)計,它可支持單層和多層板結(jié)構(gòu),能鏈接板級交叉耦合分析,并從Chronology公司的Timing Designer Pro引入模型。Cadence公司的Envisia工具和Magma公司的Blast工具可提供具備綜合與布板技術(shù)的全芯片時序分析功能,兩家公司到目前為止尚未宣布獨立的時序分析產(chǎn)品,但都重點提高在靜態(tài)時序分析功能上的魯棒性。Circuit Semantics公司可提供用于先進CMOS設(shè)計的多級時序分析工具。Ultima公司的Millennium工具和Silicon Metrics公司的Siliconsmart TSO工具能夠提高芯片級靜態(tài)時序工具的分析精度,它們都屬于附屬工具。 Chronology公司的Timing Designer Pro和Synapticad公司的Waveformer Pro都是具有嵌入式靜態(tài)時序引擎的圖形化波形編輯器,主要用于交互式建模與分析。 靜態(tài)時序分析工具的基本概念 靜態(tài)時序工具首先要接受用戶輸入,然后分析網(wǎng)表并將單元映射進目標庫中。根據(jù)網(wǎng)表生成具有所有路徑的列表,然后基于不同的設(shè)計準則進行剪輯。由存儲單元或主要I/O引腳組成的每條路徑都包含有一個起點和一個終點,需要注意的是雙向鎖存有可能當作門或起點/終點處理。 接下來,由延遲引擎計算單元和互連值,并結(jié)合SDF時序數(shù)據(jù)或SPEF寄生數(shù)據(jù)進行“版圖設(shè)計后精度分析”,或利用靜態(tài)線載模型進行“版圖設(shè)計預評估”,這些寄生數(shù)據(jù)可以是由RC樹(SPEF、DSPF、RSPF文件格式)細化或簡化而來,然后,時序驗證引擎計算相對于預定義時鐘域的間隙與約束沖突,輸出報表與多種可視工具可根據(jù)用戶要求將結(jié)果分類。 為了支持目前最復雜的設(shè)計,現(xiàn)代靜態(tài)時序工具提供了各種功能,首要要支持無約束的復雜時鐘域,一般來說,這些時鐘具有多頻率、多相位和多波形的特點。 另外,由于門控時鐘是低功率設(shè)計中的一種標準技術(shù),因而確保恰當?shù)臅r序波形邊沿就非常重要,它可確保時鐘門不產(chǎn)生崎變的邊沿。與其它時鐘沒有明確關(guān)系的異步時鐘設(shè)計卻極具挑戰(zhàn)性。SST Velocity工具能夠自動識別異步時鐘域并排除故障路徑,以便正確分析其他的同步邏輯。 某些數(shù)字設(shè)計包含有多周期路徑,其中過渡組合邏輯(intermediate combinational logic)采用多個時鐘。必須向工具標明多周期路徑,否則就會出現(xiàn)錯誤。與此類似,零周期路徑可定義兩個狀態(tài)器件之間的潛在競爭路徑條件;如果零周期路徑是有意安排的,它必須明確定義以避免保持沖突。所有的靜態(tài)時序工具必須支持重收斂扇出(reconvergent fanout),它能夠確保對真實的組合最小/******延遲傳播值進行恰當?shù)拈g隙分析(slack analysis)。模式分析功能允許用戶定義端口或引腳上的常量值,有效地將分析限定于特定的工作模式。在全芯片分析中,這個功能對于隔離故障區(qū)域或者通過測試邏輯驗證時序非常有用。 某些時序分析工具可以用測試儀器作兼容性檢查,以便把器件測試儀的約束條件恰當?shù)丶尤氲椒治鰷蕜t中。片上的PVT變量與相關(guān)最小/******值分析在芯片級設(shè)計中變得越來越重要,這些技術(shù)允許用戶定義最壞情況下分析的下降因子(derating factor)或百分比,這樣可以解決環(huán)境變化引起的晶體管抖動率(slew rate)的變化。 時序分析工具的使用 在實際設(shè)計流程中如何才能充分發(fā)揮靜態(tài)時序分析工具的功能呢?使用方法會根據(jù)設(shè)計類別、所用的分類工具和許多其它因素的影響而出現(xiàn)很大差異,但我們可以給出典型流程中的通用方法。 用戶必須定義需要使用的目標庫、輸入網(wǎng)表、設(shè)計說明與特例、模塊級時序說明與特例。雖然能夠增加額外的時序說明,但時序約束一般與邏輯綜合中采用的時序約束類似。對于等待隔離和等待利用門級時序仿真工具驗證的包含真實異步邏輯的設(shè)計,建議創(chuàng)建能經(jīng)受驗證檢驗的設(shè)計分割策略。 緊接著必須創(chuàng)建用于復雜單元的時序殼模型(timing shell model)如微處理器、存儲器、模擬電路模塊和定制邏輯,這些模型一般根據(jù)列于數(shù)據(jù)表的規(guī)格或其它分析形式用手工方式創(chuàng)建。時序殼模型也能自動提取以用于經(jīng)過驗證的同步模塊設(shè)計。某些靜態(tài)時序工具會創(chuàng)建自身的時序殼模型,或在交互波形建模過程中引入時序殼模型。 對于版圖設(shè)計前的時序,可以利用統(tǒng)計線載模型(statistical wire-load model)與綜合所用的模型進行相關(guān)后獲得。版圖設(shè)計后的分析要利用后端注釋數(shù)據(jù),而傳統(tǒng)的后端注釋采用SDF時序文件(每個PVT變量對應一個文件)。 另外,有時也直接引入寄生RC數(shù)據(jù)以便利用內(nèi)部延遲引擎計算時序延遲,某些工具支持DCL與/或OLA,可以用ASIC代工工藝參數(shù)進行更精確的校正。要將DCL與/或OLA與后端注釋RC數(shù)據(jù)結(jié)合起來以優(yōu)化精度。當引入RC數(shù)據(jù)而非SDF文件時,只要單個文件就能支持所有的PVT變量。 許多時鐘域可以自動識別,然而,用戶必須定義每個時鐘的頻率、相位和波形,而導出時鐘也要在設(shè)置中定義。SST Velocity能自動識別導致異步邏輯的異步時鐘域和信號。在其它情況下,這些信號必須標識為故障路徑,并與其它邏輯上不可能成立的路徑一起從分析過程中清除出去。 典型情況下,用戶會在綜合后開始時序分析,需要注意的是靜態(tài)時序分析嵌入所有的綜合和時序驅(qū)動布局底層規(guī)劃工具中。在綜合迭代和早期版圖設(shè)計過程中,用戶一般選擇標稱模式分析,然后在版圖設(shè)計后再切換到更徹底的******/最差情況分析。因此,為了使設(shè)計周期最小,這些工具應支持對******/最差情況的單通分析(single pass analysis)。時序分析一般從模塊級開始向整個設(shè)計發(fā)展,無論設(shè)計是單個集成電路還是多系統(tǒng)板。 設(shè)計中的一些數(shù)據(jù)流路徑需要特別關(guān)注,利用模式分析可以避免分析不必要的路徑。這段分析時間內(nèi),內(nèi)置的自測試邏輯必須關(guān)閉。在某些情況下,采用同步技術(shù)無法分析通過所選模塊的數(shù)據(jù)流,因此需要動態(tài)時序仿真。如果隔離恰當?shù)脑?,在仿真容限?nèi)就能很好地處理這些問題。隨后生成的時序就能用來創(chuàng)建時序殼并集成回更高級的靜態(tài)分析中。 可以用大量的輸出結(jié)果對設(shè)計作出分析診斷。時序間隙報表(timing slack report)能快速確定故障區(qū)域,一般來說它還允許生成只包含受影響邏輯的原理圖。受約束沖突是另一類輸出結(jié)果,可以反映時鐘抖動、多周期路徑等。瓶頸分析可以識別許多沖突路徑的公共邏輯,指導設(shè)計工程師對優(yōu)先級最高的單元進行修改。 具備嵌入式時序分析功能的波形建模工具所采用的方法多種多樣。一般情況下,用戶很少依賴這一階段的綜合結(jié)果,而是采用人工方式定義設(shè)計、專用模塊或復雜內(nèi)核的時序關(guān)系。通常用戶選擇電路中最關(guān)鍵的路徑用于波形建模,而不是窮舉設(shè)計中的每個電路節(jié)點,在這種情況下,這些工具將幫助用戶定義設(shè)計中的要求以及合法的約束,然后將結(jié)果輸出到其它靜態(tài)時序工具以進行窮舉分析。 其它工具,如Millennium、Siliconsmart TSO或Celtic是靜態(tài)時序分析的補充工具。Millennium可以接受詳細的RC數(shù)據(jù),在幾小時內(nèi)計算出幾百萬個RC單元的延遲,其SPICE精度在5%之內(nèi)。該工具還能進行先進的獨立于頻率的信號斜率建模,借助圖視功能進行全芯片時鐘抖動分析,還可以對總線與并行/三態(tài)驅(qū)動器進行精確分析,以及自動對重要路徑進行SPICE模型創(chuàng)建。它還能處理2D和3D網(wǎng)格(mesh)的互連拓撲,并支持完成分層和增量形式ECO。該工具最后還會輸出可用于下游的靜態(tài)時序分析的SDF和Synopsys設(shè)計約束文件。 Siliconsmart TS0是專用模型編譯器集,符合正在形成的OLA標準,能使門級靜態(tài)時序分析工具達到晶體管級的精度。Siliconsmart TS0能產(chǎn)生整個電路的動態(tài)專用的工作點路徑延遲模型,并把他們鏈接到使用OLA建模接口的時序分析工具。這些路徑延遲模型能夠滿足單元與互連建模間不斷提高的非線性及復雜依賴關(guān)系。它不需要SDF文件,還可以在不降低精度的條件下,把寄生數(shù)據(jù)壓縮幾個數(shù)量級。該工具可以排除靜態(tài)模型中常見的抖動延遲中15%至25%的錯誤,而且解決了IR降低和溫度變化對時序的影響。 Celtic則重點處理后布局及噪聲交叉耦合效應,因為它們百分之百地會影響實際時序延遲。該工具接受單元級網(wǎng)表,并耦合RC寄生、特征化噪聲庫和信號時序窗口及信號跳變的參數(shù)(可以從靜態(tài)時序分析引入)。Celtic利用這些信息生成受損網(wǎng)絡(luò)上峰值噪聲的分類報表,并生成根據(jù)噪聲調(diào)整過的SDF數(shù)據(jù),該數(shù)據(jù)能回讀到靜態(tài)時序工具中。 要注意的其他事項 根據(jù)具體設(shè)計的需要,設(shè)計工程師可能留意到靜態(tài)時序工具中的一些特殊功能。如前所述,異步時鐘域的自動識別及異步路徑消除功能可以較大地提高設(shè)計生產(chǎn)率。相似地,某些工具還支持對分頻時鐘、合并時鐘、門控時鐘和雙向鎖存的自動檢測和分析。如果要處理較復雜的內(nèi)核,并需要進行全芯片分析,那么內(nèi)核建模功能就比較重要??梢圆捎脴擞?Stamp)建模格式(Synopsys公司Tap-In許可項目的一部分)創(chuàng)建針對內(nèi)核與存儲器的黑盒時序模型,或直接引用波形建模工具如Timing Designer Pro中的模型。大規(guī)模設(shè)計可很好地得益于自動黑盒時序模型的參數(shù)提取,它能為前面經(jīng)過分析的設(shè)計模塊創(chuàng)建外部視圖。 高性能應用系統(tǒng)的設(shè)計人員應該進行獨立于抖動的抖動計算,其中所傳輸?shù)亩秳邮禽斎攵秳拥暮瘮?shù)。“what-if”分析功能允許設(shè)計工程師快速研究“臨時(on-the-fly)”變量,如:改變時鐘頻率和占空周期、改變節(jié)點或單元延遲或交換實例模型。如果設(shè)計通過了門、預充電單元或其它形式的非靜態(tài)CMOS邏輯,那么就需要應用集成化晶體管級分析功能,這些功能包括:門級推斷、故障路徑消除、正確時鐘傳播和溝道連接晶體管的分組。 設(shè)計工程師還應注意靜態(tài)時序工具中的其它幾個結(jié)構(gòu)特點??焖僭隽抗δ芸杉涌烊酒瑴y試的運行時間,并使設(shè)計變更時間由幾小時級降到幾秒。某些工具內(nèi)部支持可用于管理時序數(shù)據(jù)的基于節(jié)點的結(jié)構(gòu),而不支持面向路徑的數(shù)據(jù)結(jié)構(gòu)。路徑結(jié)構(gòu)會隨著設(shè)計規(guī)模呈指數(shù)變化,而基于節(jié)點的結(jié)構(gòu)變化幾乎是線性的。由于典型情況下基于節(jié)點的數(shù)據(jù)結(jié)構(gòu)所需要的再計算非常少,所以增量及“what-if”功能將得到進一步增強。 Focus Table中的大多數(shù)產(chǎn)品都采用了可視化功能以方便數(shù)據(jù)的解釋,包括用來突出問題區(qū)域的堆疊條狀圖、選定路徑圖生成、波形圖生成和2D熱圖。為了減小設(shè)計周期并使先進的制造工藝保持校正精度,向ASIC供應商尋求OLA與DCL庫接口的升級支持就越來越重要。 本文結(jié)論 由于半導體制造工藝尺寸的不斷縮小并且需要適應極小的物理特性,時序分析工具也必須適應這一趨勢。在150ns以下,交調(diào)噪聲耦合將成為延遲方程式中不可避免的一部分。更不幸的是,由交叉耦合引起的實際延遲影響基本上是動態(tài)的,包含了時間跳變窗口、抖動和方向性效應。除了電容耦合外,由于網(wǎng)絡(luò)靠得太近,還必須考慮感性耦合,這就需要增量電感提取功能、新的濾波與剪輯算法、以處理增量寄生數(shù)據(jù)的技術(shù)。 |