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