第一百二十九章 曲线
参数扫描跑完是第二天早上。
贺志明把结果打印出来,一张 A4 纸,上面是 SNM 随驱动管宽度变化的曲线——横轴是驱动管宽度,从 80nm 到 120nm,步长 5nm,一共九个点;纵轴是 SNM 值,单位毫伏,数字越大代表读操作越稳定。
曲线在 100nm 附近有一个比较平坦的峰区,然后往两边缓慢下降。峰区最高点落在 105nm:SNM 值 162 毫伏,比他们一开始用的 90nm 宽度高了 38%。
贺志明在 105nm 那个点上画了个圈,把纸放在孟思远桌上,「就用这个,」他说,「105nm 驱动管,负载管和访问管的比例不变。」
「为什么不是 100 或者 110?」孟思远问。
「100nm 的 SNM 是 158,110nm 是 160,」贺志明说,「105nm 是 162,差距不大,但它是峰值,我不选次优点。更重要的是,我要看面积——你去算一下 105nm 驱动管的单元面积比 90nm 大多少。」
孟思远在旁边的草稿纸上算了一会儿,「大概大 8%,」他说。
「可以接受,」贺志明说,「你去更新 SRAM 模型,把驱动管宽度改成 105nm,然后——」他停了一下,「你记得怎么连到仲裁模块上吗?」
「记得,」孟思远说,「颜天磊上次给我看过接口。」
「那你去跑一次完整的时序分析,」贺志明说,「把上次 DC 出的那个 1.4ns 的数字,换成新的 SRAM 模型之后重新跑一次。」

「会有变化吗?」孟思远问。
「会,」贺志明说,「FreePDK45 是 45nm 的教学库,我们现在做的单元更接近真实的 28nm 特性——读访问延迟会和原来不一样,整个关键路径的时序会变,你重新跑一次,我需要看新的数字。」
孟思远花了大半天。
把新的 SRAM 单元模型连接到仲裁模块的接口上不复杂,难的是让 Design Compiler 接受新的单元参数——工具原来认识 FreePDK45 的标准单元,现在换成贺志明定义的自定义 8T 单元,需要重新写一段 TCL 脚本告诉 DC 新单元的时序特征。
孟思远卡在这里将近两个小时,把颜天磊叫来看了一眼,颜天磊在 TCL 脚本里改了两行,问题解决了。孟思远重新提交了综合脚本,等工具跑完。
新的时序报告在下午三点多出来。
孟思远盯着屏幕,然后打电话给颜天磊:「你来看一下。」
颜天磊过来的时候,孟思远的屏幕上显示着新的 DC 时序摘要。
DISPATCH_MISS 那条路径的 slack:1.1 纳秒。

「变了,」颜天磊说,「上次是 1.4。」
「收紧了,」孟思远说,「0.3ns。」
两个人把这个数字发给贺志明,贺志明走过来,把报告细看了几分钟,没有立刻说话。他在终端上运行了几个命令,看了几个中间结果,然后才开口:
「这个数字更接近真实,」他说,「上次 1.4ns 是在 FreePDK45 的条件下,现在 SRAM 单元换成了更接近 28nm 的模型,读访问延迟变长了一些,把关键路径的时序压紧了——这是正常的。」
「1.1ns 够用吗?」颜天磊问。
「够用,但不多,」贺志明说,「28nm 真实工艺,加上工艺角、温度和电压的变化,通常要留 0.6 到 0.8ns 的裕量——1.1ns 比这个数字高了一点,在边界上,但过得去。」
「如果实际流片之后数字再收紧呢?」颜天磊说。
「那就再优化,」贺志明说,「但我们现在的目标是把这个阶段的工作做完,不是在仿真里追完美——仿真告诉你方向对不对,真实数字要到硅片上才知道。」
他在打印出来的报告上用红笔写了 1.1ns,在旁边加了一个括号:(+0.3ns 余量,可用)。

「把这个更新进文档,」他说,「两个数字都要写,1.4 是 FreePDK45 下的结果,1.1 是 8T 自定义单元下的结果,注明区别,这两个数字都是真实的,只是条件不同。」
方宇明那天晚上过来时,颜天磊刚更新完文档。
方宇明看了一眼新的时序报告,「1.1,」他说,「比上次低了。」
「更接近真实,」贺志明说。
「可以交片吗?」方宇明问。
「这个阶段是前端设计,」贺志明说,「真正交片要等物理后端——布局布线之后还会有新的寄生效应,还会影响时序,到时候再看。但前端的逻辑设计在这个数字下是可以往下走的。」
方宇明在白板上写了几个字,「十一月,」他说,「物理后端开始的时间节点——你有什么需要的?」
「人,」贺志明说,「物理后端需要一个有经验的版图工程师,我不是这个方向的,我做自定义单元可以,但版图不行,你得找一个人。」
「我知道,」方宇明说,「我在联系,本周内应该有答案。」

贺志明点了一下头,没再说什么。
那天晚上,陆衍在 B207 坐了一会儿,看颜天磊把两个数字在文档里标得清清楚楚:1.4(FreePDK45)→1.1(8T 自定义单元,贺志明 28nm 近似工艺),旁边注明了每个数字的条件和意义。
他想起贺志明说的那句话:「仿真告诉你方向对不对,真实数字要到硅片上才知道。」
这句话在这个时候说,有一种特别的重量——砺火一号还在仿真里,它还不是硅片,它现在只是一堆代码和参数,但这堆代码和参数一点一点在变得像一块真实的芯片。
陆衍发了一条消息给豆包:「SRAM 单元参数定了,时序数字更新了,1.1ns。」
豆包回:「1.1ns slack 在前端阶段是合格的。接下来是物理后端,这是另一种难度。」
陆衍:「贺志明说要找一个版图工程师。」
豆包:「他知道自己的边界在哪里——这是这支团队目前最重要的事情之一。」
陆衍把手机放下,B207 的窗外上海已经完全黑了,建筑的轮廓只剩几条光线。颜天磊还在屏幕前,把文档又检查了一遍。