盡管在ic設計過程中針對不同部分可以選擇不同的eda工具,但物理驗證貫穿從版圖設計到流片整個過程,如果使用不同的物理驗證工具會引起前后不連續(xù),從而導致產生錯誤,使出帶推遲,而且在制造時也會出問題。本文討論使用不同物理驗證工具帶來的問題,并介紹如何加以解決。 隨著系統級芯片(soc)設計的普及,物理驗證成為半導體公司、代工廠、晶圓廠以及庫、ip和設計服務供應商之間進行數據傳遞的關鍵環(huán)節(jié),成功的soc元件集成取決于成功的物理驗證。很多公司傳統上支持兩種物理驗證工具流程,即交互式(單元/模塊)和批處理(大型模塊/全芯片)驗證工具,每個設計流程根據設計元件的類型和設計人員使用工具的方式而選擇不同的工具。 soc設計要求在交互式和批處理兩個階段都進行設計規(guī)則檢測(drc)和版圖與原理圖對照(lvs)物理驗證。在設計流程開始或在建立標準單元庫/模塊時候用交互式工具對小單元和模塊進行驗證,此時設計人員需要與版圖設計工具不斷地交換信息,然后開始驗證,在版圖設計環(huán)境中對結果進行調試,不用再做其它設置。在這個階段,版圖設計、驗證和調試結合得非常緊密,無論什么原因脫離版圖設計環(huán)境都會使流程出現偏差。 和上述情況相反,當設計規(guī)模超出交互式驗證工具的范圍,或者精度是頭等重要的時候,通常應用批處理工具。與交互式工具相比,批處理用戶需要更全面的命令和復雜處理模塊,為了實現最佳性能,批處理工具充分利用先進的驗證模塊,如分層檢查和多處理運行(很多單數據“線程”運行在多個處理器上)以縮短整個驗證的時間。 由于待處理數據量很大,驗證運行時間需要幾小時才能完成,正因為此,使用批處理工具的設計人員通常開始運行后就去執(zhí)行其它任務直到運行結束,然后再回過頭調試。批處理工具也可用作指定的簽出(sign-off)工具,確認芯片可以出帶并交付給晶圓廠或代工廠進行制造。 這種采用兩種驗證工具的驗證環(huán)境需要用到不同的規(guī)則文件,這些規(guī)則文件之間的不連續(xù)在單元和模塊進行全芯片集成時會引起嚴重的分歧,不連續(xù)還會導致制造問題。 兩種流程的差異 在不同流程內有兩種工具完成類似的微調任務,表面上看起來很好,但實際上這種環(huán)境很容易出問題。微調表明在每次改進驗證流程時,必須不斷校準每個工具才能得出相同的結果,這需要寶貴的時間和資源,并可能使流程更新推遲。 另外,應用兩種模型要求分別維護交互式和批處理物理驗證工具及其各自的規(guī)則文件,這種分離會在工具、規(guī)則文件和驗證結果之間產生差異。例如在批處理驗證期間發(fā)現一個交互式驗證漏過的單元設計錯誤,將會使整個物理驗證流程受到質疑。 如果出現“有的錯誤發(fā)現,有的錯誤漏掉”情況時,設計人員必須查明為什么會漏掉錯誤,以及在進行驗證之前要采取哪些行動。僅僅改正錯誤會對其他人員的設計部分造成不利影響,跟蹤這些差異需要多個設計人員和cad工程師共同參與,他們必須在一起確定下面的問題: 1. 在報告有錯誤時,交互式和批處理工具究竟哪個是正確的? 2. 誰應該“負責”或解決這個錯誤? 3. 工具之間為什么有差異? 4. 在今后設計中怎樣消除這些差異? 差異表明存在下列兩種情況之一,即交互式規(guī)則文件與代工廠標準批處理規(guī)則文件不同步,或者交互式工具不能為現代深亞微米工藝所需的復雜檢查進行編碼。 認識到差異并“承認”錯誤之后,設計人員必須對版圖進行修復,cad工程師則需要更新驗證流程。但如果錯誤是在庫單元或ip模塊里,設計人員可能無法隨意地更正或更改,這些模塊的修訂控制使得更新難于進行,而且外購的ip不能保證改變后仍然工作正常。解決這些問題不僅要耗用寶貴的cad資源,還會造成設計和出帶延遲,所以了解產生差異的原因是防止將來再次出現的關鍵(圖1)。
每個驗證工具都有自己的處理引擎和規(guī)則文件語法,處理引擎的工作方式差不多,但在性能上有很大差異。更多是為滿足速度要求的交互式驗證工具,可能不包括進行復雜檢查的批處理驗證能力,在很多情況下,某些規(guī)則不能針對交互式工具進行編碼,這樣在用批處理工具時就會有元件集成問題,這就是批處理模式下交互式工具驗證過的單元和模塊中還會發(fā)現錯誤的主要原因。 為交互式和批處理流程編寫的規(guī)則文件經過編碼后,再按代工廠或晶圓廠規(guī)定的規(guī)則文件規(guī)范去檢查錯誤,這些設計規(guī)則規(guī)范可以保證可制造性和最大產量。在半導體公司,規(guī)則文件是執(zhí)行規(guī)范,根據給定設計類型的性質,可以增加規(guī)則以進一步加大產量增強性能。創(chuàng)建和保持這些規(guī)則文件比較困難且





