何晓天到B区实验室报到那天,旧金山下了一场罕见的暴雨。
雨从早上开始往下倒,到下午两点还没有要停的意思。斯坦福校园里的棕榈树被风吹得东倒西歪,地势低洼的地方积了脚踝深的水,几个本科生踩着滑板从水里蹚过去,溅了一身泥。林远舟站在实验楼门口,看着一个瘦高的身影从雨里冲过来,怀里抱着一个用塑料袋裹得严严实实的纸箱子,整个人淋得跟从游泳池里刚爬出来似的。
“林远舟?”那人把纸箱子往地上一放,抹了把脸上的水,露出一张被黑框眼镜遮了大半的脸,“我是何晓天。这雨也太特么大了,我从宿舍走过来才十分钟就成这样了。”
“你怎么不打伞?”
“伞在箱子里。”
“你把伞装箱子里然后自己淋雨?”
“箱子里的设备比人值钱。”何晓天说这话的时候表情极其认真,一点开玩笑的意思都没有。林远舟当时就在心里给他打了个标签:这人能处。
何晓天是安德鲁在校招招聘会上挖到的。斯坦福电子工程系硕士,本科在清华读的微电子,简历上写着精通Verilog和VHDL,做过基于FPGA的简单RISC处理器设计。面试的时候安德鲁只问了他一个问题:“你觉得处理器设计里最无聊的部分是什么?”何晓天想了三秒钟说:“写测试向量。”安德鲁当场就给了他offer——在安德鲁的逻辑里,能把“最无聊”的事情准确指出来的人,一定亲自上手干过。
林远舟领着他进了B区实验室。何晓天站在门口环顾了一圈,目光依次扫过逻辑分析仪、示波器、架子上的FPGA开发板,最后落在林远舟工位屏幕上那张时钟树拓扑图上。他把淋湿的眼镜摘下来在衣角上蹭了蹭,重新戴上,盯着那张图看了得有半分钟。
“这是你画的?”
“嗯。”
“时钟树扇出系数最大节点是1:11,”何晓天推了推眼镜,手指在屏幕上那个标注了红色的节点上点了一下,“这个节点是给Cache控制器的?1:11的扇出在0.18微米工艺下延迟大概在0.7纳秒左右,如果旁边这个模块是内存接口,时序裕量够不够?”
林远舟靠在椅背上,心里只有一个想法——捡到宝了。能一眼看出时钟树最关键的扇出节点,还能随口估算出延迟参数和关联模块的时序裕量,这种水平不是课本上学出来的,是真正动手做过设计的人才能有的直觉。安德鲁这个面瘫看人的眼光确实毒辣。
“时序裕量目前是0.3纳秒,偏紧,但还没超标。我打算在下一版里把Cache控制器拆成两个子模块分开挂,把扇出降到1:7左右。”林远舟把EDA工具打开,调出他昨晚画的第二版草稿,“你看一下这个拆法合不合理。”
何晓天拉了把椅子坐下来,从头到尾把第二版草稿看了一遍,中间问了三个问题——每个都问在点子上。问完之后他沉默了几秒,然后说了一句话。
“你这个架构跟我见过的所有嵌入式处理器都不一样。你做的不只是低功耗,你是在重新定义移动设备的处理架构。”
“所以才需要人。”林远舟把键盘往前一推,“指令集和流水线归你,时钟树和功耗管理归我。第三个人做验证和FPGA原型,已经在路上了。”
“第三个人是谁?”
“一个印度哥们儿,叫阿米特,伯克利电子系的博士生。安德鲁面试的他,说他写testbench的速度是正常人的两倍,而且能在十分钟内找出RTL代码里所有潜在的竞争条件。”林远舟看了一眼墙上的挂钟,“他应该三点到。”
阿米特三点一刻到的,没淋雨——他带了一把巨大的黑色高尔夫伞,撑开来能盖住三个人。进门第一句话是“这间实验室的空调温度设得太高了,不利于芯片工作”,第二句话是“谁是林远舟?安德鲁说跟你干活能学到东西”。他说话的时候语速极快,但每个单词都咬得很清楚,像是嘴巴和大脑之间有一根超低延迟的信号线。
三个人坐在实验室里,林远舟把Atlas架构的整体规划从头到尾讲了一遍。从指令集的设计理念到流水线深度,从时钟树拓扑到功耗管理策略,从Cache层次结构到硬件加密引擎。他讲了大概四十分钟,中间没有被打断过一次——何晓天一直在记笔记,阿米特抱着胳膊靠在椅子上,眼睛一眨不眨地盯着白板,表情从好奇变成认真,又从认真变成一种难以形容的兴奋。
“这个架构如果做出来,”阿米特在林远舟讲完之后沉默了好一会儿才开口,“会改变整个嵌入式处理器的格局。我说的不是技术层面,是商业层面——现在市面上所有的嵌入式处理器都在堆主频,没人认真做功耗优化。你这个架构一旦流片成功,移动设备厂商会排着队来买授权。”
“在那之前得先把它做出来。”何晓天把笔记本合上,推了推眼镜,“指令集的设计文档我来写,流水线部分我需要两周时间做初步方案。但我有一个问题——加密引擎模块谁来负责?那个东西涉及到加密算法和硬件实现的交叉,我跟阿米特都不是这方面的专家。”
“加密引擎我负责。”林远舟说。上辈子他在国内做芯片的时候,做过不下五个硬件加密模块的设计,从AES到国密算法都滚过。这个模块对他来说是最没有难度的一环。
分工就这么定下来了。何晓天负责指令集和流水线,阿米特负责验证和FPGA原型,林远舟自己负责时钟树、功耗管理和加密引擎。三个人,三个方向,目标只有一个——在六个月内拿出Atlas的第一个FPGA原型。
散会的时候雨终于小了。何晓天把那个用塑料袋裹着的纸箱子拆开,里面是一台他自己攒的台式机,机箱侧面贴了一张褪色的贴纸,上面印着清华微电子系的系徽。他把机器接上电源和显示器,开始装开发环境,动作利索得像在自家厨房里做饭。
阿米特则是从背包里掏出一个移动硬盘,接上电脑之后开始往实验室的服务器上拷东西——各种验证脚本、测试框架、自动化流程模板。林远舟瞄了一眼,发现他的测试框架写得相当规范,每个模块都有清晰的接口定义和覆盖率统计脚本。
“这些都是我在伯克利做的开源项目,”阿米特一边拷一边说,“本来就是给嵌入式处理器验证用的,改一下接口就能适配Atlas。省得你们再从头写。”
“nb。”何晓天从他的工位上探出头来,推了推眼镜认真看了一眼阿米特的屏幕,然后转向林远舟,“你从哪找的这么两个人?”
“安德鲁找的。”
“安德鲁是谁?”
“Tezro的创始人。你面试的时候没见过他?他话很少,全程板着脸,最后说了句‘可以’就把你打发了那个。”
“那个人?”何晓天露出一个顿悟的表情,“我还以为他是HR。”
林远舟笑了。这个评价他回头一定要转告安德鲁,他很想看那个面瘫听到自己被当成HR之后是什么反应。
当天晚上,林远舟给王教授发了封邮件,只有几行字。
“Atlas团队已组建,何晓天负责指令集/流水线,阿米特负责验证/FPGA原型,我负责时钟树/功耗/加密引擎。分工明确,时间线清晰。第一版指令集设计文档预计两周内完成。”
王教授的回信在十五分钟后到了。比林远舟预期的快得多——这老头平时回邮件都是一两天之后,有时候干脆不回。这次十五分钟就回了,说明他一直在等这封邮件。
回信只有一句话。
“别光给我看文档,我要看波形。”
林远舟盯着屏幕笑了。波形——芯片验证阶段最核心的输出,示波器上那些跳动的电压曲线和时序图。王教授不要看他写了多少页文档画了多少张架构图,他要看实际的测试波形,看那些冰冷的电信号有没有按照设计预期在工作。这才是搞芯片的人该说的话。
他关掉邮箱,回到EDA工具前面。屏幕上时钟树的第三版拓扑正在渲染,绿色的连线在黑色背景上缓慢展开,像一张正在生长的神经网络。何晓天在隔壁工位上翻着一本翻得起了毛边的指令集参考手册,嘴里念念有词。阿米特已经把第一个测试脚本跑起来了,屏幕上刷刷地过着log,偶尔停下来标一个红色的断点。
实验室里很安静,只有键盘声、风扇声和偶尔翻书的声音。窗外雨停了,加州的天气就是这么任性,下起来跟天漏了似的,停了之后太阳马上冒出来,把湿漉漉的棕榈树叶子照得发亮。
林远舟看了眼窗外那道斜挂的彩虹,喝了口已经凉透的咖啡,继续画时钟树。三个月之内要把指令集设计文档交给王教授,六个月之内要跑通FPGA原型,时间很紧但每一个人的进度都在按他预期往前走。
这种感觉很好。不是一个人在熬夜,是一群人在往前推。
本书首发来自 17K小说网 ,第一时间看正版内容!
作者寄语: