Integrated Circuit,即集成电路,IC行业简单理解就是芯片行业/半导体行业。
IC按功能可分为:数字IC、模拟IC、微波IC及其他IC。
数字IC就是传递、加工、处理数字信号的芯片,分为通用数字IC和专用数字IC,同时也是当下应用最广、发展最快的芯片品种。
通用IC指那些用户多、适用范围广泛、标准型电路,如储存器(DRAM)、微处理器(MPU)及微处理器(MCU)等。
专用IC(ASIC),即字面意思,专为某种用途或领域设计的IC芯片。
芯片分为以下两种产出模式。
1、IC制造商(IDM)自行设计,由自己的产业线进行加工、封装、测试、最终产出芯片。
2、IC设计公司(Fabless)与IC制造公司(Foundry)相结合,设计公司将最终确定的物理版图交给Foundry加工制造,封装测试则交给下游厂商。
什么是上游设计,什么是下游封测,什么是fabless、什么是PE,这些问题在不了解芯片行业的同学看来,基本上都是两眼一抹黑。
1、IC设计公司(海思、澜起、寒武纪这类公司)
市场部:由市场专员和项目经理确定用户和市场需求。
IC设计:由IC设计工程师参与进行,包括架构师、前端设计、功能验证、dft、后端设计、版图设计。
2、晶圆厂(台积电、中芯国际这类公司,即fab厂)——晶圆制造。
大多数材料专业同学最终要去的fab厂,做的大致就是PE和PIE。
3、封装测试
封装工程师、ATE测试工程师
从上游设计到下游封测,工作环境及薪资待遇是从上到下的一个对比,芯片设计30W年薪朝九晚六和fab厂PE20W年薪三班倒,高下立判。
前端设计流程
1、需求分析与规格制定
对市场调研,弄清需要什么样功能的芯片。
芯片规格,也就像功能列表一样,是客户向芯片设计公司提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求。
2、架构设计与算法设计
根据客户提出的规格要求,对一些功能进行算法设计,拿出设计解决方案和具体实现架构,划分模块功能。
3、RTL逻辑设计
使用硬件描述语言(Verilog )将模块功能以代码来描述实现,也就是将实际的硬件电路功能通过硬件语言描述出来,形成RTL(寄存器传输级)代码。
4、功能仿真(功能验证)
仿真验证就是检验编码设计的正确性,可以理解为验证就是为设计纠错的存在,这就是验证的价值体现。
一个小问题没发现就直接去后端设计,最终流片失败,那带来的损失将是巨大的。因此,好的IC设计公司一般设计和验证的比例都是1:3。
5、逻辑综合――Logic Synthesis
逻辑综合是个比较灵活的环节,有时放在前端,有时放在后端,不同公司不同安排。
仿真验证通过,进行逻辑综合。逻辑综合就是把HDL代码翻译成门级网表netlist。
综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准。
6、静态时序分析——STA
静态时序分析,验证范畴,它主要是在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例(violation)。
这个是数字电路基础知识,一个寄存器出现这两个时序违例时,是没有办法正确采样数据和输出数据的,所以以寄存器为基础的数字芯片功能肯定会出现问题。
7、形式验证——Formality
验证范畴,它是从功能上(STA是时序上)对综合后的网表进行验证。
为了保证在逻辑综合过程中没有改变原先HDL描述的电路功能。
后端设计流程
1、可测性设计——DFT
芯片内部往往都自带测试电路,DFT的目的就是在设计的时候就考虑将来的测试。
2、布局规划(FloorPlan)
布局规划就是放置芯片的宏单元模块,在总体上确定各种功能电路的摆放位置,如IP模块,RAM,I/O引脚等等。布局规划能直接影响芯片最终的面积。
3、时钟树综合——CTS
简单点说就是时钟的布线,由于时钟信号在数字芯片的全局指挥作用,它的分布应该是对称式的连到各个寄存器单元,从而使时钟从同一个时钟源到达各个寄存器时,时钟延迟差异最小。
这也是为什么时钟信号需要单独布线的原因。
4、布线(Place & Route)
这里的布线就是普通信号布线了,包括各种标准单元(基本逻辑门电路)之间的走线。
比如我们平常听到的0.13um工艺,或者说90nm工艺,实际上就是这里金属布线可以达到的最小宽度,从微观上看就是MOS管的沟道长度。
5、寄生参数提取
由于导线本身存在的电阻,相邻导线之间的互感,耦合电容在芯片内部会产生信号噪声,串扰和反射。
这些效应会产生信号完整性问题,导致信号电压波动和变化,如果严重就会导致信号失真错误。
6、版图物理验证
对完成布线的物理版图进行功能和时序上的验证。
实际的后端流程还包括电路功耗分析,以及随着制造工艺不断进步产生的DFM(可制造性设计)问题。物理版图验证完成也就是整个芯片设计阶段完成,下面的就是芯片制造了。
物理版图以GDSII的文件格式交给芯片代工厂(称为Foundry)在晶圆硅片上做出实际的电路,再进行封装和测试,就得到了芯片。