《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > EDA與制造 > 設(shè)計應(yīng)用 > 基于APD的2.5D封裝中介層自動化設(shè)計
基于APD的2.5D封裝中介層自動化設(shè)計
2019年電子技術(shù)應(yīng)用第8期
張 成,談玲燕,曾令玥
格芯半導(dǎo)體上海有限公司 封裝設(shè)計與算法部,上海201204
摘要: 由于高帶寬存儲器(High Bandwidth Memory,HBM)的高帶寬特性,在2.5D封裝中介層(Interposer)的版圖設(shè)計過程中存在大量HBM接口的連線需要手動完成。介紹了如何使用SKILL語言在Allegro封裝設(shè)計工具 (Allegro Package Design,APD) 中實現(xiàn)HBM接口的自動布線,將原來的手動布線時間從2周縮短到10 min,大大壓縮設(shè)計周期。
中圖分類號: TN47
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.199808
中文引用格式: 張成,談玲燕,曾令玥. 基于APD的2.5D封裝中介層自動化設(shè)計[J].電子技術(shù)應(yīng)用,2019,45(8):68-70,74.
英文引用格式: Zhang Cheng,Tan Lingyan,Zeng Lingyue. 2.5D package interposer automatic design based on Allegro Package Design[J]. Application of Electronic Technique,2019,45(8):68-70,74.
2.5D package interposer automatic design based on Allegro Package Design
Zhang Cheng,Tan Lingyan,Zeng Lingyue
Globalfoundries China(Shanghai) Co. Limited,Shanghai 201204,China
Abstract: Due to the high bandwidth characteristics of HBM(high bandwidth memory), there are a large number of HBM interface connections that need to be manually completed during the layout design of the 2.5D package interposer. This article describes how to use the SKILL language to implement automatic wiring of HBM interface in APD(Allegro package design), reducing the original manual wiring from 2 weeks to 10 minutes, saving design cycles.
Key words : 2.5D advanced package;HBM(high bandwidth memory);SKILL;APD(Allegro package design);automatic wiring

0 引言

    集成高帶寬存儲器(High Bandwidth Memory,HBM)的2.5D先進封裝具有高帶寬、高集成度和低成本的綜合優(yōu)勢,開始廣泛應(yīng)用于計算和網(wǎng)絡(luò)市場。由于HBM的高帶寬特性,在2.5D封裝中介層(Interposer)設(shè)計中存在大量布線工作。并且由于HBM的相對位置在不同的設(shè)計中存在差異,因此無法直接復(fù)制以前的布線設(shè)計??紤]到這些連接非常規(guī)則,可以通過軟件編程的方式實現(xiàn)自動化,以節(jié)省手動布線時間。

    本文介紹如何使用SKILL語言在APD中實現(xiàn)HBM接口的自動布線。此方法的核心在于如何獲取每個連線上的各點坐標,再通過SKILL調(diào)用布線、打孔命令實現(xiàn)自動化布線工作。

1 2.5D先進封裝簡介

    如圖1所示,這里的2.5D封裝相比普通2D封裝主要多了Interposer和HBM。

wdz5-t1.gif

    Interposer主要用于連接專用集成電路(ASIC)和HBM,利用硅工藝實現(xiàn)小尺寸線寬和線間距的高密度布線設(shè)計。其他信號通過硅通孔(TSV)技術(shù)從頂部芯片直接連接到底下的封裝基板。

    如圖2所示,HBM是多個動態(tài)隨機存取存儲器(Dynamic Random Access Memory,DRAM)的堆疊,以實現(xiàn)高帶寬和大容量集成。第二代HBM, 每個IO速率達2 Gb/s,總共1 024個IO,即每個HBM具有2 Tb/s的帶寬。

wdz5-t2.gif

    由于HBM的高帶寬特性,在Interposer的版圖設(shè)計過程中,ASIC的HBM接口有大量的網(wǎng)絡(luò)連接(大于1 700),如圖3所示。這些網(wǎng)絡(luò)除了連線,還要打地孔(VSS Via),加地隔離(VSS Shielding),占用大量的手工布線時間。

wdz5-t3.gif

2 手工布線過程

    第一步導(dǎo)入扇出(Fanout)文件:由于HBM接口的管腳定義和排布都是固定的,因此可以直接復(fù)制這部分的Fanout設(shè)計。從已有設(shè)計中導(dǎo)出子圖(Sub-drawing),再在新設(shè)計中導(dǎo)入。如圖4所示導(dǎo)入HBM的Sub-drawing后,HBM區(qū)域的過孔走線已全部扇出。再進行ASIC部分的Sub-drawing導(dǎo)入,因此需要導(dǎo)入兩次,總共30 min。

wdz5-t4.gif

    導(dǎo)入完Fanout后進行第二步的連線工作,在APD中將HBM接口的相關(guān)網(wǎng)絡(luò)進行走線連接。

    如圖5所示,總共有四層(Ia、Ib、Ic、Wi)2 700多個連線,手工布線需要1天的工作量。

wdz5-t5.gif

    第三步在Ib層加VSS Shielding,將所有地線連起來。構(gòu)成一個地平面,隔離Ic、Ia層的高速走線,如圖6中的這些細線??偣灿?0 000個連線,需要3天工作量。

wdz5-t6.gif

    最后一步加VSS Via。如圖7所示,將不同層的地走線用過孔連接起來,為高速信號提供良好的地回流路徑,總共有50 000個VSS Via,需要1天的工作量。

wdz5-t7.gif

    綜合以上步驟,如表1所示,每個HBM接口采用手工布線至少需要一周時間,在整個Interposer設(shè)計過程中是最長的。因此就有了利用自動布線技術(shù)替代手工布線,縮短設(shè)計周期的需求。

wdz5-b1.gif

3 自動布線工具的開發(fā)

3.1 初步思路

    手動布線中的第一步導(dǎo)入Fanout,可以將原有設(shè)計的Sub-drawing作為模板做成腳本文件(script),在APD的SKILL程序中進行調(diào)用,從而實現(xiàn)自動導(dǎo)入。

    第二步連線工作,如圖8所示,每個連線過程在APD中可以用四個點的坐標來描述(利用SKILL語言中的axlDBCreatLine命令調(diào)用4個點坐標,完成一個連線)。因此各個連線的四個點坐標P1、P2、P3、P4可以構(gòu)成四個列表P1_list、P2_list、 P3_list、 P4_list。通過四個列表來描述所有的連線,再用For循環(huán)調(diào)用列表中的每個坐標完成所有連線。

wdz5-t8.gif

    第三步為地線上的每個線段插入VSS Via,連接不同層的地線。如圖9所示,只要得到每個線段的端點坐標,并調(diào)用SKILL語言中的打孔命令axlDBCreatVia,就可以實現(xiàn)加VSS Via。

wdz5-t9.gif

    最后加VSS Shielding也是調(diào)用SKILL中的連線命令axlDBCreatLine在Ib層連接所有地線,如圖10所示。

wdz5-t10.gif

3.2 算法實現(xiàn)

    從前面的初步思路看出,實現(xiàn)算法的關(guān)鍵是得到所有點的坐標。其中P1、P4點的坐標可以很容易地在APD中得到。只要用APD中的顯示部件(Show Element)功能,并框選這些端點,就可以得到一個報告,里面包含這些端點信息,如圖11所示。再通過文本處理提取關(guān)鍵字內(nèi)容得到需要的點的坐標。

wdz5-t11.gif

    下一步就是利用得到的P1、P4坐標計算出P2、P3的坐標。

    如圖12所示,每個走線和前一個走線的坐標存在固定的幾何關(guān)系,因此可以通過公式計算出每個走線的P2、P3坐標。

wdz5-t12.gif

    具體公式如下:

L1:(直接從P1點就開始轉(zhuǎn)折,因此P2就是P1坐標)

    p2_x=p1_x

    p2_y=p1_y

    p3_x=p2_x+(p4_y-p1_y)

    p3_y=p4_y

L2:

    p2_x=L1_p2_x+(L1_p1_y-L2_p1_y)/tg67.5

    p2_y=p1_y

    p3_x=p2_x+(p4_y-p1_y)

    p3_y=p4_y

Ln:

    p2_x=Ln-1_p2_x+(Ln-1_p1_y-Ln_p1_y)/tg67.5

    p2_y=p1_y

    p3_x=p2_x+(p4_y-p1_y)

    p3_y=p4_y

    算出所有點坐標后,利用SKILL語言中的連線和打孔命令在For循環(huán)中依次調(diào)用,示例如下[2-3]。

    連線函數(shù)示例:

    axlDBCreateLine((list p1_x:p1_y p2_x:p2_y p3_x:p3_y p4_x:p4_y), width,"etch/ic")

    打孔函數(shù)示例:

    axlDBCreateVia( "IC_IB", x1:y1, "VSS", nil, 45.)

    為了軟件的易用性,在APD界面中增加相應(yīng)的調(diào)用菜單,如圖13所示。

wdz5-t13.gif

3.3 應(yīng)用實例

    典型的2.5D封裝Interposer設(shè)計一般有兩個HBM接口,如圖14所示,總共5 400個連線,100 000個VSS Shielding和100 000個VSS Via。

wdz5-t14.gif

    如表2所示,如果采用手工布線需要2周時間,采用自動布線工具只要10分鐘,而且各項檢查也都能順利通過。

wdz5-b2.gif

4 結(jié)論

    本文詳細介紹了2.5D封裝Interposer的設(shè)計過程,針對手工布線費時費力的痛點,進行逐步分析,開展算法研究,并在APD中利用SKILL語言完成了自動布線工具的開發(fā)。

    通過在典型Interposer設(shè)計(帶兩個HBM)中試用,可以大大壓縮設(shè)計周期,將原來的手工布線時間從2周縮短到10分鐘,而且各項檢查都能順利通過。因此自動布線工具對壓縮設(shè)計周期,保障設(shè)計一致性十分有效。

參考文獻

[1] KIM J Y,KIM Y S.HBM:memory solution for bandwidth-hungry processors[C].2014 IEEE Hot Chips 26 Symposium(HCS).Cupertino,CA,USA.2014.

[2] Cadence SKILL language user guide(Version 6.1.6)[Z].2014.

[3] Cadence SKILL language reference[M].Version 6.1.6.2014.



作者信息:

張  成,談玲燕,曾令玥

(格芯半導(dǎo)體上海有限公司 封裝設(shè)計與算法部,上海201204)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。