第一百三十五章 第三轮
第三轮布局调整在周五早上开始。
许静远的方案很具体:仲裁模块向左移 200 微米,优先级队列向右移 150 微米,两者之间的走线通道从原来的 18 微米扩展到 31 微米——「够不够?」方宇明问。
「够,」许静远说,「路由拥塞是因为通道太窄,31 微米可以放下那块区域需要走的所有连线,有 30% 左右的余量。」
「移动之后原来改善的 slack 还在吗?」
「跑完才知道,」许静远说,「但这次移动幅度比第一轮小,理论上影响不超过 0.05ns。」
她没有再说别的,打开 Innovus,开始修改坐标。
颜天磊那几天在做一件他一开始没有计划要做的事:整理自己写过的每一个模块,补充物理设计约束。
这个想法是从他和许静远的对话里来的。那次她问他仲裁模块里哪条状态机路径最频繁,他回答了,但回答完之后他意识到:这些信息应该在设计文档里,不应该靠许静远来问。
他把六个模块的文档都打开,逐一加上了三行:「关键路径」、「临界连线」、「物理相邻建议」。
「关键路径」是哪条状态机路径最重要;「临界连线」是哪几根信号线最不能走远;「物理相邻建议」是哪两个模块应该靠近。
这些信息不影响功能仿真,也不影响 DC 综合——它们只有在进入物理后端的时候才有用。但颜天磊意识到,如果他在写 RTL 的时候就有意识地记录这些,许静远就不需要一边做布局一边来问他。
他把补完的文档发给方宇明,没有说为什么更新,只说「在许工做第三轮的时候补了一些约束信息」。

方宇明回复了三个字:「好,留着。」
第三轮布局优化在周日下午跑完。
许静远看了一眼结果,把颜天磊叫过来,「拥塞区域的密度图,」她说,「你看。」
颜天磊走过去,上次那个深红色的区域,现在变成了绿色和黄色。
「清了,」他说。
「清了,」许静远说,「把布线重新提交一遍。」
第二轮布线在周二下午出结果。
许静远打开报告,扫了一遍,「DRC,」她说,「0。」
「0,」颜天磊重复了一遍,「断路都清了?」
「断路 0,短路 0,」许静远说,「设计规则违例 0。」
她打开三条临界路径的时序报告,把数字念出来:
「DISPATCH\_MISS 那条,1.01ns。」

「状态机转移,0.76ns。」
「优先级队列更新,0.71ns。」
B207 里安静了一下。
贺志明把计算器按了一下,「三条都在 0.6 以上,」他说。
「都在,」许静远说,「这是经过时钟偏斜和布线延迟之后的真实 slack——不是估算,是实际布线之后的数字。」
「0.71 是最紧的,」颜天磊说,「还有多少裕量?」
「留了 0.1ns 作为工艺和环境波动的裕量,」许静远说,「0.71 减掉 0.1,实际工作的余量是 0.61ns——不宽,但够。」
「够,」颜天磊说了一遍,像是在确认这个字。
方宇明那天下午来 B207,许静远把结果讲了一遍。他听完,在椅子上坐了一会儿。
「DRC 0,」他说,「三条路径的 slack 都在 0.71 以上。」
「是,」许静远说,「下一步是 LVS——检查版图和原始电路图的逻辑是否一致,这个比 DRC 快,两到三天。」
「LVS 之后?」

「LVS 干净,就可以出 GDS 文件,」许静远说,「GDS 是交给台积电的版图格式,他们拿到 GDS 之后做最终的 DRC 和可制造性检查,确认可以流片。」
「时间,」方宇明说,「还需要多久?」
「LVS 三天,,」许静远说,「GDS 导出和最终整理一周,然后提交给台积电——如果他们这边没有问题,年内能提交。」
「年内,」方宇明说,「现在是十一月底,还有一个月。」
「可以,」许静远说,「只要 LVS 没有意外。」
颜天磊那天晚上在整理 integration 测试报告的时候,发现了一件他没有注意到的事:从第一次 DC 综合,到 CTS,到布局优化三轮,到两轮布线——每一个步骤的时序数字,都在往一个方向走。
不是直线,有时候数字变差,有时候数字变好,但总体上,slack 从不稳定的 0.3ns,走到了现在真实布线之后的 0.71ns。
他发了一条消息给孟思远:「你知道我们走了多长路吗。从 0.3ns 到 0.71ns,中间经过了多少人的工作。」
孟思远回了:「你现在才感受到?」
「我一直在感受,」颜天磊说,「但今天是第一次觉得,这个数字是真实的了。以前每一个数字都是估算,都可能是错的,现在这个数字是真实的版图跑出来的。它不会再变了。」
孟思远:「除非 LVS 出问题。」
颜天磊:「别说这个。」

陆衍那天在 B207 待到了晚上八点多,这是他最晚的一次。
他也说不清楚为什么,可能是因为 0 这个数字。DRC 0 违例——这个意义他懂:每一个违例都是一个流片失败的可能,0 违例是说,在物理规则上,这个芯片的版图是正确的。
他发消息给豆包:「布线 DRC 0 违例,三条临界路径 slack 最低 0.71ns,许静远说年内可以提交 GDS。」
豆包:「DRC 0 是一个重要里程碑——它意味着这个版图在物理规则上是干净的,可以交给流片。下一步 LVS 是逻辑一致性检查,如果 LVS 也干净,砺火一号就完成了前期设计阶段。」
陆衍:「然后是台积电的流片,然后是芯片回来。」
豆包:「流片到芯片回来大约四到六个月。」
陆衍想了一下,发了一条:「在这里,你们比所有人知道得早——砺火一号,如果一切顺利,明年年中前后就会存在。一块真实的硅。」
豆包:「是的。」
陆衍:「这件事,从今天往后回看,会是哪一天是最重要的那天?」
豆包沉默了几秒,「可能不是单独哪一天,」它回答,「可能是那些连续的、不断排除错误、往前走的天。」
陆衍把手机放下,B207 的灯还亮着,许静远已经开始准备 LVS 检查的环境了。