第640章 比特的握手(1 / 4)

芯片的逻辑设计告一段落之后,吕辰反而更忙了。

不是因为设计本身出了问题,而是七个人把七块模块的电路图堆在他桌上,等着他做接口对齐。

张明的交换矩阵控制逻辑和通路状态表最先完成,厚厚一沓稿纸,每一页都画得工工整整。

郑强的仲裁器和信令接口紧随其后,刘伟的微程序接口和时序控制单元也差不多了。

王军的故障检测模块、李华的可测性设计、小张海的整体集成框架,全部挤在这个节骨眼上集中交付。

“吕师兄,你看看这个。”张明把两张图纸铺在桌上,一左一右,“交换矩阵控制逻辑的输出信号定义,和郑强仲裁器的输入接口对不上。他那边用的是16位地址总线,我这边只留了8位。”

吕辰弯腰看了一会儿,拿起铅笔在两张图纸之间画了一条线。

“仲裁器的地址总线扩展到16位,交换矩阵这边高位地址暂时接地,留作扩展。”他直起身,看着郑强,“你那边多出来的几条线,能走通吗?”

郑强想了想,点头:“走是能走,就是版图得调。原来仲裁器放在芯片左上角,现在要往右边挪,给地址总线让位置。”

“调。”吕辰没有犹豫,“现在不调,等版图画完了再改,代价更大。”

类似的接口争议,一下午解决了七八个。

有人争得面红耳赤,有人拍桌子说“你这接口定义完全不合理”,有人闷头画图不说话。

吕辰坐在中间,听完了每个人说话,然后一条一条地裁。

他不偏袒任何人,也不和稀泥。

接口定义不对的,改。

时序对不上的,调。

功能重叠的,合并。

功能缺失的,补。

到下午六点多,最后一张图纸上的接口争议也解决了。

小张海把七份图纸收拢,用夹子夹住,放在吕辰桌上。

“吕师兄,逻辑设计全部完成。明天开始上星河cad做仿真?”

“明天开始。”吕辰站起来,活动了一下僵硬的脖子,“今晚大家回去好好睡一觉,明天正式开跑。”

第二天一早,七个人准时出现在集成电路实验室的cad机房。

吕辰坐在管理员终端前,建好了文件,大家按分配的模块开始将设计好的逻辑输入,一时之间,只听见键盘的敲击声。

输入逻辑用了两天。

第三天下午,开始测试。

“先跑交换矩阵控制逻辑。”吕辰站在他身后,手里拿着张明的那沓图纸,一页一页地翻,“第一个测试用例,单路呼叫,输入线1请求接通输出线1。加载网表,跑仿真。”

小张海敲了一行命令,回车。

屏幕上开始滚动绿色的字符,波形窗口里出现了几道整齐的方波。

十几秒后,仿真结束。

小张海看了一眼:“功能验证通过。”

张明站在旁边,紧绷的肩膀松了下来,等着吕辰往下说。

“第二个测试用例,四路并发呼叫,四组不同的输入输出。”吕辰翻到图纸的下一页,“加载,跑。”

又是十几秒。

“功能验证通过。”

“第三个,冲突场景。输入线1、输入线2同时请求输出线3。仲裁器按固定优先级处理,输入线1优先接通,输入线2等待。”吕辰的语气不急不慢,“加载,跑。”

屏幕上又滚过一行绿色的字符。

“功能验证通过。优先级仲裁正确,等待线路状态保持。”

张明这下才真正松了一口气,从兜里掏出烟,给吕辰递了一根,自己也点了一根。

“这才刚开始。”吕辰接过烟,没点,夹在手指间,“七个模块,几百个测试用例,一个一个跑。跑通一个打一个勾,跑不通的记下来,回头改。”

小张海已经开始加载第四个测试用例了。

郑强凑过来,盯着屏幕上的波形,手指在桌面上轻轻叩着。他的仲裁器模块是第二个要跑的,他已经在心里过了一遍自己的测试用例,确认每一个场景都覆盖到了。

忙碌了整整一个星期。

每一天,七个人都从早上八点坐到晚上十点。

中午食堂送饭来,蹲在机房角落吃,吃完接着跑。傍晚有人去食堂打了饭端回来,一边吃一边盯着屏幕上的波形。

吕辰的烟灰缸一天要倒三四次。

小张海的眼睛盯屏幕盯得发红,滴了眼药水继续。

张明趴在桌上睡了一会儿,醒来接着改网表。

郑强把仲裁器的优先级算法从固定优先级改成轮询,又重新跑了一遍全部用例,确认两套算法都能正常工作。

到第七天中午,小张海把最后一个测试用例跑完,屏幕上弹出一行绿色的提示。

“全功能验证通过,0错误,0警告。”

机房安静了一瞬。

然后郑强第一个鼓起掌来,掌声不大,但很真。

张明跟着拍了两下,刘伟也拍了拍手,王军、李华、小张海都笑了。

吕辰从椅子上站起来,把手里的烟掐灭在烟灰缸里。

“仿真通过,不代表