Each language version is independently generated for its own context, not a direct translation.
这篇论文介绍了一个名为 ChipletPart 的新工具,它的任务是帮助工程师们把巨大的、复杂的芯片设计“拆解”成更小的模块(称为 Chiplet,即小芯片),并决定如何把这些小模块组装在一起,以达到最省钱且最可行的效果。
为了让你更容易理解,我们可以把制造一个巨大的现代芯片(比如用于 AI 或超级计算机的芯片)想象成建造一座超级摩天大楼。
1. 背景:为什么需要“拆楼”?
- 传统做法(单一大芯片): 就像试图用一块巨大的、完美的混凝土浇筑整栋大楼。
- 问题: 如果混凝土里有一个小气泡(制造缺陷),整栋大楼就报废了,成本极高。而且,大楼里有些房间需要最顶级的材料(比如核心计算区),有些房间用普通材料就够了(比如内存区),但传统做法必须全楼用顶级材料,太浪费了。
- 新做法(Chiplet/小芯片): 就像把大楼拆分成很多个独立的“预制模块”(比如一个个独立的公寓单元),然后在工地上把它们拼起来。
- 好处: 即使一个模块坏了,只换这一个就行,不用拆整栋楼。而且,核心房间可以用顶级材料,普通房间用便宜材料,省钱又高效。
- 挑战: 模块之间需要“走线”(电线)连接。如果两个模块离得太远,电线太长,信号就传不过去,或者需要更贵的“信号放大器”(I/O 接口)。怎么切分、怎么摆放、用什么材料,是个超级复杂的数学难题。
2. ChipletPart 是什么?
ChipletPart 就是一个“智能建筑规划师”。它不仅能帮你切分大楼,还能告诉你:
- 怎么切分最省钱?(是把核心和内存分开,还是合在一起?)
- 每个模块用什么材料?(是全部用 7 纳米的顶级工艺,还是有的用 14 纳米的便宜工艺?)
- 怎么摆放才不会“断线”?(确保模块之间的电线长度在信号能承受的范围内)。
3. 它是怎么工作的?(三个核心绝招)
这个工具用了三种“魔法”来解决难题:
绝招一:遗传算法(GA)—— “优胜劣汰的进化论”
- 比喻: 想象你在培育一群“建筑方案”。一开始,你随机生成 50 个不同的切分方案(比如有的方案把大楼切成 3 块,有的切成 8 块,用的材料也不同)。
- 过程: 工具会计算每个方案的“总造价”。然后,它把造价最低(最优秀)的几个方案“生”出下一代(混合它们的优点,比如把方案 A 的切分方式和方案 B 的材料选择结合起来),并随机搞点“突变”(尝试一些奇怪的新组合)。
- 结果: 经过几十代的“进化”,剩下的方案就是目前为止最省钱的组合。这就像大自然进化出最适应环境的生物一样,ChipletPart 进化出了最省钱的芯片设计。
绝招二:模拟退火(SA)—— “微调布局的耐心工匠”
- 比喻: 即使方案选好了,如果模块摆放的位置不对,电线可能还是太长,连不上。这就好比把家具搬进房间,虽然家具选对了,但沙发挡路了。
- 过程: 工具会像一位耐心的工匠,不断尝试微调模块的位置和形状。它允许偶尔“退一步”(暂时接受一个稍微差一点的摆放),为了将来能找到更好的全局位置。
- 关键: 它特别关注**“信号距离”。如果两个模块之间的电线超过了信号能跑的最远距离(比如 2 毫米),它就会强制调整,直到所有电线都连得上。这保证了设计是物理上可行**的,不会造出“连不上线”的废案。
绝招三:成本模型 —— “精明的会计”
- 比喻: 以前很多工具只关心“切得够不够整齐”(切掉的线最少),但 ChipletPart 关心的是“到底要花多少钱”。
- 细节: 它会计算:
- 每个小芯片用不同工艺(7nm, 10nm, 14nm)的成本。
- 把小芯片拼在一起的组装费。
- 因为信号线太长需要加“信号放大器”的额外费用。
- 如果某个芯片做坏了,整个组装报废的概率(良率成本)。
- 目标: 它的唯一目标就是让总账单最低。
4. 它比以前的工具强在哪里?
论文通过实验对比了 ChipletPart 和以前的“老手”们(比如 hMETIS, Floorplet, Chipletizer):
- 更省钱: 相比最先进的方法,ChipletPart 能省下高达 58% 的成本(平均也能省 20%)。这就像买房子,别人花 1000 万,它只要 400 万。
- 更靠谱: 以前的工具经常算出“理论上省钱,但实际上连不上线”的废案。ChipletPart 保证算出来的方案一定能造出来(I/O 可行)。
- 混合材料大师: 它是第一个能自动决定“哪里用顶级材料,哪里用便宜材料”的工具。实验显示,这种“混搭”方案比“全用顶级材料”或“全用便宜材料”都要省钱,最高能省 43%。
- 开源免费: 作者把代码和测试数据都公开了,就像把“建筑图纸”和“计算器”免费送给全行业,让大家一起进步。
5. 总结
ChipletPart 就像是一个拥有超级算力的“芯片建筑大师”。
- 它不再盲目地切分芯片,而是像精明的管家一样,算账(成本模型)。
- 它像生物进化一样,不断尝试更好的切分组合(遗传算法)。
- 它像细心工匠一样,确保每一根线都能连上(模拟退火 + 距离检查)。
最终,它帮助芯片公司设计出既便宜、又能造出来、性能还很好的下一代超级芯片。对于普通用户来说,这意味着未来的电脑、手机和 AI 设备可能会变得更便宜、更强大。
Each language version is independently generated for its own context, not a direct translation.
1. 研究背景与问题定义 (Problem)
随着芯片组(Chiplet)技术的兴起,将大型系统分解为多个小芯片并在 2.5D 封装中集成已成为降低成本、提高良率和实现异构集成的关键手段。然而,现有的设计流程在将系统划分为芯片组时面临以下核心挑战:
- 与传统划分不同: 传统的网表最小割(Min-cut)划分(如 hMETIS)主要关注减少跨分区连线数,忽略了芯片组特有的物理约束(如 I/O 可达性)和复杂的成本模型。
- I/O 可达性约束: 芯片组间的通信受限于 I/O 收发器的最大驱动距离(Reach)。如果划分方案导致连线长度超过此限制,该方案在物理上是不可行的(Infeasible)。
- 异构技术分配: 不同的 IP 块可能适合不同的制造工艺节点(如 7nm, 10nm, 14nm)。如何为每个芯片组分配最佳工艺节点以平衡制造成本(NRE 和 RE)是一个复杂的组合优化问题。
- 现有工具的局限: 现有的工具要么不考虑布局可行性(Floorplan-feasibility),要么不支持异构技术分配,或者无法在成本优化和物理约束之间取得平衡。
核心目标: 开发一个自动化的框架,能够同时优化芯片组划分、异构制造技术分配,并保证I/O 可达性,从而最小化 2.5D 系统的总成本。
2. 方法论 (Methodology)
作者提出了 ChipletPart,这是一个统一的、开源的、成本驱动的 2.5D 系统划分框架。其核心架构结合了遗传算法(GA)、模拟退火(SA)和先进的成本模型。
2.1 整体框架流程
ChipletPart 采用分层优化策略:
- 输入: 块级网表(Block-level netlist)、可用的工艺节点集合、系统定义。
- 核心优化循环(基于遗传算法 GA):
- 基因(Gene): 代表每个芯片组分配到的工艺节点。
- 种群(Population): 每个个体代表一种工艺节点分配方案。
- 适应度评估: 对于 GA 中的每个分配方案,调用核心划分引擎(Core-ChipletPart)生成具体的芯片组划分,并利用成本模型计算总成本。
- 进化操作: 通过交叉(Crossover)、变异(Mutation)和精英保留(Elitism)迭代寻找更优的工艺分配方案。
- 核心划分引擎(Core-ChipletPart):
- 初始池生成: 结合谱划分(Spectral Partitioning)、高节点度扩展、随机划分和 METIS 生成多个初始划分方案。
- 剪枝(Pruning): 基于统计阈值(Z-score 和相对成本)剔除低质量方案。
- 细化(Refinement): 使用基于 Fiduccia-Mattheyses (FM) 和 Kernighan-Lin (KL) 的算法进行迭代优化。
- 布局感知(Floorplan-aware): 在每次细化移动(Move/Swap)时,调用基于模拟退火(SA)的布局器来检查 I/O 可达性,并计算实际成本。
2.2 关键组件
- 成本模型 (Cost Model):
- 基于开源模型([9, 10])的 C++ 实现(速度提升 5-100 倍)。
- 综合考虑:硅片成本(面积、良率)、组装成本(互连、封装)、NRE 成本(设计成本)以及不同工艺节点下的功耗和面积缩放。
- I/O 可达性感知布局器 (Reach-aware Floorplanner):
- 使用 序列对(Sequence Pair) 表示布局。
- 采用 模拟退火(SA) 优化目标函数:最小化 I/O 越界惩罚(Reach violation penalty)、芯片组面积和封装面积。
- 创新操作: 除了常规的交换和移动,还引入了调整形状(Reshape) 和 膨胀(Expand/Bloat) 操作,通过增加芯片组面积来消除 I/O 连线越界问题,确保物理可行性。
- 异构技术分配:
- 利用 GA 在划分过程中动态探索不同工艺节点的组合,寻找成本最优解。
2.3 替代优化器探索
- 论文还探索了 贝叶斯优化(Bayesian Optimization, BO)。通过将离散的划分问题松弛为连续空间(利用谱嵌入),BO 试图寻找全局最优解。
- 结果: BO 在某些大规模设计上比 GA 成本低约 5.3%,但运行时间增加了 2-4 倍。GA 在质量和时间的权衡上更优。
3. 主要贡献 (Key Contributions)
- 首个统一框架: 提出了 ChipletPart,这是第一个将成本驱动的多路划分、异构技术分配和 I/O 可达性感知布局整合在一起的开源框架。
- 布局可行性保证: 不同于忽略物理约束的传统划分器,ChipletPart 通过 SA 布局引擎确保所有输出方案均满足 I/O 可达性约束(Floorplan-feasible)。
- 异构技术分配: 首次在设计划分阶段集成工艺节点分配,利用 GA 探索异构 2.5D 系统的成本权衡。
- 性能提升:
- 相比最先进的 Min-cut 划分器(hMETIS, TritonPart),成本降低高达 58%(几何平均 20%)。
- 相比 Floorplet,成本降低高达 47%(几何平均 6%)。
- 相比 Chipletizer,成本降低高达 48%(几何平均 30%),且 Chipletizer 在部分案例中无法生成可行解。
- 相比人工划分,成本降低高达 34%(几何平均 13%)。
- 异构集成优势: 实验表明,相比同构实现,异构集成(混合使用不同工艺节点)可降低成本高达 43%。
- 开源生态: 提供了 C++ 实现的成本模型(速度提升 100 倍+)、划分框架及标准化的测试用例集,促进了社区发展。
4. 实验结果 (Results)
- 基准测试: 使用了四类测试用例:晶圆级(Waferscale)、内存池(MemPool)、工业案例(Industrial)以及商业设计对比(EPYC, GA100)。
- 成本对比:
- ChipletPart 在所有测试用例中均优于 hMETIS 和 TritonPart,且生成的方案 100% 满足 I/O 约束,而传统工具经常生成不可行方案。
- 在异构场景下(7nm/10nm/14nm 混合),ChipletPart 能自动将计算密集型模块分配给先进工艺,将存储/IO 模块分配给成熟工艺,显著降低成本。
- 可行性验证: 关闭布局感知(ChipletPartNo-FP)虽然偶尔能降低名义成本,但会导致 6/9 个案例出现 I/O 越界不可行。开启布局感知后,所有方案均可行,且平均成本反而降低了 4%(因为避免了不可行解的惩罚)。
- 运行时间:
- C++ 实现使得成本模型计算速度比 Python 原版快 5 倍,整体框架快 100 倍以上。
- 对于大型设计(如 WS4),运行时间控制在 2 小时以内。
- 67% 的时间消耗在布局(Floorplanning)上,28% 在成本评估上。
5. 意义与影响 (Significance)
- 填补空白: 解决了 2.5D 芯片组设计中“划分”与“物理可行性”脱节的关键问题,为大规模异构系统提供了自动化的设计空间探索工具。
- 成本优化: 证明了通过智能划分和异构工艺分配,可以大幅降低先进封装系统的制造成本,这对商业芯片设计具有极高的经济价值。
- 方法论创新: 展示了将遗传算法(处理离散分配)与模拟退火(处理连续几何约束)结合的有效性,为处理复杂的黑盒优化问题提供了新思路。
- 社区贡献: 开源的工具链和标准化基准测试用例,降低了进入芯片组设计领域的门槛,有助于推动学术界和工业界在 2.5D/3D IC 设计自动化方面的进一步研究。
总结: ChipletPart 是一个强大的、生产级的工具,它不仅仅是一个划分器,更是一个综合考虑了制造成本、物理约束和工艺异构性的系统级设计优化引擎,显著优于现有的商业和学术工具。