第640章 比特的握手(1/2)
请关闭浏览器的阅读/畅读/小说模式并且关闭广告屏蔽过滤功能,避免出现内容无法显示或者段落错乱。
芯片的逻辑设计告一段落之后,吕辰反而更忙了。
不是因为设计本身出了问题,而是七个人把七块模块的电路图堆在他桌上,等着他做接口对齐。
张明的交换矩阵控制逻辑和通路状态表最先完成,厚厚一沓稿纸,每一页都画得工工整整。
郑强的仲裁器和信令接口紧随其后,刘伟的微程序接口和时序控制单元也差不多了。
王军的故障检测模块、李华的可测性设计、小张海的整体集成框架,全部挤在这个节骨眼上集中交付。
“吕师兄,你看看这个。”张明把两张图纸铺在桌上,一左一右,“交换矩阵控制逻辑的输出信号定义,和郑强仲裁器的输入接口对不上。他那边用的是16位地址总线,我这边只留了8位。”
吕辰弯腰看了一会儿,拿起铅笔在两张图纸之间画了一条线。
“仲裁器的地址总线扩展到16位,交换矩阵这边高位地址暂时接地,留作扩展。”他直起身,看着郑强,“你那边多出来的几条线,能走通吗?”
郑强想了想,点头:“走是能走,就是版图得调。原来仲裁器放在芯片左上角,现在要往右边挪,给地址总线让位置。”
“调。”吕辰没有犹豫,“现在不调,等版图画完了再改,代价更大。”
类似的接口争议,一下午解决了七八个。
有人争得面红耳赤,有人拍桌子说“你这接口定义完全不合理”,有人闷头画图不说话。
吕辰坐在中间,听完了每个人说话,然后一条一条地裁。
他不偏袒任何人,也不和稀泥。
接口定义不对的,改。
时序对不上的,调。
功能重叠的,合并。
功能缺失的,补。
到下午六点多,最后一张图纸上的接口争议也解决了。
小张海把七份图纸收拢,用夹子夹住,放在吕辰桌上。
“吕师兄,逻辑设计全部完成。明天开始上星河CAD做仿真?”
“明天开始。”吕辰站起来,活动了一下僵硬的脖子,“今晚大家回去好好睡一觉,明天正式开跑。”
第二天一早,七个人准时出现在集成电路实验室的CAD机房。
吕辰坐在管理员终端前,建好了文件,大家按分配的模块开始将设计好的逻辑输入,一时之间,只听见键盘的敲击声。
输入逻辑用了两天。
第三天下午,开始测试。
“先跑交换矩阵控制逻辑。”吕辰站在他身后,手里拿着张明的那沓图纸,一页一页地翻,“第一个测试用例,单路呼叫,输入线1请求接通输出线1。加载网表,跑仿真。”
小张海敲了一行命令,回车。
屏幕上开始滚动绿色的字符,波形窗口里出现了几道整齐的方波。
十几秒后,仿真结束。
小张海看了一眼:“功能验证通过。”
张明站在旁边,紧绷的肩膀松了下来,等着吕辰往下说。
“第二个测试用例,四路并发呼叫,四组不同的输入输出。”吕辰翻到图纸的下一页,“加载,跑。”
又是十几秒。
“功能验证通过。”
“第三个,冲突场景。输入线1、输入线2同时请求输出线3。仲裁器按固定优先级处理,输入线1优先接通,输入线2等待。”吕辰的语气不急不慢,“加载,跑。”
屏幕上又滚过一行绿色的字符。
“功能验证通过。优先级仲裁正确,等待线路状态保持。”
张明这下才真正松了一口气,从兜里掏出烟,给吕辰递了一根,自己也点了一根。
“这才刚开始。”吕辰接过烟,没点,夹在手指间,“七个模块,几百个测试用例,一个一个跑。跑通一个打一个勾,跑不通的记下来,回头改。”
小张海已经开始加载第四个测试用例了。
郑强凑过来,盯着屏幕上的波形,手指在桌面上轻轻叩着。他的仲裁器模块是第二个要跑的,他已经在心里过了一遍自己的测试用例,确认每一个场景都覆盖到了。
忙碌了整整一个星期。
每一天,七个人都从早上八点坐到晚上十点。
中午食堂送饭来,蹲在机房角落吃,吃完接着跑。傍晚有人去食堂打了饭端回来,一边吃一边盯着屏幕上的波形。
吕辰的烟灰缸一天要倒三四次。
小张海的眼睛盯屏幕盯得发红,滴了眼药水继续。
张明趴在桌上睡了一会儿,醒来接着改网表。
郑强把仲裁器的优先级算法从固定优先级改成轮询,又重新跑了一遍全部用例,确认两套算法都能正常工作。
到第七天中午,小张海把最后一个测试用例跑完,屏幕上弹出一行绿色的提示。
“全功能验证通过,0错误,0警告。”
机房安静了一瞬。
然后郑强第一个鼓起掌来,掌声不大,但很真。
张明跟着拍了两下,刘伟也拍了拍手,王军、李华、小张海都笑了。
吕辰从椅子上站起来,把手里的烟掐灭在烟灰缸里。
“仿真通过,不代表流片回来就能用。”他的语气还是那样,不急不慢,“但至少,逻辑没问题了。”
吕辰把桌上的稿纸摞齐:“接下来就是电路设计。”
电路设计的工作量,比逻辑设计大了不止一个数量级。
逻辑设计是在“门”的级别上工作,与门、或门、非门、触发器,用布尔代数描述行为,用波形图验证时序。
到了电路设计阶段,每一个逻辑门要拆解成晶体管,每一个晶体管要画成有源区、多晶硅栅、接触孔、金属连线,每一层掩模版都要单独绘制。
按照吕辰定的方案,电路设计分两路并行。
一路是“手绘版图”。
小张海带着刘伟、王军、李华,趴在绘图桌上,用红蓝铅笔在硫酸纸上逐层绘制版图。
这是最传统、最可靠的办法。
红星所的集成电路,从第一颗5微米芯片到昆仑1机的KL-VU,都是这样一笔一笔画出来的。
画版图的人要有极好的空间想象力和耐心,每一根线的宽度、每两个图形之间的间距、每一个接触孔的位置,都要用尺子量、用铅笔标,容不得半点差错。
另一路是“CAD版图”。
吕辰上张明和郑强,在星河CAD系统上用标准单元库搭电路。
两条路,同一条设计指标。
最后,两套版图要放在一起比对。
一般普通的芯片,他们不会进行这种双轨对比,只有复杂的芯片才会做双轨对比,将所有问题充分暴露,节省流片时间,尽可能提高良率。
用一样尺寸的纸,星河CAD的设计,通过绘图仪画出来。
手工设计,也画在一样大的纸上。
样的比例,然后叠在一起,对着光看。
不一样的地方,就是问题。
当吕辰说出双轨对比的时候,会议室里安静了一瞬,随后大家都哀叹了起来。
“双轨比对啊。”刘伟推了推眼镜,“六千多颗晶体管,几万条连线,得画到干什么时候?”
但是也没办法,CAD版图是标准单元库搭出来的,逻辑正确,但面积大、性能一般。
手绘版图面积小、性能好,但容易画错。
两套图叠在一起,对着光看,哪儿重合、哪儿不重合,一目了然。
不重合的地方,要么是手绘画错了,要么是CAD版图搭错了。
不管是哪边错了,都说明那个地方有问题。
吕辰把桌上那沓厚厚的测试报告收拢,用夹子夹好,放进帆布包里。
“好了,今天下午,大家回去休息,从明天开始,画版图。”
离开CAD机房,吕辰回到办公室,刚坐下,通信科学实验室的一个年轻技术员就跑进来,手里拿着一个文件夹,气喘吁吁。
“吕工,可算找到您了。赵教授让我来报信,实验专线调试成功了!”
吕辰站了起来。
“什么?”
“实验专线。”技术员把文件夹递过来,翻开,里面是一沓测试数据记录,“今天早上9点十一分,计算机所到真空所的点对点链路首次实现无误码传输。误码率稳定在10的负6次方以下,带宽稳定在2400比特每秒。赵教授说,让您过去看看。”
吕辰接过文件夹,一页一页地翻。
数据记录得很规范,每一条都有日期、时间、测试条件、实测值、操作人签字。
误码率那一栏,从三天前的10的负4次方,到昨天的10的负5次方,到今天下午的10的负6次方以下,一条一条地往下走,清清楚楚。
他看完最后一页,合上文件夹。
“走。”
本章未完,点击下一页继续阅读。