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