第二天一早,三个人又聚在了验证室。
短路率72%,击穿率50%,信号延迟几乎全覆盖。
这些数字像一块石头,压在三个人心里。
这是技术灾难。
但他心里又有一团火,那5块芯片,虽然延迟超标,但至少把短路和击穿都避开了。
“8%的良率,72%的短路,50%的击穿。”
诸葛彪把这三个数字写在黑板上,笔迹很重,粉笔在黑板上划出刺耳的声音。
“还有信号延迟,所有能用的芯片都有这个问题,只是程度不同。”
他放下粉笔,转过身看着吕辰和钱兰。
“按说,这是技术灾难。咱们三个,可以收拾收拾,准备写检讨了。”
钱兰苦笑了一下。
吕辰没说话,盯着黑板上的那几个数字。
房间里安静了几秒。
然后吕辰开口了:“但是,有5块芯片,把短路和击穿都避开了。”
他站起来,走到黑板前,在那三个数字旁边画了一个圈。
“5块。这说明什么?”
诸葛彪看着他:“说明设计的底层逻辑是对的。”
“对。”吕辰点点头,“底层逻辑是对的。只是工艺窗口太窄,或者版图上有什么‘敏感点’,导致大多数芯片不合格。”
钱兰眼睛亮了:“所以,还有救?”
“还有救。”吕辰说,“但得先找到问题在哪。”
他拿起粉笔,在黑板上写下三个词:
物理层——短路
材料层——击穿
时序层——延迟
“咱们把问题按这个分层拆解。”他用粉笔点着那三个词,“一层一层查,一层一层找原因。”
诸葛彪看着黑板,若有所思:“物理层是硬伤,电流走错了路。材料层是内伤,材料本身被破坏了。时序层是暗疾,电路跑慢了。”
“对。”吕辰说,“先查物理层,再查材料层,最后查时序层。一步一步来。”
钱兰翻开笔记本:“那先从短路开始?”
吕辰点点头:“先从短路开始。”
短路,是物理层的硬伤。
意味着芯片内部的金属连线,该断的地方没断,不该连的地方连上了。
电流走错了路。
三人来到验证室,把那41块短路的芯片拿出来,摆在实验台上。
一排排黑色的小方块,像41座沉默的墓碑。
吕辰拿起一块,插进测试板,用万用表测电源和地之间的电阻。
零。
他把芯片取下来,换一块,还是零。
再换,零。
一连测了10块,全是零。
但这次,他不只是测电阻,他还把万用表的两个表笔,分别扎在芯片不同区域的电源和地引脚上。
左手边的电源和左手边的地,测一下。
右手边的电源和右手边的地,测一下。
上边的,下边的,中间的……
一块芯片,测了十几个点。
诸葛彪和钱兰在旁边看着,谁也没说话。
测完第10块,吕辰抬起头。
“不是全片短路。”他说,“短路只集中在几个区域。”
他在一张纸上画了一个芯片的简图,然后在左下角画了一个圈。
“这里,寄存器堆的位置。几乎所有短路的芯片,这个区域都是短路的。”
钱兰凑过去看:“寄存器堆……那是版图密度最高的地方。”
吕辰心里一动:“密度太高,工艺波动导致金属桥接?”
“有可能。”诸葛彪说,“五微米工艺,线条宽度五微米,间距也是五微米。如果版图上某一片区域密密麻麻全是线,光刻的时候,稍微有点偏差,两条线就可能挨在一起。”
他拿起一块废品,放到显微镜下,沿着电源总线,一点一点看过去。
看得很慢,很仔细。
看了十几分钟,他直起腰,摇了摇头。
“没看到明显的毛刺或凸起。”他说,“不是那种不该连的线被连上了。”
钱兰皱起眉头:“那是什么问题?”
吕辰想了想:“形态都一样?”
诸葛彪愣了一下:“什么意思?”
“我是说,这四十一块短路的芯片,短路的形态是不是都一样?”吕辰说,“如果每一块短路的位置都一样,那就是设计问题。如果位置随机分布,那就是工艺问题。”
诸葛彪眼睛亮了。
他拿起几块废品,用探针台一个一个测,把短路的位置标出来。
一个小时后,结果出来了。
41块芯片,短路的区域几乎完全一致——都在寄存器堆的同一个位置,那两条电源线和地线之间。
“设计规则问题。”诸葛彪放下探针,长叹一口气,“那两条线的间距,理论上是够的。但实际工艺有偏差,只要稍微过刻蚀一点点,就连上了。”
钱兰在旁边画了一个示意图:“就是说,咱们画版图的时候,把这两条线放得太近了?在图纸上看着没问题,但真正做出来,就有风险。”
“对。”诸葛彪说,“这叫‘工艺窗口太窄’。理想状态下,5微米间距是安全的。但实际生产中,光刻机有误差,刻蚀有误差,温度有波动,只要有百分之几的偏差,就短路了。”
吕辰看着那张示意图,沉默了几秒。
设计规则问题。
这就是说,不是工艺不行,是版图画得不够好。
有救。
吕辰站起来,“用显微镜看。”
吕辰把一块短路的芯片放在载物台上,调好焦距,眼睛凑到目镜上。
视野里,是密密麻麻的金属走线,横平竖直,整整齐齐。
他沿着电源总线,一点一点地看。
从芯片的左边,看到右边。从上边,看到下边。从电源引脚,看到地引脚。
没有。
没有发现明显的“毛刺”或“凸起”。
那些不该连的线,并没有连上。
“怪了。”他直起腰,揉了揉眼睛,“看不出问题。”
诸葛彪凑上去看,也看了半天,同样摇摇头:“确实没有明显的短路点。”
钱兰想了想:“会不会是过刻蚀?”
“过刻蚀?”吕辰看着她。
“对。”钱兰说,“光刻的时候,曝光时间太长,或者显影时间太长,该留下的线条被刻掉了,不该留下的线条反而留下了。但那个‘不该留下的线条’,可能细得肉眼看不见。”
吕辰点点头:“那就不是显微镜能看出来的了。”
他沉默了几秒,然后说:“但有一个规律,所有短路的芯片,形态都一样,都集中在寄存器堆。这说明不是随机缺陷,是设计规则问题。”
诸葛彪懂了:“你是说,那两条线的间距,在理论上是够的,但实际工艺有偏差。只要稍微有点过刻蚀,就会连上?”
“对。”吕辰说,“这是版图的问题,不是工艺的问题。”
钱兰在笔记本上记下来:“建议检查寄存器堆区域的版图,看看有没有间距刚好卡在设计规则下限的地方。”
吕辰点点头。
短路的问题,暂时查到这里。
接下来,是击穿。
击穿比短路更可怕。
因为它意味着材料本身被破坏了。
电流太大,电压太高,把芯片内部的晶体管烧坏了。
就像雷劈过一样,留下一个焦黑的坑。
“这个难查。”诸葛彪说,“击穿点在芯片内部,用显微镜看不见。”
吕辰想了想:“那就剥开来看看。”
“剥开?”
“破坏性物理分析。”吕辰说,“用发烟硝酸煮开封装,把芯片露出来。然后用层剥法,一层一层腐蚀掉钝化层、金属层。每剥一层,就用显微镜看一次。”
钱兰吸了一口冷气:“那不是把芯片毁了?”
“反正已经击穿了,留着也没用。”吕辰说,“与其扔掉,不如看看里面到底发生了什么。”
诸葛彪点点头:“有道理。找到那个击穿点,就能知道是工艺问题还是设计问题。”
他顿了顿,又说:“但咱们这儿没有发烟硝酸,也没有层剥的设备。要做这个,得去真空所。”
“对。”吕辰点头,“正好利用他们的扫描电镜验证机,虽然分辨率还不够高,但看击穿点应该够了。而且他们有化学腐蚀的设备,专门做材料分析的。”
说做就做,三人把芯片装回箱子。
一路顶风冒雪,两个小时后,来到了真空所。
报过门卫登记,顾赟把三人带到电镜实验室,文昭南教授听说三人的来意,立即让刘建军和李敏华开始准备。
不一会儿,刘建军端着一个棕色的玻璃瓶过来,发烟硝酸就装在瓶里,瓶口冒着淡淡的黄烟。
李敏华戴上橡胶手套,按照吕辰的要求,把一块击穿的芯片放进一个特制的烧杯里,倒上发烟硝酸。
烧杯下面点着酒精灯,加热。
硝酸沸腾起来,冒着黄色的烟雾,刺鼻的气味弥漫在整个房间里。
十几分钟后,黑色的环氧树脂封装开始软化,脱落,露出里面银灰色的晶圆。
她用镊子把晶圆夹出来,放在电镜的物镜台下。
文昭南教授亲自操作,电子枪启动,一番调试后。
“成了!”
吕辰三人凑过去观看。
“有坑。”
显微镜下,晶圆表面确实有一个微小的熔坑,像被雷劈过的小坑,周围还有一圈烧焦的痕迹。
“坐标。”钱兰掏出一张版图。
诸葛彪用刻度尺,读出熔坑的坐标。
钱兰在版图上找到那个位置。
“是晶体管的栅氧化层。”她说。
三个人对视一眼。
又是集中在同一个区域。
李敏华又煮了几块击穿的芯片。
结果都一样,熔坑都在栅氧化层上,位置略有差异,但都在晶体管区域。
“不是测试问题。”他说,“如果是静电打坏的,熔坑应该随机分布,不会都集中在栅氧化层。”
钱兰点点头:“也不是工艺问题?如果是工艺问题,那应该是随机缺陷,不会每一块都打在栅氧化层上。”
吕辰想了想:“那就是设计问题。那个区域的晶体管,尺寸太小了。”
他指着版图上的某个位置:“你看,这里的晶体管,栅长和栅宽都是设计规则允许的最小值。如果工艺有波动,实际做出来的晶体管比设计的还小,电场强度就会增大,超过材料的击穿阈值。”
诸葛彪点点头:“有道理。栅氧化层就那么薄,电压一高,就打穿了。”
“得改版图。”钱兰在笔记本上记下来,“加大晶体管的尺寸,留出足够的余量。”
吕辰看着那几块煮开的芯片,心里有些沉重。
击穿,意味着材料被破坏,意味着那几万伏的电压,在晶圆上留下了永远无法愈合的伤口。
但至少,找到了原因。
谢过文教授,拒绝了顾赟的吃饭邀请,三人一路风风火火的又回到红星轧钢厂。
到食堂找到何雨柱,下了三碗热汤面,匆匆吃完,又来到验证室。
下一个,延迟。
三个人来到验证台前。
那五块能用的芯片,还插在插座上。
诸葛彪接上示波器,把探头点到某个输出脚上。
屏幕上,波形稳定地跳动着。
频率,比设计值低了百分之十五。
“延迟。”他说,“所有五块都有这个问题。”
钱兰看着屏幕上的波形:“不是个别芯片的问题,是普遍现象。”
“那就不是工艺波动。”吕辰说,“如果是工艺波动,应该有的快有的慢。现在五块都慢,说明是设计问题。”
诸葛彪想了想:“测一下关键路径的延迟。”
他从实验台下面拿出一堆元件,开始搭一个最简单的环形振荡器。
把芯片上的奇数个反相器首尾相连,输出直接反馈到输入,就会自己振荡起来。
振荡频率,直接反映晶体管的开关速度。
十几分钟后,环形振荡器搭好了。
诸葛彪接通电源,示波器上立刻出现了一串波形。
频率,比设计值低了百分之二十。
“这么低?”钱兰皱起眉头,“晶体管的开关速度,比预期慢了这么多?”
吕辰盯着屏幕上的波形,脑子里飞快地转着。
“不是阈值电压漂移。”他说,“如果是阈值电压漂移,波形应该不稳定。但现在波形很稳定,只是慢。”
诸葛彪点点头:“那就是物理参数有问题。要么是氧化层太厚,导致栅电容过大;要么是掺杂浓度不对,导致载流子迁移率太低。”
钱兰拿起万用表,开始测时钟电路。
测了几分钟,她抬起头:“时钟电路没问题。晶振给的频率是对的,分频器出来的频率也是对的。”
“那就是逻辑门本身的延迟。”吕辰说,“某个关键路径上,门的级数太多,或者某个门的驱动能力不够。”
诸葛彪拿起笔,在纸上画了一个简图。
“咱们的设计里,关键路径是这条:从寄存器读数据,经过ALU运算,再写回寄存器。”他用笔点着几个点,“这里,这里,还有这里,都是级数比较深的地方。”
钱兰看着那张图:“如果中间某个门的延迟太大,整个路径的延迟就会超标。”
“能定位到具体是哪个门吗?”吕辰问。
诸葛彪想了想:“用示波器,沿着关键路径一级一级测。看信号从输入到输出,每一级花了多少时间。”
三个人开始动手。
示波器的探头,一点一点往前移。
第一级,正常。
第二级,正常。
第三级,开始有延迟。
第四级,延迟更大了。
第五级,到了极限。
“在这里。”诸葛彪指着图纸上的一个点,“这个与非门,延迟是其他门的两倍。”
钱兰凑过去看:“这个门的尺寸,是不是设计得太小了?”
吕辰翻开版图,找到那个与非门的位置。
“确实小。”他说,“这个门的宽长比,只有其他门的一半。”
三个人沉默了几秒。
问题找到了。
不是工艺不行,不是材料不行,是电路设计的时候,某个门画得太小了。
驱动能力不够,信号爬升慢,导致整个关键路径的延迟超标。
“有救。”诸葛彪说,“把这个门的尺寸加大,重新流片。”
钱兰在笔记本上记下来:“关键路径上的驱动门,尺寸统一加大50%。”
吕辰看着那张版图,长长地吐了一口气。
72%的短路率,50%的击穿率,100%的延迟超标。
但至少,每一层的问题,都找到了原因。
短路,是版图密度太高,两条线放得太近。
击穿,是晶体管尺寸太小,电场强度太大。
延迟,是关键路径上的门驱动能力不够。
不是根本性的设计错误,只是细节没做到位。
有救。
“行了。”他站起来,活动了一下僵硬的脖子,“接下来,改版图,改设计,再流片。”
诸葛彪苦笑:“再来一轮?”
“再来一轮。”吕辰说,“这一轮,咱们把这些问题一个一个解决掉。下一轮流片,良率起码能到30%。”
钱兰合上笔记本,看着那五块还在工作的芯片。
它们在验证台上安静地运行着,驱动着那个小小的脉冲电机,一格一格地转动。
“这5块,虽然是残次品。但它们证明了一件事,”她顿了顿,声音里带着一丝笑意:“咱们的设计,能跑起来。”
诸葛彪也笑了:“对。能跑起来,就说明路走对了。剩下的,就是修修补补。”
吕辰走到窗边,推开窗户。
窗外明月高悬,又是夜深人静时。