第574章 火车头试探(2/2)
I/O板输出正常,前期故障为芯片插座虚接。
他想了想,又在后面加了一行:
插座安装后须逐颗按压确认。写入装配规范。
“下一个。加存储板。”
存储板比前面两块板子都大,上面整整齐齐排列着十六颗芯片插座,每个插座周围环绕着几只去耦电容,密密麻麻像列队的士兵。
吴国华双手托着板卡边缘,把它推进了机柜的第四个插槽。
锁紧机构弹起,“咔嗒”一声。
“上电。”
宇文坤德再次推上开关。
这一次,机柜的指示灯亮起来之后,存储板的几个状态灯也亮了,绿色,自检通过。
吕辰换了一张测试卡,塞进读卡机。
这次的测试程序更复杂,向存储器的某一段地址写入一组数据,然后读回来比较。
一致就点亮I/O板的第一个指示灯,不一致就点亮第二个。
读卡机“咔嗒咔嗒”地响了一阵。
程序开始运行。
第一个指示灯亮了。
吕辰没有动。
等了两秒,还是亮的。
“再写一组。”
吴国华在终端上敲了几行命令,换了另一组数据。
读卡机再次启动,第一个指示灯还是亮的。
连续重复了十几组,全部一致。
“存储板基本功能正常。”吴国华的声音里带着一丝自信。
“不急。”吕辰从抽屉里拿出另一张测试卡,“跑一个边界的。”
这张卡的测试程序不是读写正常地址,而是读写地址的边界值,全0地址、全1地址、地址线翻转的临界点。
这些地方最容易暴露出地址译码或数据总线的隐藏问题,正常能跑的不算数,边界能跑才算。
读卡机再次启动。
测试跑了不到半分钟。
第二个指示灯亮了。
车间里的空气又一次安静下来。
吴国华把逻辑分析仪接在存储板的地址线和数据线上,开始抓取数据。
屏幕上的数字飞速跳动。
他盯着看了几秒,然后用手指点住屏幕上两条几乎重合的波形。
“地址线A7和A8的输出波形不对。A8的翻转时刻比A7晚了大约10纳秒。导致在某一个瞬间,地址线组合错误,读到了错误的内存单元。”
宇文坤德从工具箱里拿出一把极细的镊子,在板卡背面测量了两根地址线的走线长度。
他的眼睛眯成一条缝,镊子尖在铜线上轻轻划过。
直起腰,比划了一下长度。
“A8比A7多绕了一段。长了大约15毫米。”
时序问题,硬件工程师的噩梦。
不是说功能错了,功能没错,是信号在路上跑的时间不一样,导致在某个纳秒级的窗口里,逻辑乱了。
那种问题最难复现,最难定位,最磨人。
吕辰在本子上重重地写了一行:
地址线长度不匹配,A8绕远,建议下一版做等长布线。
他画了三个三角形,最高的优先级。
他看着宇文坤德。
“飞线试试!”
宇文坤德从线圈上剪下一根极细的绝缘导线,比头发丝粗不了多少。
用镊子剥开两端的绝缘皮,露出铜芯。
在板卡背面找到了A8信号的起点和终点,不是正式焊盘,而是芯片插座引脚的根部。
他用镊子尖轻轻挑起那条走线的末端,把飞线的一端焊上去,然后沿着板卡边缘把线绕过去,绕开那些电容电阻,在终点处焊好。
动作很轻,呼吸很稳。
他焊完最后一处,用万用表测了测通断,“嘀”一声,通路。
然后把板卡重新插回机柜。
吴国华在看逻辑分析仪的屏幕。
A8的波形提前了大约7纳秒。
虽然没有完全对齐,但已经不在临界区了。
“试试。”
测试程序重新运行。
第二个指示灯没有再亮过。
10组。
20组。
50组。
全部通过。
吴国华吐了一口气:“算过了。”
吕辰看了看表。
从第一块电源板上电到现在,已经过去了五个小时。
外面天早就黑透了,车间里的工人们早已下班。
“还有最后一关。”
他从工具台上拿起热风枪,那把枪不大,出风口可以调温,最高能到150度。
吴国华的眉头皱了起来:“现在就烤?系统才跑通不到一个小时。”
“就是要现在就烤。”
吕辰把热风枪调到80度,对准存储板上的一颗芯片,那颗芯片旁边没有散热片,没有风扇,孤零零地暴露在空气里。
“刚跑通的时候是最脆弱的。热胀冷缩一下,什么毛病都出来了。”
他直接扣下了扳机。
热风枪的扇叶嗡嗡地转着,热风从出风口涌出,打在芯片的陶瓷封装上。
一股微弱的、热烘烘的气流在板卡表面散开。
吴国华盯着示波器和逻辑分析仪,眼睛一眨不眨。
宇文坤德看着万用表和机柜的指示灯,手里的电笔没有放下。
吕辰看着热风枪的温度表,手很稳。
3分钟……
5分钟……
第8分钟,示波器屏幕上的时钟波形开始出现不规则的抖动。
原本干净的方波,边缘开始毛糙,像被什么东西啃过。
毛刺的幅度从1.8伏慢慢往上爬,1.9、2.0、2.1……
到了2.3伏。
吴国华声音发紧:“时序在恶化,高温下芯片内部延迟变大,原来能收敛的时序现在收不住了。”
吕辰把风口移开一点,让热风打在那颗芯片旁边的空地上,继续观察。
宇文坤德把手按在机柜的外壳上,感受了一下温度。
铝型材的外壳已经有些烫手了。
他松开手,走到旁边的物料架上,取下一台小型轴流风扇。
从工具箱里找了两根扎带,三下五除二,风扇固定在机柜的侧板上,电源线插到I/O板的一个闲置插座上。
风扇转了起来,呼呼地吹着,把热风枪吹来的热气吹散了大半。
示波器屏幕上的波形慢慢稳定下来,毛刺幅度降回了1.9伏,时序勉强收住。
宇文坤德把手从机柜上移开:“风扇能顶住,但机柜里那么多抽屉,不可能每个抽屉都加风扇,散热设计要从根上改。”
吕辰关掉热风枪,热风枪的扇叶慢慢停下来。
他把本子翻到新的一页,从头开始写总结。笔尖在纸上沙沙地响:
火车头测试(电源+时钟+背板+I/O+存储)初步通过。
发现问题:
1.电源远端压降4%(建议加粗主干道/增加去耦电容)
2.时钟串扰毛刺最大1.9V(建议加大间距/加地线隔离)
3.I/O板芯片插座虚接(已修复,建议写入装配规范)
4.存储板地址线长度不匹配(飞线临时解决,下一版做等长布线)
5.高温下时序恶化(散热设计需重新评估)
五类问题,全部记录在案,待下一版设计修正。
他写完最后一个字,把本子递给吴国华。
“签字。”
吴国华接过本子,一页一页地看他记的那些内容。
每一条都有现象描述、根因分析、临时对策和后续建议。
字迹工整,条理清晰。
他从口袋里掏出钢笔,在本子上签了自己的名字。
宇文坤德接着签了。
吕辰把本子合上,他转过头,看着机柜。
绿色的指示灯还在亮着,系统还在跑。
那块被热风枪吹过的芯片,现在温度已经降下来了,波形稳得像什么都没发生过。
他用指关节轻轻敲了敲机柜的铝型材立柱,发出清脆的响声。
“行了。今天就到这儿。明天加运算板。后天加温度循环。”
宇文坤德开始拆风扇、拔板卡、关电源,每一块板卡都用防静电袋装好,封口,放回架子上。
吴国华收拾示波器和逻辑分析仪,把探头一根一根地绕好,放回工具箱。
他把示波器的电源线也拔了,绕着机器缠了两圈。
三个人在防静电车间的门口站了一会儿。
深秋的夜风吹过来,带着轧钢厂冷却塔的水汽和远处烟囱的煤烟味。
车间里的暖气到了门口就被冷风截住了,站在门口能感觉到一股凉意从脚底升起来。
吕辰把本子夹稳,转过头看着吴国华和宇文坤德。
“国华,宇文工。最近你们要多盯着。我家里,晓娥要生了。有时候可能顾不上。”
吴国华拍了拍吕辰的肩膀:“火车头能跑。后面就是修修补补的事。家里的事你放心。”
他顿了顿,又补了一句:“我已经和李娟说好了。等孩子生了,她和明婕去陪晓娥说话。你不用操心那边。”
宇文坤德从兜里掏出三根烟,一人发了一根。
“吕工,恭喜。板卡测试这一关有我守着。出不了问题。等你回来,开始集成冲刺。”
吕辰接过烟,从口袋里摸出打火机,“啪”地点着。
火光照亮了他半张脸,能看见眼角那几条这两年才长出来的细纹。
三团火星在夜色里明灭不定。
远处,轧钢厂高炉的火光把天边映成一片暗红。
那火光很安静,很沉稳,像某种古老的、永远不会熄灭的承诺。