(3)一文懂“芯片”设计、代工、封测

news/2024/12/13 16:58:00/

1、前言

本文适合新“芯”人,大神略过!!!

芯片(Chip),指的是内含集成电路的硅片,所以芯片又被称集成电路(Integrated Circuit),可能只有2.5厘米见方大小,但是却包含上亿个晶体管,而较简单的处理器可能在几毫米见方的芯片上刻有几千个晶体管。芯片是电子设备中最重要的部分,承担着运算和存储的功能。“芯片”和“集成电路”这两个词经常混着使用,集成电路更着重电路的设计和布局布线,芯片更强调电路的集成、生产和封装。

芯片设计被誉为人类历史上最细微最宏大的工程。经过数十年的发展,先进芯片的开发者可以把上千亿颗晶体管集成在面积不到指甲盖大小的芯片上。至今,全球芯片行业依然是三种发展模式:

  • 从芯片设计到制造环节全部自主的,比如英特尔和三星等;
  • 只做芯片设计,制造由代工厂完成的,如燧原科技、ARM、AMD、高通、华为海思等;
  • 自己不做设计,专注为芯片设计公司完成代工制造的,例如台积电、中芯国际等。

芯片的设计与制造过程非常复杂,但我们可以简单的将其理解为三个部分:设计(design)、制造(manufacturing)、封装测试(pack-age)。由于工艺不同,Foundry提供的工艺lib库也不同,负责前端设计的工程师要提前开始熟悉工艺库,尝试不同的Floorplan(规划布局)设计,才能输出Foundry想要的物理版图。

以建造房子为例,前端设计相当于房屋设计师,后端制造相当于建造师,最后封装厂商对房屋进行外部装修,留出与外部连接的水/电/网等通道,让房子能正常运转,相当于房子装修工程师。

2、芯片设计

主要半导体设计公司有:燧原科技、英特尔、高通、博通、英伟达、美满、赛灵思、Altera、联发科、海思、展讯、中兴微电子、华大半导体、大唐半导体、士兰微、中星微电子等。

首先了解和分析用户需求,确定芯片的框架。芯片设计分为前端设计和后端设计,前端设计(也称逻辑设计)和后端设计(也称物理设计)并没有统一严格的界限,涉及到与工艺有关的设计就是后端设计。

2.1 前端设计(逻辑设计)

从设计程度上来讲,前端设计的结果就是得到了芯片的门级网表电路。

2.1.1 规格制定

芯片规格,也就像功能列表一样,是客户向芯片设计公司(称为Fabless,无晶圆设计公司)提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求。

2.1.2 详细设计

Fabless根据客户提出的规格要求,拿出设计解决方案和具体实现架构,划分模块功能。

2.1.3 HDL编码

使用硬件描述语言(HDL),Verilog HDL。这种语言是用来描述RTL电路(Register Transfer Level),可以想象成用代码方式描述电路设计,形成RTL(寄存器传输级)代码。类似房屋建设图纸。

2.1.4 仿真验证

仿真验证就是检验编码设计的正确性,检验的标准就是第一步制定的规格。看设计是否精确地满足了规格中的所有要求。规格是设计正确与否的黄金标准,一切违反,不符合规格要求的,就需要重新修改设计和编码。 设计和仿真验证是反复迭代的过程,直到验证结果显示完全符合规格标准。

仿真验证工具Synopsys的VCS,还有Cadence的NC-Verilog。

2.1.5 逻辑综合――Design Compiler

仿真验证通过,进行逻辑综合。逻辑综合的结果就是把设计实现的HDL代码翻译成门级网表netlist。综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准。逻辑综合需要基于特定的综合库,不同的库中,门电路基本标准单元(standard cell)的面积,时序参数是不一样的。所以,选用的综合库不一样,综合出来的电路在时序,面积上是有差异的。一般来说,综合完成后需要再次做仿真验证(这个也称为后仿真,之前的称为前仿真)。

逻辑综合工具Synopsys的Design Compiler。

2.1.6 STA

Static Timing Analysis(STA),静态时序分析,这也属于验证范畴,它主要是在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例(violation)。这个是数字电路基础知识,一个寄存器出现这两个时序违例时,是没有办法正确采样数据和输出数据的,所以以寄存器为基础的数字芯片功能肯定会出现问题。

STA工具有Synopsys的Prime Time。

2.1.7 形式验证

这也是验证范畴,它是从功能上(STA是时序上)对综合后的网表进行验证。常用的就是等价性检查方法,以功能验证后的HDL设计为参考,对比综合后的网表功能,他们是否在功能上存在等价性。这样做是为了保证在逻辑综合过程中没有改变原先HDL描述的电路功能。

形式验证工具有Synopsys的Formality。

2.2 后端设计(物理设计)

2.2.1 DFT

Design For Test,可测性设计。芯片内部往往都自带测试电路,DFT的目的就是在设计的时候就考虑将来的测试。DFT的常见方法就是,在设计中插入扫描链,将非扫描单元(如寄存器)变为扫描单元。关于DFT,有些书上有详细介绍,对照图片就好理解一点。

DFT工具Synopsys的DFT Compiler

2.2.2 布局规划(FloorPlan)

布局规划就是放置芯片的宏单元模块,在总体上确定各种功能电路的摆放位置,如IP模块,RAM,I/O引脚等等。布局规划能直接影响芯片最终的面积。

工具为Synopsys的Astro

2.2.3 CTS

Clock Tree Synthesis,时钟树综合,简单点说就是时钟的布线。由于时钟信号在数字芯片的全局指挥作用,它的分布应该是对称式的连到各个寄存器单元,从而使时钟从同一个时钟源到达各个寄存器时,时钟延迟差异最小。这也是为什么时钟信号需要单独布线的原因。

CTS工具,Synopsys的Physical Compiler

2.2.4 布线(Place & Route)

这里的布线就是普通信号布线了,包括各种标准单元(基本逻辑门电路)之间的走线。比如我们平常听到的0.13um工艺,或者说90nm工艺,实际上就是这里金属布线可以达到的最小宽度,从微观上看就是MOS管的沟道长度。

工具Synopsys的Astro

2.2.5 寄生参数提取

由于导线本身存在的电阻,相邻导线之间的互感,耦合电容在芯片内部会产生信号噪声,串扰和反射。这些效应会产生信号完整性问题,导致信号电压波动和变化,如果严重就会导致信号失真错误。提取寄生参数进行再次的分析验证,分析信号完整性问题是非常重要的。

工具Synopsys的Star-RCXT

2.2.6 版图物理验证

对完成布线的物理版图进行功能和时序上的验证,验证项目很多,如:

LVS(Layout Vs Schematic)验证,简单说,就是版图与逻辑综合后的门级电路图的对比验证;DRC(Design Rule Checking):设计规则检查,检查连线间距,连线宽度等是否满足工艺要求, ERC(Electrical Rule Checking):电气规则检查,检查短路和开路等电气 规则违例;等等。

工具为Synopsys的Hercules

实际的后端流程还包括电路功耗分析,以及随着制造工艺不断进步产生的DFM(可制造性设计)问题,在此不说了。

将RTL转换成NetList,再转换成GDS(Graphics Display System,物理版图),物理版图验证完成也就是整个芯片设计阶段完成。物理版图以GDS II的文件格式交给芯片代工晶圆厂(称为Foundry),在晶圆硅片上做出实际的电路,再进行封装和测试,得到我们实际看见的芯片。芯片的验证几乎必须贯穿芯片设计的每个步骤,以便芯片研发团队及时发现错误,只有经过充分的仿真和验证,才能确保流片的成功与质量。

3、芯片制造(代工)

主要晶圆代工厂有:中芯国际、三星、SK海力士、华润微电子、华虹宏力、英特尔、台积电(台湾)、华力微电子、西安微电子、和舰科技、联电(台湾)、力晶(台湾)、武汉新芯、士兰微、先进半导体等。

光刻机(Mask Aligner) 又名:掩模对准曝光机,曝光系统,光刻系统等,是制造芯片的核心装备。它采用类似照片冲印的技术,把掩膜版上的精细图形通过光线的曝光印制到硅片上。世界上只有少数厂家掌握(ASML/尼康/佳能等),因此光刻机价格昂贵,通常在 3 千万至 5 亿美元。

4、封装测试

主要的半导体封测厂有:安靠、长电科技、通富微电、日月光、力成、南茂、颀邦、矽品、海太半导体等。

经过漫长的流程,从设计到制造,终于获得一颗 IC 芯片了。然而一颗芯片相当小且薄,如果不在外施加保护,会被轻易的刮伤损坏。此外,因为芯片的尺寸微小,如果不用一个较大尺寸的外壳,将不易以人工安置在电路板上。目前常见的封装有两种,一种是电动玩具内常见的,黑色长得像蜈蚣的 DIP 封装,另一为购买盒装 CPU 时常见的 BGA 封装。 完成封装后,便要进入测试的阶段,在这个阶段便要确认封装完的 IC 是否有正常的运作,正确无误之后便可出货给组装厂,做成我们所见的电子产品。至此,半导体产业便完成了整个生产的任务。

参考:华为制芯流程

5、Key Steps

5.1 EDA验证

电子设计自动化(Electronics Design Automation)工具,也就是我们俗称的EDA工具。EDA工具软件可大致可分为芯片设计辅助软件、可编程芯片辅助设计软件、系统设计辅助软件等三类。EDA 是电子产业最上游、最高端的产业,驱动芯片设计、制造、终端应用。从另一个角度看,下游的任何创新,都离不不开EDA 软件的创新支持。

验证是芯片开发流程上最不能忽视的一环。芯片验证流程一般包括需求定义、功能实现、功能实现、逻辑综合以及物理实现。芯片验证环节能够为芯片设计带来诸多好处:

        1)芯片设计的复杂度方面:随着设计与工艺技术的不断发展,集成电路设计的规模越来越大,复杂度越来越高。为了缩短芯片的上市时间,节约开发成本,集成了微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)等多家IP核的SoC(系统级芯片,System on Chip)也成为主流,随之而来的挑战是验证复杂度呈现指数级的增长,验证工具的革新目标是快速、准确、完备、易调试的完成日益复杂的验证,让开发者有信心Signoff设计交付给晶圆厂进行流片。做一款中等规模的芯片大致需要十多人的团队一年半以上的开发时间,而现今主流的SoC芯片更是需要一个经验丰富的团队投入3-5年时间开发。因此,一个高效的验证平台使得验证迅速收敛显得尤为重要。

        2)芯片的成本方面:最新数据显示,先进工艺的芯片设计环节成本及其高昂,从千万美金级到亿美金不等,由于设计缺陷或者工艺缺陷很容易造成芯片变成所谓的“废片”,而如果要重新投片不仅需要高昂的资金成本,更会将芯片上市时间延后至少半年,这些风险对于商业公司来说都是不可接受的。因此,在芯片流片之前通过验证活动发现所有的设计缺陷和错误显得愈发重要。

        3)安全性方面:随着芯片使用场景延伸至AI、云计算、智能汽车、5G等领域,由于其场景无一不是依托于芯片运行,芯片的安全性、可靠性前所未有的重要。

        4)软硬件协同验证方面:在早期软件和硬件并不相融的阶段,软件与硬件的开发及其验证均为独立进行,遵循先有芯片设计制造再到上层软件开发的工作流程。开发者们引入ESL(电子系统级,Electronic system-level)设计理念,针对软件开发仅需要编程模型,不需要硬件实现细节的特点,在设计的早期阶段即构建一个高抽象级的虚拟原型(virtual prototype),由于并不需要硬件描述细节,系统级模型的仿真速度较RTL级仿真速度快上几个数量级,让硬件人员和软件人员可以在早期阶段运用采系统进行硬件参照和软件开发。这一理念同时也是“Shift-Left”方法学的实践,在RTL实现前就可以完成相关的软件开发验证工作。软件可以解决安全性问题,但软件本身也有安全性问题,因此当完成后,需要检查软件安全性,找出问题并不断解决问题。

        特别是在我们用到很多开源软件的情况下,开源会产生数据泄露的问题,所以我们需要在整个开发过程的最早期就开始介入,并在之后的开发过程中解决这些问题,实现Shift Left,加速芯片的开发、降低风险的同时,更缩短了产品面世的时间。

        5)低功耗设计方面:低功耗一直是便携式电子电气设备的关键要求。近年来,这一要求已扩大到许多种类的终端产品,无论是自动驾驶的大规模芯片设计或是精巧的物联网芯片设计,低功耗都是开发者关注的重要指标之一。芯片开发中的指标为PPA(Performance, Power, Area)当中的Power,开发者在设计和验证过程中始终关注这三个重要指标的平衡。

参考:https://www.sohu.com/a/405782927_294443

5.2 流片

在集成电路设计领域,“流片”指的是“试生产”,就是说设计完电路以后,为了测试集成电路设计是否成功,先生产几片几十片,供测试用,即从一个电路图到一块芯片,检验每一个工艺步骤是否可行,检验电路是否具备我们所要的性能和功能。如果流片成功,就可以大规模地制造芯片;反之,我们就需要找出其中的原因,并进行相应的优化设计。

 物理验证(physical verfication)是流片之前的最后一次检查,非常重要。流片失败的分为不同等级,最差的就是变砖,什么功能都没有,这种一般是犯了低级错误,或者代工厂出现重大失误;好一点的是有一部分功能异常,但没法补救和使用,也该算失败了;再好点的情况就是有功能异常,或者还能将就用,可是通过特殊手段还能补救,这种几乎也不算失败吧;最常见的是功能正常,但是性能指标不达标,这种情况还是算部分失败吧,客户要求严格的情况下就绝对是失败了。

参考:https://www.zhihu.com/question/68260450

5.3 工艺文件

在芯片的设计重要设计环节,像综合与时序分析,版图绘制等都需要用到工艺库文件,而大家往往又对工艺文件缺乏认识,所以导致想自学一些芯片设计的东西就显得很困难。例如,没有工艺版图库文件,学习版图设计就是纸上谈兵。工艺文件由芯片制造厂提供,国际上,主要有台积电,英特尔,三星等主要半导体制造商。国内,主要有中芯国际,华润上华,深圳方正等公司。这些公司都提供相关的工艺库文件,但前提是要与这些公司进行合作才能获取,这些工艺文件都属于机密性文件。

完整工艺库文件主要组成为:

        1)模拟仿真工艺库,主要以支持spectre和hspice这两个软件为主,后缀名为scs--spectre使用,lib--hspice使用。

        2)模拟版图库文件,主要是给cadence版图绘制软件用,后缀名为tf,drf。

        3)数字综合库,主要包含时序库,基础网表组件等相关综合及时序分析所需要用到的库文件。主要是用于DC软件综合,PT软件时序分析用。

        4)数字版图库,主要是给cadence encounter软件用于自动布局布线,当然自动布局布线工具也会用到时序库,综合约束文件等。

        5)版图验证库,主要有DRC,LVS检查。有的是专门支持calibre,有的专门支持dracula,diva等版图检查工具用。每一种库文件都有相应的pdf说明文档。

        反向设计会用到1,2,5等工艺库文件,正向设计(从代码开始设计的正向设计)则所有的文件都需要用到。由于工艺文件在芯片设计中占有极重要的位置,在每一个关键设计环节都要用到,再加上它的机密属性,所以网络上很难找到完整的工艺文件对于个人学习用,EETOP上有一份cadence公开的用于个人学习的工艺库文件可以方便大家学习,但似乎也是不完整的。


http://www.ppmy.cn/news/190046.html

相关文章

写递归题目的思路

第一个问题,什么时候对数据进行操作? 我们递归的过程中是一定要对数据结构进行处理的,包括两个时间段,递归时处理数据,和回溯时处理数据。它们的区别就是一个写在递归函数调用处上面,一个写在调用处下面&a…

软路由保姆级入门教程 一篇看懂软路由

前言 玩张大妈也一年多了,软路由改装、刷机文章写了不少,很早就打算写篇软路由入门文章,但是一直没落实,原因有二: 圈子里大佬众多,基础的教程也很多。基础教程可能需要解释很多基础概念,怕我个…

c#笔记整理

day1 上课代码自己敲三遍(1. 先自己抄写 2~3 关掉我的自己写 )上午绝对不能犯困 请假 尽量下午作业认真做 做不完不要抄!!! 最后测试: 阶段尾 测试机试 分数100 数据结构 40 老大有一票否决权 计算机硬件: 1,CPU center Unit 2.存储器; …

JAVA数组基础

目录 一、使用方式 1-动态初始化 ①先声明数组 ② 创建数组 ③分配方式 二、使用方式 2-静态初始化(直接在声明的同时初始化{ } ) 三、数组使用注意事项和细节 四、数组两种初始化方式都是将内存空间分配到堆上面的 一、使用方式 1-动态初始化 …

大数据:hadoop spark,spark特点,功能,架构,模块,角色

大数据:hadoop spark 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其sq…

关于macbookpro 外接显示器帧率问题

我买了个macbookpro 2019款16寸的。但是外接显示器的时候,我的显示器是VOC2790B。 之前是通过我的飞利浦的扩展坞,通过HDMI接显示器,感觉特别烫。后来我听说别人用一个单独的typec转HDMI的话,可以不烫。然后我买了一个接上去了。…

计算机显示器屏幕什么也不显示,行车电脑显示器什么都不显示了

驾驶习惯不一样,路况不一样,堵车、载重、油品、冷热风、是否磨合期/旧车等不一样,油耗也就不一样的,一般综合油耗在8-10个左右吧。 多少个油的意思是百公里多少升油。个是口语的习惯说法。  车辆油耗一般以百公里油耗计算&#…

计算机电脑显示器都有多大的,电脑显示器买多大的合适

电脑显示器买多大的合适 现在很多人在选购显示器的时候,更愿意选择大屏产品,一方面大屏幕能够显示更多的内容,另一方面则是大屏幕更加凸显逼格,但是大屏显示器一定好吗?电脑显示器买多大的合适?这里给大家分析下。 大屏显示器一…