2. 多Die集成系统架构

说实话,我第一次调试UCIe多Die系统时,光理清架构就花了三天。你得想清楚,芯片之间怎么握手,数据跑哪条路,封装怎么配合。这些没搞对,后面信号完整性、功耗全部白搭。

我个人习惯是,先从拓扑入手,再确认是走桥接还是直接互联,最后看封装能不能兜住。下面咱们一个个聊。

Die-to-Die互连拓扑:几种常见的走法

多Die集成,说白了就是把功能拆开,再用互连捏回来。拓扑结构直接决定了布局布线的难度和性能上限。

核心原则:拓扑选型时,延迟、功耗和Si面积三要素必须一起权衡,不能只看带宽。

常见的三种拓扑

点对点(P2P):最直接,一根链路只连两个Die。延迟最低,扩展性差。我做一个HPC Die-to-Die项目时就用的这个,3片Die互相通信——结果IO资源爆炸,最后改成了共享通道。

菊花链:路径只有一条,数据像串珠子一样传递。优点是用得Die少,缺点是中间节点一堵,后面全断网。我记得有一次客户非要搞6片串联,还没量产就发现硬件缺陷,后来硬是拆成了两组3片。

环形/网状:冗余走线,每个Die都能选多条路径。可靠性高,但布线复杂。适合超大系统,比如16Die以上的交换机芯片。

我个人经验:如果总Die数少于4,直接用P2P;4~8片用环形拓扑性价比高;超过8片,你基本得进3D垂直互连的领域了。

一个快速对比表

拓扑类型 延迟 带宽可扩展性 适用场景
点对点(P2P) 低(1跳) 差(每加一片Die新增N-1条链路) 2-4 Die,对延迟极敏感
菊花链 中(随跳数线性增加) 一般(1条链路) 3-6 Die,成本敏感、带宽要求不高
环形/网状 中高(2-3跳) 好(负载分摊) 4-16 Die,可靠性重要
避坑指南:我曾经碰到一个项目用环形拓扑,结果因为死锁状态没处理好,导致整个系统的Write请求卡了2ms——对于高频交易芯片来说那就是灾难了。一定要留死锁恢复通道,不要纯靠协议。

桥接芯片与直接连接

拓扑定好了,下一个选择是:让Die通过桥接芯片(Bridge)对话,还是直接面对面连(Direct Connection)?这个踩过的坑我能讲一晚上。

桥接芯片(Embedded Bridge)

桥接芯片两边分别拉出UCIe PHY。我个人经验是,这种方式适合封装封装之间异构的接口。比如你既有SerDes PHY又有普通I/O,用桥接做协议转换非常顺。缺点也很明显:多了一个中介芯片,功耗和延迟上大概多了10~15%。

我建议的场景:当你需要连接一个Legacy Die和一个新设计的Die,两边接口速率不匹配时。我在一个汽车雷达项目中用过,桥接IC做了24Gbps到16Gbps的降速,否则旧Die根本跑不起来。

直接连接(Direct Connection)

没有中间层,Die和Die的边界直接对齐,UCIe PHY引脚对接。这是我个人最喜欢的配置——干净、低延迟。但前提是两个Die在同一个封装基板上,而且工艺节点不能差太多。

说白了,直接连接就是图上画一根线,物理距离拉近。我之前的AI推理芯片就这么干的:4个小Die直接P2P对接,共用一个LPDDR接口。整个系统只用了一根电源域,省电又省面积。

选型决策树:
(1) 两个Die同工艺、同电压、同数据速率? → 直接连接
(2) 异构工艺、不同速率、有Legacy接口? → 桥接芯片
(3) 三者都满足而且只做简单互连? → 啥都行,看成本

等等,我得提醒一下。直接连接在布局上非常受限——两个Die的电源、时钟、复位必须高度同步。一旦有一边没上电顺序对了,整个链路就挂死。我曾经吃过这个亏:Die A先上电,Die B还没起来,结果A的UCIe Link Manager一直往外发Training序列,B收不到又不会回NACK,最后整机看门狗复位了。后来加了上电使能信号才解决。

一个实战对比

参数 桥接芯片 直接连接
面积开销 多了桥接IC的Die面积 几乎为0
延迟 桥接IC增加约2~3个cycle 1个cycle内可达
功耗 桥接IC自身耗电约占链路15% 约等于直接PHY功耗
适用场景 异构Die、非对称速率 同工艺、同步速率
小技巧:桥接芯片设计阶段,一定预留一个硬件 bypass 模式(通过GPIO控制)。万一延时你需要 close 时序,可以直接切换到直通策略。我在一个SerDes项目中靠这个留了一手,最后帮部门省了2个月的重设计周期。

封装技术:2.5D vs 3D

最后得看封装能不能兜住。说到封装,我习惯先回答个问题:“Die与Die之间的距离到底有多近?”

2.5D封装( Interposer / 硅中介层)

常见的就是有机基板+埋入硅Interposer。UCIe的物理层PHY放在Interposer上,Die放在上面再用μBumps对准。优势是工艺成熟、成本相对低;劣势是Interposer面积限制了你扩展的Die数量。

我在几年前做过一个8Die的项目,用的就是2.5D硅中介层。布线时为了节省面积,我给每个Die只保留了3颗μBumps用于测试,结果信号过密导致串扰问题严重。最后给RDL层加了一条shield规则才搞定——这就是“挤出来的教训”。

3D封装(Through Silicon Via / TSV)

垂直堆叠Die,用TSV穿透硅衬底来连接。面积利用率高,但散热和机械应力非常棘手。UCIe对3D封装的phy要求是PHY可以放到更靠近Die边缘,方便垂直对准。

说实话,我目前只在实验室玩过3D的UCIe demo。真正想量产,得先搞定热电联调和应力建模。我建议你别急着上3D,先拿2.5D练手。

一张对比图

维度 2.5D(Interposer) 3D(TSV)
互连密度 中等,μBumps间距40-80μm 高,TSV间距可到几μm
散热 水平散热,容易管理 垂直散热死区,需要加散热通孔
成本 较低(目前最常用) 高(工艺复杂、良率低)
UCIe支持 推荐,成熟度高 协议支持但实践少
注意:不管是2.5D还是3D,UCIe的物理层都对Die之间的微凸点可靠性有硬性要求。我见过一个案例,因为TSV工艺的孔壁太薄导致漏电流过大,UCIe Link直接卡死。一定要和foundry提前签好工艺质控合同。

好了,现在回到大的视角。你可以看到,拓扑、桥接vs直接、封装这三件事是互相嵌套的。比如你选了P2P拓扑 + 直接连接,那封装大概率用2.5D就能满足;如果选环形拓扑 + 桥接,那封装得考虑Interposer宽度是否容得下桥接IC的放置。说白了,不能只从一个维度去想,我个人做法是做一张架构-封装兼容矩阵,把每个组合的已知坑列出来——这招救过我两次。

多Die集成系统架构关键层次 多Die集成系统架构 Die-to-Die互连拓扑 点对点(P2P) 菊花链 环形/网状 低延迟 低成本 高可靠 桥接 vs 直接连接 桥接芯片 直接连接 封装技术 2.5D (Interposer) 3D (TSV) 面积 & 散热权衡 并行考虑 三者必须同时迭代,不能分层决策