下一章 上一章 目录 设置
4、第一个盲盒 第一次模拟 ...
-
备赛第三周,三个人决定做一次全流程模拟流片。
这个决定是吴越提出来的。他在翻佳立创的下单手册时,看到"极速版"那一栏写着"建议首次使用者先进行一次试下单,熟悉全流程",然后把这句话念给了另外两个人听。
葛家瑾听完说:"肯定要试一次。"
金复来没说话,但他把正在写的代码保存了一份副本,命名为"simulate_submit.v"。文件名里的"simulate"是一个提醒——这不是正式比赛,只是排练。
排练的内容是完整的:从代码冻结到版图生成,从DRC检查到GDSII导出,从佳立创平台下单到裸片送达,最后上电测试。每一步都走一遍,看看会在哪里卡住。
"我们先定一个目标。"葛家瑾说,"不要求性能,只要求'能跑'。功能正确,功耗不管,面积不管。能跑就行。"
吴越在本子上记了一笔:"第一次模拟流片目标:能跑。"
这个词从他说出来的时候,三个人都安静了一瞬。一颗芯片从设计到制造,最后上电的那一瞬间,示波器上出现波形——就像一块石头被扔进水里,终于泛起了涟漪。
金复来说:“一天。给我一天把代码写完。”
“两天吧。这次机会你得确保他能跑。”葛家瑾点头,“然后周三下午提交。流片六小时,工厂通宵生产,无人机次日早上八点之后才送。”
“当然,比赛的时候,代码就是一天。” 葛家瑾说,“三次流片预计分别提交于第二天一早,第二天下午收到;第二天晚上,第三天早上收到;和第三天下午,第四天早上收到。”
他们说得平常,像在说一件再普通不过的事。但在场三个人都知道,这话放在三年前,他们刚上大学的时候,还说不出口。
佳立创打通电子束直写和微流控封装的连续产线,是2033年的事。那一年他们把传统晶圆厂四个月的周期压缩到了六小时,在业内没有掀起太大的水花——很多人不相信,更多人觉得跟大学生没什么关系。直到去年,2035年电赛,佳立创第一次向参赛队伍开放了这个通道。六小时流片,四小时PCB打样,比赛期间三次免费。消息出来的时候,葛家瑾准大三,他在朋友圈转了一篇推送,配文就两个字:"离谱。"
到今年,它成了省赛标配。
物理学院9号楼247室的窗台上,是几年前装上的无人机停机坪。蓝色呼吸灯一亮,整个实验室的人都认识那个声音。这东西已经变成日常了。金复来想起他小时候在南昌,快递还得等隔日达,现在芯片六小时交货,四小时PCB打样,无人机半小时闪送到窗口。快得让人不觉得快。只有偶尔抬头看到一架无人机掠过的时候,才会想一下。
吴越翻了一下佳立创的手册:“配送时段有限制?上面写的是‘每日8:00-20:00配送,夜间订单统一次日清晨送达’。”
“对。晚上低空管制呀。”葛家瑾说,“我们下午提交的,夜里产线跑完,第二天早上八点收到,刚好接上。”
这次的时间表定下来了。周三上午写完代码,周三中午冻结,周三下午做版图,周三下午提交。晚上上产线,周四早上收货测试。
那两天金复来在实验室从早上坐到下午,中间只起来倒了两次水。周三下午三点半,他把最终的GDSII文件导出,上传到佳立创·硅工坊的下单页面。
提交之前他把鼠标移到了“确认下单”的按钮上,没有马上点。
“你们看一遍。”他把屏幕转过去。
葛家瑾和吴越凑过来,把页面上的每一个参数都读了一遍。工艺节点180nm,面积2.8平方毫米,封装QFN32,配送地址华师物理学院9号楼247室。
“确认。”吴越说。
“确认。”葛家瑾说。
金复来点了"确认下单"。页面上跳出一行字:"订单已提交,正在排入极速版队列。预计直写开始时间:15分钟后。"
三个人盯着那行字看了几秒。
"流片要六个小时。"葛家瑾站起来,"我去调测试板。"
测试板他早就做好回来了,一个简单的QFN32转接板,加上一些外围模拟电路,再配个串口读出,搞定。把芯片的32个引脚引出到标准排针上,方便示波器观察测试。
金复来坐在原位。佳立创的订单状态每隔1分钟刷新一次,流程上写着:"文件确认中"→"直写中(预计1.5小时)"→"测试中"→"封装中"。
他在等。等的过程里什么也做不了。屏幕角落的那盏小灯一直在转,像一个慢速的钟摆。
佳立创的芯片流片通道和PCB打样是同一个系统,六小时交付。他看着页面跳出一行"已提交,预计今晚九点前完成生产",然后合上电脑,走到窗边站了一会儿。
那天晚上葛家瑾和吴越回了宿舍。金复来留在实验室,他还有一个模块的时序没有做完收尾,他想趁着等芯片的时间把它整理干净。佳立创的订单状态在晚上八点变成了"已完成,等待配送"。系统提示:"当前时段无配送服务,将于次日8:00起按序派送。"
他看了一眼,然后继续改代码。
晚上一点,他关了电脑,把三把椅子并在一起躺下。9号楼247室的灯还亮着,但不是为他一个人亮着——那架无人机第二天早上会到。
第二天早上七点半,金复来已经醒了。他在实验室的水池前洗了一把脸,把椅子归位,打开电脑,重新跑了一遍仿真确认代码没有问题。
八点零二分,窗外传来一阵轻微的嗡嗡声。声音由远及近,从9号楼的上方降下来。葛家瑾和吴越推门进来,正好听到那个声音。
"来了?"葛家瑾放下包。
"来了。"
三个人走到窗边,推开窗户。一架六旋翼无人机正对准窗台上方的停机坪降落。底部的蓝色呼吸灯一闪一闪,腹部压着一个密封舱。它触地,关闭旋翼,蓝色呼吸灯变成了常亮。
葛家瑾伸出手,把密封舱取下来。舱门弹开,里面躺着一个银灰色的静电袋,印着佳立创的LOGO、订单编号和收货地址。
他把静电袋捧进实验室。吴越已经把测试台清理干净了,示波器和电源线都接好了。金复来从座位上站起来,走到测试台旁边。
葛家瑾用镊子撕开静电袋,取出那枚指甲盖大小的芯片。QFN封装,黑色塑封体,四周是裸露的金属引脚。他把它放进测试座的压槽里,拇指按下压杆。"咔哒"一声,锁紧。
"上电。"他说。
吴越打开了电源开关,示波器亮起来。葛家瑾把探头接到测试板的输出端,看了金复来一眼。
"你按。"
金复来伸手,按下了复位键。
示波器屏幕上,一条波形跳了起来——然后迅速衰减,变成了一条水平的死线。
葛家瑾又按了一次复位。波形跳起来,落下去。
第三次。跳起来,落下去。
芯片在工作——但它只工作了不到一秒钟就停止了。
三个人盯着那条直线,谁都没说话。过了很久,吴越在笔记本上写:"第一次模拟流片:芯片有功能响应,但无法持续运行。初步判断:内部状态机未正常跳转或复位逻辑异常。"
金复来回到屏幕前,打开代码,找到状态机那部分。从上到下读了一遍,读到一半的时候手指停在了键盘上。
"复位信号的极性好像搞反了。"他说。
葛家瑾抬起头:"反了?"
"低电平有效写成了高电平有效。所以复位之后状态机跳到了初始态,然后立刻跳回了一个未定义的中间态。"
吴越在笔记本上划掉了刚才写的,重新写:"原因:复位信号极性错误。已定位。"
葛家瑾已经打开了测试板原理图,指着复位信号那一支:“这里加一个反相器就行了,不用重新流片。”
金复来看了一眼:“对。”
葛家瑾从元件盒里翻出一颗74LVC1G04,单路反相器,指甲盖还小。他拿镊子夹起来,看了看引脚,又看了看测试板上的预留空位。“有位置,刚好。”
他拿起烙铁,给空焊盘上锡,用镊子把反相器放上去,烙铁尖碰了一下引脚。锡融开,元件稳稳地落在了板子上。他拉了一根飞线,把原来的复位信号线割断,重新接到反相器的输入,再把反相器的输出接到芯片的复位引脚上。
前后不到五分钟。
“再试一次。”他说。
金复来伸手,按下了复位键。
示波器屏幕上,一条波形跳了起来——停住了。没有衰减,没有回落,稳稳地停留在高电平的位置。一秒,两秒,三秒,它还在那里。
三个人盯着那条线,谁也没说话。
波形又跳了一下,开始正常地翻转。状态机跑起来了,信号按照该有的顺序从一个状态跳到下一个状态,像一台终于找到节奏的节拍器。
“跑了。”吴越说。
“跑了。”葛家瑾重复了一遍。
金复来没有出声。他看着屏幕上跳动的波形,手指搭在桌沿上,没有移开。
葛家瑾把探针移到了功耗测量点上,示波器上跳出一个数字。他看了一眼,没有马上说。
“多少?”吴越问。
“六十八毫瓦。”葛家瑾说。
三个人又安静了。指标是五十毫瓦。六十八,超了百分之三十六。
吴越在笔记本上记录:“复位信号已修复。芯片可稳定运行,但功耗超出指标36%。待优化。”
金复来把视线从示波器上移开,回到屏幕。他调出功耗报告,逐行往下看。时钟树占了将近一半的功耗,剩下的消耗在组合逻辑的翻转上。
“时钟树的扇出太大了。”他说,“驱动能力不够,每级缓冲器都在漏电。”
“能改吗?”葛家瑾问。
“能。但要在综合阶段重新约束。”
吴越抬起头:“多少时间?”
“一天。”
“那就一天。”葛家瑾把测试板上的芯片取下来,放进了静电袋里,“下周再跑一次。这次要把功耗压下来。”
金复来已经打开了综合工具,开始在约束文件里调整时钟树的扇出限制。葛家瑾收拾测试板,把反相器旁边的飞线用扎带固定好。吴越在笔记本上新开了一页,标题写上:“第二次模拟流片目标:功耗达标。”
窗外的天已经亮了。三个人谁也没说回去,各自坐在自己的位置上,做着手头的事。
到了中午的时候,金复来把时钟树的约束重新写完了。他没有跑综合,只是把文件保存好,关掉了电脑。
“下午再说。”他说。
葛家瑾从测试板上抬起头:“累了?”
“不是。想清楚了,下午跑也是一样。”
吴越合上笔记本:“那我们先吃饭。”
三个人走出247室,走廊里没有人。阳光从走廊尽头的窗户照进来,在地上拉出一条长长的亮带。