專利名稱:生成門級網(wǎng)表和標(biāo)準(zhǔn)延遲文件及檢查和糾正偽路徑的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及片上系統(tǒng)(SOC)后端設(shè)計,更具體地講,涉及在SOC后端設(shè)計過程中在前仿真階段生成標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表以及使用該標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表檢查和糾正偽路徑的方法。
背景技術(shù):
圖I是示出傳統(tǒng)的片上系統(tǒng)(SOC)后端設(shè)計流程的主要步驟。在步驟S1010,對用硬件描述語言(HDL)編寫的數(shù)字邏輯電路進(jìn)行綜合以生成門級網(wǎng)表。在該步驟中,可根據(jù)時序約束等條件,完成可綜合的寄存器傳輸級描述到綜合庫單 元之間的映射,從而將數(shù)字邏輯電路的硬件描述語言描述轉(zhuǎn)化為門級網(wǎng)表。在步驟S1020,對在步驟S1010生成的門級網(wǎng)表進(jìn)行SDC(synopsys designconstraint)清理(clean-up),從而獲得較為優(yōu)化的門級網(wǎng)表。下面將針對圖2來詳細(xì)描述SDC清理。應(yīng)該注意的是,這里使用SDC只是示例性的,本發(fā)明可使用其他集成電路邏輯綜合軟件進(jìn)行清理工作,為了描述簡便,下面的描述依然采用SDC。在步驟S1030,按照同步電路設(shè)計的要求,根據(jù)優(yōu)化的門級網(wǎng)表的拓?fù)浣Y(jié)構(gòu)對整個設(shè)計進(jìn)行前靜態(tài)時序分析。在對整個設(shè)計進(jìn)行靜態(tài)時序分析的過程中,基于同步電路的設(shè)計要求并根據(jù)門級網(wǎng)表的拓?fù)浣Y(jié)構(gòu)計算并檢查電路中每一個存儲器或鎖存器的建立(setup)時間和保持(hold)時間,以及其他基于路徑的時延要求是否得到滿足。靜態(tài)時序分析是集成電路開發(fā)流程中非常重要的一環(huán)。通過靜態(tài)時序分析,一方面可以了解到關(guān)鍵路徑的信息,分析關(guān)鍵路徑的時序;另一方面,還可以了解到電路節(jié)點的扇出情況和容性負(fù)載的大小。在步驟S1040,對設(shè)計的電路進(jìn)行布局布線前的功能仿真,也即前仿真。功能仿真是設(shè)計驗證的主要形式,從活動的內(nèi)容來分,功能仿真包括測試覆蓋率檢查和功能一致性檢查。代碼測試覆蓋率檢查常用電子設(shè)計自動化(EDA)工具來幫助完成??梢越y(tǒng)計當(dāng)一組測試用例作用于設(shè)計時各種各樣的測試覆蓋情況,利用這些數(shù)據(jù),設(shè)計者就可以用測試用例對設(shè)計的覆蓋情況有所了解,同時還可以確認(rèn)設(shè)計還有哪些功能沒有得到測試。這樣一方面可以幫助對測試功能覆蓋情況有一個量的認(rèn)識,而另一方面幫助發(fā)現(xiàn)冗余邏輯和設(shè)計錯誤;而功能一致性檢查的仿真手段有基于波形的仿真、基于對象轉(zhuǎn)換的仿真、基于行為級模型的比較仿真、軟硬件協(xié)同仿真和硬件加速仿真,這里一般使用軟硬件協(xié)同仿真。在步驟S1050,執(zhí)行布局和布線的步驟。布局被認(rèn)為是整個后端流程最關(guān)鍵的一步,布局首先是在滿足電路時序要求的條件下得到盡可能小的實現(xiàn)面積。其次,布局也是把整個設(shè)計劃分成多個便于控制的模塊。布局的內(nèi)容包括把單元或宏模塊擺放到合適的位置,其目的是為了最大限度地減小連線的RC延遲和布線的寄生電容效應(yīng)。此外,良好的布局還可以減小芯片面積和降低布線時出現(xiàn)擁塞現(xiàn)象的幾率。布線分為預(yù)布線和詳細(xì)布線兩個階段。進(jìn)行預(yù)布線時版圖工具把整個芯片劃分為多個較小的區(qū)域,布線器只是估算各個小區(qū)域的信號之間最短的連線長度,并以此來計算連線延遲,這個階段并沒有生成真正的版圖連線。在詳細(xì)布線階段,布線器根據(jù)預(yù)布線的結(jié)果和最新的時序約束條件生成真正的版圖連線。但是如果預(yù)布線的時間比布局運行的時間還要長,這就意味著布局的結(jié)果是失敗的,這時候就需要重新布局以減少布線的擁塞。布局布線完成之后,對根據(jù)布局布線的結(jié)果產(chǎn)生的電路網(wǎng)表分別在步驟S1060和S1070進(jìn)行后靜態(tài)時序分析和后仿真,從而有效地去除任何建立(setup)和保持(hold)沖
關(guān)。 在步驟S1080,根據(jù)后靜態(tài)時序分析和后仿真的結(jié)果,進(jìn)行布局和布線的工程變更(ECO, engineering change order)。具體地講,就是根據(jù)靜態(tài)時序分析的結(jié)果以及后仿真發(fā)現(xiàn)的問題或者是其他方面的改變,要求對芯片在布局布線階段進(jìn)行時序或者功能上的修正。圖I中,在SDC清理階段,我們需要改正SDC所有的語法以及由于SDC不完備帶來的與功能相關(guān)的問題,這主要依靠工程師對SDC進(jìn)行檢查并使用相關(guān)EDA工具對設(shè)計和SDC進(jìn)行分析來實現(xiàn),然后才能開始前靜態(tài)時序分析、前仿真、布局和布線、后靜態(tài)時序分析、后仿真和工程變更。如果SDC有與偽路徑(false path)相關(guān)的錯誤,并且在SDC清理階段沒有被發(fā)現(xiàn),那么只能通過后仿真來發(fā)現(xiàn),并在工程變更時改正。這將大大影響布局布線(layout)的生產(chǎn)周期。圖2示出了傳統(tǒng)的SDC清理方法。在圖2中,一般通過借助EDA工具來清理一致性問題、時鐘問題和語法問題;而由工程師來清理功能問題和以及一部分語法問題。雖然在SDC清理階段,可以通過一些專門的SDC EDA工具發(fā)現(xiàn)SDC的一些語法問題或者定義缺陷問題,但是對于SDC本身功能的正確性的問題,這些EDA工具是不能發(fā)現(xiàn)的。SDC是工程師基于對芯片功能模塊的理解完成的,由于各種原因,不可避免會產(chǎn)生一些錯誤,需要依靠人工去檢查和發(fā)現(xiàn)這些問題,可事實證明有些錯誤是很難依靠人工檢查出來。通常這些錯誤對布局布線的生產(chǎn)周期影響很大,特別是偽路徑定義的錯誤。由于錯誤地定義了偽路徑,在布局和布線時,布局布線工具將不會關(guān)心相互之間具有偽路徑的單元(cell)(也即下文中所指的對象(object)),這些單元的位置以及它們之間的時序不會被優(yōu)化。由此而帶來的問題,并不能通過靜態(tài)時序分析發(fā)現(xiàn);另外,前仿真階段也不能發(fā)現(xiàn),因為前仿真用的標(biāo)準(zhǔn)延遲文件(SDF)是不準(zhǔn)確的。這個潛在的問題只能在后仿真階段通過分析波形失配的原因才能找到。這個分析過程通常包括多次的后仿真驗證以及多次的工程變更,這將大大增加布局布線的生產(chǎn)周期。
發(fā)明內(nèi)容
由于傳統(tǒng)的設(shè)計流程中,如果偽路徑的設(shè)定出現(xiàn)了問題,布局布線工具將不會對路徑上單元的位置和時序進(jìn)行優(yōu)化,由此而帶來的實際時序問題是無法通過靜態(tài)時序分析來發(fā)現(xiàn)的,只能在后期的后仿真中通過分析失配的波形發(fā)現(xiàn)。這將大大影響芯片設(shè)計的生產(chǎn)周期,更有可能造成不可挽回的后果。本發(fā)明對包含from、to或through語句的偽路徑(即下面所述的純偽路徑)進(jìn)行分析,并通過對作為偽路徑的數(shù)據(jù)路徑上的偽時序弧(false timing arc)定義上升(rise)和下降(false)延遲,繼而生成SDF文件和修改的門級網(wǎng)表,然后用這個SDF文件和修改的門級網(wǎng)表進(jìn)行仿真以檢查偽路徑的設(shè)定的正確性。
這樣就可以在布局布線之前發(fā)現(xiàn)偽路徑中嚴(yán)重的問題,雖然這樣的檢查會花費一些時間,但是如果錯誤的偽路徑問題在后仿真中發(fā)現(xiàn)的話,耗費的時間將會更多,甚至可能需要重新進(jìn)行布局布線。對rise或fall選項的偽路徑,考慮到布局布線工具并不是完全放棄優(yōu)化以及這種誤設(shè)的偽路徑影響的有限性,本發(fā)明不做檢查分析。根據(jù)本發(fā)明的一方面,提供了一種在前仿真階段生成標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表的方法,所述方法包括獲得所有偽路徑;針對所有偽路徑中的每一個偽路徑,執(zhí)行下述操作得到該偽路徑上的每個對象的所有扇入和扇出,分析所述扇入和扇出上是否已經(jīng)存在延遲點,如果存在延遲點,則不再對該偽路徑定義延遲點;如果所述扇入和扇出上不存在延遲點,則根據(jù)所述扇入和扇出之間的時序弧的類型定義延遲點;對找到延遲點的偽路徑定義延遲值并寫出標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表 。根據(jù)本發(fā)明的另一方面,根據(jù)所述扇入和扇出之間的時序弧的類型定義延遲點的步驟可包括判斷所述扇入和扇出之間的時序弧的類型;如果所述扇入和扇出之間的時序弧的類型屬于類型I至類型VII,則根據(jù)所述扇入和扇出之間的時序弧的類型定義延遲點;如果所述扇入扇出之間的時序弧的類型屬于類型VIII,則通過執(zhí)行下述操作來定義延遲點復(fù)制所述扇入和扇出連接的對象,將所述扇入和扇出之間的時序弧轉(zhuǎn)換成類型I VII,在不改變電路邏輯的基礎(chǔ)上修改門級網(wǎng)表,并根據(jù)復(fù)制對象之后形成的扇入和扇出之間的時序弧的類型定義延遲點;如果所述扇入和扇出之間的時序弧的類型屬于類型IX,并通過執(zhí)行下述操作來定義延遲點將所述對象與所述對象所在偽路徑上的上一級或下一級的對象進(jìn)行合并以產(chǎn)生新的對象和與所述新的對象相應(yīng)的扇入和扇出,從而將與所述新的對象相應(yīng)的扇入和扇出之間的時序弧的類型轉(zhuǎn)換為類型I至類型VIII以定義延遲點。根據(jù)本發(fā)明的另一方面,在將所述對象與所述對象所在偽路徑上的上一級或下一級對象進(jìn)行合并以產(chǎn)生新的對象和與所述新的對象相應(yīng)的扇入和扇出的操作中,如果與所述新的對象相應(yīng)的扇入和扇出之間的時序弧的類型仍然不屬于類型I至類型VIII,則增加合并級數(shù)以將所述新的對象與所述新的對象的上一級或下一級的對象再進(jìn)行合并,其中,合并級數(shù)小于等于設(shè)定的合并級數(shù)限制。根據(jù)本發(fā)明的另一方面,如果合并級數(shù)大于合并級數(shù)限制,則放棄對該偽路徑的分析。根據(jù)本發(fā)明的另一方面,所述方法還可包括報告沒有找到延遲點的偽路徑以對沒有找到延遲點的偽路徑進(jìn)行人工分析。根據(jù)本發(fā)明的另一方面,對偽路徑定義延遲點的操作可包括在偽路徑的延遲點處定義上升和下降延遲。根據(jù)本發(fā)明的另一方面,可以按下述方式對扇入和扇出之間的時序弧的類型進(jìn)行劃分,并相應(yīng)地定義延遲點,其中,m表示偽路徑上的對象的扇入的個數(shù),η表示所述對象的扇出的個數(shù),P為大于等于I并且小于m的自然數(shù),q為大于等于I并且小于η的自然數(shù),s為大于等于I并且小于等于m的自然數(shù),t為大于等于I并且小于等于η的自然數(shù);類型I滿足條件只有I個扇入和I個扇出的偽時序弧;在這種情況下,將延遲點定義在該對象的扇入或扇出;類型II滿足條件:m> I且η = 1,并且有ρ個扇入到該扇出是偽時序弧;在這種情況下,將延遲點定義在該對象的有偽時序弧的所述P個扇入處;類型III滿足條件m> I且η = I,并且該對象的所有的扇入到扇出都是偽時序?。辉谶@種情況下,將延遲點定義在該對象的扇出處;類型IV滿足條件:m = Ι,η > 1,并且該扇入到q個扇出是偽時序??;在這種情況下,將延遲點定義在該對象的有偽時序弧的所述q個扇出處;類型V滿足條件:m = I,η > 1,并且該扇入到所有扇出都是偽時序弧;在這種情況下,將延遲點定義在對象的扇入處;類型VI滿足條件:m> 1,η > 1,并且所有扇入到q個扇出是偽時序弧;在這種情況下,將延遲點定義在對象的有偽時序弧的所述q個扇出處;類型VII滿足條件:m >l,n> 1,并且有ρ個扇入到所有扇出都是偽時序?。辉谶@種情況下,將延遲點定義在對象的有偽時序弧的所述P個扇入處;類型VIII滿足條件:m > l,n > 1,有s個扇入到t個扇出是偽時序弧,并且任意扇入到任意扇出是偽時序弧或真時序??;在這種情況下,通過復(fù)制對象轉(zhuǎn)換成類型I至類型VII以對延遲點進(jìn)行定義,并相應(yīng)地修改門級網(wǎng)表;如果扇入和扇出之間的時序弧的類型不屬于類型I至類型VIII,則將所述扇入和扇出之間的時序弧的類型定義為類型IX。
根據(jù)本發(fā)明的另一方面,所述方法還可包括使用標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表進(jìn)行前仿真。根據(jù)本發(fā)明的另一方面,如果前仿真的結(jié)果與預(yù)期的結(jié)果不一致,則對門級網(wǎng)表進(jìn)行清理以優(yōu)化門級網(wǎng)表并再次進(jìn)行前仿真。根據(jù)本發(fā)明的另一方面,所述偽路徑可以為包含from、to或through語句的純偽路徑。根據(jù)本發(fā)明的另一方面,提供了一種在前仿真階段檢查和糾正偽路徑的方法,所述方法包括對用硬件描述語言編寫的數(shù)字邏輯電路進(jìn)行綜合以生成門級網(wǎng)表;對門級網(wǎng)表進(jìn)行清理從而獲得優(yōu)化的門級網(wǎng)表;根據(jù)優(yōu)化的門級網(wǎng)表的拓?fù)浣Y(jié)構(gòu)進(jìn)行前靜態(tài)時序分析;生成標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表;使用標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表進(jìn)行前仿真;如果仿真的結(jié)果與預(yù)期的結(jié)果不一致,則返回對門級網(wǎng)表進(jìn)行清理的步驟以對修改的門級網(wǎng)表進(jìn)行清理。根據(jù)本發(fā)明的另一方面,所述方法還可包括如果前仿真的結(jié)果與預(yù)期的結(jié)果一致,則進(jìn)行下面的步驟進(jìn)行布局和布線;對根據(jù)布局布線的結(jié)果產(chǎn)生的電路網(wǎng)表進(jìn)行后靜態(tài)時序分析和后仿真;根據(jù)后靜態(tài)時序分析和后仿真的結(jié)果,進(jìn)行布局和布線的工程變更。
下面結(jié)合附圖和實施例對本發(fā)明進(jìn)一步說明。圖I是傳統(tǒng)的SOC后端設(shè)計的流程圖。圖2是傳統(tǒng)的SDC清理的方法。圖3是根據(jù)本發(fā)明示例性實施例的SOC后端設(shè)計的流程圖。圖4是根據(jù)本發(fā)明示例性實施例的生成SDF和修改的門級網(wǎng)表的詳細(xì)流程圖。圖5是根據(jù)本發(fā)明示例性實施例的偽路徑中的某個對象的示意圖。圖6A至圖6C是根據(jù)本發(fā)明示例性實施例的對類型I添加延遲的方式。圖7A和圖7B是根據(jù)本發(fā)明示例性實施例的對類型II添加延遲的方式。圖8A和圖8B是根據(jù)本發(fā)明示例性實施例的對類型III添加延遲的方式。
圖9A和圖9B是根據(jù)本發(fā)明示例性實施例的對類型IV添加延遲的方式。圖IOA和圖IOB是根據(jù)本發(fā)明示例性實施例的對類型V添加延遲的方式。圖IlA和圖IlB是根據(jù)本發(fā)明示例性實施例的對類型VI添加延遲的方式。圖12A和圖12B是根據(jù)本發(fā)明示例性實施例的對類型VII添加延遲的方式。圖13A和圖13B是根據(jù)本發(fā)明示例性實施例的對類型VIII添加延遲的方式。圖14A和圖14B是根據(jù)本發(fā)明示例性實施例的將類型IX轉(zhuǎn)換為類型VIII的示例。圖15示出根據(jù)本發(fā)明示例性實施例的對圖14B中轉(zhuǎn)換的類型VIII添加延遲的方 式。
具體實施例方式下面結(jié)合附圖進(jìn)一步說明本發(fā)明的具體實施方式
。圖3是根據(jù)本發(fā)明示例性實施例的SOC后端設(shè)計的流程圖。如圖3所示,根據(jù)本發(fā)明示例性實施例的SOC后端設(shè)計的流程包括下述步驟綜合(S3010)、SDC清理(S3020)、前靜態(tài)時序分析(S3030)、生成SDF和修改的門級網(wǎng)表(3040)、使用SDF和修改的門級網(wǎng)表進(jìn)行前仿真(S3050)、判斷前仿真結(jié)果是否與預(yù)期結(jié)果不匹配(S3060)、布局和布線(S3070)、后靜態(tài)時序仿真(S3080)、后仿真(S3090)和工程變更(S3100)。在步驟S3060中,如果判斷出前仿真結(jié)果與預(yù)期結(jié)果不匹配,也即,如果前仿真結(jié)果與預(yù)期結(jié)果不一致,則步驟返回S3020以進(jìn)行SDC清理操作;如果前仿真結(jié)果與預(yù)期結(jié)果一致,則進(jìn)行步驟S3070的布局和布線。與圖I相比,圖3的流程在圖I所示的流程的基礎(chǔ)上增加了生成SDF和修改的門級網(wǎng)表的步驟(S3040),以及偽路徑正確性檢查的步驟(S3060)。圖4示出根據(jù)本發(fā)明示例性實施例的圖3的生成SDF和修改的門級網(wǎng)表的具體步驟。圖4是與圖3中的步驟S3040相應(yīng)的生成SDF和修改的門級網(wǎng)表的詳細(xì)流程圖,其中,生成SDF和修改的門級網(wǎng)表是本發(fā)明的關(guān)鍵部分。在該處理中,先找數(shù)據(jù)路徑中的偽時序弧,然后對數(shù)據(jù)路徑上的其中一個偽時序弧定義大的上升(rise)和下降(fall)延遲。下面將針對圖4來描述生成SDF和修改的門級網(wǎng)表的具體步驟。在步驟S4010,首先得到所有純偽路徑(即包含from、to或through等語句的偽路徑,不考慮上升/下降單獨的情況),為了描述簡便,下面將其簡稱為偽路徑。在步驟S4020,選擇其中的一個偽路徑。在步驟S4030,得到該偽路徑上的對象(也即單元)的所有數(shù)據(jù)路徑點(datapath point)(即數(shù)據(jù)路徑上的單元管腳(cell pin)或端口(port),即下面所述的扇入和扇出)。在步驟S4040,判斷這些扇入和扇出上是否已經(jīng)存在延遲點了,如果存在延遲點,則不需要再定義延遲點,也就是說該數(shù)據(jù)路徑已經(jīng)被分析了,處理流程直接轉(zhuǎn)向步驟S4070。如果不存在延遲點,則在步驟S4050中先判斷這些扇入和扇出之間的時序弧是否屬于類型I VII (將在下面對包括類型I-IX的各種類型進(jìn)行定義),如果是,則在步驟S4060中根據(jù)這些扇入和扇出之間的時序弧的類型定義延遲點,此時不需要修改門級網(wǎng)表。
如果這些扇入和扇出之間的時序弧不屬于類型I VII,則在步驟S4110中首先判斷這些扇入和扇出之間的時序弧是否屬于類型VIII,如果這些扇入和扇出之間的時序弧屬于類型VIII,則在步驟S4120中復(fù)制對象并將這些扇入和扇出之間的時序弧轉(zhuǎn)換成類型I VII (如圖13A和圖13B所示),并在步驟S4130中修改門級網(wǎng)表后,在步驟S4140中定義延遲點,然后步驟轉(zhuǎn)向S4070。如果在步驟S4110中判斷出這些扇入和扇出之間的時序弧不屬于類型VIII,即無法通過復(fù)制對象將扇入和扇出之間的時序弧轉(zhuǎn)換成類型I VII,則可以將這些扇入和扇出之間的時序弧統(tǒng)一歸并為類型IX,對這一類型的扇入和扇出之間的時序弧的處理主要是通過設(shè)定合并級數(shù)限制(合并級數(shù)限制為大于等于2的自然數(shù),考慮到復(fù)雜性以及時效性等問題,一般將合并級數(shù)限制設(shè)定為3),將對象的第i (其中,i小于等于合并級數(shù)限制)合并級數(shù)內(nèi)的對象進(jìn)行合并(即,將對象與該對象所在偽路徑上的上一級對象合并或者與該對象所在的偽路徑上的下一級對象合并),從而轉(zhuǎn)換成一個大的對象,如果這個大的對象的扇入和扇出之間的時序弧不可以轉(zhuǎn)換成類型I VIII,那么再增加合并級數(shù),如果在合 并級數(shù)限制內(nèi)轉(zhuǎn)換成了 I VIII,則問題得到解決;反之,放棄分析,進(jìn)行下一個偽路徑分析,將這個沒找到延遲點的偽路徑最后進(jìn)行報告(具體請參見圖14A、圖14B和圖15以及下面關(guān)于類型IX的描述)。具體地講,如果判斷出這些扇入和扇出之間的時序弧不屬于類型VIII,則在步驟S4150,增加合并級數(shù);然后在步驟S4160中判斷合并級數(shù)是否超過了合并級數(shù)限制。如果合并級數(shù)沒有超過合并級數(shù)限制,則在步驟S4170合并對象并判斷合并的對象的扇入和扇出之間的時序弧是否屬于類型I-VIII ;如果合并的對象的扇入和扇出之間的時序弧屬于類型I-VIII,則在步驟4180,將這些扇入和扇出之間的時序弧改變成I-VIII類型中的一個,然后,處理轉(zhuǎn)向步驟S4050。如果在步驟S4170中合并的對象的扇入和扇出之間的時序弧不屬于類型I-VIII,則返回步驟S4150繼續(xù)增加合并級數(shù)。另外,如果在步驟S4160中判斷出超過了合并級數(shù)限制,則處理轉(zhuǎn)到步驟S4070。在步驟S4070中,判斷是否對所有的偽路徑都進(jìn)行了延遲點的分析,其中,可能會有針對某條偽路徑?jīng)]有找到合適的延遲點的情況。在步驟S4080中,報告那些沒有找到延遲點的偽路徑,然后在步驟S4190對這些偽路徑進(jìn)行人工分析。在步驟S4090中,對找到延遲點的偽路徑,定義延遲值(delay value)。然后在步驟S4100,寫出SDF和修改的門級網(wǎng)表,在步驟S4200中用所述SDF和修改的門級網(wǎng)表進(jìn)行前仿真(對應(yīng)于圖3的S3050)。這里,如果前仿真的結(jié)果與預(yù)期結(jié)果一致,則證明圖4流程中找到的延遲點的偽路徑的設(shè)定沒有問題(沒找到延遲點的偽路徑要進(jìn)行人工分析),如果前仿真的結(jié)果與預(yù)期結(jié)果不一致,說明延遲點的延遲導(dǎo)致前仿真失敗,這時要檢查偽路徑的設(shè)定是否出了問題。根據(jù)扇入和扇出之間的時序弧不同,本發(fā)明把對象的扇入和扇出之間的時序弧(timing arc)分成9種類型,分別是I IX。其中I VII類型都可以直接在該對象的扇入或扇出上找到延遲點,VIII、IX類型不能直接找到延遲點,需要通過在不改變電路邏輯的基礎(chǔ)上修改門級網(wǎng)表,將VIII、IX類型轉(zhuǎn)換成I VII類型來找到延遲點。圖5是偽路徑中的某個對象,I1. . . Im為該對象的扇入,O1. . . On為該對象的扇出。本發(fā)明的關(guān)鍵就是在偽路徑上選擇合適的延遲點對其定義大的上升和下降延遲。下面對數(shù)據(jù)路徑做出相關(guān)定義,把數(shù)據(jù)路徑上的每個對象的時序弧抽象成數(shù)學(xué)表達(dá)式。如果某條數(shù)據(jù)路徑是偽路徑,則不需要關(guān)心這條數(shù)據(jù)路徑的時序,布局布線的時候也不會進(jìn)行優(yōu)化。因此,我們給這條數(shù)據(jù)路徑增加延遲,然后進(jìn)行仿真,如果仿真結(jié)果與預(yù)期結(jié)果一致,說明該數(shù)據(jù)路徑的確是偽路徑。圖3和圖4所描述的流程正是基于這個原理來進(jìn)行的。但是,需要克服的問題是每條數(shù)據(jù)路徑上的對象或端口通常都是被很多數(shù)據(jù)路徑共用,如果輕易地增加了延遲,勢必會導(dǎo)致一些真路徑(true path)也增加了延遲,因此必須保證增加延遲的位置不會影響真路徑。為了解決這個問題,根據(jù)本發(fā)明示例性實施例,根據(jù)數(shù)據(jù)路徑上的對象的扇入和扇出之間的時序弧為真/假的情況(其中,如果扇入和扇出之間的時序弧為真,則該時序弧為真時序弧(true timing arc);如果所述扇入和扇出之間的時序弧為假,則該時序弧為偽時序弧),歸納出9種類型逐一 進(jìn)行分析,以找出合適的插延遲的位置,也即定義延遲點。為描述方便,這里約定Fd1, I2,..., Iffl)為某個對象的所有扇入到所有扇出之間的時序弧,其中,輸入點(即扇入)的個數(shù)為m個,m大于等于I ;MIi)為從Ii到所有扇出的偽時序弧,t (Ii)為從Ii到所有扇出的真時序弧,其中,i為大于等于I小于等于m的自然數(shù);Ii^Oj表示從Ii到Oj的真時序弧,I/ *0」表示從Ii到Oj的偽時序弧,延遲點在Ii處,其中,假設(shè)所有扇出的個數(shù)為η (η為大于等于I的自然數(shù)),j為大于等于I小于等于η的自然數(shù);Ii5K)/表示從Ii到Oj的偽時序弧,延遲點在Oj處;I/ *0」=Ii5K)/,表示的是同一個偽時序弧,只是延遲點位置不一樣,但對這個偽時序弧來說效果一樣。綜上所示,可以定義F(IlJ2^iIm) = Y4 (JVi) + KIi))
/=1下面將針對圖4中提到的各種類型進(jìn)行描述,這里,m表示對象的扇入的個數(shù),η表示對象的扇出的個數(shù)。類型I該類型滿足條件只有I個扇入,I個扇出的偽時序弧,其示例如圖6Α所示的對象中,F(xiàn)(I1) = f (I1)^(I1) = I/ ^O1 = I3O/。這種情況延遲加在對象的扇入或扇出,不會影響真路徑(true path),如圖6B和圖6C所示,其中,由實心三角形標(biāo)記的扇入或扇出表示在該處定義了延遲點,即在該處定義上升和下降延遲。類型II該類型滿足條件:m> Ι,η = 1,并且有P (其中,I ^ p < m)個扇入到該扇出是偽時序弧,其不例如圖 7A 所不的對象中,F(xiàn)(I1,12,13) = f (I1) +t (I1) +f (I2) + t (I2) +f (I3) +t (I3)=(Ii+I^+I/hOi。在這種情況下,將延遲點定義在對象的有偽時序弧的所述P個扇入處,如圖7B所示。類型III
類型III是類型II的特殊情況,該類型滿足條件所有的扇入到這個扇出都是偽時序弧,其不例如圖 8A 所不的對象中,F(xiàn) (I1, I2, I3) = f (I1)+t (I1)+f (I2)+t (I2)+f (I3)+t (I3) = (L+I2+I3)5liO1 ’。此時,將延遲點定義在該對象的扇出處,其示例如圖8B所示。類型IV 該類型滿足條件:m = Ι,η > I,并且所述扇入到q(其中,I彡q < η)個扇出是偽時序弧,其示例如圖9Α所示的對象中,F(xiàn)(I1) = f (I1)^(I1) = 13((^+0/+0/)。這種情況下,將延遲點定義在對象的有偽時序弧的所述q個扇出處,其示例如圖9B所示。類型V 類型V是類型IV的特殊情況,其中,一個扇入到所有扇出都是偽時序弧,其示例如圖IOA所示的對象中,F(I1) = f (I1)^(I1) = I/=KO^(VK)3)。在這種情況下,將延遲點定義在對象的有偽時序弧的扇入處,其示例如圖IOB所示。 類型VI 該類型滿足條件:m > 1,η > 1,并且所有扇入到q(其中,I彡q < η)個扇出是偽時序弧,其示例如圖IlA所示的對象中,F(xiàn)d1, I2) = f (I1)^(I1)+f (I2)+t (I2)=(1^)^(0^0/ +O3,)。在這種情況下,將延遲點定義在對象的有偽時序弧的所述q個扇出處,其示例如圖IlB所示。類型VII:該類型滿足條件:m > I, η > I,并且ρ(其中,I彡ρ < m)個扇入到所有扇出都是偽時序弧,其示例如圖12A所示的對象中,F(xiàn)d1, I2) = f (I1Htd1Hf (I2)+t (I2)=(I/ +I2)*(OJOdO3)。在這種情況下,將延遲點定義在對象的有偽時序弧的所述P個扇入處,其示例如圖12B所示。類型VII I:該類型滿足條件m > Ι,η > Ι,ρ (其中,I ^ p ^ m)個扇入到q(其中,I < q < η)個扇出是偽時序弧,并且任意扇入到任意扇出是偽時序弧或真時序弧,其示例如圖13Α所
/Jn ο此時,類型VIII可以通過表達(dá)式化簡和復(fù)制對象轉(zhuǎn)化成類型I至類型VII,根據(jù)合并項的個數(shù)k修改門級網(wǎng)表,即根據(jù)合并項的個數(shù)k將對象復(fù)制k-Ι次,其示例如圖13B所示。在圖13A中,假設(shè)Il到01是偽時序弧,12到01是偽時序弧,13到02以及13到03是偽時序弧。針對圖13A所示的這種情況,可以用上面定義的表達(dá)式表達(dá)為f (I1) = I/ 5I=O1 f (I2) = 12,*0! f (I3) = 13,*(02+03)t (I1) = I1* (02+03) t (I2) = I2*(02+03) t (I3) = I3^O1F (I1, I2, I3) = f (I1) +t (I1) +f (I2) +t (I2) +f (I3) +t (I3)= (I1, +I2, +I3)5I=O1+(IfI2+]^, )*02+(IfI2+]^, )*03= (I1, +I2, +I3)5I=O1+(IfI2+]^ )*(02+03)從上面的表達(dá)式可以看出,化簡后的表達(dá)式得到2個合并項,說明對象被復(fù)制2-1=I次。因此,可以將圖13A轉(zhuǎn)化為圖13B所示的形式。實心三角形為延遲所加位置,即延遲點。圖13B的實心與門表示復(fù)制的對象。不屬于上述類型的扇入和扇出之間的時序弧均可歸并為類型IX。類型IX可以說是類型VIII的變形。在這種類型中,m> Ι,η > 1,ρ(其中,I彡ρ彡m)個扇入到q(其中,l^q^n)個扇出可以是偽時序弧也可以真時序弧,出現(xiàn)偽時序弧和真時序弧重疊的情況,其示例如圖14A所示。類型IX不可以通過表達(dá)式化簡和復(fù)制對象以轉(zhuǎn)化成類型I至類型VII,而需要將對象與其所在偽路徑上的上一級或下一級的對象合并后成為一個新的對象,然后才可以轉(zhuǎn)化成類型I至類型VIII,其示例如圖14B所示。如果通過一次合并后還是類型IX,則可以繼續(xù)進(jìn)行合并操作。在圖14A中,如果對象(此處為與門)的II、12、13到01的偽時序弧和真時序弧
無法分離(split),則將對象和其下一級的對象(或門)合并,于是新的對象就具有11、12、
13、14四個扇入和01、02、03三個扇出。此時,如果Il到01是偽時序弧,12到01是偽時序弧,13到02和03是偽時序弧,14到02是偽時序弧,從而轉(zhuǎn)化成類型VIII,如圖14B所
/Jn ο下面的表達(dá)式表示合并后的扇入和扇出之間的時序弧。f (I1) = I/ *0if (I2) = 12,*〇1t (I1) = I1* (02+03) t (I2) = 12*(02+03)f (I3) = I/ *(02+03) f (I4) = I4,*02t (I3) = I3*〇1 t (I4) = I4* (Oi+Og)那么,F(xiàn)(I1;12,13,I4)可以表達(dá)為F (I1, I2, I3, I4) = f (I1)+t (I1)+f (I2)+t (I2)+f (I3)+t (I3)+f (I4)+t (I4) = (I1 , +I2 , +I3+I4) 5I=O1+ (Ii + Ig+Ig,+I4,)*02+ (Ii + Ig+Ig,+I4) *03從而可將圖14A所示的形式變換為圖15所示形式。根據(jù)上面的定義,可知每個類型都有自己的表達(dá)式,表達(dá)式和對象的連接方式是等同的可相互轉(zhuǎn)化的。本發(fā)明正是基于偽路徑本身的特性,即設(shè)成偽路徑的數(shù)據(jù)路徑是不存在時序要求的,體現(xiàn)在物理實現(xiàn)上就是這條數(shù)據(jù)路徑的時序不會被優(yōu)化,單元的位置也不會被考量。因此我們有理由認(rèn)為這樣的偽路徑可以有很大的延遲,但是不會影響電路的功能。借助這一點,我們可以人為的選取偽路徑上的偽時序弧,增加一定的延遲,然后寫出SDF以進(jìn)行前仿真,如果經(jīng)過仿真后發(fā)現(xiàn)由于大的延遲的增加導(dǎo)致仿真失敗,這就說明偽路徑的設(shè)定有問題;如果通過了相關(guān)的仿真驗證,說明偽路徑的設(shè)定沒有問題。由于傳統(tǒng)的SOC后端設(shè)計流程中,如果偽路徑的設(shè)定出現(xiàn)了問題,布局布線工具將不會對路徑上單元的位置和時序進(jìn)行優(yōu)化,由此而帶來的實際時序問題是無法通過靜態(tài)時序分析發(fā)現(xiàn)的,只能在后期的后仿真中通過分析失配的波形發(fā)現(xiàn)。這將大大影響芯片設(shè)計的生產(chǎn)周期,更有可能造成不可挽回的后果。本發(fā)明對偽路徑中from、to、through的情況進(jìn)行分析,并通過對作為偽路徑的數(shù)據(jù)路徑上的偽時序弧定義上升和下降延遲,繼而生成SDF和修改的門級網(wǎng)表,然后用這個SDF和修改的門級網(wǎng)表進(jìn)行仿真以檢查偽路徑的設(shè)定的正確性,從而可以在布局布線之前發(fā)現(xiàn)偽路徑中嚴(yán)重的問題,以節(jié)省布局布線的生產(chǎn)周期并避免重新進(jìn)行布局布線。
權(quán)利要求
1.一種在前仿真階段生成標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表的方法,所述方法包括 獲得所有偽路徑; 針對所有偽路徑中的每一個偽路徑,執(zhí)行下述操作得到該偽路徑上的每個對象的所有扇入和扇出,分析所述扇入和扇出上是否已經(jīng)存在延遲點,如果存在延遲點,則不再對該偽路徑定義延遲點;如果所述扇入和扇出上不存在延遲點,則根據(jù)所述扇入和扇出之間的時序弧的類型定義延遲點; 對找到延遲點的偽路徑定義延遲值并寫出標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表。
2.如權(quán)利要求I所述的方法,其中,根據(jù)所述扇入和扇出之間的時序弧的類型定義延遲點的步驟包括 判斷所述扇入和扇出之間的時序弧的類型; 如果所述扇入和扇出之間的時序弧的類型屬于類型I至類型VII,則根據(jù)所述扇入和扇出之間的時序弧的類型定義延遲點; 如果所述扇入扇出之間的時序弧的類型屬于類型VIII,則通過執(zhí)行下述操作來定義延遲點復(fù)制所述扇入和扇出連接的對象,將所述扇入和扇出之間的時序弧轉(zhuǎn)換成類型I VII,在不改變電路邏輯的基礎(chǔ)上修改門級網(wǎng)表,并根據(jù)復(fù)制對象之后形成的扇入和扇出之間的時序弧的類型定義延遲點; 如果所述扇入和扇出之間的時序弧的類型屬于類型IX,并通過執(zhí)行下述操作來定義延遲點將所述對象與所述對象所在偽路徑上的上一級或下一級的對象進(jìn)行合并以產(chǎn)生新的對象和與所述新的對象相應(yīng)的扇入和扇出,從而將與所述新的對象相應(yīng)的扇入和扇出之間的時序弧的類型轉(zhuǎn)換為類型I至類型VIII以定義延遲點。
3.如權(quán)利要求2所述的方法,其中,在將所述對象與所述對象所在偽路徑上的上一級或下一級對象進(jìn)行合并以產(chǎn)生新的對象和與所述新的對象相應(yīng)的扇入和扇出的操作中,如果與所述新的對象相應(yīng)的扇入和扇出之間的時序弧的類型仍然不屬于類型I至類型VIII,則增加合并級數(shù)以將所述新的對象與所述新的對象的上一級或下一級的對象再進(jìn)行合并,其中,合并級數(shù)小于等于設(shè)定的合并級數(shù)限制。
4.如權(quán)利要求3所述的方法,其中,如果合并級數(shù)大于合并級數(shù)限制,則放棄對該偽路徑的分析。
5.如權(quán)利要求I所述的方法,還包括 報告沒有找到延遲點的偽路徑以對沒有找到延遲點的偽路徑進(jìn)行人工分析。
6.如權(quán)利要求I所述的方法,其中,對偽路徑定義延遲點的操作包括在偽路徑的延遲點處定義上升和下降延遲。
7.如權(quán)利要求2所述的方法,其中,按下述方式對扇入和扇出之間的時序弧的類型進(jìn)行劃分,并相應(yīng)地定義延遲點,其中,m表示偽路徑上的對象的扇入的個數(shù),η表示所述對象的扇出的個數(shù),P為大于等于I并且小于m的自然數(shù),q為大于等于I并且小于η的自然數(shù),s為大于等于I并且小于等于m的自然數(shù),t為大于等于I并且小于等于η的自然數(shù); 類型I滿足條件只有I個扇入和I個扇出的偽時序??;在這種情況下,將延遲點定義在該對象的扇入或扇出; 類型II滿足條件:m > I且η = 1,并且有ρ個扇入到該扇出是偽時序??;在這種情況下,將延遲點定義在該對象的有偽時序弧的所述P個扇入處;類型III滿足條件:m> I且η = 1,并且該對象的所有的扇入到扇出都是偽時序弧;在這種情況下,將延遲點定義在該對象的扇出處; 類型IV滿足條件:m = 1,η > 1,并且該扇入到q個扇出是偽時序弧;在這種情況下,將延遲點定義在該對象的有偽時序弧的所述q個扇出處; 類型V滿足條件m = Ι,η > 1,并且該扇入到所有扇出都是偽時序??;在這種情況下,將延遲點定乂在對象的扇入處; 類型VI滿足條件:m> l,n> 1,并且所有扇入到q個扇出是偽時序?。辉谶@種情況下,將延遲點定義在對象的有偽時序弧的所述q個扇出處; 類型VII滿足條件:m> 1,n> 1,并且有ρ個扇入到所有扇出都是偽時序??;在這種情況下,將延遲點定義在對象的有偽時序弧的所述P個扇入處; 類型VIII滿足條件:m > 1,η > 1,有s個扇入到t個扇出是偽時序弧,并且任意扇入到任意扇出是偽時序弧或真時序??;在這種情況下,通過復(fù)制對象轉(zhuǎn)換成類型I至類型VII以對延遲點進(jìn)行定義,并相應(yīng)地修改門級網(wǎng)表; 如果扇入和扇出之間的時序弧的類型不屬于類型I至類型VIII,則將所述扇入和扇出之間的時序弧的類型定義為類型IX。
8.如權(quán)利要求I所述的方法,所述方法還包括 使用標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表進(jìn)行前仿真。
9.如權(quán)利要求8所述的方法,其中,如果前仿真的結(jié)果與預(yù)期的結(jié)果不一致,則對門級網(wǎng)表進(jìn)行清理以優(yōu)化門級網(wǎng)表并再次進(jìn)行前仿真。
10.如權(quán)利要求I所述的方法,其中,所述偽路徑為包含from、to或through語句的純偽路徑。
11.一種在前仿真階段檢查和糾正偽路徑的方法,所述方法包括 對用硬件描述語言編寫的數(shù)字邏輯電路進(jìn)行綜合以生成門級網(wǎng)表; 對門級網(wǎng)表進(jìn)行清理從而獲得優(yōu)化的門級網(wǎng)表; 根據(jù)優(yōu)化的門級網(wǎng)表的拓?fù)浣Y(jié)構(gòu)進(jìn)行前靜態(tài)時序分析; 生成標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表; 使用標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表進(jìn)行前仿真; 如果仿真的結(jié)果與預(yù)期的結(jié)果不一致,則返回對門級網(wǎng)表進(jìn)行清理的步驟以對修改的門級網(wǎng)表進(jìn)行清理。
12.如權(quán)利要求11所述的方法,還包括 如果前仿真的結(jié)果與預(yù)期的結(jié)果一致,則進(jìn)行下面的步驟 進(jìn)行布局和布線; 對根據(jù)布局布線的結(jié)果產(chǎn)生的電路網(wǎng)表進(jìn)行后靜態(tài)時序分析和后仿真; 根據(jù)后靜態(tài)時序分析和后仿真的結(jié)果,進(jìn)行布局和布線的工程變更。
13.如權(quán)利要求11或權(quán)利要求12所述的方法,其中,所述生成標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表的步驟包括 獲得所有偽路徑; 針對所有偽路徑中的每一個偽路徑,執(zhí)行下述操作得到該偽路徑上的每個對象的所有扇入和扇出,分析所述扇入和扇出上是否已經(jīng)存在延遲點,如果存在延遲點,則不再對該偽路徑定義延遲點;如果所述扇入和扇出上不存在延遲點,則根據(jù)所述扇入和扇出之間的時序弧的類型定義延遲點; 對找到延遲點的偽路徑定義延遲值并寫出標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表。
14.如權(quán)利要求13所述的方法,其中,根據(jù)所述扇入和扇出之間的時序弧的類型定義延遲點的步驟包括 判斷所述扇入和扇出之間的時序弧的類型; 如果所述扇入和扇出之間的時序弧的類型屬于類型I至類型VII,則根據(jù)所述扇入和扇出之間的時序弧的類型定義延遲點; 如果所述扇入扇出之間的時序弧的類型屬于類型VIII,則通過執(zhí)行下述操作來定義延遲點復(fù)制所述扇入扇出連接的對象并將所述扇入和扇出之間的時序弧轉(zhuǎn)換成類型I VII,在不改變電路邏輯的基礎(chǔ)上修改門級網(wǎng)表并根據(jù)復(fù)制對象之后形成的扇入和扇出之間的時序弧的類型定義延遲點; 如果所述扇入和扇出之間的時序弧的類型屬于類型IX,則通過執(zhí)行下述操作來定義延遲點將所述對象與所述對象所在偽路徑上的上一級或下一級的對象進(jìn)行合并以產(chǎn)生新的對象和與所述新的對象相應(yīng)的扇入和扇出,從而將與所述新的對象相應(yīng)的扇入和扇出之間的時序弧的類型轉(zhuǎn)換為類型I至類型VIII以定義延遲點。
15.如權(quán)利要求14所述的方法,其中,在將所述對象與所述對象所在偽路徑上的上一級或下一級對象進(jìn)行合并以產(chǎn)生新的對象和與所述新的對象相應(yīng)的扇入和扇出的操作中,如果與所述新的對象相應(yīng)的扇入和扇出之間的時序弧的類型仍然不屬于類型I至類型VIII,則增加合并級數(shù)以將所述新的對象與所述新的對象的上一級或下一級的對象再進(jìn)行合并,其中,合并級數(shù)小于等于設(shè)定的合并級數(shù)限制。
16.如權(quán)利要求15所述的方法,其中,如果合并級數(shù)大于合并級數(shù)限制,則放棄對該偽路徑的分析。
17.如權(quán)利要求13所述的方法,還包括 報告沒有找到延遲點的偽路徑以對沒有找到延遲點的偽路徑進(jìn)行人工分析。
18.如權(quán)利要求13所述的方法,其中,對偽路徑定義延遲點的操作包括在偽路徑的延遲點處定義上升和下降延遲。
19.如權(quán)利要求14所述的方法,其中,按下述方式對扇入和扇出之間的時序弧的類型進(jìn)行劃分,并相應(yīng)地定義延遲點,其中,m表示偽路徑上的對象的扇入的個數(shù),η表示所述對象的扇出的個數(shù),P為大于等于I并且小于m的自然數(shù),q為大于等于I并且小于η的自然數(shù),s為大于等于I并且小于等于m的自然數(shù),t為大于等于I并且小于等于η的自然數(shù); 類型I滿足條件只有I個扇入和I個扇出的偽時序??;在這種情況下,將延遲點定義在該對象的扇入或扇出; 類型II滿足條件:m > I且η = 1,并且有ρ個扇入到該扇出是偽時序??;在這種情況下,將延遲點定義在該對象的有偽時序弧的所述P個扇入處; 類型III滿足條件:m> I且η = 1,并且該對象的所有的扇入到扇出都是偽時序弧;在這種情況下,將延遲點定義在該對象的扇出處; 類型IV滿足條件:m= 1,η > 1,并且該扇入到q個扇出是偽時序??;在這種情況下,將延遲點定義在該對象的有偽時序弧的所述q個扇出處;類型V滿足條件:m = Ι,η > 1,并且該扇入到所有扇出都是偽時序弧;在這種情況下,將延遲點定乂在對象的扇入處; 類型VI滿足條件:m> l,n> 1,并且所有扇入到q個扇出是偽時序?。辉谶@種情況下,將延遲點定義在對象的有偽時序弧的所述q個扇出處; 類型VII滿足條件:m> 1,η > 1,并且有ρ個扇入到所有扇出都是偽時序?。辉谶@種情況下,將延遲點定義在對象的有偽時序弧的所述P個扇入處; 類型VIII滿足條件:m> 1,η > 1,有s個扇入到t個扇出是偽時序弧,并且任意扇入到任意扇出是偽時序弧或真時序弧;在這種情況下,通過復(fù)制對象轉(zhuǎn)換成類型I至類型VII以對延遲點進(jìn)行定義,并相應(yīng)地修改門級網(wǎng)表; 如果扇入和扇出之間的時序弧的類型不屬于類型I至類型VIII,則將所述扇入和扇出之間的時序弧的類型定義為類型IX。
20.如權(quán)利要求13所述的方法,所述方法還包括 使用標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表進(jìn)行前仿真。
21.如權(quán)利要求20所述的方法,其中,如果前仿真的結(jié)果與預(yù)期的結(jié)果不一致,則對門級網(wǎng)表進(jìn)行清理以優(yōu)化門級網(wǎng)表并再次進(jìn)行前仿真。
22.如權(quán)利要求11所述的方法,其中,所述偽路徑為包含from、to或through語句的純偽路徑。
全文摘要
本發(fā)明提供一種生成門級網(wǎng)表和標(biāo)準(zhǔn)延遲文件及檢查和糾正偽路徑的方法。所述生成門級網(wǎng)表和標(biāo)準(zhǔn)延遲文件的方法包括獲得所有偽路徑;針對每個偽路徑,執(zhí)行下述操作得到偽路徑上每個對象的所有扇入和扇出,對每個對象分析扇入和扇出上是否已經(jīng)存在延遲點,如果存在延遲點,則不再對該偽路徑定義延遲點;如果所述扇入和扇出上不存在延遲點,則根據(jù)所述扇入和扇出之間的時序弧的類型定義延遲點;對偽路徑的延遲點定義延遲值并寫出標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表。通過對延遲點添加延遲,以生成標(biāo)準(zhǔn)延遲文件和修改的門級網(wǎng)表以檢查偽路徑的設(shè)定的正確性,從而可以在布局布線之前發(fā)現(xiàn)偽路徑中嚴(yán)重的問題,以節(jié)省布局布線的生產(chǎn)周期并避免重新進(jìn)行布局布線。
文檔編號G06F17/50GK102955867SQ20111025217
公開日2013年3月6日 申請日期2011年8月30日 優(yōu)先權(quán)日2011年8月30日
發(fā)明者王金城 申請人:三星半導(dǎo)體(中國)研究開發(fā)有限公司, 三星電子株式會社