吕辰看着那几块煮开的芯片,心里有些沉重。
击穿,意味着材料被破坏,意味着那几万伏的电压,在晶圆上留下了永远无法愈合的伤口。
但至少,找到了原因。
谢过文教授,拒绝了顾赟的吃饭邀请,三人一路风风火火的又回到红星轧钢厂。
到食堂找到何雨柱,下了三碗热汤面,匆匆吃完,又来到验证室。
下一个,延迟。
三个人来到验证台前。
那五块能用的芯片,还插在插座上。
诸葛彪接上示波器,把探头点到某个输出脚上。
屏幕上,波形稳定地跳动着。
频率,比设计值低了百分之十五。
“延迟。”他说,“所有五块都有这个问题。”
钱兰看着屏幕上的波形:“不是个别芯片的问题,是普遍现象。”
“那就不是工艺波动。”吕辰说,“如果是工艺波动,应该有的快有的慢。现在五块都慢,说明是设计问题。”
诸葛彪想了想:“测一下关键路径的延迟。”
他从实验台下面拿出一堆元件,开始搭一个最简单的环形振荡器。
把芯片上的奇数个反相器首尾相连,输出直接反馈到输入,就会自己振荡起来。
振荡频率,直接反映晶体管的开关速度。
十几分钟后,环形振荡器搭好了。
诸葛彪接通电源,示波器上立刻出现了一串波形。
频率,比设计值低了百分之二十。
“这么低?”钱兰皱起眉头,“晶体管的开关速度,比预期慢了这么多?”
吕辰盯着屏幕上的波形,脑子里飞快地转着。
“不是阈值电压漂移。”他说,“如果是阈值电压漂移,波形应该不稳定。但现在波形很稳定,只是慢。”
诸葛彪点点头:“那就是物理参数有问题。要么是氧化层太厚,导致栅电容过大;要么是掺杂浓度不对,导致载流子迁移率太低。”
钱兰拿起万用表,开始测时钟电路。
测了几分钟,她抬起头:“时钟电路没问题。晶振给的频率是对的,分频器出来的频率也是对的。”
“那就是逻辑门本身的延迟。”吕辰说,“某个关键路径上,门的级数太多,或者某个门的驱动能力不够。”
诸葛彪拿起笔,在纸上画了一个简图。
“咱们的设计里,关键路径是这条:从寄存器读数据,经过ALU运算,再写回寄存器。”他用笔点着几个点,“这里,这里,还有这里,都是级数比较深的地方。”
钱兰看着那张图:“如果中间某个门的延迟太大,整个路径的延迟就会超标。”
“能定位到具体是哪个门吗?”吕辰问。
诸葛彪想了想:“用示波器,沿着关键路径一级一级测。看信号从输入到输出,每一级花了多少时间。”
三个人开始动手。
示波器的探头,一点一点往前移。
第一级,正常。
第二级,正常。
第三级,开始有延迟。
第四级,延迟更大了。
第五级,到了极限。
“在这里。”诸葛彪指着图纸上的一个点,“这个与非门,延迟是其他门的两倍。”
钱兰凑过去看:“这个门的尺寸,是不是设计得太小了?”
吕辰翻开版图,找到那个与非门的位置。
“确实小。”他说,“这个门的宽长比,只有其他门的一半。”
三个人沉默了几秒。
问题找到了。
不是工艺不行,不是材料不行,是电路设计的时候,某个门画得太小了。
驱动能力不够,信号爬升慢,导致整个关键路径的延迟超标。
“有救。”诸葛彪说,“把这个门的尺寸加大,重新流片。”
钱兰在笔记本上记下来:“关键路径上的驱动门,尺寸统一加大50%。”
吕辰看着那张版图,长长地吐了一口气。
72%的短路率,50%的击穿率,100%的延迟超标。
但至少,每一层的问题,都找到了原因。
短路,是版图密度太高,两条线放得太近。
击穿,是晶体管尺寸太小,电场强度太大。
延迟,是关键路径上的门驱动能力不够。
不是根本性的设计错误,只是细节没做到位。
有救。
“行了。”他站起来,活动了一下僵硬的脖子,“接下来,改版图,改设计,再流片。”
诸葛彪苦笑:“再来一轮?”
“再来一轮。”吕辰说,“这一轮,咱们把这些问题一个一个解决掉。下一轮流片,良率起码能到30%。”
钱兰合上笔记本,看着那五块还在工作的芯片。
它们在验证台上安静地运行着,驱动着那个小小的脉冲电机,一格一格地转动。
“这5块,虽然是残次品。但它们证明了一件事,”她顿了顿,声音里带着一丝笑意:“咱们的设计,能跑起来。”
诸葛彪也笑了:“对。能跑起来,就说明路走对了。剩下的,就是修修补补。”
吕辰走到窗边,推开窗户。
窗外明月高悬,又是夜深人静时。