首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

据说大型芯片有几十亿个晶体管,一个都容不得出错,为何其可靠性还这么高?

刚好做过芯片设计,DFT和测试,pre-silicon和post-silicon都懂一点,那么就从以下三个方面谈一谈这个问题:

芯片含有几十亿个晶体管,怎么保证它的功能不会出错?

怎么保证制造的时候不出错?

即使芯片功能和制造都不出错,怎么保证以后使用中某个晶体管不会坏掉?

1、芯片含有几十亿个晶体管,怎么保证它的功能不会出错?

这就是验证工程师的重要性所在。从IP到SOC,每一个模块,每一个team都有自己的验证工程师。而每一个模块验证的test case都成百上千条。

而怎么保证所有的功能都被验证到了呢?这就要引入一个覆盖率的概念,覆盖率又分为以下几种:

代码覆盖率(行、条件、FSM、toggle);

功能覆盖率;

断言覆盖率;

覆盖率足够高,我们就可以认为它的功能是完善的,保证覆盖率满足要求就是验证工程师的职责之一。

2、怎么保证制造的时候不会出错

首先,制造的时候肯定出错。我从没见过良率(yield)100%的晶圆片。

即使制造环境绝对纯净,恒温恒湿,工艺成熟,也难保证一颗晶圆所有的die(芯片未封装的时候)都是好的。一般良率能达到95%-98%就不错了。

DFT和IC测试(ATE)工程师就是要把这些坏的芯片筛选出来。当然,坏的芯片也不是都扔了,而是会把坏的芯片分类,还可以再应用到其他低端一点的产品上去。你所知道的酷睿i7,i5,i3就是这个道理。

其实测试的成本是非常高的,ATE这种设备,低端一点的几十万美金,高端一点的几百万美金,可以说为了增加芯片的可靠性,芯片公司在测试上花费是巨大的。

芯片制造过程中的缺陷

3、即使芯片功能和制造都不出错,怎么保证以后使用中某个晶体管不会坏掉?

这个也保证不了,比如CPU、GPU在执行高速计算渲染任务的时候,芯片的温度会升高,有可能破坏晶体管,或者设备摔了一下,也有可能导致其损坏。

但是,硅由于物理性质稳定,而且用作芯片的硅是单晶硅,也很难发生化学反应,在非外力因素下,晶体管出问题的概率很小很小。

即使如此,芯片在出场前,还要经过一项测试,叫“老化测试”,是在高/低温的炉里经过 135/25/-45摄氏度不同温度以及时间的测试,以保证其稳定性。

就算是某个晶体管坏了,就像其他答主所说,会引入容错性设计,容错性设计又可以从软件和硬件两个方面来实施。

比如存储器中一般存在冗余的信号线和单元,通过检查发现有问题的单元,从而用冗余的模块替换有缺陷的模块,保证存储的正常使用。

比如下面橙色的为冗余的memory,红色的是坏的memory,我们便可以通过算法把红色memory的地址映射到橙色备用的一个memory上。

一个典型的memory repair 流程图如下:

其实芯片的可靠性从一开始设计或者制造都已经考虑进去了,毕竟芯片的缺陷如果晚一个环节发现,成本将增加10倍!

最后,芯片行业无论哪个环节都不容易,投入巨大,风险巨大,投资与收益周期长,希望国家能多重视半导体行业,毕竟这才是真正的国之重器!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210217A052JX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券