專利名稱:校正串?dāng)_的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于校正串?dāng)_的方法,串?dāng)_校正作為集成電路板面設(shè)計(jì)校正的一部分,是用于在半導(dǎo)體集成電路的板面設(shè)計(jì)中消除線路之間的串?dāng)_。
背景技術(shù):
近年來,隨著半導(dǎo)體制造技術(shù)的小型化,串?dāng)_已不能再被忽略。在半導(dǎo)體集成電路中由于相鄰布線內(nèi)信號的傳輸而引起相鄰布線之間的耦合電容會產(chǎn)生串?dāng)_。這種現(xiàn)象會引起延遲差異,定時限制違規(guī),或邏輯顛倒這樣的功能錯誤。
因此,在半導(dǎo)體集成電路的集成電路版面設(shè)計(jì)中,早已需要一種用于校正集成電路版面設(shè)計(jì)的串?dāng)_校正,從而檢測串?dāng)_的同時,防止由于串?dāng)_而引起定時限制違規(guī)或邏輯反相。
在傳統(tǒng)的校正串?dāng)_的方法中,將中繼緩沖器插入到受串?dāng)_影響的網(wǎng)絡(luò)中,網(wǎng)絡(luò)中的布線被分隔開以減小布線之間的耦合電容,從而影響了串?dāng)_(例如,稱為緩沖器插入,參見專利文獻(xiàn)1)。
此外,還可在受串?dāng)_影響的布線的一側(cè)或兩側(cè)設(shè)置固定在恒壓的屏蔽線,從而減少了受影響布線的耦合電容(稱為屏蔽)。
并且,在某些情況下,可使用以下方法增加用于驅(qū)動受串?dāng)_影響的網(wǎng)絡(luò)的一個單元的電流驅(qū)動能力,從而可減少相鄰布線的信號傳輸而引起的串?dāng)_影響(稱為單元尺寸法),或者使布線繞行以避開串?dāng)_出現(xiàn)的位置(稱為布線繞行法,參見非專利文獻(xiàn)1)。
(專利文獻(xiàn)1)日本專利特許公開號為No.3175653(非專利文獻(xiàn)1)Synopsys公司的“AstroPrimer Introduction to Astro Timing OptimizedLayout Release 2001.2”用戶手冊,美國Synopsys有限公司,2001年2月,第13到20頁。
然而,上述避免串?dāng)_的傳統(tǒng)方法的問題在于,由于緩沖器或屏蔽線的插入而消耗了集成電路版面資源,或是單元的更新引起了面積的增加,或者電容的增加和使用具有很大電流驅(qū)動能力的單元導(dǎo)致功率消耗的增加。至于布線繞行法,在布線繞行中會與其它布線之間產(chǎn)生新的耦合電容,從而引起新的串?dāng)_,使時序的收斂設(shè)計(jì)被惡化。
發(fā)明概述因此,本發(fā)明的主要目的是提供一種校正串?dāng)_的方法,該方法不需要增加面積和功率的消耗,就可以校正由串?dāng)_引起的定時限制違規(guī)和功能錯誤。
為了解決上述的問題,根據(jù)本發(fā)明,在半導(dǎo)體集成電路的集成電路版面設(shè)計(jì)中使用以下方案,其中所述半導(dǎo)體集成電路是通過利用單元之間的布線將基本邏輯單元或功能性宏塊連接起來而構(gòu)成的。
作為用于解決問題的第一方案,根據(jù)本發(fā)明的校正串?dāng)_的方法包括并行布線長度的第一檢測步驟,其中輸入平行布線長度可用值的數(shù)據(jù)和關(guān)于串?dāng)_的版面設(shè)計(jì)數(shù)據(jù),并根據(jù)這兩個輸入數(shù)據(jù)來提取并行布線長度違規(guī)的信息;搜索空余區(qū)的步驟,其中輸入單元面積信息,并在并行布線長度違規(guī)信息中包含的違規(guī)布線的走線上搜索空余區(qū),同時根據(jù)單元面積信息來提取空余區(qū)信息;創(chuàng)建用于緩沖器劃分的備用物的步驟,其中將被劃分的多個反相器提取出來作為串?dāng)_校正的備用物,所述反相器是從違規(guī)布線部分的驅(qū)動緩沖器或下一級驅(qū)動緩沖器被分離出的;布置和布線的步驟,其中在空余區(qū)信息中包含的空余區(qū)中對作為用于串?dāng)_校正的備用物的反相器進(jìn)行布置和布線;并行布線長度的第二檢測步驟,其中根據(jù)重新布置的反相器來檢測并行布線長度的違規(guī)。
并行布線長度的可用值數(shù)據(jù)對應(yīng)于串?dāng)_改變而引起的延遲差異和邏輯顛倒,布線層,布線之間的寬度,和網(wǎng)絡(luò)的驅(qū)動單元的驅(qū)動功率,都會引起串?dāng)_改變。并行布線長度違規(guī)的信息是一個由于串?dāng)_而發(fā)生問題的違規(guī)線路列表,而搜索空余區(qū)的步驟是為了搜索是否可以將一個新的單元安排在違規(guī)線路的布線上(以下,上述的數(shù)據(jù),信息和步驟都表示相同的含義)。
在上述為緩沖器劃分而創(chuàng)建被選線路的步驟中,提取出用于串?dāng)_校正的備用物,其中在空余區(qū)信息包含的空余區(qū)中,將違規(guī)布線部分的驅(qū)動緩沖器或下一級驅(qū)動緩沖器劃分為將要布置的多個反相器,從而使并行布線部分變短并校正串?dāng)_錯誤。
根據(jù)解決問題的第一方案,將超過了并行布線長度可用值的并行布線的驅(qū)動緩沖器或下一級驅(qū)動緩沖器劃分為多個反相器組合,這些反相器組合將被布置在并行布線的線路上。這樣,可以避免由于串?dāng)_導(dǎo)致延遲差異和邏輯顛倒超出它們各自的可用值。結(jié)果,不用增加面積和功率消耗就可校正串?dāng)_引起的定時限制違規(guī)和功能錯誤。
作為解決問題的第二方案,根據(jù)本發(fā)明的校正串?dāng)_的方法包括對并行布線長度的第一檢測步驟,其中輸入并行布線長度的可用值數(shù)據(jù)和關(guān)于串?dāng)_的版面設(shè)計(jì)數(shù)據(jù),并根據(jù)這兩個輸入數(shù)據(jù)而提取并行布線長度違規(guī)的信息。
搜索空余區(qū)的步驟,其中輸入單元面積信息,并在并行布線長度違規(guī)信息中包含的違規(guī)布線的走線上搜索空余區(qū),同時根據(jù)單元面積信息來提取空余區(qū)信息;創(chuàng)建用于單元移動的備用物的步驟,其中將被移動到違規(guī)布線部分的驅(qū)動單元之外的單元和下一級驅(qū)動單元提取出來,作為用于校正串?dāng)_的備用物;布置和布線的步驟,其中,在空余區(qū)信息中包含的空余區(qū)中對作為用于串?dāng)_校正的備用物的單元進(jìn)行布置和布線;并行布線長度的第二檢測步驟,其中根據(jù)重新布置的單元而檢測并行布線長度的違規(guī)情況;在上述創(chuàng)建用于單元移動的備用物的步驟中,用于串?dāng)_校正的備用物被提取出來,其中在空余區(qū)信息中包含的空余區(qū)中,移動違規(guī)布線部分的驅(qū)動單元或下一級驅(qū)動單元并對其重新布置,將他們的并行布線部分縮短從而校正串?dāng)_錯誤。在此情況下,被移動的單元相對于前一狀態(tài)布線長度的單元移動距離和相對于后一狀態(tài)布線長度的單元移動距離之間的比率不大于一個預(yù)定值。
根據(jù)解決問題的第二方案,通過在并行布線走線上移動超過了并行布線長度可用值的并行布線驅(qū)動單元或下一級驅(qū)動單元,可以避免由于串?dāng)_導(dǎo)致的延遲差異和邏輯顛倒超出它們各自的可用值。結(jié)果,不用增加面積和功率消耗就可校正串?dāng)_引起的定時限制違規(guī)和功能錯誤。
作為解決問題的第三方案,根據(jù)本發(fā)明的串?dāng)_校正方法包括對并行布線長度的第一檢測步驟,其中輸入并行布線長度的可用值數(shù)據(jù)和關(guān)于串?dāng)_的版面設(shè)計(jì)數(shù)據(jù),并根據(jù)這兩個輸入數(shù)據(jù)而提取并行布線長度違規(guī)的信息。
搜索空余區(qū)的步驟,其中輸入單元面積信息,并在并行布線長度違規(guī)信息中包含的違規(guī)布線的走線中搜索空余區(qū),同時根據(jù)單元面積信息來提取空余區(qū)信息;受影響網(wǎng)絡(luò)的邏輯合成步驟,其中輸入邏輯連接信息,并提取用于串?dāng)_校正的備用物,其中根據(jù)邏輯連接信息,將包含并行布線長度違規(guī)線路的網(wǎng)絡(luò)部分的邏輯再次合成,從而增加將被布置的單元數(shù)目或者改變輸出端數(shù)以便校正串?dāng)_;布置和布線的步驟,其中,根據(jù)用于串?dāng)_校正的備用物,在空余區(qū)信息中包含的空余區(qū)中對單元進(jìn)行布置和布線;并行布線長度的第二檢測步驟,其中根據(jù)新的校正電路而檢測并行布線長度的違規(guī)情況。
在上述受影響網(wǎng)絡(luò)邏輯合成的步驟中,通過增加將被布置的單元數(shù)目,或者降低輸出端數(shù)變化引起的轉(zhuǎn)換速率(信號傳輸時間),可以校正串?dāng)_。
根據(jù)解決問題的第三方案,通過對超過了可用值的并行布線長度的驅(qū)動單元或下一級驅(qū)動單元進(jìn)行邏輯分解,或者通過邏輯再合成而改變輸出端數(shù)的數(shù)目以增加單元數(shù)目,可以避免由于串?dāng)_導(dǎo)致延遲差異和邏輯顛倒超出它們各自的可用值。結(jié)果,不用增加面積和功率消耗就可校正串?dāng)_引起的定時限制違規(guī)和功能錯誤。
作為解決問題的第四方案,根據(jù)本發(fā)明的串?dāng)_校正方法包括串?dāng)_分析步驟,其中輸入邏輯連接信息,RC信息,分析限定信息,延遲數(shù)據(jù)庫,和串?dāng)_分析數(shù)據(jù)庫,以便根據(jù)輸入信息等對串?dāng)_引起的延遲差異執(zhí)行延遲計(jì)算和定時分析,該串?dāng)_是由從一個定時限制窗口的同時傳輸引起的,并提取出包含產(chǎn)生了串?dāng)_的布線的串?dāng)_違規(guī)信息和定時限制窗口數(shù)據(jù);搜索空余區(qū)的步驟,其中輸入單元面積信息,并在并行布線長度違規(guī)信息中包含的臨近產(chǎn)生串?dāng)_的位置的布線走線中搜索空余區(qū),同時根據(jù)單元面積信息來提取空余區(qū)信息;影響網(wǎng)絡(luò)和受影響網(wǎng)絡(luò)的邏輯合成步驟,其中提取用于串?dāng)_校正的備用物,其中根據(jù)空余區(qū)信息和定時限制窗口數(shù)據(jù),分解產(chǎn)生了串?dāng)_的網(wǎng)絡(luò)的影響側(cè)和受影響側(cè)的邏輯,將同相的傳輸顛倒為反相傳輸或?qū)⒎聪鄠鬏旑嵉篂橥鄠鬏?,改變延遲變化,從而保持相對定時限制限制的穩(wěn)定側(cè);布置和布線的步驟,其中,根據(jù)用于串?dāng)_校正的備用物,在空余區(qū)信息中包含的空余區(qū)中對單元進(jìn)行布置和布線;第二串?dāng)_分析步驟,其中根據(jù)新的校正電路而檢測并行布線長度的違規(guī)情況。
RC信息是寄生單元的信息。另外,分析限制信息包括時鐘設(shè)定、定時限制分析的操作模式設(shè)定等。定時限制窗口指示信號傳輸相對于時鐘周期的定時限制。產(chǎn)生了串?dāng)_的布線表示由于串?dāng)_引起定時限制違規(guī)的布線。(本文中,上述的信息、定時限制窗口、和布線表示相同的內(nèi)容)在上述的影響網(wǎng)絡(luò)和受影響網(wǎng)絡(luò)的邏輯合成步驟中,由于產(chǎn)生的串?dāng)_所增強(qiáng)(或減弱)的延遲變化被改變,從而保持相對于定時限制限制的穩(wěn)定側(cè),抑制串?dāng)_的影響。
根據(jù)解決該問題的第四方案,對于由于串?dāng)_引起的違反定時限制限制 的布線,通過邏輯再合成使信號傳輸方向反向,從而不會再產(chǎn)生由于串?dāng)_引起的延遲變化,或者可將延遲改變?yōu)闊o害的方向。這樣,在不增加面積和功率消耗的同時,可以校正串?dāng)_引起的時間限制違規(guī)和功能錯誤。
作為解決本問題的第五方案,根據(jù)本發(fā)明校正串?dāng)_的方法包括串?dāng)_分析步驟,其中輸入邏輯連接信息,RC信息,分析限定信息,延遲數(shù)據(jù)庫,和串?dāng)_分析數(shù)據(jù)庫,以便根據(jù)輸入信息等對串?dāng)_引起的延遲差異執(zhí)行延遲計(jì)算和定時分析,該串?dāng)_是由從一個定時限制窗口的同時傳輸引起的,并提取出包含定時限制限制違規(guī)信息的曲線數(shù)據(jù)和定時限制窗口數(shù)據(jù);提取將被校正的網(wǎng)絡(luò)的步驟,從包括在曲線數(shù)據(jù)中的定時限制限制違規(guī)線路上的網(wǎng)絡(luò)中提取出要被校正的網(wǎng)絡(luò),該網(wǎng)與相鄰布線之間具有超出預(yù)定值的耦合電容;搜索空余區(qū)的步驟,其中輸入單元面積信息,并參照單元面積信息,在將被校正的網(wǎng)絡(luò)的信息中包含的具有耦合電容的布線走線中搜索空余區(qū)從而提取空余區(qū)信息;定時限制限制違規(guī)線路的邏輯合成步驟,其中提取用于串?dāng)_校正的備用物,其中根據(jù)空余區(qū)信息和定時限制窗口數(shù)據(jù),執(zhí)行邏輯合成,該邏輯合成中,分解相鄰布線部分的網(wǎng)絡(luò)的邏輯或改變其輸出端的數(shù)目,從而找出相鄰布線之間同步的信號傳輸,在保持違規(guī)的情況下,將傳輸顛倒為同相,在建立違規(guī)的情況下,使其為反相;布置和布線的步驟,其中,根據(jù)用于串?dāng)_校正的備用物,在空余區(qū)信息中包含的空余區(qū)中對單元進(jìn)行布置和布線;第二串?dāng)_分析步驟,其中根據(jù)新的校正電路而檢測并行布線長度的違規(guī)情況。
上述的曲線數(shù)據(jù)包括定時限制限制違規(guī)信息。
根據(jù)解決問題的第五方案,對于違反了定時限制限制的線路,通過邏輯再合成使信號傳輸方向反向或者通過改變輸出端數(shù)目改變負(fù)載。這使得產(chǎn)生串?dāng)_延遲變化,其中延遲改變?yōu)榕c定時限制違規(guī)相反的方向,從而消除了由于串?dāng)_引起的延遲變化到值得定時限制違規(guī)。這樣,在不增加面積和功率消耗的同時,可以校正由于串?dāng)_引起的定時限制限制違規(guī)和功能錯誤。
本發(fā)明的前述和其他方面可從下面接合附圖的詳細(xì)說明中變得明顯。
圖1示出根據(jù)本發(fā)明第一實(shí)施例用于校正串?dāng)_的方法(緩沖器劃分)的流程圖;圖2A示出在執(zhí)行根據(jù)本發(fā)明第一實(shí)施例的用于校正串?dāng)_的緩沖器劃分方法之前的具體例子。圖2B示出一網(wǎng)絡(luò)驅(qū)動緩沖器的劃分的例子。圖2C示出下級驅(qū)動緩沖器的劃分例子。
圖3示出根據(jù)本發(fā)明第二實(shí)施例用于校正串?dāng)_的方法(單元移動)的流程圖。
圖4A示出在執(zhí)行根據(jù)本發(fā)明第二實(shí)施例的用于校正串?dāng)_的單元移動方法之前的具體例子。圖4B示出一網(wǎng)絡(luò)驅(qū)動單元移動的例子。圖4C示出下級網(wǎng)絡(luò)驅(qū)動單元的移動例子。
圖5示出根據(jù)本發(fā)明第三實(shí)施例用于校正串?dāng)_的方法(受影響網(wǎng)絡(luò)邏輯再合成)的流程圖。
圖6A示出在執(zhí)行根據(jù)本發(fā)明第三實(shí)施例的用于校正串?dāng)_的受影響網(wǎng)絡(luò)邏輯再合成方法之前的具體例子。圖6B示出執(zhí)行邏輯再合成之后的具體例子。
圖7示出根據(jù)本發(fā)明第四實(shí)施例用于校正串?dāng)_的方法(影響網(wǎng)絡(luò)和受影響網(wǎng)絡(luò)的邏輯再合成)的流程圖。
圖8A示出在執(zhí)行根據(jù)本發(fā)明第四實(shí)施例的用于校正串?dāng)_的影響網(wǎng)絡(luò)和受影響網(wǎng)絡(luò)的邏輯再合成方法之前的具體例子。圖8B示出一定時限制窗口。圖8C示出執(zhí)行邏輯合成之后的一具體例子。
圖9示出根據(jù)本發(fā)明第五實(shí)施例用于校正串?dāng)_的方法(通過邏輯再合成進(jìn)行定時限制限制違規(guī)校正)的流程圖。
圖10A示出在執(zhí)行根據(jù)本發(fā)明第五實(shí)施例的用于校正串?dāng)_的通過邏輯再合成進(jìn)行定時限制限制違規(guī)校正方法之前的具體例子。圖10B示出一備用。圖10C示出在執(zhí)行定時限制限制違規(guī)校正之前的定時限制窗口。圖10D示出在執(zhí)行定時限制限制違規(guī)校正之后的定時限制窗口。圖10E示出在執(zhí)行定時限制限制違規(guī)校正之后的具體例子。
圖11A示出根據(jù)補(bǔ)充說明在執(zhí)行緩沖器插入之前的具體例子。圖11B示出在執(zhí)行緩沖器插入之后的一具體例子。
圖12A示出根據(jù)補(bǔ)充說明在執(zhí)行屏蔽插入之前的具體例子。圖12B示出在執(zhí)行屏蔽插入之后的具體例子。
圖13A示出根據(jù)補(bǔ)充說明在執(zhí)行單元尺寸放大之前的具體例子。圖13B示出在執(zhí)行單元尺寸放大之后的具體例子。
圖14A示出根據(jù)補(bǔ)充說明在布線繞行之前的具體例子。圖14B示出在執(zhí)行布線繞行之后的具體例子。
在所有這些附圖中,相同的單元由相同的附圖標(biāo)記表示。
實(shí)施例的詳細(xì)描述參照附圖,對本發(fā)明用于校正串?dāng)_的方法的最佳實(shí)施例進(jìn)行描述。
(補(bǔ)充說明)在說明根據(jù)本發(fā)明實(shí)施例的用于校正串?dāng)_的方法之前,為了便于理解先參照圖11-14來說明一些基本觀點(diǎn)。
假設(shè)包括一驅(qū)動單元203、布線205和一被驅(qū)動單元204的線路為影響網(wǎng)絡(luò),它產(chǎn)生串?dāng)_影響;相反,假設(shè)包括一驅(qū)動單元200、布線202和一被驅(qū)動單元201的線路為受影響部分,它受到串?dāng)_的影響。
首先參照圖11,說明通過緩沖器插入來校正串?dāng)_的基本粒子。圖11A示出一電路版面,它包括受影響網(wǎng)絡(luò)的一驅(qū)動單元200、一被驅(qū)動單元201和布線202和影響網(wǎng)的一驅(qū)動單元203、一被驅(qū)動單元204和布線205以及空余區(qū)206和現(xiàn)有的單元207。如圖11B所示,當(dāng)要校正受影響網(wǎng)絡(luò)時,在受影響網(wǎng)絡(luò)的布線202上搜索空余區(qū),從而插入具有足夠驅(qū)動能力的中繼器緩沖器208,使串?dāng)_的影響變得無害。
這種情況下,由于緩沖器插入增加了版面資源。
下面參照圖12說明通過屏蔽校正串?dāng)_的基本例子。圖12A示出一電路版面,它包括受影響網(wǎng)絡(luò)的一驅(qū)動單元200、一被驅(qū)動單元201和布線202和影響網(wǎng)的一驅(qū)動單元203、一被驅(qū)動單元204和布線205以及耦合電容209。如圖12B所示,當(dāng)要校正受影響網(wǎng)絡(luò)時,在布線之間搜索可容納布線的空間,以便提供屏蔽布線210。耦合電容211元低于原始耦合電容209。
在這種情況下,由于插入屏蔽布線使面積增加。
下面參照圖13說明通過單元尺寸縮放來校正串?dāng)_的基本例子。圖13A示出一電路版面,它包括受影響網(wǎng)絡(luò)的一驅(qū)動單元200、一被驅(qū)動單元201和布線202和影響網(wǎng)的一驅(qū)動單元203、一被驅(qū)動單元204和布線205以及耦合電容209。如圖13B所示,當(dāng)要校正受影響網(wǎng)絡(luò)時,如果有足夠的空間,則擴(kuò)大受影響網(wǎng)絡(luò)的驅(qū)動單元200。這樣,受影響網(wǎng)絡(luò)的轉(zhuǎn)換速度變慢,當(dāng)影響網(wǎng)和受影響網(wǎng)絡(luò)同時傳輸信號時,延遲變化變小。另外,當(dāng)在受影響網(wǎng)絡(luò)不工作的情況下影響網(wǎng)傳輸信號時,受影響網(wǎng)絡(luò)的驅(qū)動單元200的晶體管阻抗變小,從而降低了產(chǎn)生的低頻干擾(毛脈沖)。
但是在這種情況下,產(chǎn)生了這樣的問題,由于單元升級導(dǎo)致面積增加,且由于使用具有很大電流驅(qū)動能力的單元增加了功率消耗。
下面參照圖14說明通過布線繞行來校正串?dāng)_的基本例子。圖14A示出一電路版面,它包括受影響網(wǎng)絡(luò)的一驅(qū)動單元200、一被驅(qū)動單元201和布線202和影響網(wǎng)的一驅(qū)動單元203、一被驅(qū)動單元204和布線205以及耦合電容209。當(dāng)要校正受影響網(wǎng)絡(luò)時,搜索布線空間從而使布線按照如圖14B所示的受影響網(wǎng)絡(luò)布線202的方式繞行。這使得可以忽略與影響布線205的耦合。
但是在這種情況下,布線繞行將導(dǎo)致與繞行中的其他布線產(chǎn)生新的耦合電容,從而導(dǎo)致新的串?dāng)_,這使得定時限制設(shè)計(jì)中的收斂性降低。
下面,將對本發(fā)明實(shí)施例的校正串?dāng)_的方法進(jìn)行說明。
(實(shí)施例1)圖1示出根據(jù)本發(fā)明第一實(shí)施例校正串?dāng)_的方法(緩沖器劃分)的流程圖,圖2A、2B和2C示出它的具體例子。
在圖1中,S1表示并行布線長度的第一檢測步驟;S2表示在布線走線上搜索空余區(qū)的步驟;S3表示創(chuàng)建用于緩沖器劃分的備用物的步驟;S4表示布置和布線的步驟;S5表示并行布線長度的第二檢測步驟。附圖標(biāo)記1表示并行布線長度可用值的數(shù)據(jù);附圖標(biāo)記2表示版面設(shè)計(jì)數(shù)據(jù);附圖標(biāo)記3表示單元區(qū)域信息;附圖標(biāo)記4表示并行布線長度違規(guī)信息;附圖標(biāo)記5表示空余區(qū)信息;附圖標(biāo)記6表示用于串?dāng)_校正的備用物。
在圖2A、2B和2C中,附圖標(biāo)記101表示受影響網(wǎng)絡(luò)的一驅(qū)動單元;附圖標(biāo)記102表示一空余區(qū);附圖標(biāo)記103表示一現(xiàn)有的單元;附圖標(biāo)記104表示受影響網(wǎng)絡(luò)的一下級驅(qū)動單元;附圖標(biāo)記105表示相鄰布線;附圖標(biāo)記106表示在劃分之后的前級反相器;附圖標(biāo)記107表示劃分后的后級反相器。
根據(jù)本實(shí)施例具有上述結(jié)構(gòu)的用于校正串?dāng)_的方法,其工作方式如下所述。
參照圖1,在并行布線長度的第一檢測步驟S1中,參照并行布線長度可用值的輸入數(shù)據(jù)1,根據(jù)輸入的版面設(shè)計(jì)數(shù)據(jù)提取出并行布線長度違規(guī)信息4,該信息是具有超出可用值的并行部分的違規(guī)布線的列表。并行布線長度可用值數(shù)據(jù)1是通過利用電路模擬器例如SPICE來模擬由于串?dāng)_引起的延遲變化和邏輯顛倒而預(yù)先獲得的,該串?dāng)_的變化與布線層、布線之間的寬度和網(wǎng)絡(luò)中驅(qū)動單元的驅(qū)動能力有關(guān)。
在步驟S2中,參考輸入的版面數(shù)據(jù)2和輸入的單元面積信息3,在走線上搜索空余區(qū),并通過搜索是否可以在包括在并行布線長度違規(guī)信息4中的違規(guī)布線走線上布置一個新的單元,來提取可用于布置的空余區(qū)的信息5。
在創(chuàng)建用于緩沖器劃分的備用物的步驟S3中,當(dāng)在包括在并行布線長度違規(guī)信息4中的違規(guī)布線部分中的驅(qū)動單元或下級驅(qū)動單元為一緩沖器時,將該違規(guī)布線部分的驅(qū)動緩沖器或下級的驅(qū)動緩沖器劃分為兩個反相器組合。然后,提取出用于串?dāng)_校正的備用物6,將其作為將布置在布線線路上的變化備用物。通過劃分增加的反相器對違規(guī)并行布線部分進(jìn)行劃分并縮短了并行布線長度,從而抑制了并行布線長度違規(guī)。
在布置和布線步驟S4中,根據(jù)用于串?dāng)_校正的備用物6對通過劃分緩沖器而獲得的反相器組合進(jìn)行重新布置,且將布線連接到單元的輸入針。
在并行布線長度的第二檢測步驟S5中,檢測改變的部分是否導(dǎo)致新的并行布線長度違規(guī)。當(dāng)這種違規(guī)出現(xiàn)時,返回布置和布線的步驟S4重復(fù)執(zhí)行。
下面將說明以本發(fā)明上述方式工作的校正串?dāng)_的方法的具體例子。
參照圖2A,在受影響網(wǎng)絡(luò)附近布置了相鄰布線105,根據(jù)受影響網(wǎng)絡(luò)的驅(qū)動單元101的驅(qū)動能力,相鄰布線105的并行布線長度大于在圖1所示的并行布線長度可用值數(shù)據(jù)1中包括的值,因此圖2A示出并行布線長度違規(guī)的一個例子。在這種情況下,由于通過在布線線路上搜索可布置一個單元的空余區(qū)102后發(fā)現(xiàn)存在可布置的空余區(qū),因此將受影響網(wǎng)絡(luò)的驅(qū)動單元101或下級驅(qū)動單元104劃分為可布置的反相器。
在圖2B中,將受影響網(wǎng)絡(luò)的驅(qū)動單元101劃分為將被布置和布線的兩個反相器106和107。
在圖2C中,將受影響網(wǎng)絡(luò)的下級的驅(qū)動單元104劃分為將被布置和布線的兩個反相器106和107。
如上所述,根據(jù)本實(shí)施例,超出并行布線長度可用值范圍的并行布線的驅(qū)動緩沖器或下級驅(qū)動緩沖器被劃分為反相器組合,這些組合被布置在并行布線線路上,從而可防止由于串?dāng)_引起延遲變化和邏輯反相超出他們的可用值范圍。
(實(shí)施例2)圖3示出根據(jù)本發(fā)明第二實(shí)施例用于校正串?dāng)_的流程圖,圖4A、4B和4C示出他們的具體例子。
在圖3中,S1、S2、S4和S5表示與圖1所示的第一實(shí)施例中相似的步驟。S3a表示創(chuàng)建用于單元移動的備用物的步驟。附圖標(biāo)記1-6與圖1所示的第一實(shí)施例中所指示的單元相同。在圖4A、4B和4C中,附圖標(biāo)記101-105表示與第一實(shí)施例的附圖2A、2B和2C相同的單元。
根據(jù)具有本實(shí)施例的上述結(jié)構(gòu)的校正串?dāng)_的方法,其工作方式如下所述。
參照圖3,在并行布線長度的第一檢測步驟S1中,參照并行布線長度可用值的輸入數(shù)據(jù)1,提取出并行布線長度違規(guī)信息4。
在搜索空余區(qū)的步驟S2中,參考輸入的版面數(shù)據(jù)2和輸入的單元面積信息3,通過搜索是否可以在包括在并行布線長度違規(guī)信息4中的違規(guī)布線走線上布置一個新的單元,來提取可用于布置的空余區(qū)的信息5。
在創(chuàng)建用于單元移動的備用物的步驟S3a中,當(dāng)將違規(guī)布線部分的驅(qū)動單元或下級驅(qū)動單元移動到包括在空余區(qū)信息5中的被布置的空余區(qū)中時,如果被移動單元相對于前級布線長度的單元移動距離和相對于后一狀態(tài)布線長度的單元移動距離的比值不大于預(yù)定值,則執(zhí)行下面的步驟。換句話說,提取出用于串?dāng)_校正的備用物6,其中將違規(guī)布線部分的驅(qū)動單元或下級驅(qū)動單元移動到將被布置的空余區(qū),從而縮短他們的并行布線部分,校正了串?dāng)_違規(guī)。該單元移動使得違規(guī)并行布線部分更短從而抑制了并行布線長度違規(guī)。上述的預(yù)定值是基于技術(shù)、版面設(shè)計(jì)和電路,它是通過例如SPICE模擬而預(yù)先獲得的,其中上述預(yù)定值抑制了由單元移動導(dǎo)致的前一狀態(tài)網(wǎng)絡(luò)和后一狀態(tài)網(wǎng)絡(luò)的延遲值的變化。
在布置和布線步驟S4中,根據(jù)用于串?dāng)_校正的備用物6來移動和布置單元從而將布線連接到單元的輸入針。
在并行布線長度的第二檢測步驟S5中,檢測改變的部分是否導(dǎo)致新的并行布線長度違規(guī)。當(dāng)這種違規(guī)出現(xiàn)時,返回布置和布線的步驟S4重復(fù)執(zhí)行。
下面將說明以本發(fā)明上述方式工作的校正串?dāng)_的方法的具體例子。
參照圖4A,在受影響網(wǎng)絡(luò)附近布置了相鄰布線105,根據(jù)受影響網(wǎng)絡(luò)的驅(qū)動單元101的驅(qū)動能力,相鄰布線105的并行布線長度大于在圖3所示的并行布線長度可用值數(shù)據(jù)1中包括的值,因此圖4A示出并行布線長度違規(guī)的一個例子。在這種情況下,由于通過在布線線路上搜索可布置一個單元的空余區(qū)102后發(fā)現(xiàn)存在可布置的空余區(qū),因此對受影響網(wǎng)絡(luò)的驅(qū)動單元101或下級驅(qū)動單元104進(jìn)行布置。此時,如果被移動單元相對于前級布線長度的單元移動距離和相對于后一狀態(tài)布線長度的單元移動距離的比值不大于預(yù)定值,則將受影響網(wǎng)絡(luò)的驅(qū)動單元101或下級驅(qū)動單元104移動以進(jìn)行布置。
在圖4B中,將受影響網(wǎng)絡(luò)的驅(qū)動單元101向右移動以便進(jìn)行布置和布線。
在圖4C中,將受影響網(wǎng)絡(luò)的下級的驅(qū)動單元104向左移動以便進(jìn)行布置和布線。
如上所述,根據(jù)本實(shí)施例,超出并行布線長度可用值范圍的并行布線的驅(qū)動單元或下級驅(qū)動單元被移動到并行布線走線上,從而可防止由于串?dāng)_引起延遲變化和邏輯反相超出他們的可用值范圍。
(實(shí)施例3)圖5示出根據(jù)本發(fā)明第三實(shí)施例用于校正串?dāng)_的方法(受影響網(wǎng)絡(luò)邏輯再合成)的流程圖,圖6A、6B和6C示出他們的具體例子。
在圖5中,S1、S2、S4和S5表示與圖1所示的第一實(shí)施例中相似的步驟。S3b表示受影響網(wǎng)絡(luò)邏輯合成的步驟。附圖標(biāo)記1-6與圖1所示的第一實(shí)施例中所指示的單元相同。附圖標(biāo)記7表示邏輯連接信息。
參照圖6A和6B,附圖標(biāo)記111表示受影響網(wǎng)絡(luò)#1的驅(qū)動單元“與”門;附圖標(biāo)記112表示受影響網(wǎng)絡(luò)#1布線;附圖標(biāo)記113表示受影響網(wǎng)絡(luò)#2驅(qū)動單元;附圖標(biāo)記114表示受影響網(wǎng)絡(luò)#2的輸出端¥1布線;附圖標(biāo)記115表示受影響網(wǎng)絡(luò)#2的輸出端¥2布線;附圖標(biāo)記116表示下級驅(qū)動單元的輸出端¥1;附圖標(biāo)記117表示下級驅(qū)動單元輸出端¥2;附圖標(biāo)記118表示影響網(wǎng)絡(luò)§1驅(qū)動單元;附圖標(biāo)記119表示影響網(wǎng)絡(luò)§1布線;附圖標(biāo)記120表示影響網(wǎng)絡(luò)§1下級驅(qū)動單元;附圖標(biāo)記121表示影響網(wǎng)絡(luò)§2驅(qū)動單元;附圖標(biāo)記122表示影響網(wǎng)絡(luò)§2布線;附圖標(biāo)記123表示影響網(wǎng)絡(luò)§2下級驅(qū)動單元;附圖標(biāo)記124表示從“與”門111劃分出的“與非”門;附圖125表示從“與”門111劃分出的反相器;附圖126表示一緩沖器,驅(qū)動單元113被劃分到里面作為布線114上的一輸出端;附圖標(biāo)記127表示一緩沖器,驅(qū)動單元113被劃分到里面作為布線115上的一輸出端。
根據(jù)具有本實(shí)施例的上述結(jié)構(gòu)的校正串?dāng)_的方法,其工作方式如下所述。
參照圖5,在并行布線長度的第一檢測步驟S1中,參照并行布線長度可用值的輸入數(shù)據(jù)1,提取出并行布線長度違規(guī)信息4。
在搜索空余區(qū)的步驟S2中,參考輸入的版面數(shù)據(jù)2和輸入的單元面積信息3,通過搜索是否可以在包括在并行布線長度違規(guī)信息4中的違規(guī)布線走線上布置一個新的單元,來提取可用于布置的空余區(qū)的信息5。
在受影響網(wǎng)絡(luò)邏輯合成的步驟S3b中,根據(jù)輸入的邏輯連結(jié)信息7對包括超出了并行布線長度的布線的網(wǎng)絡(luò)部分進(jìn)行邏輯再合成,從而提取出一用于串?dāng)_校正的備用物。此時,通過邏輯分解增加了單元的數(shù)目,且劃分出的單元被布置在空余區(qū)中以縮短布線上的并行部分。或者,改變網(wǎng)絡(luò)的輸出端從而降低受影響網(wǎng)絡(luò)的轉(zhuǎn)換速率(信號傳輸時間)。這樣,可縮短違規(guī)并行布線部分從而抑制并行布線長度違規(guī)。
在布置和布線步驟S4中,根據(jù)用于串?dāng)_校正的備用物6來移動和布置單元從而將布線連接到單元的輸入針。
在并行布線長度的第二檢測步驟S5中,檢測改變的部分是否導(dǎo)致新的并行布線長度違規(guī)。當(dāng)這種違規(guī)出現(xiàn)時,返回布置和布線的步驟S4重復(fù)執(zhí)行。
下面將說明以本發(fā)明上述方式工作的校正串?dāng)_的方法的具體例子。
參照圖6A,這里有包括受影響網(wǎng)絡(luò)#1布線112和影響網(wǎng)絡(luò)§1布線119組成的并行布線、受影響網(wǎng)絡(luò)#2的輸出端¥1布線114和影響網(wǎng)絡(luò)§1布線119組成的并行布線、受影響網(wǎng)絡(luò)#2的輸出端¥2布線115和影響網(wǎng)絡(luò)§2布線122組成的并行布線。每個并行布線的長度都大于包括在圖5所示的并行布線長度可用值的數(shù)據(jù)1中的值,圖5中示出并行布線長度違規(guī)。在這種情況下,在布線走線上搜索可布置單元的空余區(qū)。
隨后,在圖5所示的受影響網(wǎng)絡(luò)邏輯合成的步驟S3b中所示,將受影響網(wǎng)絡(luò)#1得驅(qū)動單元“與”門111邏輯分解為“與非”門124和反相器125,將受影響網(wǎng)絡(luò)#2的驅(qū)動單元113劃分為作為輸出端的緩沖器126和緩沖器127,從而將劃分的單元布置在空余區(qū)中。
如上所述,根據(jù)本實(shí)施例,通過邏輯再合成將超出并行布線長度可用值范圍的并行布線的驅(qū)動單元或下級驅(qū)動單元邏輯分解,改變了輸出端的數(shù)目從而增加了違規(guī)布線上的單元,這樣可防止由于串?dāng)_引起延遲變化和邏輯反相超出他們的可用值范圍。
(實(shí)施例4)圖7示出根據(jù)本發(fā)明第四實(shí)施例用于校正串?dāng)_的方法(對影響和受影響網(wǎng)絡(luò)全部進(jìn)行邏輯再合成)的流程圖,圖8A、8B和8C示出他們的具體例子。
在圖7中,S2和S4表示與圖1所示的第一實(shí)施例中相似的步驟。S1a表示第一串?dāng)_分析步驟;S3c表示對影響和受影響網(wǎng)絡(luò)全部進(jìn)行邏輯合成的步驟;S5a表示第二串?dāng)_分析步驟。附圖標(biāo)記2-7與圖5所示的第三實(shí)施例中所指示的單元相同。附圖標(biāo)記8表示RC信息;附圖標(biāo)記9表示分析限制信息;附圖標(biāo)記10表示延遲數(shù)據(jù)庫;附圖標(biāo)記11表示串?dāng)_分析數(shù)據(jù)庫;附圖標(biāo)記12表示定時限制窗口數(shù)據(jù);附圖標(biāo)記13表示串?dāng)_違規(guī)信息。
在附圖8A、8B和8C中,與圖6A和6B所示的第三實(shí)施例中相同的附圖標(biāo)記的說明這里省略。附圖標(biāo)記128和129表示用于邏輯反相的反相器。
根據(jù)具有本實(shí)施例的上述結(jié)構(gòu)的校正串?dāng)_的方法,其工作方式如下所述。
參照圖7,在第一串?dāng)_分析步驟S1a中,在保持定時限制窗口的同時,根據(jù)已經(jīng)輸入的邏輯連結(jié)信息7、RC信息8、分析限制信息9、延遲數(shù)據(jù)庫10、串?dāng)_分析數(shù)據(jù)庫11,對由于同時傳輸導(dǎo)致的串?dāng)_所引起的延遲變化執(zhí)行延遲計(jì)算和定時限制分析。然后,提取出串?dāng)_違規(guī)信息13和定時限制窗口數(shù)據(jù)12,該串?dāng)_違規(guī)信息13包括在一路徑中產(chǎn)生串?dāng)_的布線,其中在該路徑中由于串?dāng)_也產(chǎn)生了定時限制違規(guī)。
在搜索空余區(qū)的步驟S2中,參考輸入的版面數(shù)據(jù)2和輸入的單元面積信息3,搜索是否可以在產(chǎn)生了串?dāng)_和隨之發(fā)生的延遲變化的布線走線上布置一個新的單元,其中該布線走線包括在串?dāng)_違規(guī)信息13中,然后提取可用于布置的空余區(qū)的信息5。
在影響和受影響網(wǎng)絡(luò)的邏輯合成的步驟S3c中,參考空余區(qū)信息5和定時限制窗口數(shù)據(jù)12,將產(chǎn)生了串?dāng)_的布線網(wǎng)絡(luò)的影響側(cè)和受影響側(cè)的邏輯進(jìn)行分解,將同步的同相傳輸轉(zhuǎn)換為反相傳輸(或反相傳輸轉(zhuǎn)換為同相傳輸),改變由于產(chǎn)生的串?dāng)_而加速(或減速)的延遲變化,從而相對于定時限制限制保持穩(wěn)定側(cè)。這樣,提取出用于串?dāng)_校正的備用物6,從而使串?dāng)_影響變得無害。
在布置和布線步驟S4中,根據(jù)用于串?dāng)_校正的備用物6來移動和布置單元從而將布線連接到單元的輸入針。
在第二串?dāng)_分析步驟S5a中,檢測改變的電路是否導(dǎo)致新的串?dāng)_違規(guī)。當(dāng)這種違規(guī)出現(xiàn)時,返回布置和布線的步驟S4重復(fù)執(zhí)行。
下面將說明以本發(fā)明上述方式工作的校正串?dāng)_的方法的具體例子。
在圖8A所示的電路中,通過使用邏輯連結(jié)信息7、RC信息8、分析限制信息9、延遲數(shù)據(jù)庫10和串?dāng)_分析數(shù)據(jù)庫11,在圖7中的第一串?dāng)_分析步驟S1a中,不考慮由于串?dāng)_引起的延遲變化的情況下執(zhí)行延遲計(jì)算,從而分析定時限制,然后提取出定時限制窗口數(shù)據(jù)。然后假設(shè)在具有耦合電容且同時傳輸?shù)木W(wǎng)絡(luò)間產(chǎn)生由串?dāng)_引起的延遲變化,根據(jù)串?dāng)_對網(wǎng)絡(luò)執(zhí)行延遲計(jì)算,以便于分析定時限制,且更新定時限制窗口數(shù)據(jù)(圖8B)。重復(fù)該更新直到定時限制窗口數(shù)據(jù)不再變化。
假設(shè)圖8A受影響網(wǎng)絡(luò)#2中包括下級驅(qū)動單元116的輸出端¥1和下級驅(qū)動單元117的輸出端¥2的路徑導(dǎo)致產(chǎn)生違規(guī)。則圖8B所示的定時限制窗口數(shù)據(jù)表示影響網(wǎng)絡(luò)§1的定時限制窗口符合受影響網(wǎng)絡(luò)#1和#2的定時限制窗口,產(chǎn)生串?dāng)_。相反,影響網(wǎng)絡(luò)§2的定時限制窗口與受影響網(wǎng)絡(luò)#2的定時限制窗口不相符,不產(chǎn)生串?dāng)_。相應(yīng)的,在串?dāng)_分析步驟中,影響網(wǎng)絡(luò)§1和受影響網(wǎng)絡(luò)#1,以及影響網(wǎng)絡(luò)§1和受影響網(wǎng)絡(luò)#2都是校正的目標(biāo),他們都包括在串?dāng)_違規(guī)信息中。
在圖7的搜索空余區(qū)的步驟S2中,在影響網(wǎng)絡(luò)§1布線119和受影響網(wǎng)絡(luò)#1布線112和受影響網(wǎng)絡(luò)#2的輸出端¥1布線114的路線上搜索空余區(qū),并將結(jié)果包括在空余信息5中。
根據(jù)空余區(qū)信息5和定時限制窗口數(shù)據(jù)12,在考慮影響網(wǎng)絡(luò)和受影響網(wǎng)絡(luò)的邏輯分析步驟S3c中的邏輯分解、邏輯反相或輸出端數(shù)目變化之后,選擇出用于使影響網(wǎng)絡(luò)§1的邏輯反相的備用物。如圖8C的電路所示,在影響網(wǎng)絡(luò)§1中,緩沖器118改變?yōu)榉聪嗥?28,緩沖器120改變?yōu)榉聪嗥?29。當(dāng)影響網(wǎng)絡(luò)的邏輯被反相時,影響網(wǎng)絡(luò)§1和受影響網(wǎng)絡(luò)#1以及影響網(wǎng)絡(luò)§1和受影響網(wǎng)絡(luò)#2的同步傳輸從同相傳輸改變?yōu)榉聪鄠鬏?。這樣,由串?dāng)_引起的延遲變化就從減速變?yōu)榧铀伲瑥亩倪M(jìn)了產(chǎn)生違規(guī)的定時限制。
如上所述,根據(jù)本實(shí)施例,根據(jù)由串?dāng)_引起的定時限制限制違規(guī)路徑,通過邏輯再合成改變了信號傳輸?shù)亩〞r限制從而使信號傳輸方向顛倒。或者通過輸出端的變化改變了負(fù)載。這樣可以防止出現(xiàn)串?dāng)_延遲變化。如果向更加無害的方向改變,則可以防止由于串?dāng)_引起定時限制限制的違規(guī)。
(實(shí)施例5)圖9示出根據(jù)本發(fā)明第五實(shí)施例用于校正串?dāng)_的方法(通過邏輯再合成校正定時限制限制違規(guī))的流程圖,圖10A、10B、10C、10D和10E示出他們的具體例子。
參照圖9,S1b表示提取將要被校正的網(wǎng)絡(luò)的步驟;S3d表示對定時限制限制違規(guī)路徑進(jìn)行邏輯合成的步驟。附圖標(biāo)記14表示曲線數(shù)據(jù);附圖標(biāo)記15表示將被校正的網(wǎng)絡(luò)的信息。由于其他部件與第四實(shí)施例的圖7中的部件相似,且相同的附圖標(biāo)記表示相同的部件,這里不再贅述。
參照附圖10A、10B、10C、10D和10E,附圖標(biāo)記130表示移動以改變輸出端位置的緩沖器;附圖標(biāo)記131表示受影響網(wǎng)絡(luò)#1的輸出端¥1布線;附圖標(biāo)記132表示受影響網(wǎng)絡(luò)#1的下級的輸出端¥2布線;附圖標(biāo)記133表示受影響網(wǎng)絡(luò)#1的下級驅(qū)動反相器的輸出端¥1;附圖標(biāo)記134表示保持違規(guī);附圖標(biāo)記135表示產(chǎn)生違規(guī);附圖標(biāo)記136表示中繼緩沖器;附圖標(biāo)記137表示縮小的中繼緩沖器。由于其他部件與圖6所示的第三實(shí)施例的相同,且相同的附圖標(biāo)記表示相同的部件,因此這里不再贅述。
根據(jù)具有本實(shí)施例的上述結(jié)構(gòu)的校正串?dāng)_的方法,其工作方式如下所述。
參照圖9,在第一串?dāng)_分析步驟S1a中,在保持定時限制窗口的同時,根據(jù)已經(jīng)輸入的邏輯連結(jié)信息7、RC信息8、分析限制信息9、延遲數(shù)據(jù)庫10、串?dāng)_分析數(shù)據(jù)庫11,對由于同時傳輸導(dǎo)致的串?dāng)_所引起的延遲變化執(zhí)行延遲計(jì)算和定時限制分析。然后,提取出曲線數(shù)據(jù)14和定時限制窗口數(shù)據(jù)12,該曲線數(shù)據(jù)14包括定時限制限制違規(guī)路徑。
在提取將要被校正的網(wǎng)絡(luò)的步驟S1b中,根據(jù)定時限制限制違規(guī)路徑上的網(wǎng)絡(luò),提取出將要被校正的網(wǎng)絡(luò)的信息15,該網(wǎng)絡(luò)在相鄰布線之間的耦合電容超出了預(yù)定值。該用于耦合電容的預(yù)定值是相鄰布線的耦合電容與一備用值之間的比值和總布線電容的函數(shù),通過預(yù)先對備用值進(jìn)行模擬可獲得一由延遲變化改進(jìn)的值。
在搜索空余區(qū)的步驟S2中,參考輸入的版面數(shù)據(jù)2和輸入的單元面積信息3,搜索是否可以在定時限制限制違規(guī)路徑的布線走線上布置新的單元,該布線走線中相鄰布線之間的耦合電容超出了預(yù)定值,且它包括在將要被校正的網(wǎng)絡(luò)的信息15中,然后提取可用于布置的空余區(qū)的信息5。
在定時限制限制違規(guī)路徑的邏輯合成的步驟S3d中,參考空余區(qū)信息5和定時限制窗口數(shù)據(jù)12,執(zhí)行邏輯合成,將包括相鄰布線部分的各網(wǎng)絡(luò)進(jìn)行分解或者改變其輸出端的數(shù)據(jù),從而找到相鄰布線之間的信號傳輸為同步的布線,在保持違規(guī)的情況下,將傳輸轉(zhuǎn)換為同相,而在產(chǎn)生違規(guī)的情況下,將其轉(zhuǎn)換為反相。這樣,提取出用于串?dāng)_校正的備用物6,它由于串?dāng)_產(chǎn)生延遲變化加速(或減速)。
在布置和布線步驟S4中,根據(jù)用于串?dāng)_校正的備用物6來移動和布置單元從而將布線連接到單元的輸入針。
在第二串?dāng)_分析步驟S5a中,檢測改變的電路是否導(dǎo)致新的串?dāng)_違規(guī)。當(dāng)這種違規(guī)出現(xiàn)時,返回布置和布線的步驟S4重復(fù)執(zhí)行。
下面將說明以本發(fā)明上述方式工作的校正串?dāng)_的方法的具體例子。
在圖10A所示的電路中,這里有包括受影響網(wǎng)絡(luò)#1布線112和影響網(wǎng)絡(luò)§1布線119的并行布線以及包括受影響網(wǎng)絡(luò)#2的輸出端¥1布線114和影響網(wǎng)絡(luò)§1布線119的并行布線。根據(jù)在圖9的第一串?dāng)_分析步驟S1a中已經(jīng)輸入的邏輯連結(jié)信息7、RC信息8、分析限制信息9、延遲數(shù)據(jù)庫10、串?dāng)_分析數(shù)據(jù)庫11,對由串?dāng)_所引起的延遲變化執(zhí)行延遲計(jì)算和定時限制分析。然后,對于所有被分析的路徑,提取出圖10B所示的曲線數(shù)據(jù),對于圖10A所示的電路部分,提取出圖10C所示的定時限制窗口數(shù)據(jù)12。
第一串?dāng)_分析步驟S1a是這樣的,通過不考慮由于串?dāng)_引起的延遲變化而執(zhí)行延遲計(jì)算,提取出定時限制窗口數(shù)據(jù)。隨后,假設(shè)在具有耦合電容且同步傳輸?shù)木W(wǎng)絡(luò)之間的出現(xiàn)由串?dāng)_引起的延遲變化,則考慮串?dāng)_對網(wǎng)絡(luò)執(zhí)行延遲計(jì)算,分析定時限制并更新定時限制窗口數(shù)據(jù)12。重復(fù)這種更新直到定時限制窗口數(shù)據(jù)12不變?yōu)橹埂?br>
假設(shè)包括圖10A的受影響網(wǎng)絡(luò)#2的下級驅(qū)動單元116的輸出端¥1和下級驅(qū)動單元117輸出端¥2的路徑導(dǎo)致保持違規(guī)。換句話說,在圖10B所示的曲線數(shù)據(jù)中,這些路徑包括在區(qū)域134中。
在圖9的搜索空余區(qū)的步驟S2中,在包括影響網(wǎng)絡(luò)和受影響網(wǎng)絡(luò)的路徑的布線走線上搜索空余區(qū)。
在圖9所示的提取要進(jìn)行校正的網(wǎng)絡(luò)的步驟S1b中,從曲線數(shù)據(jù)中提取出具有耦合電容的受影響網(wǎng)絡(luò)#1、受影響網(wǎng)絡(luò)#2和影響網(wǎng)絡(luò)§1。此時,指示各網(wǎng)絡(luò)中信號傳輸?shù)氖揪€窗口數(shù)據(jù)12如圖10C中所示。影響網(wǎng)絡(luò)§1和受影響網(wǎng)絡(luò)#1的信號傳輸定時限制彼此不符。
在圖9所示的搜索空余區(qū)的步驟S2中,在包括影響網(wǎng)絡(luò)§1、受影響網(wǎng)絡(luò)#1和受影響網(wǎng)絡(luò)#2的路徑的布線走線上搜索空余區(qū),從而將結(jié)果包括在空余區(qū)信息5中。
根據(jù)空余區(qū)信息5和定時限制窗口數(shù)據(jù)12,在影響網(wǎng)絡(luò)§1的定時限制沒問題的情況下,不論影響網(wǎng)絡(luò)§1的定時限制是否改變,在圖9的定時限制限制違規(guī)路徑邏輯合成步驟S3d中,都將考慮顛倒影響網(wǎng)絡(luò)§1的邏輯,或者改變輸出端的數(shù)目。然后,使包括影響網(wǎng)絡(luò)§1的路徑上的中繼緩沖器136的單元尺寸減小,從而使中繼緩沖器137和“與”門136變?yōu)椤芭c非”單元124。另外,受影響網(wǎng)絡(luò)#2的驅(qū)動單元116的輸出端¥1被改變?yōu)榉聪嗥?33從而改變受影響網(wǎng)絡(luò)#1的邏輯。另外,將受影響網(wǎng)絡(luò)#2驅(qū)動單元113移動到130所指示的點(diǎn),并選擇用于改變受影響網(wǎng)絡(luò)#2的輸出端數(shù)目的備用物。圖10E示出改變后的電路。如圖10D所示,這些變化允許影響網(wǎng)絡(luò)§1和受影響網(wǎng)絡(luò)#1的信號同時和同相傳輸,從而產(chǎn)生加速延遲的串?dāng)_。
如上所述,對于定時限制限制違規(guī)路徑,通過邏輯合成改變信號傳輸定時限制從而改變信號傳輸?shù)姆较蚧蛲ㄟ^輸出端的改變而改變負(fù)載。這產(chǎn)生串?dāng)_延遲變化,其中延遲向與定時限制違規(guī)相反的方向改變,從而通過由串?dāng)_引起的延遲變化消除了定時限制違規(guī)。
如上所述,根據(jù)本發(fā)明,提供了緩沖器劃分、單元移動或邏輯合成定時限制等校正串?dāng)_的最佳方法,其中在不增加面積和功率消耗的同時校正了定時限制限制違規(guī)和功能錯誤。
從上面的描述,可以理解本發(fā)明的技術(shù)方案。
權(quán)利要求
1.一種用于校正半導(dǎo)體集成電路版面設(shè)計(jì)中的串?dāng)_的方法,包括并行布線長度的第一檢測步驟,其中輸入平行布線長度可用值的數(shù)據(jù)和關(guān)于串?dāng)_的版面設(shè)計(jì)數(shù)據(jù),并根據(jù)這兩個輸入數(shù)據(jù)來提取并行布線長度違規(guī)的信息;搜索空余區(qū)的步驟,其中輸入單元面積信息,并在并行布線長度違規(guī)信息中包含的違規(guī)布線的走線上搜索空余區(qū),同時根據(jù)單元面積信息來提取空余區(qū)信息;創(chuàng)建用于緩沖器劃分的備用物的步驟,其中將被劃分的多個反相器提取出來作為串?dāng)_校正的備用物,所述反相器是從違規(guī)布線部分的驅(qū)動緩沖器或下一級驅(qū)動緩沖器被分離出的;布置和布線的步驟,其中在空余區(qū)信息中包含的空余區(qū)中對作為用于串?dāng)_校正的備用物的反相器進(jìn)行布置和布線;并行布線長度的第二檢測步驟,其中根據(jù)重新布置的反相器來檢測并行布線長度的違規(guī)。
2.一種用于校正半導(dǎo)體集成電路版面設(shè)計(jì)中的串?dāng)_的方法,包括對并行布線長度的第一檢測步驟,其中輸入并行布線長度的可用值數(shù)據(jù)和關(guān)于串?dāng)_的版面設(shè)計(jì)數(shù)據(jù),并根據(jù)這兩個輸入數(shù)據(jù)而提取并行布線長度違規(guī)的信息;搜索空余區(qū)的步驟,其中輸入單元面積信息,并在并行布線長度違規(guī)信息中包含的違規(guī)布線的走線上搜索空余區(qū),同時根據(jù)單元面積信息來提取空余區(qū)信息;創(chuàng)建用于單元移動的備用物的步驟,其中將被移動到違規(guī)布線部分的驅(qū)動單元之外的單元和下一級驅(qū)動單元提取出來,作為用于校正串?dāng)_的備用物;布置和布線的步驟,其中,在空余區(qū)信息中包含的空余區(qū)中對作為用于串?dāng)_校正的備用物的單元進(jìn)行布置和布線;并行布線長度的第二檢測步驟,其中根據(jù)重新布置的單元而檢測并行布線長度的違規(guī)情況;
3.一種用于校正半導(dǎo)體集成電路版面設(shè)計(jì)中的串?dāng)_的方法,包括對并行布線長度的第一檢測步驟,其中輸入并行布線長度的可用值數(shù)據(jù)和關(guān)于串?dāng)_的版面設(shè)計(jì)數(shù)據(jù),并根據(jù)這兩個輸入數(shù)據(jù)而提取并行布線長度違規(guī)的信息;搜索空余區(qū)的步驟,其中輸入單元面積信息,并在并行布線長度違規(guī)信息中包含的違規(guī)布線的走線中搜索空余區(qū),同時根據(jù)單元面積信息來提取空余區(qū)信息;受影響網(wǎng)絡(luò)的邏輯合成步驟,其中輸入邏輯連接信息,并提取用于串?dāng)_校正的備用物,其中根據(jù)邏輯連接信息,將包含并行布線長度違規(guī)線路的網(wǎng)絡(luò)部分的邏輯再次合成,從而增加將被布置的單元數(shù)目或者改變輸出端數(shù)以便校正串?dāng)_違規(guī);布置和布線的步驟,其中,根據(jù)用于串?dāng)_校正的備用物,在空余區(qū)信息中包含的空余區(qū)中對單元進(jìn)行布置和布線;并行布線長度的第二檢測步驟,其中根據(jù)新的校正電路而檢測并行布線長度的違規(guī)情況。
4.一種用于校正半導(dǎo)體集成電路版面設(shè)計(jì)中的串?dāng)_的方法,包括串?dāng)_分析步驟,其中輸入邏輯連接信息,RC信息,分析限定信息,延遲數(shù)據(jù)庫,和串?dāng)_分析數(shù)據(jù)庫,以便根據(jù)輸入信息等對串?dāng)_引起的延遲差異執(zhí)行延遲計(jì)算和定時分析,該串?dāng)_是由從一個定時限制窗口的同時傳輸引起的,并提取出包含產(chǎn)生了串?dāng)_的布線的串?dāng)_違規(guī)信息和定時限制窗口數(shù)據(jù);搜索空余區(qū)的步驟,其中輸入單元面積信息,并在并行布線長度違規(guī)信息中包含的臨近產(chǎn)生串?dāng)_的位置的布線走線中搜索空余區(qū),同時根據(jù)單元面積信息來提取空余區(qū)信息;影響網(wǎng)絡(luò)和受影響網(wǎng)絡(luò)的邏輯合成步驟,其中提取用于串?dāng)_校正的備用物,其中根據(jù)空余區(qū)信息和定時限制窗口數(shù)據(jù),分解產(chǎn)生了串?dāng)_的網(wǎng)絡(luò)的影響側(cè)和受影響側(cè)的邏輯,將同相的傳輸顛倒為反相傳輸或?qū)⒎聪鄠鬏旑嵉篂橥鄠鬏敚淖冄舆t變化,從而保持相對定時限制限制的穩(wěn)定側(cè);布置和布線的步驟,其中,根據(jù)用于串?dāng)_校正的備用物,在空余區(qū)信息中包含的空余區(qū)中對單元進(jìn)行布置和布線;第二串?dāng)_分析步驟,其中根據(jù)新的校正電路而檢測并行布線長度的違規(guī)情況。
5.一種用于校正半導(dǎo)體集成電路版面設(shè)計(jì)中的串?dāng)_的方法,包括串?dāng)_分析步驟,其中輸入邏輯連接信息,RC信息,分析限定信息,延遲數(shù)據(jù)庫,和串?dāng)_分析數(shù)據(jù)庫,以便根據(jù)輸入信息等對串?dāng)_引起的延遲差異執(zhí)行延遲計(jì)算和定時分析,該串?dāng)_是由從一個定時限制窗口的同時傳輸引起的,并提取出包含定時限制限制違規(guī)信息的曲線數(shù)據(jù)和定時限制窗口數(shù)據(jù);提取將被校正的網(wǎng)絡(luò)的步驟,從包括在曲線數(shù)據(jù)中的定時限制限制違規(guī)線路上的網(wǎng)絡(luò)中提取出要被校正的網(wǎng)絡(luò),該網(wǎng)與相鄰布線之間具有超出預(yù)定值的耦合電容;搜索空余區(qū)的步驟,其中輸入單元面積信息,并參照單元面積信息,在將被校正的網(wǎng)絡(luò)的信息中包含的具有耦合電容的布線走線中搜索空余區(qū)從而提取空余區(qū)信息;定時限制限制違規(guī)線路的邏輯合成步驟,其中提取用于串?dāng)_校正的備用物,其中根據(jù)空余區(qū)信息和定時限制窗口數(shù)據(jù),執(zhí)行邏輯合成,該邏輯合成中,分解相鄰布線部分的網(wǎng)絡(luò)的邏輯或改變其輸出端的數(shù)目,從而找出相鄰布線之間同步的信號傳輸,在保持違規(guī)的情況下,將傳輸顛倒為同相,在建立違規(guī)的情況下,使其為反相;布置和布線的步驟,其中,根據(jù)用于串?dāng)_校正的備用物,在空余區(qū)信息中包含的空余區(qū)中對單元進(jìn)行布置和布線;第二串?dāng)_分析步驟,其中根據(jù)新的校正電路而檢測并行布線長度的違規(guī)情況。
全文摘要
在半導(dǎo)體集成電路中,提供一種用于校正串?dāng)_的方法,它通過在相鄰布線之間的信號傳輸而產(chǎn)生的布線之間的耦合電容實(shí)現(xiàn)影響,包括創(chuàng)建用于緩沖器劃分的備用物的步驟;創(chuàng)建用于單元移動的備用物的步驟;或受影響網(wǎng)絡(luò)邏輯合成步驟。這樣通過緩沖區(qū)劃分、單元移動或通過絡(luò)解分解實(shí)現(xiàn)的單元數(shù)目的增加、邏輯顛倒以及輸出端數(shù)目的變化可以校正串?dāng)_。
文檔編號H01L21/70GK1503347SQ20031011802
公開日2004年6月9日 申請日期2003年11月20日 優(yōu)先權(quán)日2002年11月20日
發(fā)明者雨河直樹 申請人:松下電器產(chǎn)業(yè)株式會社