道听途说来的,肯定和原事实不符,但核心思想没错。
就是流片文件提交之后发现了一个bug,但是已经晚了,那边已经开始流片了。
然后事主就在痛苦和纠结中度过了痛苦的几个月时间,主要纠结的是要不要告诉老板,不告诉还有希望逃脱惩罚,混水摸鱼,因为芯片这东西超级复杂,就算流片失败了事后也未必能追溯到真实原因。如果按照头痛医头脚痛医脚的方式去复盘,事主所负责的地方最多只会担10%的责任,但是事主知道其实自己要担起码50%到80%的责任。
然后流片结果出来了,竟然是:没有人需要担责任,因为流片成功了。
为什么流片竟然成功了?因为这个芯片的规格书里定义的某个指标确实没达到,但是另一个指标达到了,而客户主要关心的是另一个指标,这是第一个原因。
第二个原因是:因为生产方面的原因,这个芯片竟然还有一部分可以成功达到设计指标,大概在30%到40%,如果按良率算那这个绝对无法接受,但如果稍微欺上瞒下操作一下,把这个当成额外特性,就可以说成是由于设计过于优秀,导致有40%的芯片居然可以拥有额外特性,可以当成高端产品卖。
重点是:你看了故事描述肯定会以为这是个小厂,但其实是个大厂,全球毫无争议的头把交椅,如雷贯耳的那种,故事主角也不是随便什么基层的小人物,是业内知名大佬。这事情是被他写入到他出的回忆录里的。也正是因为他功成名就了所以才敢把自己的黑历史抖露出来。
例子:在上个世纪九十年代,我与别人合作设计一个罗兰C导航仪芯片,我和做版图的发生了争执,我觉得一定要增加一个反相器(非门)在芯片里,版图工程师坚决不肯。最后提交给老板,老板采用了版图工程师的意见,芯片里不加反相器,给我一个机会,在PCB板上留两个孔,如果错啦,就加一个反相器在外面。如果对了,就用一条线直连两个孔。
样片制造出来,系统不工作,最后接了一个反相器能正常工作。一个74系列是6反相器,背在上面非常难看。
最后老板拍板,在芯片里加一个反相器,再投片。
损失了第一次样片的钱。
这是我国罗兰C导航仪用于民用船只的第一个ASIC芯片。
另一个例子,也是上个世纪九十年代,仿系统芯片,我负责仿真分析,需要系统工程师给出输入矩阵,然后才能比较芯片的输出是否正确。但是系统工程师给不出全覆盖的输入矩阵,版图工程师坚持没有错误,我说不能投片,老板拍板投样片,最后失败了,还找不到真正的原因,仿芯片样片投资全部打水漂。所以仿芯片需要外围输入矩阵,然后通过硬件仿真器比较输出矩阵,无误,才能保证功能的正确。
那时年轻,说话没有人信,老板拍板投样片的。换过来,如果我拍板投样片失败了,那很有可能是为被辞退。
写几个读博时经历过的设计错误,2个自己的,1个听来的:
这就不得不说小米旗下松果电子研发的澎湃S2芯片流片5次失败
2017年三月S2第一版流片归来台积电16nm工艺制作(流片就是把图纸给台积电小批量试产一次费用几千万)一周后内部确认,芯片设计有大问题根本不能亮机需要大改!
2017年8月第二版S2回来,依然无法点亮
2017年12月第三版S2回来,还是无法亮机
2018年3月第四版回来,芯片有重大BUG需要推到重来
2018年7月第五版S2归来,远远没达到量产预期有大量晶体管无法响应需要改设计修复bug,等修复完量产上市是2020年的事情了,更重要的是松果科技已经付不起台积电的流片费用了。
果然是超过了王总的预期呀啊!
同时也是在分析流片失败的原因都有哪些:
也是在某公众号看到一篇不错的文章,如有雷同联系我删除~
看到我当时转行的时候大家在讨论学习技能,就想到了当时转行的艰辛,再要流片失败了也是要哭了~
SoC设计流程非常复杂,bug源头可能出在RTL、 DFT、验证、 模拟电路等等,原因很多,流片更是由架构师——设计——验证——后端等,每个环节都有可能出现问题。。。。一定要综合辩证地区分析看待
流片失败的原因无外乎这几种:
1.Design的版本拿错,这个问题比较要命,如果ROM版本拿错,基本芯片就废了。这种情况还真不少。
2. 流片的时候存在重大bug。如果说一款芯片流片出去完全没有bug是不可能的,大部分的bug都不会影响到芯片的主体功能和性能,可以通过软件的方式回避掉。但是有些bug是软件无法绕过去的,比如在电源管理的时候,芯片在进入低功耗状态后无法退出,这种属于重大失误,虽然芯片能点亮,但是无法使用。
3. PVT的情况没有考虑全,这对应是芯片流片前在不同工艺角下的timing violation没有清完,在某些温度和电压下芯片功能失常,大大降低了芯片的使用范围。
4. 数字芯片的模拟接口问题,比如PAD 的latch up问题导致内部过渡电流量使得芯片产生永久性破坏。
5. 功耗问题,如果芯片的功能达到要求,但是功耗太高,特别是物联网领域的芯片,这也将是灾难。
6. 安全问题,很多芯片会被用在安全要求非常高的领域,比如个人手机的芯片,个人电脑的芯片,服务器芯片等,如果出现硬件安全漏洞,软件也不能规避,那么这款芯片也算流片失败。
7. 芯片内部power连线的问题,这表现在芯片内部有短路电路,在芯片设计的时候,电源线没有好好检查,这种问题也是比较致命。
8. 芯片ESD没处理好,静电保护没处理好,芯片在某些情况下容易损坏,无法量产。
9. 生产制造的问题,一种是出现在新的生产线上,表现在良率比较低,生产成本很大。另外一种是材料有问题,比如某批次晶圆质量有问题,生产出来的芯片功耗和功能都出现问题,对于这种不算真正流片失败。
10. 封装的问题,这种就是芯片引线没有接好,导致芯片功能不正常,严格意义上也不算流片失败。
而导致流片失败的原因,基本上遍布设计到制造的每个环节上,一个环节稍有不慎,一个芯片就会重头来过。无论你是芯片行业哪个岗位上的一员,对自己所要负责的环节和内容都要认真仔细的对待,这样才能把流片失败的概率降到最低,而不是只要验证人员在把关!
有很多好友私信问我咋转的以及推荐培训班,我平时工作很忙知乎回复很慢,但私信的消息~我看到后一定会回复~(看工作忙不忙哈) 今天我在这里把链接放出来,谁要是想要深入了解IC岗位、领资料或者学习路线,可以直接测试提问
等啥都明白了再决定是否转行,切记不要冲动不要盲目!!!!
T和我有仇!
1.我在国内一线fabless做的时候,当时最先进工艺测试芯片很好,效果不错。然而在做量产芯片时发现问题,电压始终降不下去,攻关后发现某个stdcell性能和datasheet/spice model差异巨大,让t做micro probing后也终于承认了。受限于ttm,芯片功能没有问题,性能没预期那么好,但也满足出货条件,只是良率有些影响。我作为这个领域负责人,只好背锅!t直接将相应的stdcell替换掉,现在该工艺作为明星工艺,应该有同行受惠而不知
后来复盘时发现idm top厂商对此心知肚明,后端design rule里已有限制和检查,我们还是吃了苦头才知道
这个锅我一直不服,认为是实现团队的锅,只是我技术流,没办法申诉,部门内有人常以此攻击我,问题是该技术在其他部门应用非常好,老大常说墙里开花墙外香!
2.还是在同家公司,投当时最先进工艺的mpw,回片时上电某路电源直接短路,幸好我经验比较足,上电前让检查各电源,因此硬件没坏,但原因不明。
当时就要炸了,因为我的设计非常特别,非常规数字电路,本来想冲冲业界顶会,吹吹这设计的牛,现在这鸟样子,心情超不爽。和支撑的兄弟说弄不好老子没脸呆,滚蛋去球。兄弟安慰说你老大看好你,别乱想(老大确实不错,让我在某个领域不受打扰地研究和落地业界最先进技术,当时我的设计比i/a等都先出来,可是受部门各种影响,我还是走了)。
没办法,老子是pm/se/关键ip designer一肩挑,只能快速从设计/后端/封装/测试入手,确认所有芯片某路电源都短路,然后查数据,根据可能性终于第三天发现后端提交数据和mask数据在某几层有差异,T在merge数据时出问题了!赶在最后一个lot前让t将产线hold住,赶新的mask,终于在延时一个多月后芯片回来,测试正常,非常规数字设计表现不错,我又没脸没皮地混了好几年。
欢迎关注作者公众号“硬件加速与EDA”!
第一个流片故事:PAD Open。这个错误在国内和国外前三的公司都发生过。芯片physical verification 通过,回来测试发现一个管脚测试始终是开路,检查封装没有问题,LVS 没有问题。
2017.12.07,更新第二个流片故事:JDV(job deck view)差点沦为流片失败的背锅侠。每次听闻芯片回来了,总有那么几天,心里默念老板千万不要来找我,一找,八成是出事了。
-------------------------------------------------------------------------------------------
作者:公众号“观芯志”小编Richard
作者声明:本文若未经作者授权,不得转发。如有兴趣,请私信作者联系。
---------------------------------------------------------------------------------------------
流片经验比较丰富,有很多的故事想和大家分享。
先花点笔墨介绍一下什么是physical verfication, 物理验证是流片之前的最后一道检查,非常重要,一旦发生重大错误,基本成砖。
---------------------------------------------------------------------------------------------
主要检测项目如下,及其危害:
DRC (design rule check) : 生产的工艺检查,miss轻一点影响良率,严重了大量的费片。
ANT(天线效应检查): miss影响良率。
ERC: miss了,会影响ESD,漏电等问题,如有个答案提到的VDD打到衬底上了,就是这个rule没看仔细。
Power Analyze: miss了,芯片在高频工作下不稳定。
EM: miss了,影响芯片的使用寿命。
LVS: 这个是最容易出问题的,有见过LVS报告是CORRECT, 但是芯片依然fail的。
PERC:用来检查ESD等回路的完整性。
tapeout script:自己写的一系列脚本,用来弥补当前physical verfication检查的不足。
---------------------------------------------------------------------------------------------
故事1:
这个错误在国内和国外前三的公司都发生过。芯片physical verification 通过,回来测试发现一个管脚测试始终是开路,检查封装没有问题,LVS 没有问题。
最后发现原因,LVS的时候使用的PORT TEXT LAYER使用的是METAL7,而没有使用PAD openning的层次,当PAD openning和METAL7断开的时候,没有检查出来。
先来介绍一下什么是PAD, PAD是连接芯片内部和芯片封装的接口。举个简单的例子,芯片内部的信号如1.2v信号,进入PAD进行1.2V~3.3V的转换,然后进入PAD opening, 然后通过bonding的金线连到封装上,最终到达我们可以看到的芯片可以在PCB上焊接的管脚。
在实际设计中,广义PAD,实际有两个部分组成,一个是PAD CELL,一个是BOND CELL。其中BOND CELL有很多的类型和大小(PAD OPENING),不把这两者设计成一个,是为了适应更多的封装,设计者可以根据不同的封装调整bond cell的尺寸,而不用更改整个PAD。
当我选好BOUND CELL(包含PAD OPENING, PVIA, METAL7),把它放到PAD CELL(包含Metal7)上面,工作的时候信号就会从封装到PAD OPENING -> PVIA -> METAL7进入芯片内部。所以有些芯片设计者会思维定势到LVS的PORT TEXT LAYER打到M7层和PAD opening层次是一样的,然而在我们的项目当中,刚巧,bond cell当中少了从PAD OPENING到METLAL7的PVIA(连接孔),而产生了真正的OPEN没有抓到,导致了悲剧的发生,都是快上亿的芯片,耽误了芯片上市的时间。
--------------------------------------------------------------------------------------------
有很多的朋友问,保证芯片流片成功的关键是什么?是不是需要很有经验的工程师?是不是需要很先进的检查工具?
个人感觉有两点:
1)要有一套长时间积累的完备的check list,任何一个细节都不能放过。我自己多年经验总结的check-list就有300多条,希望以后大家可以在自己的流片种多多总结。
2)流片前做到心中无问号,例如,就在刚刚截图的时候,发现PAD openning的位置和我预想的不一样,立即打开流片数据,分析检查了一遍,这是做为PV工作者应该具备的素质。
另外,记得之前看一个节目,一个航空爱好者自己造了一架飞机,联系了很多试航员,没人敢飞,最后只有他自己试飞,并且成功了,主持人问他,你在飞之前怎么想的。他就说,我在飞之前千万次的问自己,还有没有问号,还有没有不确定的问题,当所有的问号消失以后,我觉得我可以开始飞了。
----------------------------------------------------------------------------------------
不知道大家在我的描述中学到东西没有?失败原因千千万, 都是课本上学不到的,这里还有很多精彩的故事,积赞到100,更新下一个故事
2017.12.07,更新的第二个流片故事:JDV(job deck view)差点沦为流片失败的背锅侠。每次听闻芯片回来了,总有那么几天,心里默念老板千万不要来找我,一找,八成是出事了。
一日,测试工程师发来邮件,芯片回来无功能,有些PAD之间弱连接,望个个部门自查。老板一看,都别干了,关门,开会,review。大家拿出来流片数据看啊,看啊,看了一天,没问题啊。忽然,测试发来邮件,问题找到了,poly制作mask的时候方向搞错了,本来应该竖向的,搞成横向的。老板,大叫一声,TMD的JDV怎看的?我看的,心里咯噔一下,完了,背锅侠出现了。
JDV可能大家不太熟悉,解释一下。JDV是job deck view的缩写,是流片之前的最后一次review,你看到的图形和你流片的GDS有很大的出入。这是因为在光刻的时候有很多因素会影响你实际刻出来的图形,所以光刻板也进行了很多相应的调整,简单来说,比如说M1,你这里看到的图像是M1与contact,via1等相邻层次的运算结果,而不是GDS的原始结果。
一般个人理解(水平有限,还请高手赐教),由于层次非常多,不可能一个一个看,个人倾向于检查以下事项。
1)由于我们在流片前可能会上传多版数据,fab也有可能搞错,我会对比最后一版上传结果的修改是否在光刻板里面有反应。
2)检查logo cell是否正确。
3)检查rom code是否正确。
4)检查所有的metal层和via层是否都在
等等...
但是,不会去看poly是不是方向正确啊,感觉老板要请喝咖啡了。
还好,最后确定,他们给的JDV数据也是对的,只是最后生产的时候错了。这也是台湾前三大的fab,这也不太靠谱啊,感觉我胸前的红领巾更加鲜艳了,哈哈哈。
总结错误:poly 本来应该竖向的,搞成横向的,造成PAD之间 poly short。后来... 咱job deck view 还是看看poly吧。
每次听闻芯片回来了,总有那么几天,老板千万不要来找我,一找,八成是出事了。
深深的理解一句话,no news is good news,心里苦啊。
不知道大家学到一些教训了没,集赞到180更新新的故事哦。
--------------------------给自己live做个广告---------------------------
---正在进行中的live
通过科普性的讲解,为大家展示比特币矿机的简单设计方案,比特币算法的芯片实现,以及矿机芯片的低功耗设计思路。
---专栏
观芯志:
---往期live
从零学习 TCL 脚本 :
TCL 脚本:数字 IC 设计应用篇:
半导体先进工艺的器件结构和挑战 :
你不了解的微电子行业 :
初学者在数字 IC 设计学习中易进入的误区 :