《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > EDA與制造 > 設(shè)計(jì)應(yīng)用 > 基于APD的2.5D封裝中介層自動化設(shè)計(jì)
基于APD的2.5D封裝中介層自動化設(shè)計(jì)
2019年電子技術(shù)應(yīng)用第8期
張 成,談玲燕,曾令玥
格芯半導(dǎo)體上海有限公司 封裝設(shè)計(jì)與算法部,上海201204
摘要: 由于高帶寬存儲器(High Bandwidth Memory,HBM)的高帶寬特性,在2.5D封裝中介層(Interposer)的版圖設(shè)計(jì)過程中存在大量HBM接口的連線需要手動完成。介紹了如何使用SKILL語言在Allegro封裝設(shè)計(jì)工具 (Allegro Package Design,APD) 中實(shí)現(xiàn)HBM接口的自動布線,將原來的手動布線時(shí)間從2周縮短到10 min,大大壓縮設(shè)計(jì)周期。
中圖分類號: TN47
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.199808
中文引用格式: 張成,談玲燕,曾令玥. 基于APD的2.5D封裝中介層自動化設(shè)計(jì)[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先進(jìn)封裝具有高帶寬、高集成度和低成本的綜合優(yōu)勢,開始廣泛應(yīng)用于計(jì)算和網(wǎng)絡(luò)市場。由于HBM的高帶寬特性,在2.5D封裝中介層(Interposer)設(shè)計(jì)中存在大量布線工作。并且由于HBM的相對位置在不同的設(shè)計(jì)中存在差異,因此無法直接復(fù)制以前的布線設(shè)計(jì)。考慮到這些連接非常規(guī)則,可以通過軟件編程的方式實(shí)現(xiàn)自動化,以節(jié)省手動布線時(shí)間。

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

1 2.5D先進(jìn)封裝簡介

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

wdz5-t1.gif

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

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

wdz5-t2.gif

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

wdz5-t3.gif

2 手工布線過程

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

wdz5-t4.gif

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

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

wdz5-t5.gif

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

wdz5-t6.gif

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

wdz5-t7.gif

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

wdz5-b1.gif

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

3.1 初步思路

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

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

wdz5-t8.gif

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

wdz5-t9.gif

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

wdz5-t10.gif

3.2 算法實(shí)現(xiàn)

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

wdz5-t11.gif

    下一步就是利用得到的P1、P4坐標(biāo)計(jì)算出P2、P3的坐標(biāo)。

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

wdz5-t12.gif

    具體公式如下:

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

    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

    算出所有點(diǎn)坐標(biāo)后,利用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)用實(shí)例

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

wdz5-t14.gif

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

wdz5-b2.gif

4 結(jié)論

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

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

參考文獻(xiàn)

[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è)計(jì)與算法部,上海201204)

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