芯片,也就是集成电路(IC : Integrated Circuit)。
或者说是超大规模集成电路,是由数千,数百万,甚至数十亿个晶体管,电阻,电容组成的电子电路。
它执行与使用分立(单独封装)组件构建的较大电路相同的功能。
但 IC 是一种极其紧凑的设备,在一小块半导体材料上构建为单个单元。
一个或多个 IC 以及其他组件和连接器 安装在印刷电路板 (PCB) 上,并与细铜带连接以满足应用需求。
PCB 的一个非常常见的用途是作为计算机的主板。
制造IC的主要原材料是硅,因此,IC 通常被称为“硅芯片”。
也可以使用其他原材料,如锗和砷化镓,但由于以下原因,硅是主要选择:
掺杂
的过程中 控制的某些条件下 充当导体和绝缘体。包括ASIC,ASSP,SoC,FPGA,SoC FPGA, ucontroller, uprocessor 等等。
ASIC :Application Specific Integrated Circuit 专用集成电路
是指为特定应用而设计的 IC 称为 ASIC,主要用于路由器、交换机、调制解调器等电子设备中。
ASIC的主要特点如下:
ASSP:Application Specific Standard Part,特定标准应用器件
专为特定应用而设计,但不是为系统或客户定制的IC。
ASSP 是一种特殊的 ASIC,可以被多家公司使用。
ASSP 的特性类似于 ASIC。主要用在以太网控制器、PCIE控制器、USB接口等。
SoC(片上系统):集成了完整系统的IC称为SoC。
它包含处理器、存储器和外围设备以及软件。
SoC的处理器可以是微处理器(μP或MPU)、微控制器(μC或MCU)、数字信号处理器(DSP)或图形处理器。
带有处理器的 ASIC 或 ASSP 是 SoC,因此 SoC 的特性类似于 ASIC 或 ASSP 的特性。主要用于语音、视频和图像信号处理、无线通信、汽车等。
FPGA(现场可编程门阵列):FPGA 是一种可编程 IC。
它具有可配置的逻辑块、可配置的输入-输出块和可编程互连。
主要应用在原型 ASICS 或 SoC、设备控制器、信号处理系统、图像处理系统等。
FPGA的主要特点如下:
可编程SoC或SoC FPGA:集成了处理器和FPGA架构的IC称为可编程SoC或SoC FPGA。
这还包括外设、片上存储器、FPGA 式逻辑阵列和高速收发器。
主要用在网络、航空航天、国防等。
可编程SoC/SoC FPGA的主要特点:
微处理器(μP 或 MPU):仅包含处理器的 IC 称为微处理器。
它不包含内存(RAM、ROM 等)或任何其他外围设备。
微处理器的主要特性:
应用:台式电脑、笔记本电脑、记事本、汽车、火车等。
微控制器(μC 或 MCU):包含处理器以及存储器(RAM、ROM 等)和其他外围设备的 IC 称为微控制器。
这是一个通用设备,需要针对应用程序进行编程。
微控制器可用于各种工业产品。微控制器是 SoC 的缩小版本。
微控制器 主要特性:
应用:微波炉、洗衣机、DVD播放器、手机等。
IC 供应商会见潜在客户,以确定他们正在寻找的功能并准备一份功能要求列表。
系统规范是 指定系统(IC)的 功能规范(或要求)并定义其 外部接口 的过程。
一旦确定了系统规范,就开始了系统架构的设计过程。
这包括创建或购买知识产权 (IP) 块,以及定义软件接口、时序、性能、面积和功率限制。
标准工业 IP 模块可从 IP 供应商处获得。
架构验证是 构建硬件系统的软件版本的过程。
这是使用高级语言(如 C、C++ 或 SystemC)从函数模型创建的。
使用软件调试器评估整个系统的架构、性能和功率。
形式验证是使用数学方法静态验证设计正确性的过程,不使用任何激励或时序检查。
一种称为属性检查的形式验证方法用于证明实现的系统模型满足设计要求(或规范)。
在属性检查中,使用属性规范语言(如 PSL 和 SVA)定义系统需求,并创建已实现系统的数学模型。
使用模型检查器比较系统要求和数学模型,以确认系统满足要求。
HDL : Hardware Description Language 硬件描述语言
也就是将实际的硬件电路功能,以代码来描述实现。
VHDL : Verilog HDL
RTL : Register Transfer Level 寄存器传输级
利用硬件描述语言,如 VHDL,Verilog,System Verilog,对电路以寄存器之间的传输为基础进行描述。
该设计包含 I2C 输入和输出引脚、IP 块实例、设计连接、时钟和复位策略等的详细信息。
RTL使用代码编写,来实现功能模块,就是一个个 IP。
这些IP分为数字IP和模拟IP:
模拟IP : 如 AD、DA、PLL、PAD、flash 等 IP,这些都和芯片工艺相关,选定供以后,向相应的工艺厂商进行购买
数字IP
确定芯片工艺
SoC 芯片最终由 SoC integration 工程师把各个 IP 集成到一起。
仿真验证通过,进行逻辑综合。
逻辑综合的结果就是把设计实现的HDL代码翻译成门级网表netlist。
综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准。
逻辑综合需要基于特定的综合库,不同的库中,门电路基本标准单元(standard cell)的面积,时序参数是不一样的。
所以,选用的综合库不一样,综合出来的电路在时序,面积上是有差异的。
一般来说,综合完成后需要再次做仿真验证(这个也称为后仿真,之前的称为前仿真)。
逻辑综合工具:Synopsys的Design Compiler。
STA : Static Timing Analysis,静态时序分析。
STA 是套用特定的时序模型(timing model),针对特定电路在时序上进行验证,是否违反designer给定的时序限制(timing constraint)
检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例(violation)。
这个是数字电路基础知识,一个寄存器出现这两个时序违例时,是没有办法正确采样数据和输出数据的,所以以寄存器为基础的数字芯片功能肯定会出现问题。
静态时序分析的作用:
STA工具有:Synopsys的Prime Time。
这也是验证范畴,它是从功能上(STA是时序上)对综合后的网表进行验证。
不使用任何激励或时序检查。
常用的就是等价性检查方法
,以功能验证后的HDL设计为参考,对比综合后的网表功能,他们是否在功能上存在等价性。
这样做是为了保证 在逻辑综合过程中 没有改变原先HDL描述的电路功能。
形式验证的意义在于保障芯片设计的一致性,一般在逻辑综合,布局布线完成后必须做。
形式验证工具有 Synopsys 的 Formality。
覆盖率作为一种判断验证充分性的手段,已成为验证工作的主导。
从目标上,可以把覆盖率分为两类:
逻辑综合的结果就是把设计实现的RTL代码翻译成门级网表(netlist)的过程。
在做综合时要设定约束条件,如电路面积、时序要求等目标参数。
工具:synopsys的Design compiler, 综合后把网表交给后端。
形式验证可分为三大类:
物理布局是从 IC 的逻辑视图到物理视图的过渡。
物理布局过程的输出是 图形数据库系统 (GDSII) 文件
,该文件是一种二进制文件格式,表示平面几何形状、文本标签和其他与物理布局相关的信息。
物理实现可以分为三个部分:
布局规划 确定主要设计块,并分配空间以满足时序、面积和性能标准。
IP 结构、纵横比和路由可能性也在这里决定。
放置芯片的宏单元模块,在总体上确定各种功能电路的摆放位置,如IP模块,RAM,I/O引脚等等。
布局布线的目标:优化芯片的面积,时序收敛,稳定,方便走线。
布局规划能直接影响芯片最终的面积。
布图规划是整个后端流程中作重要的一步,但也是弹性最大的一步。
因为没有标准的最佳方案,但又有很多细节需要考量。
工具为 Synopsys的Astro,IC compiler,Encounter
布局:摆放标准单元,I/O pad,宏单元来实现个电路逻辑。
布局目标:利用率越高越好,总线长越短越好,时序越快越好。
但利用率越高,布线就越困难;总线长越长,时序就越慢。
因此要做到以上三个参数的最佳平衡。
布线是指在满足工艺规则和布线层数限制、线宽、线间距限制和各线网可靠绝缘的电性能约束条件下,根据电路的连接关系,将各单元和I/O pad用互连线连接起来。
这里的布线就是 普通信号布线了,包括各种标准单元(基本逻辑门电路)之间的走线。
比如我们平常听到的0.13um工艺,或者说90nm工艺,实际上就是这里金属布线可以达到的最小宽度,从微观上看就是MOS管的沟道长度。
工具有Synopsys的Astro。
布局后仿真是在设计的物理布局建立后验证设计的过程。
在布局后模拟中执行的检查如下:
CTS : Clock Tree Synthesis, 时钟树综合,简单点说就是时钟的布线。
由于时钟信号在数字芯片的全局指挥作用,它的分布应该是对称式的连到各个寄存器单元,从而使时钟从同一个时钟源到达各个寄存器时,时钟延迟差异最小。
这也是为什么时钟信号需要单独布线的原因。
CTS工具有Synopsys的Physical Compiler。
由于导线本身存在的电阻,相邻导线之间的互感,耦合电容在芯片内部会产生信号噪声,串扰和反射。
这些效应会产生信号完整性问题,导致信号电压波动和变化,如果严重就会导致信号失真错误。
提取寄生参数进行再次的分析验证,分析信号完整性问题是非常重要的。
工具 : Synopsys的Star-RCXT。
DFT : Design For Test,可测性设计。
芯片内部往往都自带测试电路,DFT的目的就是在设计的时候 就考虑将来的测试。
在设计中插入 DFT 逻辑的额外逻辑,以帮助 IC 的后期生产测试以识别制造缺陷。
DFT的常见方法就是,在设计中插入扫描链,将非扫描单元(如寄存器)变为扫描单元。
关于DFT,有些书上有详细介绍,对照图片就好理解一点。
DFT工具Synopsys的DFT Compiler
硅前验证是在将设计发送到制造之前在硬件中验证设计的过程。
它可以验证高风险或新开发的 IP,并节省重新旋转 IC 的成本。
可以使用仿真器或 FPGA 执行硅前验证。
好处:
限制:
硅后验证 : 通过测试仪的样品在真实环境中进行验证。
在硅后验证中,使用计算机上的软件工具配置 IC,并将测试代码下载到 IC 中。
预期的输出受到监控,IC 的所有功能都得到验证。下图描述了验证后设置:
IC种类繁多,每种IC都有一定的特点:可编程或不可编程,有无处理器,高速或低速,紧凑或笨重。
设计、制造和测试 IC 的过程是复杂而详尽的。
主要贡献者是设计和验证团队、IP 供应商和 IC 制造商。
高级 EDA 工具在减少与 IC 设计周期相关的时间和精力方面发挥着至关重要的作用。
对完成布线的物理版图进行功能和时序上的验证,验证项目很多,如LVS(Layout Vs Schematic)验证,简单说,就是版图与逻辑综合后的门级电路图的对比验证;
DRC(Design Rule Checking):设计规则检查,检查连线间距,连线宽度等是否满足工艺要求,
ERC(Electrical Rule Checking):电气规则检查,检查短路和开路等电气 规则违例;等等。
工具为Synopsys的Hercules。
这一环节是对完成布线的物理版图进行功能和时序上的验证,大概包含以下方面:
实际的后端流程还包括电路功耗分析,以及随着制造工艺不断进步产生的DFM(可制造性设计)问题等。
物理版图以GDSII的文件格式交给芯片代工厂(称为Foundry)在晶圆硅片上做出实际的电路。
实际的后端流程还包括电路功耗分析,以及随着制造工艺不断进步产生的DFM(可制造性设计)问题,在此不赘述了。
物理版图验证完成也就是整个芯片设计阶段完成,下面的就是芯片制造了。物理版图以GDS II的文件格式交给芯片代工厂(称为Foundry)在晶圆硅片上做出实际的电路,再进行封装和测试,就得到了我们实际看见的芯片。
EDA : Electronics Design Automation
EDA 厂商:
工具:
前端
Simulation : VCS、NC-Verilog(IUS)、QuestaSim、
Debug:Debussy、Verdi、DVE、Simvision
Lint Checking:SpyGlass、nLint
Synthesis:Design Compiler、RTL compiler、
Formal Verification:Fromality、Conformal、PrimeTime
DFT : DFT Compiler、BSD Compiler、TetraMAX ATPG、Tessent
后端
P & R : Encounter、ICC
LVS/DRC : Hercules、Calibre
RC extract : StarRC、Calibre
芯片 生产由于太过复杂,完全交由代工厂完成,封装也是
电路
数字电路
模拟电路
综合方面:
其他
视频教程
工具
基础科普
伊织 2023-11-29(三)