专栏首页ICSOC.TECH芯片做出来有bug怎么办

芯片做出来有bug怎么办

做一颗芯片很难,做出一颗有bug的芯片,会更难。

不说一颗芯片tape out前的各种惊心动魄,相比拿到样品后测试时的心潮起伏,到底哪个更刀刀催人老;也不说测试报告的issue到底是feature还是bug;更不必说“决策时拍脑袋、执行中拍胸脯、有问题拍大腿、兜不住拍屁股”时,到底哪种姿势拍起来最帅;今天这篇儿只说说芯片做出之后怎么修bug。

首先大家知道芯片是一层一层做出来的,就像做煎饼果子,师傅先把铁板锅烧热、打开电机开关让锅旋转起来(spin),然后擦上油、浇一勺面糊打底(wafer)、磕鸡蛋抹平(transistor layer)、各种酱刷一层(metal 1 layer)、葱花香菜洒一层(metal 2 layer)、油炸果子放一层(metal 3 layer)、煎饼卷起来打包装好(package)、师傅关掉电机、锅慢慢停止旋转。

然后你咬了一口(测试),说我没要香菜啊(发现bug)。然后呢,节省的师傅会摊开煎饼把香菜叶子一颗一颗捡出来(metal 2 fix by FIB);豪爽的师傅会打开电机让锅重新转起来(respin),给你新做一个不带香菜的煎饼果子。

如果你要一百个煎饼,都不带香菜。聪明的师傅大概会撤下葱花香菜掺一起的菜盆,单摆一个只放葱花的菜盆(metal 2 fix by respin)。

回到芯片,制造芯片的一套mask有好多层,每层mask的价格有高有低。当然如果你是土豪不在意钱,有了bug直接整套mask全部重来一遍、重新制造一批芯片也可以,相当于重新tape out一次。

然而公司都是讲成本的,怎么省钱怎么来。首先条件允许的话,会做FIB(Focused Ion Beam),直接改手头的芯片。如果修改的地方只有metal层,那么叫做metal fix。这种方法只能一颗芯片一颗芯片的修改,太慢不适合批量修改,只能用于bug fix的验证或少量送样。bug fix方案经过FIB或者其它手段的验证,就可以用来做mask的修改了,mask一经修改,就可以用于批量生产修正了这个bug的芯片。

怎么改mask,改哪些层的mask,还是怎么省钱怎么来。每层mask的价格高低基本由制造这些mask的工艺(比如最小特征尺寸)所决定。像transistor层的mask最多最复杂,价格最贵。metal层的mask相对简单,价格便宜一些。所以最经济的方案是修改最少层数的metal mask,同样可以叫做metal fix。不过因为是通过修改metal层的mask来间接修改芯片的metal层,所以更准确的叫法是metal respin。

也就是metal fix的实现有两种方式,一种是respin,一种是FIB。而这两种bug fix方式的实现,都离不开spare cell的利用。预先摆放的spare cell的类型选择、摆放位置,都会影响metal fix的难度、甚至决定了bug fix的可行性。毕竟,难以预料的bug,不仅仅是靠断开或连接几根连线就可以解决的。

本文分享自微信公众号 - icsoc(ic-soc),作者:韩京飞

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 芯片设计的职业病

    前些天看到一篇文章,讲低容错率的职业对一个人性格的影响。文中拿常见的路怒症举例,把从事低容错率工作的人形容为经常在拥堵路段中开车的驾驶员,长期下来,容易形成敏感...

    icsoc
  • 使用Verdi的几个小技巧

    对于做数字集成电路的工程师来说,Verdi可以说是最常用的代码和波形观察工具了。这里列几个使用中的小技巧,说不上高明,不过自己用着感觉还是蛮有效率的。

    icsoc
  • 硬件设计之 Distributed Arithmetic 一例

    它背后的原理是什么呢?这篇文章尝试从硬件设计领域中 Distributed Arithmetic(DA算法)的角度来解释。

    icsoc
  • 鹅厂设计实习生通关记

    ? 腾讯ISUX isux.tencent.com 社交用户体验设计 ? 不久前,有幸受邀参加“I ? UX校园论坛分享会”,面向在校学生分享在鹅厂的实习经...

    腾讯ISUX
  • Jmeter系列(39)- Jmeter 分布式测试

    https://www.cnblogs.com/poloyy/category/1746599.html

    小菠萝测试笔记
  • ABAP Netweaver和SAP Hybris的内存管理

    in Hybris: 每隔5秒钟,console会发起一个到Java backend的AJAX查询请求:

    Jerry Wang
  • 改变世界的下一波财富革命浪潮——“用机器换人”!

    机器人与智能装备产业是高度集成微电子、通信、计算机、人工智能、控制和图像处理等学科最新科研和产业成果的前沿高新技术产业,是未来以智慧工厂为发展核心的产业立足点。...

    博文视点Broadview
  • WindowBuilder入门:使用swt的canvas类构造显示URL图像

    版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net...

    用户1148648
  • Best Graphical Git Clients and Git Repository Viewers for Linux

    Git is a free and open source distributed version control system for software ...

    shaonbean
  • Linux下使用Nginx端口转发出现502错误的一种解决办法

    今天圈里的一个朋友在配置完nfinx80端口转发到5000后,发现一个问题 问题描述: 正确配置了Nginx80端口转5000端口,在CentOS上把.Net ...

    码农阿宇

扫码关注云+社区

领取腾讯云代金券