钱兰看着屏幕上的波形:“不是个别芯片的问题,是普遍现象。”
“那就不是工艺波动。”
吕辰说,“如果是工艺波动,应该有的快有的慢。现在五块都慢,说明是设计问题。”
诸葛彪想了想:“测一下关键路径的延迟。”
他从实验台下面拿出一堆元件,开始搭一个最简单的环形振荡器。
把芯片上的奇数个反相器尾相连,输出直接反馈到输入,就会自己振荡起来。
振荡频率,直接反映晶体管的开关度。
十几分钟后,环形振荡器搭好了。
诸葛彪接通电源,示波器上立刻出现了一串波形。
频率,比设计值低了百分之二十。
“这么低?”
钱兰皱起眉头,“晶体管的开关度,比预期慢了这么多?”
吕辰盯着屏幕上的波形,脑子里飞快地转着。
“不是阈值电压漂移。”
他说,“如果是阈值电压漂移,波形应该不稳定。但现在波形很稳定,只是慢。”
诸葛彪点点头:“那就是物理参数有问题。要么是氧化层太厚,导致栅电容过大;要么是掺杂浓度不对,导致载流子迁移率太低。”
钱兰拿起万用表,开始测时钟电路。
测了几分钟,她抬起头:“时钟电路没问题。晶振给的频率是对的,分频器出来的频率也是对的。”
“那就是逻辑门本身的延迟。”
吕辰说,“某个关键路径上,门的级数太多,或者某个门的驱动能力不够。”
诸葛彪拿起笔,在纸上画了一个简图。
“咱们的设计里,关键路径是这条:从寄存器读数据,经过aLu运算,再写回寄存器。”
他用笔点着几个点,“这里,这里,还有这里,都是级数比较深的地方。”
钱兰看着那张图:“如果中间某个门的延迟太大,整个路径的延迟就会标。”
“能定位到具体是哪个门吗?”
吕辰问。
诸葛彪想了想:“用示波器,沿着关键路径一级一级测。看信号从输入到输出,每一级花了多少时间。”
三个人开始动手。
示波器的探头,一点一点往前移。
第一级,正常。
第二级,正常。
第三级,开始有延迟。
第四级,延迟更大了。
第五级,到了极限。