芯片及设计制造 - 小记

news/2024/4/25 18:52:59

文章目录

    • 关于芯片
      • 制造材料
    • 芯片分类
      • ASIC
      • ASSP
      • SoC
      • FPGA
      • 可编程SoC或SoC FPGA
      • 微处理器(μP 或 MPU)
      • 微控制器(μC 或 MCU)
    • 芯片设计和制造过程:
    • 需求 & 方案
        • 架构设计
        • 架构验证
        • 形式验证/属性检查
    • 前端设计
      • RTL 设计
      • 逻辑综合 Design Compiler
      • STA
      • 形式验证 - 等效性检查
      • 覆盖率
      • ASIC综合
    • 后端
      • 逻辑综合
      • 形式验证
      • 物理实现
        • 布图规划 floor plan
        • 布局
        • 布线 (Place & Route)
        • 布局后模拟
      • 时钟树综合 CTS
      • 寄生参数提取
      • DFT
      • 硅前验证
        • 硅后验证
      • 版图物理验证
    • EDA 工具介绍
    • 职业岗位安排
    • 相关资源


关于芯片

芯片,也就是集成电路(IC : Integrated Circuit)。
或者说是超大规模集成电路,是由数千,数百万,甚至数十亿个晶体管,电阻,电容组成的电子电路。
它执行与使用分立(单独封装)组件构建的较大电路相同的功能。

但 IC 是一种极其紧凑的设备,在一小块半导体材料上构建为单个单元。

一个或多个 IC 以及其他组件和连接器 安装在印刷电路板 (PCB) 上,并与细铜带连接以满足应用需求。
PCB 的一个非常常见的用途是作为计算机的主板。


制造材料

制造IC的主要原材料是硅,因此,IC 通常被称为“硅芯片”。
也可以使用其他原材料,如锗和砷化镓,但由于以下原因,硅是主要选择:

  • 硅是一种半导体,这意味着它可以在称为掺杂的过程中 控制的某些条件下 充当导体和绝缘体。
    掺杂是指添加杂质以改变元素的电气特性。
  • 硅在地球上很丰富,这使得它非常实惠。

芯片分类

包括ASIC,ASSP,SoC,FPGA,SoC FPGA, ucontroller, uprocessor 等等。


ASIC

ASIC :Application Specific Integrated Circuit 专用集成电路
是指为特定应用而设计的 IC 称为 ASIC,主要用于路由器、交换机、调制解调器等电子设备中。


ASIC的主要特点如下:

  • 在其整个生命周期内执行相同的功能
  • 没有处理器
  • 设计周期费时费钱
  • 大批量生产
  • 高速低功耗
  • 可以是数字的、模拟的或两者兼而有之

ASSP

ASSP:Application Specific Standard Part,特定标准应用器件
专为特定应用而设计,但不是为系统或客户定制的IC。
ASSP 是一种特殊的 ASIC,可以被多家公司使用。
ASSP 的特性类似于 ASIC。主要用在以太网控制器、PCIE控制器、USB接口等。


SoC

SoC(片上系统):集成了完整系统的IC称为SoC。
它包含处理器、存储器和外围设备以及软件。
SoC的处理器可以是微处理器(μP或MPU)、微控制器(μC或MCU)、数字信号处理器(DSP)或图形处理器。
带有处理器的 ASIC 或 ASSP 是 SoC,因此 SoC 的特性类似于 ASIC 或 ASSP 的特性。主要用于语音、视频和图像信号处理、无线通信、汽车等。


FPGA

FPGA(现场可编程门阵列):FPGA 是一种可编程 IC。
它具有可配置的逻辑块、可配置的输入-输出块和可编程互连。
主要应用在原型 ASICS 或 SoC、设备控制器、信号处理系统、图像处理系统等。


FPGA的主要特点如下:

  • 适用于需要频繁定制的设计
  • 没有处理器
  • 设计周期不耗时且成本低廉
  • 适用于小体积设计
  • 更低的速度和低功耗

可编程SoC或SoC FPGA

可编程SoC或SoC FPGA:集成了处理器和FPGA架构的IC称为可编程SoC或SoC FPGA。
这还包括外设、片上存储器、FPGA 式逻辑阵列和高速收发器。
主要用在网络、航空航天、国防等。


可编程SoC/SoC FPGA的主要特点:

  • 适用于需要频繁定制且具有处理能力的设计
  • 较小的尺寸
  • 处理器和 FPGA 之间的更高带宽通信
  • 设计周期不耗时且成本低廉
  • 风险低,因为它是可重新编程的
  • 更低的速度和低功耗

微处理器(μP 或 MPU)

微处理器(μP 或 MPU):仅包含处理器的 IC 称为微处理器。
它不包含内存(RAM、ROM 等)或任何其他外围设备。


微处理器的主要特性:

  • 昂贵的
  • 更高的速度和更高的功耗
  • 适用于更大的设计
  • 执行复杂的任务

应用:台式电脑、笔记本电脑、记事本、汽车、火车等。


微控制器(μC 或 MCU)

微控制器(μC 或 MCU):包含处理器以及存储器(RAM、ROM 等)和其他外围设备的 IC 称为微控制器。
这是一个通用设备,需要针对应用程序进行编程。
微控制器可用于各种工业产品。微控制器是 SoC 的缩小版本。


微控制器 主要特性:

  • 紧凑,因为所有外围设备都在 IC 中
  • 有处理器
  • 比微处理器便宜
  • 更低的速度和低功耗
  • 适用于较小的设计,因为它很紧凑
  • 执行不太复杂的任务

应用:微波炉、洗衣机、DVD播放器、手机等。


芯片设计和制造过程:

  • 需求 – 形成 Spec
    • 模块功能
    • 性能指标
  • 前端设计 design
    • RTL 设计
    • 代码设计 、代码风格检查
    • 功能验证
      • STA
    • 逻辑综合
    • 静态时序分析
    • 覆盖率
    • 实现
  • 后端制造 manufacturing
    • APR (Auto Place & Route )
    • PV (Physical Verification)
  • 封装测试 package

需求 & 方案

IC 供应商会见潜在客户,以确定他们正在寻找的功能并准备一份功能要求列表。
系统规范是 指定系统(IC)的 功能规范(或要求)并定义其 外部接口 的过程。


架构设计

一旦确定了系统规范,就开始了系统架构的设计过程。
这包括创建或购买知识产权 (IP) 块,以及定义软件接口、时序、性能、面积和功率限制。
标准工业 IP 模块可从 IP 供应商处获得。


架构验证

架构验证是 构建硬件系统的软件版本的过程。
这是使用高级语言(如 C、C++ 或 SystemC)从函数模型创建的。
使用软件调试器评估整个系统的架构、性能和功率。


形式验证/属性检查

形式验证是使用数学方法静态验证设计正确性的过程,不使用任何激励或时序检查。

一种称为属性检查的形式验证方法用于证明实现的系统模型满足设计要求(或规范)。
在属性检查中,使用属性规范语言(如 PSL 和 SVA)定义系统需求,并创建已实现系统的数学模型。
使用模型检查器比较系统要求和数学模型,以确认系统满足要求。


前端设计


RTL 设计

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

  • 购买业界已经较成熟的 IP 使用权,如 Ethernet MAC, AMBA, DMAC 等
  • 开源IP 核
  • 自助设计 IP:使用 VHDL 实现模块功能,形成 RTL 代码

确定芯片工艺

  • 成本:芯片制造成本和设计成本
  • 工艺成熟度
  • 工艺特点:性能、消耗、面积、温度、寿命、可实现的频率、可支持的金属层数等
  • 技术需求:Foundry IP,单元库的集成、后端设计等
  • IP 成熟度:Foundry 可提供的第三方IP,IP 的功能、性能和使用情况

SoC 芯片最终由 SoC integration 工程师把各个 IP 集成到一起。


逻辑综合 Design Compiler

仿真验证通过,进行逻辑综合。

逻辑综合的结果就是把设计实现的HDL代码翻译成门级网表netlist。

综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准。

逻辑综合需要基于特定的综合库,不同的库中,门电路基本标准单元(standard cell)的面积,时序参数是不一样的。
所以,选用的综合库不一样,综合出来的电路在时序,面积上是有差异的。
一般来说,综合完成后需要再次做仿真验证(这个也称为后仿真,之前的称为前仿真)。

逻辑综合工具:Synopsys的Design Compiler。


STA

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代码
  • 功能覆盖率
    作用:检查功能是否遍历
    检查对象:自定义的container 在设计完成时,要进行代码覆盖率充分性的sign-off, 对于覆盖率未达到100%的情况,要给出合理的解释,保证不影响芯片的工能。

ASIC综合

逻辑综合的结果就是把设计实现的RTL代码翻译成门级网表(netlist)的过程。
在做综合时要设定约束条件,如电路面积、时序要求等目标参数。
工具:synopsys的Design compiler, 综合后把网表交给后端。


后端

逻辑综合

形式验证

形式验证可分为三大类:

  • 等价性检查(Equivalence Checking)
  • 形式模型检查(Formal Model Checking)(也被称作特性检查)
  • 定理证明(Theory Prover)。

物理实现

物理布局是从 IC 的逻辑视图到物理视图的过渡。
物理布局过程的输出是 图形数据库系统 (GDSII) 文件,该文件是一种二进制文件格式,表示平面几何形状、文本标签和其他与物理布局相关的信息。

物理实现可以分为三个部分:

  • 布局规划 floor plan
  • 布局 place
  • 布线 route

布图规划 floor plan

布局规划 确定主要设计块,并分配空间以满足时序、面积和性能标准。
IP 结构、纵横比和路由可能性也在这里决定。
放置芯片的宏单元模块,在总体上确定各种功能电路的摆放位置,如IP模块,RAM,I/O引脚等等。

布局布线的目标:优化芯片的面积,时序收敛,稳定,方便走线。
布局规划能直接影响芯片最终的面积。

布图规划是整个后端流程中作重要的一步,但也是弹性最大的一步。
因为没有标准的最佳方案,但又有很多细节需要考量。

工具为 Synopsys的Astro,IC compiler,Encounter


布局

布局:摆放标准单元,I/O pad,宏单元来实现个电路逻辑。
布局目标:利用率越高越好,总线长越短越好,时序越快越好。

但利用率越高,布线就越困难;总线长越长,时序就越慢。
因此要做到以上三个参数的最佳平衡。


布线 (Place & Route)

布线是指在满足工艺规则和布线层数限制、线宽、线间距限制和各线网可靠绝缘的电性能约束条件下,根据电路的连接关系,将各单元和I/O pad用互连线连接起来。

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

工具有Synopsys的Astro。


布局后模拟

布局后仿真是在设计的物理布局建立后验证设计的过程。
在布局后模拟中执行的检查如下:

  • 设计规则检查 (DRC):布局满足制造所需的一组规则
  • 电气规则检查 (ERC):布局满足一组电气设计规则
  • 版图与原理图 (LVS):版图在功能上与设计的网表相同

时钟树综合 CTS

CTS : Clock Tree Synthesis, 时钟树综合,简单点说就是时钟的布线。

由于时钟信号在数字芯片的全局指挥作用,它的分布应该是对称式的连到各个寄存器单元,从而使时钟从同一个时钟源到达各个寄存器时,时钟延迟差异最小。

这也是为什么时钟信号需要单独布线的原因。

CTS工具有Synopsys的Physical Compiler。


寄生参数提取

由于导线本身存在的电阻,相邻导线之间的互感,耦合电容在芯片内部会产生信号噪声,串扰和反射。

这些效应会产生信号完整性问题,导致信号电压波动和变化,如果严重就会导致信号失真错误。

提取寄生参数进行再次的分析验证,分析信号完整性问题是非常重要的。

工具 : Synopsys的Star-RCXT。


DFT

DFT : Design For Test,可测性设计。
芯片内部往往都自带测试电路,DFT的目的就是在设计的时候 就考虑将来的测试。
在设计中插入 DFT 逻辑的额外逻辑,以帮助 IC 的后期生产测试以识别制造缺陷。

DFT的常见方法就是,在设计中插入扫描链,将非扫描单元(如寄存器)变为扫描单元。
关于DFT,有些书上有详细介绍,对照图片就好理解一点。

DFT工具Synopsys的DFT Compiler



硅前验证

硅前验证是在将设计发送到制造之前在硬件中验证设计的过程。
它可以验证高风险或新开发的 IP,并节省重新旋转 IC 的成本。
可以使用仿真器或 FPGA 执行硅前验证。


好处:

  • 与模拟环境相比非常快
  • 可以探测一组有限的内部信号以进行调试
  • 可以在流片之前验证软件和应用级场景

限制:

  • 硬件很贵
  • 无法验证模拟 IP 块
  • 与真实芯片相比,系统时钟速度较慢
  • 需要多个硬件设置,尤其是在验证和软件团队分布在多个地理位置的情况下

硅后验证

硅后验证 : 通过测试仪的样品在真实环境中进行验证。

在硅后验证中,使用计算机上的软件工具配置 IC,并将测试代码下载到 IC 中。
预期的输出受到监控,IC 的所有功能都得到验证。下图描述了验证后设置:

IC种类繁多,每种IC都有一定的特点:可编程或不可编程,有无处理器,高速或低速,紧凑或笨重。

设计、制造和测试 IC 的过程是复杂而详尽的。
主要贡献者是设计和验证团队、IP 供应商和 IC 制造商。
高级 EDA 工具在减少与 IC 设计周期相关的时间和精力方面发挥着至关重要的作用。


版图物理验证

对完成布线的物理版图进行功能和时序上的验证,验证项目很多,如LVS(Layout Vs Schematic)验证,简单说,就是版图与逻辑综合后的门级电路图的对比验证;
DRC(Design Rule Checking):设计规则检查,检查连线间距,连线宽度等是否满足工艺要求,
ERC(Electrical Rule Checking):电气规则检查,检查短路和开路等电气 规则违例;等等。

工具为Synopsys的Hercules。

这一环节是对完成布线的物理版图进行功能和时序上的验证,大概包含以下方面:

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

实际的后端流程还包括电路功耗分析,以及随着制造工艺不断进步产生的DFM(可制造性设计)问题等。
物理版图以GDSII的文件格式交给芯片代工厂(称为Foundry)在晶圆硅片上做出实际的电路。


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

物理版图验证完成也就是整个芯片设计阶段完成,下面的就是芯片制造了。物理版图以GDS II的文件格式交给芯片代工厂(称为Foundry)在晶圆硅片上做出实际的电路,再进行封装和测试,就得到了我们实际看见的芯片。


EDA 工具介绍

EDA : Electronics Design Automation

EDA 厂商:

  • Synopsys
  • Cadence
  • Mentor

工具:
前端
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


职业岗位安排

  • 架构师
    算法工程 事先所用算法
  • 芯片设计工程师
    选定算法,描述成 RTL
  • 芯片验证工程师
    根据上面选定的算法,设计 测试向量,对 RTL 做功能、效能验证
  • 数字实现工程师
    根据算法工程师 和 设计工程师 设定的目标 PPA 将 RTL 揉搓成 GDS

芯片 生产由于太过复杂,完全交由代工厂完成,封装也是


相关资源

  • 图解入门 半导体制造工艺基础精讲
  • 图解入门 半导体制造设备基础与构造精讲

电路

  • 半导体器件物理
    纳米CMOS集成电路-从基本原理到专用芯片的实现
  • 集成电路版图基础-实用指南
  • 纳米CMOS集成电路 从基本原理到专用芯片的实现

数字电路

  • Cmos数字集成电路分析与设计
  • 超大规模集成电路与系统导论
  • 数字集成电路-电路、系统与设计

模拟电路

  • CMOS集成电路设计手册模拟电路篇
  • CMOS模拟集成电路设计
  • 模拟CMOS集成电路设计
  • 模拟电路版图的艺术

综合方面:

  • 高级ASIC芯片综合

其他

  • 先进半导体存储器
  • 手把手教你设计CPU:RISC-V处理器
  • 《Verilog数字系统设计教程》-- 夏宇闻
    进阶 SystemVerilog
    《SystemVerilog验证》

视频教程

  • 【西安电子科技大学】《 数字电路与逻辑设计》任爱锋(64讲全)
    https://www.bilibili.com/video/BV1NE411r7dr
  • 【东南大学】数字信号处理(吴镇扬)65集全
    https://www.bilibili.com/video/BV1rE41127ha

工具

  • Iverilog : Verilog simulations
    https://hdlbits.01xz.net/wiki/Iverilog

基础科普

  • 一图看懂芯片设计制造全流程
    https://mp.weixin.qq.com/s?__biz=MzI0OTk0ODEzOA==&mid=2247484829&idx=1&sn=913a156a5b1134aa77d113210a63f1e5&chksm=e988f718deff7e0eaf71d66a69bd64ed600eb9363ff5a87cdf8690f06231a8b106aea1e6d6a5&mpshare=1&scene=1&srcid=1126AO7dS3b07L7F2fF4v3WE&sharer_shareinfo=111e4cbc198e2ab3f29923aa045f992a&sharer_shareinfo_first=111e4cbc198e2ab3f29923aa045f992a&version=4.1.12.90801&platform=mac#rd

伊织 2023-11-29(三)


https://www.xjx100.cn/news/3118745.html

相关文章

【论文学习】机器学习模型安全与隐私研究综述

机器学习在数据层、模型层以及应用层面临的安全和隐私威胁,呈现出多样性、隐蔽性和动态演化的特点。 应用领域:计算机视觉、自然语言处理、语音识别等 应用场景:自动驾驶、人脸识别、智慧医疗等 Key words: machine learning; poisoning atta…

后端Java日常实习生面试(七牛云2023年11月14日)

面试岗位为:Java 后端开发实习生 面试时长:60分钟 面试时间:2023年11月14日 首先做一下简单的自我介绍吧面试官说先来说一下 Java 基础吧 多态了解吗?(了解,一个行为有不同的表现形式) 知道…

ffmpeg 把mp4文件中某段视频转成gif文件

一 缘起背景: 有视频文件转gif动图的需求;网上下载的转换工具需要注册会员、否则带水印,还限制时长。 二 工具环境: win10 下 dos 操作 ffmpeg 三 操作命令: ffmpeg -i test.mp4 -ss 00:01:01 -t 00:00:19 -vf &q…

版本控制系统Git学习笔记-Git基本知识介绍

目录 前言一、版本控制系统1.1 什么是版本控制系统1.2 本地版本控制系统1.3 集中化的版本控制系统1.3 分布式版本控制系统 二、Git简介2.1 数据处理方式2.2 几个特点2.2.1 几乎所有操作都是本地执行2.2.2 Git保证完整性2.2.3 Git一般只添加数据 2.3 Git中文件状态2.3.1 三种文件…

orvibo旗下的VS30ZW网关分析之一

概述 从官网的APP支持的智能中枢来看,一共就两种大类: MixPad系列和网关系列 排除MixPad带屏网关外,剩余的设备如下图: 目前在市场上这四种网关已经下市,官方已经宣布停产。所以市场上流通的也几乎绝迹。 从闲鱼市场上可以淘到几个,拿来分析一下,这里我手头有如下的两…

大数据Hadoop-HDFS_架构、读写流程

大数据Hadoop-HDFS 基本系统架构 HDFS架构包含三个部分:NameNode,DataNode,Client。 NameNode:NameNode用于存储、生成文件系统的元数据。运行一个实例。 DataNode:DataNode用于存储实际的数据,将自己管理…

Linux下各种字符编码进行转码

支持各种编码相互转换 具体 iconv --list 可以查看 支持的转码格式 1.代码实现 #include <iostream> #include <iconv.h> #include <cstring>int iconv_convert(const char *inCharset, const char *outCharset, char *inbuf, unsigned int inlen, char *o…

聚焦清晰度评价指标所用到的各种算法

首先&#xff0c;我想吐槽一下&#xff0c;看了好几篇聚焦评价函数的文章&#xff0c;说到底都是一篇文章转载或者重复上传&#xff0c;介绍了将近 15 种清晰度的算法&#xff0c;原文找了半天都没找到在哪&#xff0c;最多也仅能找到一些比较早的转载。 无参考图像的清晰度评…