工程師在倒裝芯片設計中經常使用重新布線層(RDL)將I/O焊盤重新分配到凸點焊盤,整個過程不會改變I/O焊盤布局。然而,傳統布線能力可能不足以處理大規模的設計,因為在這些設計中重新布線層可能非常擁擠,特別是在使用不是最優化的I/O凸點分配方法情況下。這種情況下即使采用人工布線,在一個層內也不可能完成所有布線。 隨著對更多輸入/輸出(I/O)要求的提高,傳統線綁定封裝將不能有效支持上千的I/O。倒裝芯片裝配技術被廣泛用于代替線綁定技術,因為它不僅能減小芯片面積,而且支持多得多的I/O。倒裝芯片還能極大地減小電感,從而支持高速信號,并擁有更好的熱傳導性能。倒裝芯片球柵陣列(FCBGA)也被越來越多地用于高I/O數量的芯片。 圖1:倒裝芯片橫截面:信號線經過包括重新布線層在內的三個面。 重新布線層(RDL)是倒裝芯片組件中芯片與封裝之間的接口界面(圖1)。重新布線層是一個額外的金屬層,由核心金屬頂部走線組成,用于將裸片的I/O焊盤向外綁定到諸如凸點焊盤等其它位置。凸點通常以柵格圖案布置,每個凸點都澆鑄有兩個焊盤(一個在頂部,一個在底部),它們分別連接重新布線層和封裝基板。因此重新布線層被用作連接I/O焊盤和凸點焊盤的層。 圖2:自由分配(FA)和預分配(PA)是兩種焊盤分配方法。外圍I/O(PI/O)和區域I/O(AI/O)是兩種倒裝芯片結構。 倒裝芯片結構與焊盤分配 以往研究已經明確了兩種倒裝芯片結構和兩種焊盤分配方法,如圖2所示。自由分配(FA)和預分配(PA)是兩種焊盤分配方法,而外圍I/O(PI/O)和區域I/O(AI/O)是兩種倒裝芯片結構。 兩種焊盤分配方法的區別在于凸點焊盤和I/O焊盤之間的映射是否定義為輸入。自由分配的問題是,每個I/O焊盤都可以自由分配到任意凸點焊盤,因此分配與布線需要一起考慮。而對預分配來說,每個I/O焊盤必須連接指定的凸點焊盤,因此需要解決復雜的交叉連接問題。預分配問題的解決比自動分配要難,但對設計師來說則更加方便。 兩種倒裝芯片結構分別代表不同的I/O布局圖案。AI/O和PI/O的挑戰分別在于將I/O放在中心區域和將I/O放在裸片外圍。目前PI/O更加流行,因為它簡單,設計成本低,雖然AI/O理論上可以提供更好的性能。 圖3給出了一個PI/O例子。外圍一圈綠色矩形代表I/O焊盤。紅色和黃色圓圈代表電源和地凸點,而藍色圓圈代表信號凸點。位于裸片中央的那些電源/地凸點被分類為網狀類型,信號凸點被分類為柵格類型。 圖3:重新布線層頂視圖,圖中顯示了柵格圖案的凸點焊盤和外圍的I/O焊盤。 上述所有工作都集中在單層布線。它們將布線限制在一個金屬層,每個網絡都必須在這個層完成布線。一般的目標是盡可能地減少走線長度。優化算法需要在布通率為100%的前提下完成。這種方法被證明可以很好地解決每種重新布線層的布線問題,前提是存在單層解決方案。 實用的重新布線層布線方案 重新布線層布線和凸點分配都是額外的實現任務,它們有助于設計從線綁定過渡到倒裝芯片。凸點分配的意思是將每個凸點分配到指定的I/O焊盤。由于對大多數設計來說I/O焊盤位于裸片外圍,因此飛線和信號走線看起來像是從芯片中心到四周邊界的網狀圖案。 圖3顯示的是一個使用兩層重新布線層的真實比例設計例子。金屬層10(M10)和金屬層9(M9)完成所有信號網絡布線,并分別實現電源/地(PG)網格和電源布線。通常有數量眾多的信號網絡需要布線。凸點焊盤的占用面積比較大,在布線階段常被認為是影響布線的障礙。 圖4:擁擠的重新布線層的布線解決方案。 圖4(a)顯示了一個擁擠的重新布線層例子,其中netA、netB……netF這6條網絡顯示為飛線。這種設計如此擁塞,以致于在單個層(如M10)上根本不可能達到100%的布通率。一種解決方案是增加重新布線層(如M10)的面積。這相當于增加裸片尺寸,如圖4(b)所示。另外一種解決方案是再增加一層重新布線層(如M11),如圖4(c)所示。雖然從工程角度看具有實際可操作性,但從成本角度看兩種解決方案都是不可接受的。 替代性框架 一種更實用的選項是被稱為偽單層布線的概念,它要占用已有金屬層(如M9)上的一小塊區域。如果所占用的區域用于非性能關鍵功能,這種方法就具有可操作性,并且極具成本效益。 在圖4(d)中,M9的一些區域(粉色區域)被用來完成布線。這里我們假設邊界線(打點的灰線)和裸片邊界之間的區域用于輔助布線。偽單層布線方法規避了成本問題,而且降低了擁擠布線的難度。雖然前述工作集中于單層布線,但偽單層布線在小塊區域內使用了兩層布線。 這種方法適用于重新布線層,因為M9通常用于連接電源地和I/O焊盤,而且最重要的M9功能是將電源平均分配到內核中的每個邏輯門。結果M9外圍區域的重要性就沒有中心區域高,使得信號網絡能夠與電源地網絡共享M9外圍區域。 圖5:分別位于第9層和第10層的第一和第二個重新布線層。電源地網放置在M_inner^L9。可布線的區域是M_outer^L10 ∪ M_inner^L10 ∪ M_outer^L9。 重新布線層布線的問題表現在連接凸點焊盤Bi和輸入/輸出焊盤Oi之間的網絡Ni。第一和第二個重新布線層分別是M9和M10,見圖5。我們根據邊界線將這個區域命名為內部/外部區域。整個重新布線層被劃分為4個區:M_inner^L9、M_outer^L9、M_inner^L10和M_outer^L10。 術語定義 ● 可布線區(偽單層):M_outer^L10 ∪ M_inner^L10 ∪ M_outer^L9 ● 外部區:M_outer^L10 ∪ M_outer^L9 ● 內部區:M_inner^L9 ∪ M_inner^L10 偽單層重新布線層的布線問題是在可布線區內完成網絡Ni的Bi和Oi的實際連線,并最大限度地減小內部區的面積。這也意味著邊界線不是固定的。解決方案就是要確定邊界線的位置。 我們的偽單層布線算法共有4步:第一步是區域性層分配、可移動的引腳分配和版圖抽取。第二步是完成從一個凸點焊盤到一個引腳的網絡布線。第三步是確定使用哪根線。第四步是完成從I/O焊盤到引腳的布線。圖6顯示了完成可移動引腳分配流程的簡單例子。第一步最重要。好的可移動引腳分配能最大限度地減少重新布線層走線。 圖6:這個簡單例子解釋了布線流程:(a)區域性層分配,可移動引腳的分配以及版圖抽取。步驟(b)和(d)描述了使用哪根線以及使用通道布線完成從I/O焊盤到引腳的布線。(e)展示了重新映射進原始版圖的布線結果。 圖7:可移動引腳分配的兩個版本a)從單邊排序的可移動引腳分配。(b)使用凸點引腳選擇算法的可移動引腳分配。凸點引腳選擇算法可以實現更少走線的布線結果。 圖7顯示了兩種可移動引腳分配方法。第一個版本從同一邊完成每排凸點的可移動引腳分配,因此引腳順序和凸點順序是相同的。這種方法可以快速完成可移動引腳分配,但缺點是順序被凸點排固定了。如果凸點順序不理想,就會產生大量的走線。 第二個也是推薦的方法是引腳選擇算法,如圖8所示。第一步產生所有可能的可移動引腳順序,并在沒有任何交叉網絡的情況下完成從凸點到引腳的布線。第二步是按照最少交叉數量的原則從第一步選擇可移動引腳順序。凸點選擇算法確保凸點到引腳連接沒有任何交叉,引腳到焊盤的交叉數量最少。在使用凸點選擇算法后,再由通道布線算法完成從引腳到I/O焊盤的布線,并確定走線數量,分配走線資源。最后將布線結果重新映射到原始版圖,完成偽單層的重新布線層布線。 圖8:凸點選擇算法。(a)產生可移動的引腳順序。(b)選擇可盡量減少可移動引腳和I/O焊盤間交叉連接的引腳順序。 驗證有效性 上述框架結構已經在一個大規模的商業項目中實現。首先,芯片被分為4個區:W、N、E和S。每個區包含100個以上的信號凸點。針對每個區,我們的布線器可以在不到5秒的時間內產生結果并完成命令腳本的下載。通過在Encounter Digital Implementation (EDI)中提交這些腳本就完成了物理布線。這個結果也可以用任何引腳至引腳布線器實現,因為所有引腳位置都分配好了。設計規則檢查(DRC)判斷所有結果都是好的。布線結果見圖6和圖7,同時總結在表I中,其中fcroute是在所定義的EDI中的倒裝芯片布線器,p2proute是點到點布線器。由于沒有簽署披露協議,因此只顯示了部分結果。 表I:布線結果小結。 本文小結 本文介紹了在偽單層上完成重新布線層布線的一種方法,這種方法可以用于太過擁塞以至于人工布線都無法實現單層解決方案的場合。偽單層布線方法提供了替代增加額外金屬層或增加裸片尺寸的可行方法。成功的關鍵是區域性層分配、可移動的引腳分配和版圖抽取。這些技術將重新布線層的布線問題轉變成為典型的通道布線問題。利用這種方法可以做到百分之百的布通率,并且最大限度地減小了兩層布線的面積。 參考文獻 [1] H.-C. Lee, Y.-W. Chang, P.-W. Lee, “Recent research development in flip-chip routing,” IEEE/ACM計算機輔助設計國際會議期刊, 第404-410頁, 2010年。 [2] J.-W. Fang ,Y.-W. Chang, “Area-I/O flip-chip routing for chip-package co-design,” IEEE/ACM 計算機輔助設計國際會議期刊, 第518-521頁, 2008年。 作者簡介 國立交通大學Tu-Hsiung Tsai,Hung-Ming Chen,創意電子股份有限公司Hung-Chun Li,Shi-Hao Chen: Tu-Hsiung Tsai于2006年獲得位于臺灣新竹的國立交通大學頒發的電子工程專業學士學位,現正在攻讀電子工程系博士學位。他的研究興趣包括數字電路布局、物理設計方法以及系統設計的協同設計流程。 Hung-Ming Chen于1993年獲得位于臺灣新竹的國立交通大學頒發的計算機科學與信息工程專業學士學位,并分別于1998年和2003年獲得德州大學計算機科學專業的碩士和博士學位。他目前是國立交通大學電子工程系助理教授。陳博士還是ACM/IEEE ASP-DAC、IEEE SOCC、VLSI-DAT和ACM ISPD的技術程序委員會成員。他的研究興趣包括數字和模擬電路的物理設計自動化、裸片外集成(片外EDA)和3D IC設計技術。 Hung-Chun Li曾在Cadence Design公司IC數字設計部門做過研發架構師,并曾是博通公司網絡交換事業部、臺積電設計服務事業部和ISSI公司非易失性存儲器事業部的技術負責人。他目前是位于臺灣新竹的創意電子(GUC)公司設計服務事業部總監,正領導創意電子公司設計流程研發團隊開發先進技術節點(40nm/28nm)下的IC設計方法。 Shi-Hao Chen分別于1996年和1998年獲得位于臺灣中壢的中原大學電子工程系頒發的學士和碩士學位,并在2012年獲得位于臺灣新竹的國立清華大學計算機科學系博士學位。他目前是位于臺灣新竹的創意電子(GUC)公司副總監。他的研究興趣包括設計流程自動化、物理設計和低功耗設計方法。 |