【芯片封测学习专栏 -- 2D | 2.5D | 3D 封装的区别和联系】
请阅读【嵌入式开发学习必备专栏 Cache | MMU | AMBA BUS | CoreSight | Trace32 | CoreLink | ARM GCC | CSH】
文章目录
- Overview
- 线键合(wire-bonding)封装
- FOWLP
- 2D封装
- 2.5D 封装
- 硅通孔(TSV)
- 硅中介层无TSV的2.5D
- 3D封装
Overview
我们先要了解一下,什么是芯片的“封装”。芯片从设计到生产再到消费者手中是个极其复杂的过程,设计公司做完逻辑和物理设计,将最终设计结果交给芯片代工厂。代工厂经过无数复杂的流程,最终会在一块大的晶圆上做出许许多多的小芯片。而这一个个的小芯片,则被称为“die”。为什么要叫这么一个不吉利的名字?有一种说法是说,早期芯片生产工艺水平不足,切割出的芯片良品率很低,经常就“die”了,因此,工程师们才给它取了这么一个自嘲的名字。而从这个“小道消息”中,各位读者应该能意识到,die非常非常脆弱,因此不能直接使用,需要再给它加上一层保护壳,而这个过程,就叫做“封装”。简单点说,封装技术需要将 die 固定在基板(substrate)上,然后将die上的引脚连接到芯片外壳的引脚上。

电子集成技术分为 三个层次:
- 芯片上的集成;
- 封装内的集成;
- PCB板级集成,其代表技术分别为SoC,SiP和PCB(也可以称为SoP或者SoB)。
芯片上的集成主要以2D为主,晶体管以平铺的形式集成于晶圆平面;同样,PCB上的集成也是以2D为主,电子元器件平铺安装在PCB表面,因此,二者都属于2D集成。而针对于封装内的集成,情况就要复杂的多。
电子集成技术分类的两个重要判据:
- 物理结构;
- 电气连接( 电气互连)。
目前先进封装中按照主流可分为2D封装、2.5D封装、3D封装三种类型:

在介绍 2D 封装前,我们先看下以前常用的封装方法:线键合(wire-bonding)封装 和 FOWLP。
线键合(wire-bonding)封装
最基础的封装工艺即为:引线键合(wire-bonding)封装,其整体上十分简单,就是把die正面朝上固定到基板之上,再用导线,将die的引脚和基板连接(称之为‘键合’),最后把整个芯片封装起来,密封用的材料有塑料,陶瓷等。这种封装技术的优点是生产工艺相对简单,成本较低;缺点是封装完的芯片尺寸比 die 的尺寸大许多,且芯片管脚数受限。

FOWLP
之后,随着技术的进步,又出现了“倒装”,即将die的正面朝下,提前做好焊点的技术,倒装的应用使得封装尺寸和芯片接近,并且有更多的引脚,但是随着芯片功能越来越多,I/O数量急剧增加,传统的封装已经难以满足要求。后来据此还衍生出了 Fan-Out WLP(Wafer Level Packages),也叫FOWLP技术,但是文章篇幅有限,有兴趣的读者可以自行了解。

上文中所言都是单独die的封装,一颗完整的现代芯片,单个die是远远不够的,需要将多个die封装在一起,而这之中的封装方式便是2D,2.5D,3D封装。
2D封装
2D 封装是指在 基板(substrate) 的表面水平安装所有芯片和无源器件的集成方式。以基板 (Substrate) 上表面的左下角为原点,基板上表面所处的平面为XY平面,基板法线为Z轴,创建坐标系。

- 物理结构:所有芯片和无源器件均安装在基板平面,芯片和无源器件和 XY 平面直接接触,基板上的布线和过孔均位于 XY 平面下方;
- 电气连接:均需要通过基板(除了极少数通过键合线直接连接的键合点)
台积电在2017年开发的InFO技术。InFO技术与大多数封装厂的Fan-out类似,可以理解为多个芯片Fan-out工艺的集成,主要区别在于去掉了silicon interposer,使用一些RDL层进行串连(2016年推出的iPhone7中的A10处理器,采用台积电16nm FinFET工艺以及InFO技术)。
2.5D 封装

2.5D 和3D 最本质的区别是:2.5D有中介层 interposer, 3D没有 interposer层面。

- 物理结构:芯片堆叠或并排放置在具有TSV的中介层(interposer)上,中介层提供芯片之间的连接性。
- 电气连接:通过中介层上的微型凸点(micro-bumps)和TSV实现电气互连。
- 特点:集成度较高,可以提供更高的I/O密度和更低的传输延迟,但相比3D封装,其垂直堆叠的芯片数量较少。
硅通孔(TSV)
硅通孔(Through Silicon Vias,简称TSV)是一种在硅晶圆(而不是基板或PCB上)上制作垂直贯通的微小通孔,并在通孔中填充导电材料,实现芯片内部不同层面之间的电气连接的技术。这种技术能够显著提高芯片内部的互连密度,降低信号传输延迟,提高系统的整体性能。TSV技术广泛应用于存储器、处理器、图像传感器等高性能芯片中,尤其是在3D IC封装中具有重要应用。

硅中介层无TSV的2.5D
硅中介层无TSV的2.5D集成的结构一般如下图所示,有一颗面积较大的裸芯片直接安装在基板上,该芯片和基板的连接可以采用Bond Wire或者Flip Chip两种方式,大芯片上方由于面积较大,可以安装多个较小的裸芯片,但小芯片无法直接连接到基板,所以需要插入一块中介层(Interposer),在中介层上方安装多个裸芯片,中介层上有RDL布线,可将芯片的信号引出到中介层的边沿,然后通过Bond Wire连接到基板。这类中介层通常不需要TSV,只需要通过Interposer上表面的布线进行电气互连,Interposer采用Bond Wire和封装基板连接。

3D封装
实现在3D封装的关键技术就是TSV硅通孔技术。简单来讲,TSV技术通过在芯片与芯片之间、晶圆和晶圆之间制作垂直导通,通过导电物质的填充实现硅通孔的垂直电气互联,它是目前唯一能实现垂直电互联的技术。
这种技术看上去十分完美,但是难度太高,成本太大。试想一下,在又薄又脆弱的玻璃片上打很多通孔,再把这些经过处理之后更加脆弱的芯片垒成“摩天大楼”,听着就十分困难。因此,TSV技术在1958年被威廉·肖特基(William Shockley)第一次申请专利之后,直到40多年后的21世纪才逐渐走向商用:
- 2000 年,日本分别率先研发出第一款三层堆叠的图像传感器和三层堆叠的存储器件;
- 2005 年,10 层堆叠的存储芯片被研制出来;
- 2007 年集成 TSV 的 CIS 芯片由 Toshiba 公司量产商用,同年 ST Microelectronics 和 Toshiba 一起推出 8 层堆叠的 NAND 闪存芯片;
- 2013 年第一款 HBM 存储芯片由韩国 Hynix 推出;
- 2015 年,第一款集成 HBM 的 GPU 由 AMD 推出。
3D集成和2.5D集成的主要区别在于:
- 2.5D 集成是在中介层Interposer上进行布线和打孔;
- 3D 集成是直接在芯片上打孔(TSV)和布线(RDL),电气连接上下层芯片。

物理结构:所有芯片和无源器件均位于XY平面上方,芯片堆叠在一起,在XY平面的上方有穿过芯片的TSV,在XY平面的下方有基板的布线和过孔。
电气连接:通过TSV和RDL将芯片直接电气连接
3D 集成大多数应用在同类芯片堆叠中,多个相同的芯片垂直堆叠在一起,通过穿过芯片堆叠的TSV互连,如下图所示。同类芯片集成大多应用在存储器集成中,例如DRAM Stack,FLASH Stack等。

不同类芯片的3D集成中,一般是将两种不同的芯片垂直堆叠,并通过TSV电气连接在一起,并和下方的基板互连,有时候需要在芯片表面制作RDL来连接上下层的TSV。

推荐阅读:
https://www.unibright.com.cn/industry/539.html
https://qixin.blog.csdn.net/article/details/143183140
https://www.ab-sm.com/a/23456
相关文章:
【芯片封测学习专栏 -- 2D | 2.5D | 3D 封装的区别和联系】
请阅读【嵌入式开发学习必备专栏 Cache | MMU | AMBA BUS | CoreSight | Trace32 | CoreLink | ARM GCC | CSH】 文章目录 Overview线键合(wire-bonding)封装FOWLP2D封装2.5D 封装硅通孔(TSV)硅中介层无TSV的2.5D 3D封装 Overview 我们先要了解一下&…...
从硬件设备看Linux
一、介绍 DM3730通过各种连接方式连接了各种设备,输入输出设备根据不同的类型大体可 以分为电源管理、用户输人、显示输出、图像采集、存储以及无线设备等。我们可以将DM 3730与这些设备的数据接口分为总线和单一的数据接口总线。总线的显著特点是单个总线上可以连…...
open3d+opencv实现矩形框裁剪点云操作(C++)
👑主页:吾名招财 👓简介:工科学硕,研究方向机器视觉,爱好较广泛… 💫签名:面朝大海,春暖花开! open3dopencv实现矩形框裁剪点云操作(Cÿ…...
git 本地操作
一、git.vscode 撤回本地提交 要在Git中撤销本地的最后一次提交,可以使用以下命令: git reset --soft HEAD^ 这将会撤销最后一次的提交,但是保留工作区以及暂存区的内容,方便重新提交。 如果你想完全撤销最后一次提交…...
PL/SQL语言的文件操作
PL/SQL语言的文件操作 PL/SQL(Procedural Language/SQL)是Oracle公司开发的一种过程化扩展SQL的语言,广泛应用于Oracle数据库的开发和管理。PL/SQL不仅支持SQL指令,还支持过程化编程,例如条件控制、循环控制、异常处理…...
linux lsof 和 fuser命令介绍
lsof 和 fuser 是两个在 Linux 系统中用于查看文件占用情况的重要工具。它们都可以用于查看哪些进程正在使用某些文件、设备或端口。下面是这两个命令的介绍、举例和背景。 lsof (List Open Files) 命令介绍: lsof 命令用于列出当前系统中所有打开的文件以及与之相关的进程。它…...
[Python学习日记-76] 网络编程中的 socket 开发 —— 介绍、工作流程、socket 模块用法和函数介绍
[Python学习日记-76] 网络编程中的 socket 开发 —— 介绍、工作流程、socket 模块用法和函数介绍 简介 socket 介绍 socket 的工作流程及用法 简介 前面在[Python学习日记-75] 计算机基础与网络当中介绍了一大堆基础知识之后我们终于开始进入到网络编程的开发阶段了&#x…...
vue(七) vue进阶
目录 第一课:Vue方法、计算机属性及侦听器 一、数组变化侦测 方法1:变更方法 方法2:替换一个数组 例子:小Demo:合并两个数组 二、计算属性 1.基础(不推荐) 2.使用计算属性来完成案例 3.使用函数的方…...
[Transformer] The Structure of GPT, Generative Pretrained Transformer
The Structure of Generative Pretrained Transformer Reference: The Transformer architecture of GPT models How GPT Models Work...
Django Admin 自定义操作封装
1. 为什么需要封装? 在Django开发中,我们经常需要在Admin界面添加自定义操作按钮,以便管理员执行特定的任务。通过封装,我们可以: 减少重复代码统一管理自定义操作的逻辑提高代码的可维护性和可扩展性 © ivwdcwso (ID: u012172506)2. CustomActionMixin 的实现 让我…...
http和https有哪些不同
http和https有哪些不同 1.数据传输的安全性:http非加密,https加密 2.端口号:http默认80端口,https默认443端口 3.性能:http基于tcp三次握手建立连接,https在tcp三次握手后还有TLS协议的四次握手确认加密…...
PL/SQL语言的数据库交互
PL/SQL语言的数据库交互 引言 在当今的信息化时代,数据库管理系统(DBMS)在各行各业中扮演着至关重要的角色。为了高效地与数据库进行交互,许多程序员、数据库管理员和系统分析师选择使用PL/SQL(Procedural Language/…...
亿道三防丨三防笔记本是什么意思?和普通笔记本的优势在哪里?
三防笔记本是什么意思?和普通笔记本的优势在哪里? 在现代社会中,笔记本电脑已经成为人们工作和生活中不可或缺的一部分。然而,在一些特殊行业或环境中,普通笔记本电脑由于其脆弱性和对环境条件的敏感性,往…...
从项目代码看 React:State 和 Props 的区别及应用场景实例讲解
在 React 中,state 和 props 是组件的两个重要概念,它们有不同的作用和应用场景。理解它们之间的区别对于开发 React 应用至关重要。 1. state 和 props 的区别 props (属性): props 是由父组件传递给子组件的数据或函数。props 是只读的&am…...
Vue 学习之旅:核心技术学习总结与实战案例分享(vue指令下+计算属性+侦听器)
Vue 学习之旅:核心技术学习总结与实战案例分享 文章目录 Vue 学习之旅:核心技术学习总结与实战案例分享一、指令补充(一)指令修饰符(二)v-bind 对样式操作的增强(三)v-model 应用于其…...
freertos的基础(二)内存管理:堆和栈
1. 堆(Heap) 定义 堆是 FreeRTOS 中用于动态内存分配的内存区域。FreeRTOS 提供了多种堆管理方案(如 heap_1、heap_2、heap_4 等),开发者可以根据需求选择合适的内存管理策略。 作用 用于动态分配内存,例…...
vue \n 换行不不显示
Vue 中,直接使用包含 \n 的字符串进行渲染时,换行符不会被识别为 HTML 的换行,因为 Vue 默认会将其视为普通文本。 对此提供两种解决办法 方法一:使用 v-html 指令替换 \n 为 <br> <template><div v-html"…...
GPT 系列论文精读:从 GPT-1 到 GPT-4
学习 & 参考资料 前置文章 Transformer 论文精读 机器学习 —— 李宏毅老师的 B 站搬运视频 自监督式学习(四) - GPT的野望[DLHLP 2020] 來自猎人暗黑大陆的模型 GPT-3 论文逐段精读 —— 沐神的论文精读合集 GPT,GPT-2,GPT-3 论文精读【论文精读】…...
在 Ubuntu 上安装和配置 Redis
在 Ubuntu 上安装和配置 Redis,并使用发布-订阅(Pub/Sub)功能,可以按照以下步骤进行: 一、安装 Redis 1. 更新包列表 首先,更新本地的包列表以确保获取到最新的软件包信息: sudo apt update…...
Excel中双引号问题
背景: 从Excel中读取数据时,发现有的单元格读出来是一个双引号,有的是一个双引号 "{""accountName"": ""全字段"",""accountState"": ""NORMAL"",&q…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...
