芯片流片的噩梦,你经历过吗?

2018-04-02 15:24:01 来源:芯榜
标签:

 

先声明几件事,我在大学做科研工作,这次流片主要工作是在13年,做的是可自我修复软硬错误的FPGA芯片,TSMC 65nm制程,最终结果是成功的。写这篇回答一想记录下这段经历,若能对同学们有一点点价值,幸甚至哉。我们只做架构、前端设计和配套的CAD开发,后端外包给了专业的公司。由于是学生团队,望专家轻拍多赐教。出于保密原因,本文不能涉及敏感信息,以故事、经验和感触为主。
 
【背景】
 
话说我们当时在做一个为期三年的容错性FPGA研究。这个研究方向有价值,做的人少,我们又有积累,相对容易出成果。我之前的博士,用了两年时间提出了一种可以自我规避软硬错误的FPGA架构,顶会发表了成果,然后顺利毕业。欢送完师兄,才意识到可能我要为他背一个很大的锅--流片。
 
13年是该项目最后一年,按计划要将之前的成果流片验证,并且必须在14年四月前拿到芯片数据结束项目。学术界,不是自己的课题,流片是出力不讨好的。前期成果师兄经发表了,最终总结性成果是boss的。耗时耗力,成功了皆大欢喜,一旦搞砸还要背锅。而且这一年也是我博士最后一年,实验论文会议各种焦头烂额。
 
但处于一个技术人员对技术的本能渴望,终于boss找我谈流片计划时,欣然接受了。失败也没什么可怕的,我觉得作为一名技术人员,除了自己的无能,不应该恐惧任何事情。从四月学期伊始,带上三个师弟和一匹白马--不好意思没有马--开始了地狱般的流片之旅。
 
【故事正文】
 
所有项目的前期都是阳光明媚,四五月我时常和师弟们在校园的树荫下手握可乐,一边谈风和日丽,一边目光保护文学科的学妹们来来往往。研究室里也欢声笑语常在,我问学弟们Verilog写到哪了,他们问我架构定下了吗,我问助教什么制程die size多大,然而大家都不知道,互道还早还早,相视一笑哈哈哈。
 
转眼六月,boss已经决定将后端外包,我们大松了口气。之前有过两次自己layout失败的经验。第一次,我们画了几个月手动layout了自己的logic cell,包装成cell导入自动layout流程,结果到了deadline整体DRC也没通过,最后只装了几个简单的测试电路,但好在关键数据都顺利测得。另一次和一家知名日企合作,使用了他们实验性的FeRAM替代FPGA的SRAM,芯片回来,一个学生测试了半年也没有任何反应。现在回想起那个学生的无数个日夜,在灯光下独自一人尝试和一块石头交谈,依然感慨。学校里自己手动layout,多是模拟的同学。学校和企业不同,学生来去太快,很难沉淀下layout这种要求多年经验的手工艺。所以研究大规模数字电路的学术机构,还是要有自知之明,让专业的人做专业的事。
 
然而此时却发生了个意外,常年为日本学术界鞠躬尽瘁的老朋友富士通半导体,由于不景气和松下半导体部门合并,我们一直使用的e-Shuttle制程不能再用了。这让我们震惊又难过,富士通半导体一直通过VDEC,以很低的价格为学术界提供MPW流片服务。我们一度觉得那年的流片计划要取消了。然而平时憨态可掬啥事不管的大boss罕见地展示了他的力量,火速联系、谈妥了后端设计公司,通过后端公司搞定了TSMC的合作合同。这个过程异常艰难,预算资金、跨国合作、各种合同条款保密协议、多方斡旋,说短也差不多用了两个多月的时间。而TSMC的standard library到我们手,已经是八月。
 
这时重要的时间点就定下来了,研究期间限制14年三月必须拿到芯片,后端公司推荐了14年1月的TSMC流片计划,后端要求三个月设计时间,我们必须10月初交付前端设计文件,留给我们的只有仅仅两个月了。
 
好在三个学弟基础模块的Verilog已写好大半,两人负责FPGA Array,一人负责Controller。只要我用TSMC的standard library重新跑一边架构探索,再估算出预定的die size下FPGA的大小,就可以一气呵成完成代码。这个过程非常顺利,用我博士课题中开发的面向ASIC的FPGA IP CAD Flow,在十几台服务器中跑了一周Benchmark,在几十种自制FPGA Architecture找到了性能最佳的架构和尺寸。Flow的执行和数据回收、分析全程自动化,一切按设计运行,完美,心里给自己点了个赞。然而,我并不知道下面等待我的九月和十月将是我人生中最黑暗的两个月。
 
八月末,师弟们的FPGA整体组装已经初步完成,进入测试期。九月初我还参加了FPL2013,领域顶级会议,学术精英,在波尔图的酒庄品着红酒吹着牛。然而回来后各种问题在测试期爆发了,一片混沌。
 
下层模块的测试都还顺利,但我们必须要在交付后端前,做整片cover所有功能的完整的仿真。这就需要我尽快完成CAD的最后一个功能,为这次的FPGA编写bitstream生成器。FPGA部、I/O部,所有都是可编程的,20多万比特,要根据LUT的逻辑和FPGA Routing的结果,自动生成,一个都不可以差。并且,我们这款FPGA有自动纠错功能,指令模式多达十几种,针对每个命令都要有相应的bitstream。这部分工作量正常少说也要两三个月,但我们总共也没那么多时间了。
 
这时候还开始增加需求了!因为预计到样片很有可能因为各种原因无法工作,为了把风险降到最低,boss要求利用多余引脚插入信号后门。一要可以随时查看内部寄存器的状态,二要可以通过多个点注入FPGA的configuration bit,保证即使一部分出了问题,依然有办法让剩下的部分工作。于是师弟们开始无日无夜的加电路代码,我无日无夜地搞这20多万个configuration bit,仿真。
 
仿真是噩梦,一次快速优化仿真要一个小时,但只能观测到提前指定的信号。一次完整的慢仿真要三个多小时。软件开发出身的我,习惯了一边debug一边改程序,按下run马上就可以定位问题所在。而我们的FPGA仿真一次三小时,如果我没算错一天不睡觉也只有八次机会而已。所以想想开发成本是和测试周期长度成正比的,高成本的医学生物研究一个周期几周到几个月,更高成本的农业更是要几个月到几年。面对这种困难,我采取的策略是执行前更认真地审查代码,尽量靠code review排除bug。出错了也不是急于翻代码,而是根据现象在脑中思索产生bug的所有可能性。再就是同时跑多组测试节省时间。那时候时间比什么都宝贵,不分昼夜每三个小时看一次仿真结果,分析,改程序,再跑。时间管理和硬件设计一样,并行、流水线、达芬奇睡眠法。
 
还有一个噩梦是data sheet。因为之前忙于开发,大家并没有准备data sheet。然而这次是外包后端,除了Verilog代码、约束,自然需要详细的data sheet给人查阅。我们在九月底忙得不可开交的时候,还同时写了大概有1000页纸的各部分电路说明、功能说明、约束说明。
 
一个九月基本没休息,好在最后大家拼命把该做的事都完成了。第一次仿真成功的时候,大家感动得不轻。一个Verilog测试电路,通过ODIN II综合、我们修改过的ABC mapping、TV-Pack打包、VPR布局,最后用我开发的EasyRouter布线并生成bitstream,下载到自己的FPGA中成功仿真出结果。我只想谢谢开源社区,谢谢师弟们,你们的工作太了不起了。
 
十月,如期和后端公司派来的工程师见面了。对方相当专业、谈吐干练,在我们眼里就像从天而降前来营救的海豹突击队员。当我们搬出1000多页的说明书,他们也惊呆了说没见过这仗势。我猜他们心里应该是万马奔腾的,你们给RTL和constrain就好了,谁要管这些。实际上专家们也有些轻敌了,他们并没预想到layout FPGA的困难。
 
大家知道timing是数字设计的一切,每个时钟的setup、hold time,关键path的propagation delay都要准确约束。然而FPGA在configuration之前,逻辑是不确定的,里面大量存在的timing loop足以让任何一个ASIC CAD工具报错甚至crash。加之我们还要求一些主要的routing channel和logic path尽量延迟一致。这都是其他类型芯片的Layout不存在的困难。通常我们自己仿真,会先加载benchmark的bitstream,自然就不会存在timing loop了。而做后端不能只为一个benchmark做约束,不能使用这一方式。最后我和对方的工程师用了大量精力,一起编写了几十个场景的约束,他们只要满足这些约束就可以。如果存在我们没考虑到的约束而导致流片失败,对方是不用负责任的。其实后端外包公司通常都不需要担心负什么责任,因为一旦失败,大多学术机构是没能力去追查责任在谁的。
 
中间还有一个插曲很惊险。后端公司起初告知我们可以使用的die size,忘了减掉I/O Pad的面积,而这些Pad几乎占了五分之一的可用面积。当他们发现这一问题,也有点慌张了,发邮件来问可不可以改设计,让FPGA Array小一点。我们也不可能有精力重做,很坚决的否定了。后来对方还是展现了强悍的专业风范,使用了CUP(circuit under pad),在模块缝隙中手动layout等绝技,把我们的FPGA塞了进去。后端公司的工程师们给我印象非常深刻,不知道他们会不会吐槽后悔接了这个苦差,也不知道他们是不是熬了很多个日夜。专业人士就是这样,接活,做完。看起来轻松,他们只是不会让你看见他们的辛苦。这世界不存在举手之劳这回事。
 
完全交付后端到14年三月收样片,封装,我们还设计了样片和VLSI测试平台中间的一块adapter board。我抽空完成了博士论文和答辩。和几乎所有答主提到的一样,紧张感肯定有的。但我看的比较开,从技术角度,我已经学到了很多。但最重要的,是我三月就能拿到学位,东窗事发可以随时跑路。好在一切顺利,我们的芯片最终正常工作。测试数据成功返回的瞬间,我是整个人瘫软在了椅子上,灵魂出窍,想起了NHK纪录片《电子立国自述转》中一位半导体前辈说的一段话:
 
“每次芯片tapeout的两三个月,心里是非常不安的,睡不好。随时都在想会不会有问题,哪里哪里对不对。芯片回来,第一次按RESET,心里的紧张到了极点,RESET松开,就是区别天堂和地狱的一瞬间。逻辑分析仪数字混乱,心情瞬间落入地狱,没人愿意说话。如果一切正常,人就像到了天堂,就像整个世界都在围绕自己旋转,就像我就是世界之王。”
 
 
 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
基于FPGA的椭圆曲线加密设计

椭圆曲线加密是一种目前已知的所有公钥密码体制中能够提供最高比特强度的一种公钥体制。在FPGA实现椭圆曲线加密系统时,基于GF(2)的多项式有限域中的乘法、求逆运算是其中的两大难点。本文提供了一种椭圆曲线加密的FPGA实现的结构,着重讨论了基于GF(2)的多项式有限域中的乘法、求逆运算的实现,并与软件实现的性能进行了比较。

高通拒绝出售调制解调器给苹果后,不得已转向英特尔的LTE芯片

近日,据外媒报道,苹果表示,它希望在iPhone XS、XS Max和XR中使用高通调制解调器,但在苹果起诉高通的后,高通拒绝出售这些调制解调器。

AMD为何对联发科步步紧逼?暗流涌动的芯片市场怕是不太平
AMD为何对联发科步步紧逼?暗流涌动的芯片市场怕是不太平

它开年在CES上抢尽了英伟达的风头,不仅发布了全球首款7nm游戏显卡,甩出“王之蔑视”直怼RTX 2080,还打破了以往的“PPT之王”称号,首次在发布重磅新品之时宣布开卖日期为2月7日。

宇宙最快FPGA产品8年前就已出现?这事得从帕克太阳探测器说起
宇宙最快FPGA产品8年前就已出现?这事得从帕克太阳探测器说起

8年前,NASA和约翰霍普金斯大学联合立项,投入15亿美元打造一款绕日探测卫星。2018年,这款名为“帕克号”的太阳探测器发射升空。帕克号上的电子系统和仪器组由多个FPGA共同控制,帮助帕克号成为有史以来最接近太阳和速度最快的人造航天器。

使用Vivado HLS优化RTL代码以达到最佳性能

用软件从 C 转化来的 RTL 代码其实并不好理解。今天我们就来谈谈,如何在不改变 RTL 代码的情况下,提升设计性能。

更多资讯
AMD今年将发布第三代锐龙桌面级处理器,性能如何?

CES2019上,Lisa高调宣称第三代锐龙桌面级处理器将在2019年中发布,时间直指台北电脑展!

Cree的SiC晶圆供应
Cree的SiC晶圆供应

SiC器件的使用目前看来只是一个小开始,从上游产业链来说,开始扩大规模和锁定货源,这是一个很有意思的事情。

DRAM降价和降产的博弈,三星、美光、海力士等存储行业龙头如何选择?
DRAM降价和降产的博弈,三星、美光、海力士等存储行业龙头如何选择?

孙子兵法中有过这样的描述:故善战者,求之于势,不责于人,故能择人而任势。意思是善战者追求形成有利的“势”,而不是苛求士兵,因而能选择人才去适应和利用已形成的“势”。

美国方面旧事重提,或禁止向华为、中兴出口芯片等关键部件?

五年前华为与T-Mobile的一起诉讼案最近被美国联邦检查机构重新提起:华为被指窃取T-Mobile美国公司用于测试智能手机的技术。更严重的是,也有提案要求禁止向华为、中兴出口芯片等关键部件。

EUV光刻未来蓝图曝光,将如何发展?
EUV光刻未来蓝图曝光,将如何发展?

用于高端逻辑半导体量产的EUV(Extreme Ultra-Violet,极紫外线光刻)曝光技术的未来蓝图逐渐“步入”我们的视野,从7nm阶段的技术节点到今年(2019年,也是从今年开始),每2年~3年一个阶段向新的技术节点发展。

电路方案