《电子技术应用》
您所在的位置:首页 > EDA与制造 > 设计应用 > 基于APD的2.5D封装中介层自动化设计
基于APD的2.5D封装中介层自动化设计
2019年电子技术应用第8期
张 成,谈玲燕,曾令玥
格芯半导体上海有限公司 封装设计与算法部,上海201204
摘要: 由于高带宽存储器(High Bandwidth Memory,HBM)的高带宽特性,在2.5D封装中介层(Interposer)的版图设计过程中存在大量HBM接口的连线需要手动完成。介绍了如何使用SKILL语言在Allegro封装设计工具 (Allegro Package Design,APD) 中实现HBM接口的自动布线,将原来的手动布线时间从2周缩短到10 min,大大压缩设计周期。
中图分类号: TN47
文献标识码: A
DOI:10.16157/j.issn.0258-7998.199808
中文引用格式: 张成,谈玲燕,曾令玥. 基于APD的2.5D封装中介层自动化设计[J].电子技术应用,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先进封装具有高带宽、高集成度和低成本的综合优势,开始广泛应用于计算和网络市场。由于HBM的高带宽特性,在2.5D封装中介层(Interposer)设计中存在大量布线工作。并且由于HBM的相对位置在不同的设计中存在差异,因此无法直接复制以前的布线设计。考虑到这些连接非常规则,可以通过软件编程的方式实现自动化,以节省手动布线时间。

    本文介绍如何使用SKILL语言在APD中实现HBM接口的自动布线。此方法的核心在于如何获取每个连线上的各点坐标,再通过SKILL调用布线、打孔命令实现自动化布线工作。

1 2.5D先进封装简介

    如图1所示,这里的2.5D封装相比普通2D封装主要多了Interposer和HBM。

wdz5-t1.gif

    Interposer主要用于连接专用集成电路(ASIC)和HBM,利用硅工艺实现小尺寸线宽和线间距的高密度布线设计。其他信号通过硅通孔(TSV)技术从顶部芯片直接连接到底下的封装基板。

    如图2所示,HBM是多个动态随机存取存储器(Dynamic Random Access Memory,DRAM)的堆叠,以实现高带宽和大容量集成。第二代HBM, 每个IO速率达2 Gb/s,总共1 024个IO,即每个HBM具有2 Tb/s的带宽。

wdz5-t2.gif

    由于HBM的高带宽特性,在Interposer的版图设计过程中,ASIC的HBM接口有大量的网络连接(大于1 700),如图3所示。这些网络除了连线,还要打地孔(VSS Via),加地隔离(VSS Shielding),占用大量的手工布线时间。

wdz5-t3.gif

2 手工布线过程

    第一步导入扇出(Fanout)文件:由于HBM接口的管脚定义和排布都是固定的,因此可以直接复制这部分的Fanout设计。从已有设计中导出子图(Sub-drawing),再在新设计中导入。如图4所示导入HBM的Sub-drawing后,HBM区域的过孔走线已全部扇出。再进行ASIC部分的Sub-drawing导入,因此需要导入两次,总共30 min。

wdz5-t4.gif

    导入完Fanout后进行第二步的连线工作,在APD中将HBM接口的相关网络进行走线连接。

    如图5所示,总共有四层(Ia、Ib、Ic、Wi)2 700多个连线,手工布线需要1天的工作量。

wdz5-t5.gif

    第三步在Ib层加VSS Shielding,将所有地线连起来。构成一个地平面,隔离Ic、Ia层的高速走线,如图6中的这些细线。总共有50 000个连线,需要3天工作量。

wdz5-t6.gif

    最后一步加VSS Via。如图7所示,将不同层的地走线用过孔连接起来,为高速信号提供良好的地回流路径,总共有50 000个VSS Via,需要1天的工作量。

wdz5-t7.gif

    综合以上步骤,如表1所示,每个HBM接口采用手工布线至少需要一周时间,在整个Interposer设计过程中是最长的。因此就有了利用自动布线技术替代手工布线,缩短设计周期的需求。

wdz5-b1.gif

3 自动布线工具的开发

3.1 初步思路

    手动布线中的第一步导入Fanout,可以将原有设计的Sub-drawing作为模板做成脚本文件(script),在APD的SKILL程序中进行调用,从而实现自动导入。

    第二步连线工作,如图8所示,每个连线过程在APD中可以用四个点的坐标来描述(利用SKILL语言中的axlDBCreatLine命令调用4个点坐标,完成一个连线)。因此各个连线的四个点坐标P1、P2、P3、P4可以构成四个列表P1_list、P2_list、 P3_list、 P4_list。通过四个列表来描述所有的连线,再用For循环调用列表中的每个坐标完成所有连线。

wdz5-t8.gif

    第三步为地线上的每个线段插入VSS Via,连接不同层的地线。如图9所示,只要得到每个线段的端点坐标,并调用SKILL语言中的打孔命令axlDBCreatVia,就可以实现加VSS Via。

wdz5-t9.gif

    最后加VSS Shielding也是调用SKILL中的连线命令axlDBCreatLine在Ib层连接所有地线,如图10所示。

wdz5-t10.gif

3.2 算法实现

    从前面的初步思路看出,实现算法的关键是得到所有点的坐标。其中P1、P4点的坐标可以很容易地在APD中得到。只要用APD中的显示部件(Show Element)功能,并框选这些端点,就可以得到一个报告,里面包含这些端点信息,如图11所示。再通过文本处理提取关键字内容得到需要的点的坐标。

wdz5-t11.gif

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

    如图12所示,每个走线和前一个走线的坐标存在固定的几何关系,因此可以通过公式计算出每个走线的P2、P3坐标。

wdz5-t12.gif

    具体公式如下:

L1:(直接从P1点就开始转折,因此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循环中依次调用,示例如下[2-3]

    连线函数示例:

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

    打孔函数示例:

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

    为了软件的易用性,在APD界面中增加相应的调用菜单,如图13所示。

wdz5-t13.gif

3.3 应用实例

    典型的2.5D封装Interposer设计一般有两个HBM接口,如图14所示,总共5 400个连线,100 000个VSS Shielding和100 000个VSS Via。

wdz5-t14.gif

    如表2所示,如果采用手工布线需要2周时间,采用自动布线工具只要10分钟,而且各项检查也都能顺利通过。

wdz5-b2.gif

4 结论

    本文详细介绍了2.5D封装Interposer的设计过程,针对手工布线费时费力的痛点,进行逐步分析,开展算法研究,并在APD中利用SKILL语言完成了自动布线工具的开发。

    通过在典型Interposer设计(带两个HBM)中试用,可以大大压缩设计周期,将原来的手工布线时间从2周缩短到10分钟,而且各项检查都能顺利通过。因此自动布线工具对压缩设计周期,保障设计一致性十分有效。

参考文献

[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.



作者信息:

张  成,谈玲燕,曾令玥

(格芯半导体上海有限公司 封装设计与算法部,上海201204)