Global Sources
電子工程專輯
 
電子工程專輯 > FPGA/PLD
 
 
FPGA/PLD  

關鍵路徑中的時序分析工具對設計成敗至關重要

上網時間: 2001年04月29日     打印版  Bookmark and Share  字型大小:  

關鍵字:時序分析工具  ASIC  FPGA  板級設計  電路時序管理 

過去,設計工程師常用計算器和草稿紙進行電路時序管理,或者借助於事件驅動時序模擬工具在無窮無盡的時序圖中用模擬向量組去尋找深藏不露的各種問題。靜態時序工具在不借助於模擬向量的條件下對所有的時序路徑進行錯誤分析,它們能處理百萬閘級的設計,分析速度比時序模擬工具快幾個數量級。本文將介紹應用於ASIC、FPGA和板級設計中的各種時序分析產品、工作原理、與動態模擬的差異。

Stephen E.Schulz

Dallas全球ASIC分部

德州儀器

sdean@cmp.com。

靜態時序分析技術的許多基本概念與動態模擬不同。首先,靜態工具沒有模擬周期之說,因此不存在按時間表發生的事件。靜態工具藉由路徑計算延遲的總和,並比較相對於預定義時鐘的延遲。它僅關注時序間的相對關係而不是評估邏輯功能。一旦靜態工具列舉出所有的邏輯一致的路徑,它就會以電子數據表的方式定位非間隙性錯誤(negative slack errors),無需用向量去啟動某個路徑。而動態時序模擬卻不能發現衝突,除非有一連串的向量集中顯示這種特殊情況,另外,靜態時序工具能自動引導用戶首先解決最關鍵的問題。

靜態時序工具可識別的時序故障數要比模擬多得多,包括:建立/保持和恢復/移除檢查(包括反向建立/保持);最小和最大跳變;時鐘脈衝寬度和時鐘畸變;門級時鐘的瞬時脈衝檢測;匯流排競爭與匯流排懸浮錯誤;不受約束的邏輯通道。另外,一些靜態時序工具還能計算藉由導通電晶體、傳輸門和雙向鎖存的延遲,並能自動對關鍵路徑、約束性衝突、非同步時鐘域和某些瓶頸邏輯進行識別與分類。

時序分析工具種類很多。Synopsys公司的Primetime和Mentor Graphics公司的SST Velocity主要用於全晶片的IC設計。晶片上的PVT(製程、電壓、溫度)參數、電晶體級分析和反向建立/保持的檢查在時序分析中非常重要,例如:Innoveda公司的Blast工具主要用於FPGA和板級設計,它可支援單層和多層板結構,能鏈接板級交叉耦合分析,並從Chronology公司的Timing Designer Pro引入模型。Cadence公司的Envisia工具和Magma公司的Blast工具可提供具備綜合與佈板技術的全晶片時序分析功能,兩家公司到目前為止尚未宣佈獨立的時序分析產品,但都重點提高在靜態時序分析功能上的魯棒性。Circuit Semantics公司可提供用於先進CMOS設計的多級時序分析工具。Ultima公司的Millennium工具和Silicon Metrics公司的Siliconsmart TSO工具能夠提高晶片級靜態時序工具的分析精密度,它們都屬於附屬工具。

Chronology公司的Timing Designer Pro和Synapticad公司的Waveformer Pro都是具有嵌入式靜態時序引擎的圖形化波形編輯器,主要用於交互式建模與分析。

靜態時序分析工具的基本概念

靜態時序工具首先要接受用戶輸入,然後分析網表並將單元映射進目標庫中。根據網表生成具有所有路徑的列表,然後基於不同的設計準則進行剪輯。由儲存單元或主要I/O引腳組成的每條路徑都包含有一個起點和一個終點,需要注意的是雙向鎖存有可能當作門或起點/終點處理。

接下來,由延遲引擎計算單元和互連值,並結合SDF時序數據或SPEF寄生數據進行“版圖設計後精密度分析”,或利用靜態線載模型進行“版圖設計預評估”,這些寄生數據可以是由RC樹(SPEF、DSPF、RSPF文件格式)細化或簡化而來,然後,時序驗証引擎計算相對於預定義時鐘域的間隙與約束衝突,輸出報表與多種可視工具可根據用戶要求將結果分類。

為了支援目前最複雜的設計,現代靜態時序工具提供了各種功能,首要要支援無約束的複雜時鐘域,一般來說,這些時鐘具有多頻率、多相位和多波形的特點。

另外,由於門控時鐘是低功率設計中的一種標準技術,因而確保恰當的時序波形邊沿就非常重要,它可確保時鐘門不產生崎變的邊沿。與其它時鐘沒有明確關係的非同步時鐘設計卻極具挑戰性。SST Velocity工具能夠自動識別非同步時鐘域並排除故障路徑,以便正確分析其他的同步邏輯。

某些數位設計包含有多周期路徑,其中過渡組合邏輯(intermediate combinational logic)採用多個時鐘。必須向工具標明多周期路徑,否則就會出現錯誤。與此類似,零周期路徑可定義兩個狀態器件之間的潛在競爭路徑條件;如果零周期路徑是有意安排的,它必須明確定義以避免保持衝突。所有的靜態時序工具必須支援重收斂扇出(reconvergent fanout),它能夠確保對真實的組合最小/最大延遲傳播值進行恰當的間隙分析(slack analysis)。模式分析功能允許用戶定義埠或引腳上的常量值,有效地將分析限定於特定的工作模式。在全晶片分析中,這個功能對於隔離故障區域或者藉由測試邏輯驗証時序非常有用。

某些時序分析工具可以用測試儀器作相容性檢查,以便把器件測試儀的約束條件恰當地加入到分析準則中。片上的PVT變量與相關最小/最大值分析在晶片級設計中變得越來越重要,這些技術允許用戶定義最壞情況下分析的下降因子(derating factor)或百分比,這樣可以解決環境變化引起的電晶體抖動率(slew rate)的變化。

時序分析工具的使用

在實際設計流程中如何才能充分發揮靜態時序分析工具的功能呢?使用方法會根據設計類別、所用的分類工具和許多其它因素的影響而出現很大差異,但我們可以給出典型流程中的通用方法。

用戶必須定義需要使用的目標庫、輸入網表、設計說明與特例、模組級時序說明與特例。雖然能夠增加額外的時序說明,但時序約束一般與邏輯綜合中採用的時序約束類似。對於等待隔離和等待利用門級時序模擬工具驗証的包含真實非同步邏輯的設計,建議創建能經受驗証檢驗的設計分割策略。

緊接著必須創建用於複雜單元的時序殼模型(timing shell model)如微處理器、記憶體、模擬電路模組和定制邏輯,這些模型一般根據列於數據表的規格或其它分析形式用手工方式創建。時序殼模型也能自動提取以用於藉由驗証的同步模組設計。某些靜態時序工具會創建自身的時序殼模型,或在交互波形建模過程中引入時序殼模型。

對於版圖設計前的時序,可以利用統計線載模型(statistical wire-load model)與綜合所用的模型進行相關後獲得。版圖設計後的分析要利用後端注釋數據,而傳統的後端注釋採用SDF時序文件(每個PVT變量對應一個文件)。

另外,有時也直接引入寄生RC數據以便利用內部延遲引擎計算時序延遲,某些工具支援DCL與/或OLA,可以用ASIC代工製程參數進行更精確的校正。要將DCL與/或OLA與後端注釋RC數據結合起來以優化精密度。當引入RC數據而非SDF文件時,只要單個文件就能支援所有的PVT變量。

許多時鐘域可以自動識別,然而,用戶必須定義每個時鐘的頻率、相位和波形,而導出時鐘也要在設置中定義。SST Velocity能自動識別導致非同步邏輯的非同步時鐘域和信號。在其它情況下,這些信號必須標識為故障路徑,並與其它邏輯上不可能成立的路徑一起從分析過程中清除出去。

典型情況下,用戶會在綜合後開始時序分析,需要注意的是靜態時序分析嵌入所有的綜合和時序驅動佈局底層規劃工具中。在綜合迭代和早期版圖設計過程中,用戶一般選擇標稱模式分析,然後在版圖設計後再切換到更徹底的最佳/最差情況分析。因此,為了使設計周期最小,這些工具應支援對最佳/最差情況的單通分析(single pass analysis)。時序分析一般從模組級開始向整個設計發展,無論設計是單個積體電路還是多系統板。

設計中的一些數據流路徑需要特別關注,利用模式分析可以避免分析不必要的路徑。這段分析時間內,內置的自測試邏輯必須關閉。在某些情況下,採用同步技術無法分析藉由所選模組的數據流,因此需要動態時序模擬。如果隔離恰當的話,在模擬容限內就能很好地處理這些問題。隨後生成的時序就能用來創建時序殼並整合回更高級的靜態分析中。

可以用大量的輸出結果對設計作出分析診斷。時序間隙報表(timing slack report)能快速確定故障區域,一般來說它還允許生成只包含受影響邏輯的原理圖。受約束衝突是另一類輸出結果,可以反映時鐘抖動、多周期路徑等。瓶頸分析可以識別許多衝突路徑的公共邏輯,指導設計工程師對優先級最高的單元進行修改。

具備嵌入式時序分析功能的波形建模工具所採用的方法多種多樣。一般情況下,用戶很少依賴這一階段的綜合結果,而是採用人工方式定義設計、專用模組或複雜核心的時序關係。通常用戶選擇電路中最關鍵的路徑用於波形建模,而不是窮舉設計中的每個電路節點,在這種情況下,這些工具將幫助用戶定義設計中的要求以及合法的約束,然後將結果輸出到其它靜態時序工具以進行窮舉分析。

其它工具,如Millennium、Siliconsmart TSO或Celtic是靜態時序分析的補充工具。Millennium可以接受詳細的RC數據,在幾小時內計算出幾百萬個RC單元的延遲,其SPICE精密度在5%之內。該工具還能進行先進的獨立於頻率的信號斜率建模,借助圖視功能進行全晶片時鐘抖動分析,還可以對匯流排與平行/三態驅動器進行精確分析,以及自動對重要路徑進行SPICE模型創建。它還能處理2D和3D網格(mesh)的互連拓樸,並支援完成分層和增量形式ECO。該工具最後還會輸出可用於下游的靜態時序分析的SDF和Synopsys設計約束文件。

Siliconsmart TS0是專用模型編譯器集,符合正在形成的OLA標準,能使門級靜態時序分析工具達到電晶體級的精密度。Siliconsmart TS0能產生整個電路的動態專用的工作點路徑延遲模型,並把他們鏈接到使用OLA建模介面的時序分析工具。這些路徑延遲模型能夠滿足單元與互連建模間不斷提高的非線性及複雜依賴關係。它不需要SDF文件,還可以在不降低精密度的條件下,把寄生數據壓縮幾個數量級。該工具可以排除靜態模型中常見的抖動延遲中15%至25%的錯誤,而且解決了IR降低和溫度變化對時序的影響。

Celtic則重點處理後佈局及噪音交叉耦合效應,因為它們百分之百地會影響實際時序延遲。該工具接受單元級網表,並耦合RC寄生、特徵化噪音庫和信號時序窗口及信號跳變的參數(可以從靜態時序分析引入)。Celtic利用這些資訊生成受損網路上峰值噪音的分類報表,並生成根據噪音調整過的SDF數據,該數據能回讀到靜態時序工具中。

要注意的其他事項

根據具體設計的需要,設計工程師可能留意到靜態時序工具中的一些特殊功能。如前所述,非同步時鐘域的自動識別及非同步路徑消除功能可以較大地提高設計生產率。相似地,某些工具還支援對分頻時鐘、合併時鐘、門控時鐘和雙向鎖存的自動檢測和分析。如果要處理較複雜的核心,並需要進行全晶片分析,那麼核心建模功能就比較重要。可以採用標記(Stamp)建模格式(Synopsys公司Tap-In許可項目的一部份)創建針對核心與記憶體的黑盒時序模型,或直接引用波形建模工具如Timing Designer Pro中的模型。大規模設計可很好地得益於自動黑盒時序模型的參數提取,它能為前面藉由分析的設計模組創建外部視圖。

高性能應用系統的設計人員應該進行獨立於抖動的抖動計算,其中所傳輸的抖動是輸入抖動的函數。“what-if”分析功能允許設計工程師快速研究“臨時(on-the-fly)”變量,如:改變時鐘頻率和占空周期、改變節點或單元延遲或交換實例模型。如果設計藉由了門、預充電單元或其它形式的非靜態CMOS邏輯,那麼就需要應用整合化電晶體級分析功能,這些功能包括:門級推斷、故障路徑消除、正確時鐘傳播和溝道連接電晶體的分組。

設計工程師還應注意靜態時序工具中的其它幾個結構特點。快速增量功能可加快全晶片測試的運行時間,並使設計變更時間由幾小時級降到幾秒。某些工具內部支援可用於管理時序數據的基於節點的結構,而不支援針對路徑的數據結構。路徑結構會隨著設計規模呈指數變化,而基於節點的結構變化幾乎是線性的。由於典型情況下基於節點的數據結構所需要的再計算非常少,所以增量及“what-if”功能將得到進一步增強。

Focus Table中的大多數產品都採用了可視化功能以方便數據的解釋,包括用來突出問題區域的堆疊條狀圖、選定路徑圖生成、波形圖生成和2D熱圖。為了減小設計周期並使先進的製造製程保持校正精密度,向ASIC供應商尋求OLA與DCL庫介面的升級支援就越來越重要。

本文結論

由於半導體製造製程尺寸的不斷縮小並且需要適應極小的物理特性,時序分析工具也必須適應這一趨勢。在150ns以下,交調噪音耦合將成為延遲方程式中不可避免的一部份。更不幸的是,由交叉耦合引起的實際延遲影響基本上是動態的,包含了時間跳變窗口、抖動和方向性效應。除了電容耦合外,由於網路靠得太近,還必須考慮感性耦合,這就需要增量電感提取功能、新的濾波與剪輯算法、以處理增量寄生數據的技術。

作者簡介:

Stephen E.Schulz是德州儀器公司Dallas全球ASIC分部的高級技術人員。現任VHDL International董事會成員,是系統級設計語言的主要發起人。





投票數:   加入我的最愛
我來評論 - 關鍵路徑中的時序分析工具對設計成敗至...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首