一種自動排布芯片版圖的方法
【技術領域】
[0001]本申請涉及一種集成電路版圖的排布(即布局設計)方法。
【背景技術】
[0002]在半導體集成電路領域,光刻工藝是制造任何芯片(chip)所必須使用的,光刻工藝中會用到掩膜板(photomask,通常簡稱為mask)。掩膜板上的圖形通過一定比例投射到硅片(wafer,也稱晶圓)上,再由曝光、顯影等步驟使硅片上出現與掩膜板圖形相同或等比例縮小的圖形。
[0003]一塊硅片通常包含多個曝光單元(shot),每個曝光單元的尺寸均小于或等于掩膜板的最大曝光尺寸。對于量產的芯片,每個曝光單元中包括多個重復的芯片。任何芯片在進入正式量產前,都會制造至少一次樣品以做測試。在制造芯片樣品時,為節約成本,在一個曝光單元中會集成有多個相同或不同種類的芯片,這就帶來了如何排布芯片版圖的問題。工程師所追求的的排布芯片版圖的目標有二點:
[0004]其一,希望在一個曝光單元中放置盡可能多的芯片,換而言之,曝光單元中的空閑區域應該越少越好,空閑區域的面積應該越小越好。
[0005]其二,這些芯片在制造完成后應該容易從硅片上切割以進行分離。如果能將各個芯片的邊沿盡可能沿著X軸或Y軸對齊成一條直線,顯然對于切割是最為有利的。
[0006]由于掩膜板的制造成本也越來越高。因此上述排布芯片版圖的目標不僅能夠節省硅片的數量,對于節省掩膜板的數量也是至關重要的。
[0007]目前,工程師一般以畫圖示的方式并結合人工計算來手動排布各個曝光單元中的芯片布局。請參閱圖1,當需要在一塊硅片上放置46個矩形的芯片框架單元時,這是采用手動排布后的示意圖。由于各個芯片框架單元的尺寸并無規律,差異化較大,所以對于復雜的芯片排布要求,往往需要花費很多工作時間,不僅工作效率很低,而且設計過程中的種種錯誤在所難免,最終得到的芯片排布結構也往往離最優方案差距較大。
【發明內容】
[0008]本申請所要解決的技術問題是提供一種在集成電路版圖設計階段自動排布芯片版圖的方法,該方法能夠高效、優質地完成芯片的布局設計。
[0009]為解決上述技術問題,本申請自動排布芯片版圖的方法包括如下步驟:
[0010]第I步,設定曝光單元的尺寸小于或等于掩模板的最大曝光尺寸;
[0011]第2步,將需要排布的各個芯片的最小外接矩形作為該芯片所對應的芯片框架單元,記錄各個芯片框架單元的尺寸;
[0012]第3步,記錄各個芯片框架單元在X軸上、Y軸上排布的間距要求;
[0013]第4步,指定各個芯片框架單元的排布順序;
[0014]第5步,沿著X軸或Y軸按照指定的排布順序和間距要求依次放置各個芯片框架單元,當所放置的芯片框架單元超出了用于芯片排布的區域的尺寸,則沿著X軸另起一行或沿著Y軸另起一列,無論是否放置完成所有的芯片框架單元,都輸出初始的芯片排布結構;
[0015]第6步,采用如下手段之一或任意結合,然后重復第5步,得到修改后的芯片排布結構;
[0016]手段一,擴大一個或多個芯片框架單元的尺寸;
[0017]手段二,對一個或多個芯片框架單元進行旋轉和/或鏡像變換,并記錄變換方式;
[0018]手段三,改變一個或多個芯片框架單元的排布順序;
[0019]手段四,將沿著X軸排布改為沿著Y軸排布,或相反。
[0020]本申請自動排布芯片版圖的方法不僅大大提高了工作效率,而且有效降低了芯片排布設計時的失誤率,有利于得到空間利用最優、劃片切割最優的芯片排布方案。
【附圖說明】
[0021]圖1是現有的人工方法排布芯片版圖后的不意圖;
[0022]圖2a是沿著X軸排布的示意圖;
[0023]圖2b是沿著Y軸排布的示意圖;
[0024]圖3是對芯片框架單元進行旋轉和/或鏡像變換的八種狀態示意圖;
[0025]圖4是二叉樹(局部)及對應的初始的芯片排布結構(布局)的示意圖;
[0026]圖5是本申請的自動方法排布芯片版圖后的示意圖;
[0027]圖6是本申請自動排布芯片版圖的方法的流程圖。
【具體實施方式】
[0028]仍以圖1所示的在一個曝光單元中放置46個芯片框架單元為例,對本申請的自動排布芯片版圖的方法進行詳細說明。請參閱圖6,其包括如下步驟:
[0029]第I步,根據掩模板的最大曝光尺寸,確定曝光單元的尺寸(即后續用于芯片排布的區域的尺寸),后者應小于或等于前者。例如掩模板的最大曝光尺寸為22000 μ mX 22000 μ m,基于該尺寸用于排布一種尺寸為5000 μ mX 5000 μ m的芯片,那么實際用于芯片排布的曝光單兀為20000 μ mX20000 μ m,排布方式為4X4陣列。如果一個曝光單元上用于排布多種不同大小的芯片,那么該曝光單元可以理想地定為與掩膜板的最大曝光尺寸相同。
[0030]第2步,需要排布的各個芯片可能具有各種形狀,將需要排布的各個芯片的最小外接矩形作為該芯片所對應的芯片框架單元,記錄各個芯片框架單元(矩形)的兩條邊的尺寸。顯然,如果一個芯片框架單元可以布局在一個曝光單元中,那么與該芯片框架單元所對應的芯片必然可以放置在該芯片框架單元中。例如,還為各個芯片框架單元命名為Al、BI等,記錄各個芯片框架單元與各個芯片之間的名稱對應關系等。
[0031]第3步,記錄各個芯片框架單元在X軸上的最小間距Λ X,在Y軸上的最小間距Ay0該ΛΧ和Ay的設置是為了便于劃片設備對制造完成的硅片進行劃分,以分割出各個芯片,因此該Δχ和Ay應設置為大于或等于劃片槽的寬度。例如,Δχ= Ay = 80 μ m,或者設為 50μπι、60μπι、100μπι 等。
[0032]第4步,指定各個芯片框架單元的排布順序。順序越靠前,則越早被放置到硅片上,反之亦然。
[0033]第5步,按照指定的各個芯片框架單元的排布順序,遵循各個芯片框架單元在X軸上的最小間距Λχ,在Y軸上的最小間距Ay,在第I步所確定的曝光單元中沿著X軸或Y軸依次放置各個芯片框架單元。
[0034]如果是沿著X軸排布,那么假設排布順序為El、E2、18、14、19、13、H1、D3、D2、IA、I6、H3、IB、I5、F1、……,則如圖2a所示。其排布原則是:當所放置的芯片框架單元在X軸超出了用于芯片排布的區域的尺寸,則沿著X軸另起一行。所述另起一行,有時并不是從X坐標為O的地方重新開始,而可以從之前所排布單元的右側重新開始,例如另起一行后的Hl仍被放在E2的右側。在X軸方向如果遇到障礙,則越過障礙繼續沿著X軸排布,例如IA越過了 D3、D2的障礙繼續沿著X軸排布。
[0035]如果是沿著Y軸排布,那么假設排布順序為El、FU G2、B2、IE、KU Ml、ID、K2、Ε2、……,則如圖2b所示。其排布原則是:當所放置的芯片框架單元在Y軸超出了用于芯片排布的區域的尺寸,則沿著Y軸另起一列。所述另起一列,有時并不是從Y坐標為O的地方重新開始,而可以從之前所排布單元的下方重新開始,例如另起一列后的IE仍被放在El的下方。同樣地,在Y軸方向如果遇到障礙,則越過障礙繼續沿著Y軸排布,
[0036]這一步由計算機自動執行,可能在硅片上可用于芯片排布的區域放置完所有需要排布的芯片,也可能無法放置完。無論