Wafer管芯数量及成本估算
芯片流片费用一般不按颗数计价,现在流片主要分为全晶圆和MPW两种方式。 MPW是现在很流行的一种tapout方法,主要是按晶圆面积来均分价格。 如果是整个wafer的话,成本主要是wafer费用,当然这些就跟wafer大小,制程,mask layer,哪家foundry有关了。
http://www.doc88.com/p-315743916425.html
一片wafer上die数量的估算方法
die数量=π(R-X-Y)2 /(X*Y) (1)
R 为wafer的半径。
X,Y 是MASK(左下角在原点)的右上角坐标,X,Y尺寸包括划片槽,缓冲区等尺寸
π 3.14
注:上式中的2是2次平方
*****************************************************************************
举例: Alan是XX1234(采用XXIC 0.6um DPDM 工艺设计)项目的PM,他的BOSS要求粗略核算该芯片每颗 裸片的成本。
Alan马上action!
Alan先从layout engineer Jarry 那里得到XX1234’size(890um,890um),又打电话给foundry ,得到一片Wafer的报价为3千RMB。然后Alan开始计算:
因为划片槽由foundry 处理,所以 (X,Y)的坐标估算为 (1000um,1000um)
采用6寸wafer R=75000um
上述数据带入(1)式得: die数量=3.14(75000-1000-1000)2/(1000*1000) =16733.06
芯片颗数为16733颗,每颗成本为3000元/16733=0.179元,每颗17.9分,成本这么低,Alan很高兴,拿起电话马上要报告BOSS,但忽然一想,还没考虑wafer边缘等损耗,及测试损耗(还好,差点漏了这些,要是估价过低,造成sales们的被动,非挨BOSS踢不可!Alan暗自庆幸)。因此Alan开始第二步估算芯片的成品率,按照以往的经验打个9.5折吧!Alan马上拿起计算器,飞快地得到总数为16733*95%=15896颗。Alan这时脑子里总有个东东在一闪一闪的,据市场部反映这颗芯片很多家都在做,可出来的东东没几家叫得响的,而且价格战愈演愈烈,每颗IC的利润都是以分计算的,Alan倒吸了一口凉气,看来这个东东是块硬骨头啊!于是Alan打电话给负责这个项目的Circuit Engineer Tom, 没等Alan开口,Tom就诉起苦来,哥们,别看这是个小东东,可折腾死我了,纯MOS
模拟电路,手上的Model又不可靠(这点Alan很理解,国内的foundry的model几乎不可信,当他做第一个项目的时候,设计一个555振荡器,迷信他们给的model,结果放电电阻的仿真结果居然比计算的大了10倍,他痛苦了好多天,就按model去做了,等流片出来后,时钟频率居然慢了10倍,气得他直FUCK!),我只能靠手工计算。唉!即使我的设计完全正确,这foundry的工艺要是飘来飘去我可没辙了,而且这里有个滤波器对Vt等某些工艺参数非常敏感!……Alan 听完Tom的抱怨!嘿嘿的坏笑了几声!看来这个产品跟工艺密切相关啊!后续测试工作肯定折磨死Tom,尤其批量生产时不同时期出来芯片的成品率可能会出现反复!Alan为了防止被BOSS的kick,决定来个保守的算法,到底打几折呢?这让他很难估计! 这时BOSS过来了,hi, Alan, 我昨天看到crocodile打八折,我就买了这件,说这把那咧着嘴的crocodile指给Alan看. Alan冲它嘿嘿的坏笑起来,BOSS不自然地走开了!
好个八折,好个八折!Alan立刻搞定了XX1234的成本估算:
芯片成品率 16733*80%=13386(颗)
每颗裸片成本 300000/13386=22.41(分)
其实一片wafer上die数量的估算,最终目的也就是芯片的成本核算,其中成品率的核算要靠工程师的经验来感觉!(这里暂时忽略测试等成本)。例如国内的0.6u工艺线,要是做CMOS digital低端产品,成品率大概在96%左右,当然,这不是绝对。
以上内容,仅供参考。
感谢发明公式(1)的人!同时也感谢我的启蒙老师――老叶,是他告诉了我这条公式!
补充:今天利用上式估算一个2mm*20mm的芯片在8寸和六寸上面的die的颗数,结果让我很吃惊。上面的公式时,对于小尺寸的IC是很有用的,因为它直接裁掉了wafer边缘的距离X+Y,而wafer
本身的周边几毫米里的die通常失效很严重,所以利用上式比较准。但对于大的die(20mm*2mm),肯定会出现问题,由于老总要准确的结果评估成本,我不得不在8英寸和6英寸的wafer里画了一
下,数出理论die分别为676和355。有兴趣的同志可以比较一下公式算出的结果。想一想有什么好办法去修正!
也有这样的计算方式
R:圆片半径;
a:管芯边长;
b:管芯边长;
有效管芯数=3.14*(R-0.7a)*(R-0.7b)/(a*b)
此估算方法较为准确,在“集成电路应用”杂志2002年5月期上有详细说明,可参阅。
我计算了实际的一个芯片,芯片大小600u*600u,含划片槽
按照楼主的方法,计算的结果是47500颗,
安装方法2,计算结果是48500颗,差1000颗左右
中测得到的实际测试量是49524,扣去圆片边上未成管芯的部分,
大约是4000个,实际只有45000颗,良品是42754颗,良品率95%,比较正常
Wafer管芯数量及成本估算的更多相关文章
- License使用成本估算
License使用成本估算 Licmanager系统的成本估算模块是以參数估算法为基础的计算机成本估算软件,内部包括多个成本估算关系式,综合反映了license的使用特征.产品项目特征以组织经济环境等 ...
- AWS成本估算的相关小工具
1.AWS-partner :云势数据做的在线小工具,有微信版本可以使用,但是涉及的服务很少,更新慢,型号缺,界面不友好.不是很理想,连接如下: https://www.goclouds.cn ...
- 0103MySQL中的B-tree索引 USINGWHERE和USING INDEX同时出现
转自博客http://www.amogoo.com/article/4 前提1,为了与时俱进,文中数据库环境为MySQL5.6版本2,为了通用,更为了避免造数据的痛苦,文中所涉及表.数据,均来自于My ...
- PMP备考_第六章_项目时间管理
项目时间管理 前言 项目时间管理是项目管理中最难的一个环节,与个人时间管理类似,团体的效率如果管理不当,是低于个人效率的,为了管理好时间,从预估,执行到反馈均需要严格的分析和处理.如果制定的计划是无法 ...
- 72个可交付成果(PMBOK2008)
成果名称 包括内容 来自 用于 事业环境因素 组织文化.政府法规.行业标准.市场条件.工作授权系统.商业数据库.项目管理信息系统 外部现有的 启动.规划.执行过程的输入 组织过程资产 流程与程序(模板 ...
- 读书笔记---PMBOK第五版官方中文版
以下是为了准备PMP考试时学习<PMBOK第五版官方中文版>这本书的笔记和摘要,目的是为了以后可以快速的抓住本书的核心重点复习. 引论 PMPOK的目的 收录了项目管理知识体系中被普遍认可 ...
- 高性能MySQL笔记 第6章 查询性能优化
6.1 为什么查询速度会慢 查询的生命周期大致可按照顺序来看:从客户端,到服务器,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端.其中“执行”可以认为是整个生命周期中最重要的阶段. ...
- 如何成为一位优秀的创业CEO
英文原文:How to Be Startup CEO 编者按:本文来自 Ryan Allis,是一位来自旧金山的创业者和投资人.在 2003 年创立了 iContact,并任 CEO. 做创业公司的 ...
- 项目管理知识体系指南(PMBOOK指南)(第5版) 阅读摘要
1.7.2 项目经理的人际技能 领导力: 团队建设: 激励: 沟通: 影响力: 决策能力: 政治和文化意识: 谈判: 建立信任: 冲突管理: 教练技术: 3.4 规划过程组 在制定项目管理计划和项目文 ...
随机推荐
- (转)对mysql explain讲的比较清楚的
转自:http://www.blogjava.net/persister/archive/2008/10/27/236813.html 在 explain的帮助下,您就知道什么时候该给表添加索引,以使 ...
- php简单对象与数组的转换
function arrayToObject($e){ if( gettype($e)!='array' ) return; foreach($e as $k=>$v){ ...
- Java split方法源码分析
Java split方法源码分析 public String[] split(CharSequence input [, int limit]) { int index = 0; // 指针 bool ...
- JavaScript基本概念(数组)
1.数组方法 /** * join(str) * 将数组元素转换为字符串并使用参数中的字符串将各字符串链接起来 */ var a = [1, 2, 3]; a.join(); // "1,2 ...
- Binder的非正常消亡时的重置方法
一.原理 当Binder非正常消亡的时候,会导致远程调用失败,这样客户端功能就会受到影响. 解决:给Binder设置一个死亡代理,当Binder死亡时,我们就会收到通知,这个时候可以重新发起连接. 二 ...
- 使用C语言获取linux系统相关信息
最近在写shell的时候,涉及到了获取环境变量参数和本地计算机相关信息,包括计算机设备名,用户名的信息,在这里简单总结一下.获取环境变量各项参数,可以直接使用getenv函数.man中关于getenv ...
- C99新特性
c99标准允许使用变长数组,变的意思是可以根据变量的值来指定数组的维数,如根据用户的输入值指定数组的大小,印象中以前是不可以的.现在在gcc中是可以的(PS:ansi c标准是C90标准): ==== ...
- C++ typeid实现原理
最近看了boost::any类源码,其实现主要依赖typeid操作符.很好奇这样实现的时间和空间开销有多大,决定探一下究竟. VS2008附带的type_info类只有头文件,没有源文件,声明如下: ...
- java中读取程序运行时间
第一种是以毫秒为单位计算的. Java代码 //伪代码 long startTime=System.currentTimeMillis(); //获取开始时间 doSomeThing(); // ...
- linux学习之(六)-主机名、网络IP的配置与查看
设置Linux 本机IP有一个非常好用的命令就是setup命令,在Linux终端打入setup命令就会打开Linux配置窗口,如下图: . 在打开的窗口中通过上下键选择 Network config ...