标准单元库的录入工作,在培训结束的第二天,就启动了。
这项工作其实早在几个月前就开始筹备了。
红星集成电路实验室第三组一直在做标准单元库的建设和维护工作。
组长余则成三十出头,是整个红星所有名的美男子,眉目含精,未语先笑,说的就是这种人,就算是和吕辰相比,也是不遑多让。
吕辰来到第三组办公室的时候,余则成正带着几个人在整理资料。
桌上摊着厚厚一沓手册,全是手绘的单元库图纸和参数表,每一页都编了号,用硬纸板做封面,用麻绳穿起来,像一本本厚厚的档案。
“余师兄,单元库的情况怎么样?”吕辰在对面坐下。
余则成摘下眼镜擦了擦,翻开桌上那本最厚的手册。
“5微米工艺,目前有470多个单元。基本逻辑门、触发器、锁存器……,常用的都有了。每个单元都有逻辑图、版图、仿真模型、测试向量、使用说明,五件套,齐全。”
他递给吕辰一个册子:“2微米工艺,才开始研发不久,数据少。主要还是用5微米工艺就地转化,目前只有150个常用单元,基本逻辑门和触发器为主,复杂的还没有。版图和5微米有差异,仿真模型也要重新做,测试向量有些可以复用,但大部分要重写。”
他顿了顿:“现在,第三组分成两队,一队12个人,继续推进2微米单元库建设。我根据数据库的表结构,设计了录入模板,带着剩下的18人,转化5微米标准单元库的录入文本,根本忙不过来。所以录入这块,得靠第八组。”
他递给吕辰两张纸,一张是录入模板,每个单元一条记录,字段包括:Id、名称、功能、工艺版本、版图坐标、仿真参数、测试向量、版本号、修改人、修改时间。
另一张是版图坐标的格式:“图层,起点x,起点Y,终点x,终点Y”,多个坐标用分号隔开。仿真参数的格式是“参数名=参数值”,多个参数用分号隔开。测试向量的格式是“输入A,输入b,输出Y”,多个向量用分号隔开。
格式定义得很清楚,每一类数据都有示例,一看就懂。
“好。”吕辰把那张纸折好放进兜里。“余师兄,数据文本的事,你就多费心了,走,咱们几个去碰一下,商量一下录入具体的工作。”
“行。”
二人来到机房,吴国华、钱兰、诸葛彪、曾祺都已经到了。
吕辰从兜里掏出一张折叠的稿纸,展开铺在桌上。
那是一张机房布局图,16台KJ-0A的位置标得清清楚楚。
他在图上画了几个圈,把机器分成四组。
“录入组,8台机器。对照纸质手册,把数据敲进终端。这是最枯燥、最易出错的环节,所以人要挑细心的,手要稳,眼睛要尖。”
他在第一组旁边写了“录入组”三个字。
“初验组,4台机器。录入完成后,立即用另一套脚本或者人工方式快速核对一遍明显错误。坐标越界、参数类型不对、必填字段为空,这些一眼就能看出来的问题,在初验环节卡住,不要流到后面去。”
他在第二组旁边写了“初验组”。
“终验/抽检组,2台机器。对初验通过的数据进行严格的功能仿真或者规则检查。这一关过了,数据才能正式入库。”
他在第三组旁边写了“终验组”。
“调度/应急组,2台机器。一台跑监控程序,观察系统负载,调配任务;一台作为备用,随时顶替故障机器或者处理紧急任务。”
他在第四组旁边写了“调度/应急组”。
钱兰道:“流水线方案可行。但有一个问题,录入组的人,对单元库的熟悉程度不一样。有些人画过版图,知道坐标怎么读;有些人只跑过仿真,对版图不熟。混在一起,效率起不来。”
吕辰想了想:“那就分组的时候按特长分。熟悉版图的录版图数据,熟悉仿真的录仿真参数,熟悉测试的录测试向量。各录各的,各验各的,最后再拼成一条完整记录。”
余则成在本子上记了一笔:“2微米的单元库,数据不全。有些单元的版图画完了,但仿真模型还没更新;有些单元的测试向量还是5微米的,没适配2微米。录入的时候遇到这种情况怎么办?”
吕辰道:“暂停录入,标记为‘待补充’,回头找设计者确认。不能为了赶进度把错的数据录进去。数据库里进了脏数据,比没数据还麻烦。”
余则成点了点头,在本子上又记了一笔。
曾祺道:“依我看,咱们三班倒,每班八小时,交接班要有记录。你们第三组出一个人,当技术顾问,在机房里坐镇,处理录入过程中遇到的技术问题。谁遇到了拿不准的数据,当场问他。”
余则成想了想:“我挑三个人来跟班,都是一直做单元库的,5微米的470个单元,基本都摸过。”
“行。”
第二天一早,录入工作正式开始。
16台KJ-0A全部启动,显示器上绿色的字符安静地亮着,像16双等待的眼睛。
吕辰站在管理员桌前,面前摊着一张排班表。
第一班,早上八点到下午四点,带班的是吕辰和诸葛彪,第八组十二个人,第三组出一个人。
第二班,下午四点到晚上十二点。带班的是钱兰和吴国华,第八组十二个人,第三组再出一个人。
第三班,晚上十二点到早上八点。带班的是余则成和曾祺,第八组六个人,加上第三组的几个人轮流值夜。
三班倒,人停机不停。
每班核心录入六小时,另外两小时用于交接、自检、处理疑难数据。
交接的时候,上一班要把进度、问题、注意事项写在交接本上,下一班来了先看本子,再接着干。
吕辰把排班表贴在墙上,转过身看着机房里的十几个人。
“各位,今天开始,标准单元库录入。这不是技术攻关,不是写论文,是体力活。枯燥、重复、磨人。但这件事,比什么都重要。”
他顿了顿,声音提高了一些。
“470个5微米单元,150个2微米单元。每一个单元的版图、仿真模型、测试向量,都要从纸质手册上搬到数据库里。搬完了,这个系统才是活的。搬不完,16台午马就是一堆废铁。”
他扫了一圈,目光从每一张脸上掠过。
“开始吧。”
录入组的人坐到各自的终端前,翻开手边的手册,开始敲键盘。
初验组的人坐在自己的机器前,等着录入组提交数据。
终验组的人坐在最后面,等着初验组通过的数据。
调度/应急组的两个人,一个盯着监控屏幕,一个靠在椅背上,随时准备顶上去。
机房里的气氛一下子紧张起来。
吕辰走到管理员桌前,坐在监控终端前面,看着屏幕上那个绿色的提示符:“db\>”
他敲了一个命令:db\> Show StAtUS
屏幕上出现了一行字:ActIVE SESSIoNS: 16, tASKS qUEUEd: 0, tASKS RUNNING: 0, tASKS pLEtEd: 0
16台机器都在线,但还没有任务提交。
他等了几秒,屏幕上开始跳出新的行:
tASK SUbmIttEd: Id=0001, tYpE=ImpoRt, NodE=1
tASK SUbmIttEd: Id=0002, tYpE=ImpoRt, NodE=2
tASK SUbmIttEd: Id=0003, tYpE=ImpoRt, NodE=3
......
录入组的人开始提交任务了,每一个提交都在监控终端上留下一行记录。
吕辰盯着屏幕,看着那些任务被调度器分发给初验组和终验组的机器。
tASK 0001 dISpAtchEd to NodE 9 (pRELIm)
tASK 0002 dISpAtchEd to NodE 10 (pRELIm)
tASK 0003 dISpAtchEd to NodE 11 (pRELIm)
......
初验组的机器开始工作了。
前三天,是最难熬的阶段。
录入组的人不熟悉流程,敲键盘的速度慢,翻手册找数据的时间长。
有的人录到一半发现手册上的字迹模糊看不清,有的人录完了才发现格式不对,有的人提交了任务才发现漏了一个字段。
初验组的人也很痛苦。
录入组提交的数据,十条里有三四条有问题。
坐标越界、参数类型不对、必填字段为空,各种错误层出不穷。
初验组的人只能一条一条地打回来,让录入组重新改。
终验组的人更痛苦。
好不容易等到初验通过的数据,跑仿真的时候发现模型参数不对,或者测试向量不匹配。
一查,是手册上的数据本身就有问题,录入的人没错,但数据不能用。
还有机器死机、网络中断、存储柜响应超时,各种技术故障轮番上演。
第一天下来,只录入了不到三十个单元。
第二天好一些,四十多个。
第三天,终于突破了五十个。
但问题也在这两天集中爆发了。
那天下午,大张海突然举手。
“吕工,这个2微米的与非门,版图坐标和5微米的对不上。”
吕辰走过去,看了一眼大张海面前的屏幕。
屏幕上是一个文本文件,里面是录入好的版图坐标数据。
旁边摊着一本手册,翻到2微米与非门的那一页。
“你看这里,”大张海指着手册上的一行字,“版图里多了一层多晶硅,5微米的没有这一层。坐标也对不上,差了将近两个微米。”
吕辰皱了一下眉头,拿起那本手册翻了几页,又翻到5微米与非门的那一页,对比了一下。
两个版图确实不一样,不是简单的缩放,是结构上就有差异。
“暂停录入。”吕辰说,“把这个单元标记为‘待确认’,先录下一个。”
他在交接本上写了一行字:“2微米与非门,版图结构与5微米不一致,待设计者确认。”
类似的问题层出不穷。
有人在录入2微米版图时,发现数据缺失。
手册上只画了版图的示意图,没有标具体的坐标。
翻了好几页,找不到完整的数据。
有人在录入仿真参数时,发现手册上的参数值和版图的尺寸对不上。
按手册上的参数跑仿真,结果和预期差了将近20%。
有人在录入测试向量时,发现向量表里的输入组合和输出值逻辑上就不通。
同一组输入,在手册的不同地方出现了两个不同的输出值,不知道哪个是对的。
最棘手的是一个复杂单元的测试向量。
那个单元有16个输入、8个输出,测试向量表密密麻麻列了200多行。
录入组的人录完了,初验组的人核了一遍,没发现问题。
终验组的人跑仿真的时候,发现有一组向量的输出和预期差了整整一位。
初验组的人查了半天,查不出问题。
终验组的人又跑了一遍,还是不对。
最后,技术顾问小李被叫过来了。
他坐在终端前,把那个单元的测试向量表调出来,一行一行地看,看了将近二十分钟,抬起头说了一句:“向量表本身就有问题。第三个向量,输出应该是0,不是1。手册上写错了。”
所有人都愣了一下。
小李翻开手册,找到那一页,指着中间的一行。
“你们看,这个单元的逻辑功能是A+b+c的和,进位输出。第三个向量,A=1,b=1,c=1,和是3,二进制011,进位应该是0。手册上写的是1,错了。”
他把手册合上,看着吕辰:“这个单元是宋颜教授设计的。向量表也是他写的,可能是笔误。”
吕辰想了想,走到管理员桌前,拿起电话,拨了宋颜办公室的号码。
电话响了三声,被接起来。
“宋教授,有个问题要请教您。
2微米的那个十六位加法器,测试向量的第三个,进位输出是0还是1?”
电话那头沉默了几秒。
“0。”宋颜的声音很肯定,“第三个向量,A=1,b=1,c=1,和是3,进位应该是0。”
还真是手册上写错了。
吕辰挂了电话,在交接本上记了一笔:“十六位加法器,测试向量第三个,进位输出应为0,手册有误,已确认。”
类似的事情,几乎每天都在发生。
录入组的人已经不只是“录入员”了,他们变成了“数据侦探”,一边敲键盘,一边在发现手册上的错误、遗漏、矛盾。
有时候是手册本身的笔误,有时候是设计者更新了版图但忘了更新文档,有时候是不同设计者对同一个单元的理解不一致。
每一个问题都要停下来,查原始图纸、找设计者确认、在交接本上记录。
有时候一个单元要折腾半天才能录进去。
第四天下午,又出了一个麻烦。
2微米录入组的小张海发现一个关键与非门的版图和5微米的逻辑功能不符。
5微米的与非门是标准的双输入,2微米的版图里却多了一个输入端,变成了三输入。
小张海不敢擅自录入,紧急呼叫吕辰。
吕辰和诸葛彪走到小张的终端前,看了一眼屏幕上的版图数据,又翻了一下手册。
手册上写的确实是“双输入与非门”,但版图画的是三输入。
“这不对。”诸葛彪说,“版图和功能描述不一致。要么是版图画错了,要么是手册写错了。”
吕辰想了想:“查一下原始设计图纸。”
小张从档案柜里翻出2微米与非门的原始设计图纸,那是一张A2的硫酸纸,上面用墨线描着版图,线条工整,标注清晰。
图纸上画的确实是三输入。
“版图是对的。”吕辰说,“那手册就是错的。这个单元从一开始设计的就是三输入,但写手册的人写成了双输入。”
他拿起电话,打给了2微米设计组的负责人。
电话那头沉默了几秒,然后传来一声叹息:“手册写错了。这个单元是三输入,不是双输入。当时赶进度,手册写得急,笔误。一直没发现。”
吕辰挂了电话,在交接本上写了一行字:“2微米与非门,实际为三输入,手册有误,已确认。后续录入以此为准。”
小张把那行字抄下来,贴在终端旁边的墙上,然后继续录入。
日子一天一天过去。
到了第五天,流程开始顺畅了。
录入组的人熟悉了格式,敲键盘的速度快了一倍。
初验组的人知道了常见的错误类型,一眼就能看出问题。
终验组的人跑仿真的速度也快了,因为大部分单元的模型参数已经入库,可以直接复用。
调度器也在学习。
它开始记录每个单元的录入时间、每个操作员的平均速度、每个校验环节的通过率,然后根据这些数据动态调整任务分发策略。
录入组最快的是大张海。
他坐在终端前,手指在键盘上飞舞,眼睛盯着手册,一行一行地敲,几乎不停顿。
他提交任务的速度,调度器都跟不上。
有一次,他刚提交一个任务,手指还没离开键盘,下一个任务就分发过来了。
他愣了一下,然后笑了:“这机器比人还快!”
旁边的几个人也笑了,笑声在机房里回荡,和风扇的嗡嗡声混在一起。
初验组的人也开始找到感觉了。
他们不再机械地执行校验脚本,而是开始主动思考。
看到坐标异常,他们会去查手册上的原始数据;看到参数类型不对,他们会去翻设计文档;看到测试向量逻辑不通,他们会自己推一遍真值表。
终验组的人更厉害。
他们跑仿真的时候,不再只是看“通过/不通过”,而是开始分析波形、比对时序、发现隐藏的问题。
有好几次,录入组的数据通过了初验,但终验组跑仿真的时候发现波形边缘有毛刺,查了半天,发现是手册上的参数写错了。
技术顾问小李坐在调度/应急组的那台机器前,面前摊着一本厚厚的手册,手里拿着一支铅笔,在本子上记着什么。他是机房里最忙的人,几乎每几分钟就有人叫他。
“李工,这个单元的版图坐标,手册上写的是‘见图’,但图在哪儿?”
“李工,这个单元的仿真参数,手册上写的是‘同5微米’,但2微米和5微米的参数不一样啊。”
“李工,这个单元的测试向量,手册上只列了八组,但这个单元有四个输入,理论上应该有16组,剩下的八组呢?”
每一个问题,他都要查原始资料、翻设计文档、打电话问设计者。有时候一个问题要折腾半个小时才能解决。
但他从来没有不耐烦过。
每次有人叫他,他都会放下手里的笔,走过去,弯下腰,看着屏幕,然后慢慢地说:“这个问题,我看看。”
日子一天一天过去,录入的速度越来越快。
第一周结束的时候,5微米单元录入了120个,2微米单元录入了40个。
第二周结束的时候,5微米单元录入了280个,2微米单元录入了90个。
到了第三周,5微米单元只剩下最后40个,2微米单元也只剩下30个。
录入组的人已经不需要翻手册了,大部分单元的数据他们都能背下来。
手指在键盘上飞舞,眼睛盯着屏幕,一行一行地敲,几乎不停顿。
初验组的人也轻松了很多,因为录入组提交的数据质量越来越高,错误率从第一天的百分之三四十降到了百分之五以下。
终验组的人跑仿真的时候也顺利了很多,大部分单元一次通过,少数有问题的也能很快定位原因。
最后一周,录入工作进入了冲刺阶段。
那天下午,钱兰坐在管理员桌前,盯着监控屏幕上的数字。
5微米单元,已录入465个,还剩5个。
2微米单元,已录入145个,还剩5个。
她站起来,走到机房中央,看着那16台墨绿色的机柜。
风扇的嗡嗡声还在,显示器的绿色字符还在,敲键盘的声音还在。
她深吸了一口气,转身回到管理员桌前,继续盯着屏幕。
晚上八点,最后一个5微米单元录入完成。
晚上十一点,最后一个2微米单元录入完成。
钱兰坐在管理员终端前,手指悬在键盘上方,停了几秒。
然后她敲下了一行命令:
db\> SELEct * FRom cELLS whERE FUNctIoN=NANd ANd tEch=5Um;
屏幕上开始跳出数据。
一行,两行,三行……整整齐齐列了几十个与非门的数据,单元名称、功能、工艺版本、版图坐标、仿真参数、测试向量、版本号、修改人、修改时间,每一个字段都填得满满当当。
他盯着屏幕看了很久。
身后,不知道什么时候站了一圈人。
诸葛彪、吕辰、吴国华、余则成、曾祺、大张海、小张海……
都站在他身后,看着屏幕上那些绿色的字符。
没有人说话。
钱兰又敲了一个命令:
db\> SELEct coUNt(*) FRom cELLS;
屏幕上出现了一行数字:620。
470个5微米单元,150个2微米单元,全部在数据库里了。
钱兰靠在椅背上,长长地吐了一口气。
她转过身,看着身后那些人。
有的人笑了,有的人揉了揉眼睛,有的人拍了拍旁边人的肩膀。
“成了。”钱兰说,“图书馆,开门了。”
机房里安静了一瞬,然后掌声响起来。
这是一种沉稳的、踏实的满足感。
像是一个农民看着自己刚翻好的地,就等着下种了。
以上是 做梦都不放过 创作的《四合院:我是雨水表哥》第 513 章 第513章 标准单元入库。本章内容来自 流水文学网,请支持做梦都不放过原创。