一種集成電路版圖精確定位短路點的方法與流程
2023-05-03 22:44:59
本發明涉及電子設計自動化EDA技術領域,特別是涉及一種集成電路版圖精確定位短路點的方法。
背景技術:
近年來,集成電路技術一直按照「摩爾定律」向前發展。隨著工藝不斷向納米級邁進,集成電路版圖的規模急劇膨脹。設計人員在集成電路版圖設計過程中可能引入各種錯誤,短路就是常見的一種連接錯誤。
短路是指本應屬於兩個線網的導體被錯誤的連接在了一起,成為一個線網。例如,一條短路路徑是從一個文本標記(A)出發,經過若干圖形,到達另一不同名的文本標記(B)。如果文本標記本身沒有錯誤,可以確定線網A和B之間的短路是真實存在的。當短路路徑較短時,設計人員很容易確定短路是由哪個圖形造成的。但是對於長的、複雜的短路,特別是與電源和地線等有關的短路,設計人員只知道短路發生在A到B的路徑上的某一點。要找到這個短路點,必須沿短路路徑逐一排查。當有大量短路時,耗時較多。如果驗證工具能夠幫助設計人員縮小排查範圍,找到可疑的短路點,無疑將提高設計效率。
技術實現要素:
為了解決現有技術存在的不足,本發明的目的在於提供一種集成電路版圖精確定位短路點的方法,利用同一線網具有的多個文本標記,在同一線網上找出多條短路路徑,並把短路路徑的交集作為疑似短路點,幫助用戶縮小查找範圍。
為實現上述目的,本發明提供的集成電路版圖精確定位短路點的方法,包括以下步驟:
1)對版圖的相關圖層和文本層進行處理,生成連接圖;
2)採用最短路徑算法形成短路路徑;
3)計算各短路路徑的交集,得到疑似短路點。
進一步地,所述步驟1)進一步包括以下步驟:對版圖的相關圖層和文本層進行處理,形成由多個獨立的連通子圖構成的連接圖;將文本標記與圖形間的連接關係加入到連接圖。
進一步地,所述對版圖的相關圖層和文本層進行處理是採用掃描線算法。
進一步地,所述步驟2)進一步包括以下步驟:採用Dijkstra算法以連通子圖為單位進行計算,每次處理一個連通子圖,形成多條連接不同文本標記的最短路徑。
更進一步地,所述步驟3)進一步包括以下步驟:利用邏輯與操作得到各路徑的交集;將出現頻率高的點,作為疑似短路點。
本發明在電子設計自動化EDA技術領域中提供集成電路版圖精確定位短路點的方法,利用同一線網通常有多個文本標記這一重要條件,在同一線網上找出多條短路路徑,並把短路路徑的交集作為疑似短路點,幫助用戶縮小查找範圍,找到可疑的短路點,提高了設計人員的設計效率。
本發明的其它特徵和優點將在隨後的說明書中闡述,並且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。
附圖說明
附圖用來提供對本發明的進一步理解,並且構成說明書的一部分,並與本發明的實施例一起,用於解釋本發明,並不構成對本發明的限制。在附圖中:
圖1為根據本發明的集成電路版圖精確定位短路點的方法流程圖;
圖2為根據本發明的帶約束條件的邏輯與示意圖;
圖3為根據本發明的兩條平行導線發生短路時利用多個文本標記確定短路點示意圖;
圖4為根據本發明的三條平行導線發生短路時利用多個文本標記確定短路點示意圖。
具體實施方式
以下結合附圖對本發明的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用於說明和解釋本發明,並不用於限定本發明。
圖1為根據本發明的集成電路版圖精確定位短路點的方法流程圖,下面將參考圖1,對本發明的集成電路版圖精確定位短路點的方法進行詳細描述。
首先,在步驟101,先進行線網提取生成連接圖,即根據工藝確定的圖層間連接規則(例如metal1和metal2通過via1進行連接)把版圖中的導體劃分成若干個連通集,每個連通集是一個線網,同時要記錄圖形間的直接連接關係,這就形成了一個連接圖G(V, E),其中,V是圖形的集合,E是圖形間直接連接關係的集合,每個線網是一個連通分圖,不同線網互不連通。
利用文本標記對線網命名,根據工藝確定的文本對應規則(例如指定metal1層圖形接受metal1_txt層的文本)找出文本標記與圖形的對應關係,若一個文本標記位於一個圖形的內部,則該圖形所在的線網獲得文本標記的名字,該文本標記與圖形構成直接連接關係。
本發明中,採用適當的算法(例如掃描線算法)對整個版圖的所有相關圖層和文本層進行處理,得到所有圖形間的直接連接關係,形成連接圖G(V, E)。文本標記與圖形間的連接關係也加入連接圖。此連接圖由多個獨立的連通子圖構成,每個連通子圖為一個線網。當發生短路時,本來互不連通的多個線網被錯誤的連接成了一個線網。如果一個線網中存在不同名的文本標記,則該線網發生了短路。只需要對發生短路的線網進行處理。
在步驟102,採用最短路徑算法形成短路路徑,對於有兩個以上不同名文本的短路線網,採用某種最短路徑算法找出連接不同名文本的最短路徑;
最短短路算法以線網即連通子圖為單位進行計算,每次處理一個連通子圖。在該連通子圖中,採用適當的最短路徑算法查找短路路徑。為本發明的目的,需要形成多條連接不同文本標記的最短路徑,這是一個多源最短路徑問題,可以採用Dijkstra算法。
在步驟103,計算各短路路徑的交集得到疑似短路點,當兩個不同名文本標記間形成短路路徑時,僅憑一條短路路徑無法確定真正的短路點。但是如果有多個文本標記,形成多條短路路徑,利用邏輯與操作得到各路徑的交集,則短路點一定出現在各路徑的交集,即它們的公共部分。特別是,如果兩個線網只有一個短路點,那麼所有連接這兩個線網的短路路徑必然都經過這一點。如果發生短路的情況比較嚴重,例如短路點不止一個,或者三個以上的線網短路,可能不會出現一個所有短路路徑都經過的短路點,但是可以找到出現頻率相對較高的位置點,作為疑似短路點。
圖2為根據本發明的帶約束條件的邏輯與操作示意圖,如圖2所示,本發明的帶約束條件的邏輯與(AND)操作,該邏輯與(AND)操作可以選出重疊程度為特定值的圖形區域,重疊的圖形數代表重疊程度。例如:(重疊程度指重疊的圖形數,如公式下邊解釋中所提到的4個圖形數)
common_metal = GEOM_AND (metal > 3) (1)
上式metal為輸入圖層(金屬線),一個圖層包含若干個圖形(多邊形)。common_metal為輸出圖層。上式所述運算的功能是,找出metal層上至少4個圖形重疊的區域,把這些區域形成圖形輸出到common_metal層。
圖3為根據本發明的兩條平行導線發生短路時利用多個文本標記確定短路點示意圖,如圖3所示,圖3(a)有左右兩條垂直放置的導線,左側導線放置兩個文本標記A,右側導線只放置了一個文本標記B。若設計人員誤用一條水平放置的導線短接了兩條導線,則形成一個短路。短路查找模塊可以找到兩條短路路徑,分別從左上側和左下側文本標記A出發,經由水平導線,到達右上側的B。利用邏輯與操作得到這兩條短路路徑的交集(陰影部分),包括水平導線和右側B導線的上部,這就是本發明所述的短路點。該短路點雖然不能精確定位短路位置,但可以幫助設計人員縮小查找範圍。
如果在右側導線的下部增加一個文本標記B,則至少可找到兩條連接A與B的短路路徑,均經過水平導線,如圖3(b)。這種情形找到的短路點更加精確。如果導線很長,則可明顯縮短設計人員解決短路的時間。通常,對於這種較長的導線(例如ROM存儲器的數據線),至少應在同一導線上相距較遠的兩個位置各放置一個文本標記。對於電源和地線,應在多個位置分散放置文本標記。如果設計人員遵循這一規則,當發生短路時,本發明的方法可以幫助設計人員更快速定位和解決短路。通常,為了識別方便,設計人員會在較大的線網上放置多個文本標記。因此,本發明要求的條件通常是具備的。
圖4為根據本發明的三條平行導線發生短路時利用多個文本標記確定短路點示意圖,如圖4所示,一個三條平行導線短路的情形,圖中每條導線兩端各放置一個文本標記。短路查找模塊至少可找到4條短路路徑,即A(上)-B(上),A(下)-B(下),B(上)-C(上),B(下)-C(下)等。也可能出現A(上)-B(下)等組合,但對短路點的定位無實質影響。對兩條A-B短路路徑和兩條B-C短路路徑分別計算交集,得到短路點如圖中陰影部分。
本發明的集成電路版圖精確定位短路點的方法,利用同一線網的多個文本標記,在同一線網上找出多條短路路徑,並把短路路徑的交集作為疑似短路點,幫助用戶縮小查找範圍。
本領域普通技術人員可以理解:以上所述僅為本發明的優選實施例而已,並不用於限制本發明,儘管參照前述實施例對本發明進行了詳細的說明,對於本領域的技術人員來說,其依然可以對前述各實施例記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。