字:
关灯 护眼
渡口文学 > 直播1980:网友教我手搓火箭 > 第330章 七天七夜

第330章 七天七夜

    六月二十三日,晚上六点整。

    米勒准时从三号楼二层下来。

    他捂着肚子,对传达室的门卫摆了摆手。

    “拉肚子,回宿舍了。”

    门卫翻着报纸,根本没抬头。

    米勒走出大门后,拐进了计算机所对面的小饭馆。

    要了一碗炸酱面,坐在角落里,脸朝着墙。

    六点十五分。

    地下室的铁门被推开。

    司徒渊走在前面。

    右手拎着一个帆布袋,里面装着一盒SPICE2G6的磁带和两沓打孔卡片。

    林希跟在后面,手里拿着周副所长给的钥匙。

    张秉谦最后进来。

    他从津门坐了两个小时火车赶到帝都。

    裤子膝盖上的白印子还没洗掉。

    三个人站在玻璃房外面。

    摄像头的红灯已经灭了。

    司徒渊用米勒给的管理员口令登录系统。

    花了四分钟关闭底层日志记录模块。

    屏幕上跳出一行确认码。

    他核对了两遍,按下回车。

    “干净了。”

    林希搬了两把折叠椅进来。

    张秉谦把手绘版图的数据本摊开在膝盖上。

    司徒渊将磁带插入驱动器,机器发出低沉的转动声。

    绿色光标在黑色屏幕上跳了两下。

    他开始敲键盘。

    ......

    第一个晚上。

    仿真程序跑了四十七分钟。

    屏幕上刷出密密麻麻的红色字符。

    `Timing ViOlatiOn: NOde A7→D3, Delay = 287nS (MaX AllOWed: 200nS)`

    `Timing ViOlatiOn: NOde B2→CLK, SetUp Time InSUffiCient`

    `Timing ViOlatiOn: …`

    红色的报错信息刷了整整三屏。

    张秉谦凑到屏幕前,老花镜几乎贴在显示器上。

    “两百八十七纳秒……”

    他的声音很轻。

    李工用计算尺,算了七十二个小时没算清楚的东西。

    机器四十分钟给出了答案。

    超标八十七纳秒。

    差距比人脑估算的还要大。

    张秉谦没说话。

    他把报错的节点编号一个一个抄在本子上。

    握笔的手很稳,但写字的速度明显比白天慢。

    司徒渊靠在椅背上,盯着屏幕看了半分钟。

    “A7到D3这条路径,逻辑门串了九级。”

    他站起来,走到张秉谦身边。

    指着版图数据本上的一处走线。

    “这里,地址译码器的输出经过两级缓冲再进字库ROM的片选端。”

    “多了一级。”

    “能砍掉吗?”张秉谦抬头。

    “不能直接砍,会影响驱动能力。”

    司徒渊拿起铅笔,在数据本空白处画了一个简图。

    “换一种拓扑结构。”

    “把译码和片选合并成一级复合门。”

    “同时给关键路径上的走线加宽零点五个单位,降低RC延迟。”

    张秉谦盯着那个简图看了十秒钟。

    “明天白天改。”

    林希看了一眼表。

    凌晨一点十二分。

    “收工。”

    ......

    这是第一晚。

    白天,津门二厂的车间里。

    张秉谦带着年轻技术员们跪在坐标纸上。

    按照前一晚仿真结果反馈的问题。

    一条一条撕掉旧的胶带走线,重新贴新的。

    撕掉,量尺,贴下去。

    再撕,再量,再贴。

    每改一处,旁边的人就在修改记录表上打一个勾。

    有时候改到一半,发现牵一发动全身。

    一条走线挪了位置,相邻的三条都得跟着调。

    最长的一次,一个修改点从上午八点改到晚上七点。

    中间吃饭都是蹲在坐标纸旁边扒拉的。

    到了傍晚,林希和司徒渊坐火车回帝都。

    有时候张秉谦也跟着来。

    六点,米勒准时“拉肚子”。

    六点十五,三个人进玻璃房。

    输入新数据,跑仿真。

    红色报错一屏一屏地刷。

    但每一天,红色的行数都在减少。

    【第一晚:34个】

    【第二晚:19个】

    【第三晚:12个】

    【第四晚:8个】

    【第五晚:3个】

    直播间的观众们跟着熬了五天。

    弹幕从最初的【不忍看】【这也太肝了】。

    慢慢变成了【又少了两个!】【稳住稳住!】。

    有人甚至做了一张折线图,每天更新报错数量。

    配文“华国芯片倒计时”。

    第六个晚上,剩两个违规。

    一个是时钟信号的偏移。

    司徒渊用了一个在仙童内部都算高阶技巧的“时钟树平衡”方法解决。

    张秉谦看懂原理后,连说了三个“妙”字。

    最后一个,卡在ISA总线的地址映射上。

    问题出在CPU发出读信号后。

    芯片内部的字库寻址路径还是比200纳秒多了11纳秒。

    十一纳秒。

    张秉谦坐在玻璃房的折叠椅上,盯着屏幕上那个数字看了很久。

    “我们的走线已经没有优化空间了。”

    他说,

    “物理极限。”

    司徒渊没接话。

    他闭着眼靠在墙上,手指无意识地敲着膝盖。

    林希坐在边上,脑海里弹幕正在疯狂滚动。

    【11纳秒!就差11纳秒!】

    【加流水线?上缓冲?不行,ISA总线不支持等待周期......】

    【等等,有个思路!386以前的ISA总线其实有一个隐藏特性——I/O ReCOvery Time!8088的ISA时序里,连续两次I/O读取之间有一个强制恢复间隔,大约一微秒!】

    【对对对!这意味着CPU不可能背靠背地连续读取,芯片有时间“喘口气”!所以只要把字库的预取逻辑改成“读当前字的同时,预加载下一个字的首字节”,真正需要响应的时间就不是200纳秒,而是更宽裕!】

    林希睁开眼。

    “司徒总工。”

    司徒渊的手指停了。

    “ISA总线连续读取之间,有强制恢复间隔。”

    “如果在芯片里加一个预取缓冲寄存器。”

    “当前请求返回数据的同时。”

    “提前把下一个地址的字模从ROM里读出来存着。”

    “实际响应时间可以摊薄。”

    司徒渊愣了两秒。

    然后他猛地从墙上弹起来。

    “预取!”

    他抓过铅笔,直接在数据本的封底上画电路。

    画完,他盯着看了五秒,把铅笔往桌上一拍。

    “能过。”
『加入书签,方便阅读』