文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.199808
中文引用格式: 張成,談玲燕,曾令玥. 基于APD的2.5D封裝中介層自動(dòng)化設(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.
0 引言
集成高帶寬存儲(chǔ)器(High Bandwidth Memory,HBM)的2.5D先進(jìn)封裝具有高帶寬、高集成度和低成本的綜合優(yōu)勢(shì),開(kāi)始廣泛應(yīng)用于計(jì)算和網(wǎng)絡(luò)市場(chǎng)。由于HBM的高帶寬特性,在2.5D封裝中介層(Interposer)設(shè)計(jì)中存在大量布線工作。并且由于HBM的相對(duì)位置在不同的設(shè)計(jì)中存在差異,因此無(wú)法直接復(fù)制以前的布線設(shè)計(jì)。考慮到這些連接非常規(guī)則,可以通過(guò)軟件編程的方式實(shí)現(xiàn)自動(dòng)化,以節(jié)省手動(dòng)布線時(shí)間。
本文介紹如何使用SKILL語(yǔ)言在APD中實(shí)現(xiàn)HBM接口的自動(dòng)布線。此方法的核心在于如何獲取每個(gè)連線上的各點(diǎn)坐標(biāo),再通過(guò)SKILL調(diào)用布線、打孔命令實(shí)現(xiàn)自動(dòng)化布線工作。
1 2.5D先進(jìn)封裝簡(jiǎn)介
如圖1所示,這里的2.5D封裝相比普通2D封裝主要多了Interposer和HBM。
Interposer主要用于連接專用集成電路(ASIC)和HBM,利用硅工藝實(shí)現(xiàn)小尺寸線寬和線間距的高密度布線設(shè)計(jì)。其他信號(hào)通過(guò)硅通孔(TSV)技術(shù)從頂部芯片直接連接到底下的封裝基板。
如圖2所示,HBM是多個(gè)動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Dynamic Random Access Memory,DRAM)的堆疊,以實(shí)現(xiàn)高帶寬和大容量集成。第二代HBM, 每個(gè)IO速率達(dá)2 Gb/s,總共1 024個(gè)IO,即每個(gè)HBM具有2 Tb/s的帶寬。
由于HBM的高帶寬特性,在Interposer的版圖設(shè)計(jì)過(guò)程中,ASIC的HBM接口有大量的網(wǎng)絡(luò)連接(大于1 700),如圖3所示。這些網(wǎng)絡(luò)除了連線,還要打地孔(VSS Via),加地隔離(VSS Shielding),占用大量的手工布線時(shí)間。
2 手工布線過(guò)程
第一步導(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ū)域的過(guò)孔走線已全部扇出。再進(jìn)行ASIC部分的Sub-drawing導(dǎo)入,因此需要導(dǎo)入兩次,總共30 min。
導(dǎo)入完Fanout后進(jìn)行第二步的連線工作,在APD中將HBM接口的相關(guān)網(wǎng)絡(luò)進(jìn)行走線連接。
如圖5所示,總共有四層(Ia、Ib、Ic、Wi)2 700多個(gè)連線,手工布線需要1天的工作量。
第三步在Ib層加VSS Shielding,將所有地線連起來(lái)。構(gòu)成一個(gè)地平面,隔離Ic、Ia層的高速走線,如圖6中的這些細(xì)線??偣灿?0 000個(gè)連線,需要3天工作量。
最后一步加VSS Via。如圖7所示,將不同層的地走線用過(guò)孔連接起來(lái),為高速信號(hào)提供良好的地回流路徑,總共有50 000個(gè)VSS Via,需要1天的工作量。
綜合以上步驟,如表1所示,每個(gè)HBM接口采用手工布線至少需要一周時(shí)間,在整個(gè)Interposer設(shè)計(jì)過(guò)程中是最長(zhǎng)的。因此就有了利用自動(dòng)布線技術(shù)替代手工布線,縮短設(shè)計(jì)周期的需求。
3 自動(dòng)布線工具的開(kāi)發(fā)
3.1 初步思路
手動(dòng)布線中的第一步導(dǎo)入Fanout,可以將原有設(shè)計(jì)的Sub-drawing作為模板做成腳本文件(script),在APD的SKILL程序中進(jìn)行調(diào)用,從而實(shí)現(xiàn)自動(dòng)導(dǎo)入。
第二步連線工作,如圖8所示,每個(gè)連線過(guò)程在APD中可以用四個(gè)點(diǎn)的坐標(biāo)來(lái)描述(利用SKILL語(yǔ)言中的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。通過(guò)四個(gè)列表來(lái)描述所有的連線,再用For循環(huán)調(diào)用列表中的每個(gè)坐標(biāo)完成所有連線。
第三步為地線上的每個(gè)線段插入VSS Via,連接不同層的地線。如圖9所示,只要得到每個(gè)線段的端點(diǎn)坐標(biāo),并調(diào)用SKILL語(yǔ)言中的打孔命令axlDBCreatVia,就可以實(shí)現(xiàn)加VSS Via。
最后加VSS Shielding也是調(diào)用SKILL中的連線命令axlDBCreatLine在Ib層連接所有地線,如圖10所示。
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ò)文本處理提取關(guān)鍵字內(nèi)容得到需要的點(diǎn)的坐標(biāo)。
下一步就是利用得到的P1、P4坐標(biāo)計(jì)算出P2、P3的坐標(biāo)。
如圖12所示,每個(gè)走線和前一個(gè)走線的坐標(biāo)存在固定的幾何關(guān)系,因此可以通過(guò)公式計(jì)算出每個(gè)走線的P2、P3坐標(biāo)。
具體公式如下:
L1:(直接從P1點(diǎn)就開(kāi)始轉(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語(yǔ)言中的連線和打孔命令在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所示。
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。
如表2所示,如果采用手工布線需要2周時(shí)間,采用自動(dòng)布線工具只要10分鐘,而且各項(xiàng)檢查也都能順利通過(guò)。
4 結(jié)論
本文詳細(xì)介紹了2.5D封裝Interposer的設(shè)計(jì)過(guò)程,針對(duì)手工布線費(fèi)時(shí)費(fèi)力的痛點(diǎn),進(jìn)行逐步分析,開(kāi)展算法研究,并在APD中利用SKILL語(yǔ)言完成了自動(dòng)布線工具的開(kāi)發(fā)。
通過(guò)在典型Interposer設(shè)計(jì)(帶兩個(gè)HBM)中試用,可以大大壓縮設(shè)計(jì)周期,將原來(lái)的手工布線時(shí)間從2周縮短到10分鐘,而且各項(xiàng)檢查都能順利通過(guò)。因此自動(dòng)布線工具對(duì)壓縮設(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)