很多集成电路公司招聘都要求有流片经验,因为流片成本高,一般人参与不到。
希望过来人能够分享经验,介绍一下流片的过程,以及应该注意的地方?或者有哪些有趣的故事?
来源:知乎
著作权归作者所有
作者:JonsonXP
题主肯定是想听业内故事,我也想听,头排坐等各位业内大神。
但能流片的不一定是企业,我也想给大家讲一个《学术狗酸甜苦辣流片记》。挖坑保证一周内写完,先上图为证。
当然想听的可以先关注我赞起来了。
----------------------(10月16日填坑正文分割线)----------------------
在赶一篇论文,原本想周末得空写一写。但各位赞得踊跃,评论里讨伐声不断,其他大牛的回答也越来越精彩,只好放下工作赶紧来填坑。
【几个声明】
先声明几件事,我在大学做科研工作,这次流片主要工作是在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松开,就是区别天堂和地狱的一瞬间。逻辑分析仪数字混乱,心情瞬间落入地狱,没人愿意说话。如果一切正常,人就像到了天堂,就像整个世界都在围绕自己旋转,就像我就是世界之王。”
(故事完)
作者:spike old dog
在工业届流片,大概跟生孩子差不多。 流片前每个阶段要做各种检查, 生怕生出来出问题。 tapeout 前几天就像进产房,有些项目比较顺利半天搞完了,有些项目就难产,比如ip merge出问题,你就在产房通宵待着吧。 好不容易整完生出来了吧,还是不省心,生孩子运气不好才有bug,做芯片头几版一般都不太可能没bug。运气好点,还能吃点药打个补丁,运气不好,就只能上床再来一次了。
大小流片混多了,最后基本都就是张腿就来,基本上都没脾气了。
作者:谢丹
随便说个。tapeout 前很多老板很迷信的。台湾老板基本都要烧香拜佛。国内很多也去拜拜。
每年只tapeout俩次,两次成功就年终大奖,一次成功就小奖,一次都不成功大家都觉得要破产了。
换个公司,做IP的,每年tapeout 50次+,也就很习惯了。
作者:呆涛
先上图镇楼:
流片大多数是一项体力活, 无论是商业流片还是科研流片.
当然.. 我只经历过科研流片, 所以会从这方面谈谈我个人的看法.
以下仅为个人浅见, 不代表该做法有普适性.
欢迎纠正.
一个成功的流片包含, 但不局限于以下几项:
其中, FPGA设计是当发现设计中需要较大幅度的修改, 而并不需要优化能耗等.
可制造性分析则主要由流片厂商提供.
DRC/LVS (设计规则检查/版图-电路图对应) 等包含在LAYOUT步骤中. 暂且不细说.
个人感觉, 科研流片最大的威胁并不来自想法和模拟等, 而主要来自芯片的不确定性(variation). 很多时候需要认真的时序分析/硬件仿真 来保证模块工作的正确性. 在后综合仿真时, 许多前综合仿真的结论都需要被推翻 (比如最大时钟频率, 信号毛刺等). 不确定性可以很大程度上被蒙地卡罗分析发现.
一般来说, 对于有模拟前端的流片, 一定 一定 一定 要加校准信号, 一定 一定 一定 要加观察信号.
以上血与泪的教训就是参与流片的经验教训...
作者:小D
看来大家都喜欢听故事,那我就说说我们的芯片吧,热乎的,刚回来没多久。我是在上班时间给你们讲故事,听完记得给赞啊。
我主要在小公司,射频芯片,答主负责中频模块,比如ADC,Filter,Oscillator,幅度检测,IO等等等等。嗯,答主做了很多模块,因为是小公司嘛,一个顶五。
现在我正在测试芯片呢,答主做设计比较讲究,必须从理论开始,研究透了才开始电路设计,一般芯片回来基本八九不离十。那些用仿真代替思考的工程师,不好意思,你走错方向了,赶紧改还来得及。
仿真只是验证你的想法的,仿真只是验证你的想法的,仿真只是验证你的想法的,重要的事情说三遍。
流片就像xxoo,第一次感觉很刺激,很期待,也很紧张,次数多了就没感觉了,我现在已经没啥感觉了。
------------------------------原文----------------------------------
流片,又叫tapeout,还叫PG. 集成电路设计公司每年或者每几个月都会发生的事,没那么稀奇吧。
当然,对于学生来讲机会没那么多,但总有几次MPW吧,也没多少钱,如果说你们导师连MPW都没有,这个导师不要也罢。
流片就像你提交答卷的那一刻,心里忐忑不安。
流片前的一两个月基本上大家都会累成狗,没日没夜的加班,就是为了赶在deadline前完成所有的设计和检查。
流片完后的两个月大家一般都比较轻松,准备一下测试的东西就OK了。
芯片回来,大家又开始紧张了,又开始加班加点测试了。各个模块全部测试一遍,遇到自己设计的模块工作正常,性能不错的话,悬着的心放了下来。如果你的模块出了问题,压都不敢大声讲了,因力顿时上来的,话为整个项目可能因为你一个人而fail了,平时还是夹紧尾巴吧。
Debug,FIB,找原因,改版或者改metal,然后继续下一轮,直到芯片量产。
作者:acalephs
亲手流过一次片,感受到了工艺线的博大精深。
氧化完成之后发现片子上有一片方形的斑点,硫酸洗无效,RIE轰了半天无效。经师兄鉴定,是氧化之前贴过标签,留下的不干胶没有洗干净。师兄表示氧化过的东西就不要想洗掉了,除非CMP,然而工艺线并没有CMP……算了就这样把,反正大部分还是好的……
KOH腐蚀,腐蚀速率比说好的快,导致片子变得略薄,而且边缘出现狗啃状。
光刻之后显影,效果略渣,目测是显影液太久没换了……
显微镜下没洗干净的光刻胶看上去炒鸡恐怖……
曝光的时候对准,从来找不到对准标识……每次都得找专业的人来。
清洗的时候拿了金属后的双氧水用,被骂了一顿并浪费了一池硫酸。
有几个地方因为探针戳得太多,还没流完片就已经变成了麻子……
最惨的是某次光刻,甩胶后烘,烘干台上会伸出三根支柱,甩胶机会自动把片子移到支柱上,然后支柱降下把片子放到烘干台上开始烘干。结果支柱降下的略快,饱受摧残的片子直接在台子上裂成了两半……
还好还有另一块片子……
几乎每一步工艺之后都要清洗,硫酸+双氧水清洗需要30分钟,然后去离子水洗15分钟,然后烘干30分钟……我每次都要纠结一下要不要出去等……超净间里几乎没有事情可以干,连椅子的没几把,要等只能蹲着发呆。然而出去了一般过个十分钟就又得穿上工作服进风淋室吹吹吹……
由于工艺间里空调温度比较低,所以一般还是就在里面等算了。
结束的时候剩下的那块片子,我目测良品率有1-2成。
然而做完了才发现师兄设计的时候间隔设的太近了,没法划片……不过这个就不是我的锅了!
(后来好像到外面去找了能从背面划片的设备才解决)
期间还给另一批片子做了bonding,在戳破了几个片子之后成功总结出了自己手的抖动规律。
结论:流片这种事,还是交给专业人士去处理吧……
亲历过一次MPW,一次55nm NRE,好在还算顺利,出过一次FIB,芯片回来定位问题要比FPGA上难得多。主要是流片成本太高,废了就感觉要担大责了。想要有这种经历千万别去研究所,因为两年流不了一次片,等流片了你走了…
转载自:http://mp.weixin.qq.com/s?__biz=MzA4ODMwNTMxNg==&mid=400604566&idx=4&sn=d8c20e1d8841c429566b4c6b984d133c&scene=23&srcid=1115EJgEAU5KaSYbURgTxfro#rd