物理设计,就是把一个芯片的“功能规划图”,转变成一个“可建造的城市施工图”的全过程。
我们物理设计师,就是那个绞尽脑汁在微观世界里规划地盘、摆放建筑、铺设道路、确保整个系统能高效、同步、稳定运行的“总工程师”。我们最终交付的,就是可以送去工厂(Foundry)制造出来的、真正的芯片版图。
1. Standard Cell: 不仅仅是积木,更是“基因”
Standard Cell好比构建芯片的基础单元,我对它的理解远不止于此。
早期的“粗放”与现在的“精雕”: 在90nm、65nm的年代,Standard Cell的设计相对自由,我们关注的主要是它的逻辑功能、驱动能力和基本的时序特性。但进入FinFET时代(16/7/5nm),Cell的设计本身就是一门极其复杂的艺术。Foundry提供的Cell库,每一个版图都经过了极度的优化和限制,以应对光刻(Lithography)、应力(Stress)和变异性(Variation)等问题。我们拿到手的LEF文件,背后是Foundry无数工程师的心血和妥协。在ICC2或Innovus里看到的一个小小的NAND2,它的pin的位置、内部走线、甚至poly的朝向,都是“最优解”下的“唯一解”。我们PD工程师,必须像尊重物理定律一样尊重这些约束。
Cell库的“性格”决定芯片的“命运”: 一套Cell库的PPA特性,从项目一开始就基本决定了我们能达到的天花板。比如,有些库提供了丰富的高驱动、低Vt(LVT)的Cell,这对于高性能设计(如CPU)至关重要,但代价是面积和漏电(Leakage)。而有些IoT项目,我们会倾向于使用高Vt(HVT)、甚至超高Vt(UHVT)的Cell库,牺牲性能来换取极致的静态功耗。所以,在项目启动阶段,评估和选择合适的Standard Cell Library,是我们和前端、Foundry沟通的第一个关键决策点。一个错误的库选择,后面再厉害的PD技巧也回天乏术。
2. Placement: 不是“摆放”,而是“博弈”
Placement不只是把Cell摆好。实际上,这是整个物理设计流程中,最具决定性的一步。我常把它比作一盘围棋的布局阶段,每一步都影响深远。
从“二维平铺”到“三维考量”: 早期,我们更多地关注二维平面上的拥塞(Congestion)。而现在,Placement是一个多目标、多场景的优化过程。工具(如Fusion Compiler或Innovus)在放置一个Cell时,它的大脑里在同时计算:
这个过程充满了权衡(Trade-off)。为了保住一条关键路径的时序,我可能宁愿接受局部的拥塞;为了降低峰值功耗,我可能要刻意打散一些高功耗模块。这种决策,工具会基于我们设定的约束和权重来做,但最终的策略和结果评估,需要工程师的经验。
时序(Timing): 这条路径是关键路径吗?我把它放在这里,离它的“队友”们够近吗?会不会拉长wire delay?
功耗(Power): 这片区域是不是功耗热点(Hotspot)?我再放一个高开关频率的Cell进来,IR Drop会不会扛不住?
拥塞(Congestion): 我放在这里,周围的布线通道还够用吗?会不会导致后面Router“绕死”?
可制造性(Manufacturability): 在先进工艺下,Cell的密度太高会不会导致后续光刻出现问题?
3. Routing: 不是“连线”,而是“构建神经网络”
Routing是连接pin点。当一个设计的规模达到数千万门、数亿根线时,这个过程堪称工程奇迹。
“高速公路”与“毛细血管”: 我们PD工程师,在Floorplan阶段就要规划好全局的“高速公路”(比如总线、时钟干路),而工具的Global Router和Detail Router则负责铺设无数的“毛细血管”。这个过程早已不是简单的“找到一条路”就行了。
信号完整性(SI)是第一要务: 在40nm以后,尤其是28nm及以下,串扰(Crosstalk/Noise)成了和时序同等重要的问题。Router在布线时,必须实时分析旁边并行走线的“邻居”是谁。如果一条敏感的net(比如一个异步复位信号)旁边紧挨着一条高频翻转的net(比如时钟或数据总线),就可能产生功能性错误。因此,屏蔽(Shielding)、增加线间距(Spacing)、使用NDR(Non-Default Rule)等策略,都是在布线阶段必须融入的常规操作。在PrimeTime SI或Tempus Noise里看到的一个glitch,其根源往往就埋在Router的一个微小决策里。
每一微米都有“成本”: 无论是时序、功耗还是可靠性,最终都和金属线的物理属性——电阻(R)和电容(C)——息息相关。更长的线意味着更大的RC延迟、更高的动态功耗。因此,一个优秀的Routing结果,其总线长(Total Wirelength)一定是被严格控制的。
总结:从“图”到“芯”的鸿沟
Floorplan和CTS是灵魂: Floorplan和CTS在实际项目中是PPA成败的基石。一个糟糕的Floorplan,会让Placement和Routing在后续流程中寸步难行,神仙难救。一个不平衡的CTS,则会让上百万的触发器无法同步工作,整个芯片的功能就不复存在。
PD是科学与艺术的结合: 它有精确的物理规则和数学算法,这是“科学”。但如何在规则允许的范围内,根据项目的特定需求(性能优先?功耗优先?还是面积和成本优先?),做出最优的权衡与妥协,这就是“艺术”。这种“艺术感”源自于无数次Tapeout的成功与失败,源自于对报告中每一个数字背后物理意义的深刻洞察。
所以,对我而言,物理设计不仅仅是运行一个从Netlist到GDSII的流程。它是将冰冷的逻辑代码,通过对物理世界规律的深刻理解和运用,赋予其生命,最终锻造成一颗能够思考、计算、连接万物的硅芯片。这个过程,至今仍然让我觉得充满挑战和魅力。
为防止失联,请关注小号芯豆豆。欢迎加入行业交流群,备注岗位+公司,请联系老虎说芯
1694