欢迎光临专业集成电路测试网~~欢迎加入IC测试QQ群:111938408

专业IC测试网

当前位置: 网站主页 > 测试理论 >

边界扫描-Boundary Scan技术及其在芯片测试中的应用

时间:2023-08-20 10:39来源:SJ66 长点芯 作者:ictest8_edit 点击:

 

前言:

在芯片设计与制造的过程中,确保芯片的质量和可靠性是至关重要的。边界扫描(Boundary Scan) 技术作为一种强大的芯片测试和验证工具,广泛应用于现代芯片设计中。本篇文章将介绍边界扫描技术的基本原理、构成要素以及在芯片测试和硬件调试中的应用。下文简称BSCAN
本篇文章主要分为两个部分:
一:Boundary Scan的基本概念及应用
二:Boundary Scan的硬件实现



一:Boundary Scan的基本概念及应用

-> 什么是Boundary SCAN?

首先我们都知道BSCAN是一种用于测试和验证集成电路的技术。在集成电路中,有许多引脚(pins) 用于与其他器件进行通信和连接。BSCAN 通过在芯片引脚之间添加可控的扫描链(Scan Chain) ,使得我们能够在测试和调试时以串行方式访问每个芯片引脚。如下图
 

-> BSCAN诞生的契机是什么呢?

电路板的日益复杂和surface mount technologies(表面贴装技术)等技术的转变导致系统设计师们达成一致,采用了一种统一的基于扫描的方法,称为边界扫描(boundary scan) ,用于在电路板(任何系统)级别上测试芯片。

-> BSCAN为芯片验证带来了什么?

1. 连通性测试:
假设你在设计一个SoC,其中涉及许多引脚用于连接不同的子系统。使用边界扫描,你可以测试这些引脚之间的连通性。例如,你可以加载一个测试模式,通过观察TDO信号,检查引脚是否按预期连接,是否存在开路或短路问题。
2.故障定位:
在芯片制造过程中,可能会出现一些未预料的故障,例如焊接问题或晶体管故障。通过加载适当的测试模式,你可以观察故障信号在扫描链上的传播路径,从而精确定位故障的位置,加速故障排除过程。
3.逻辑验证:
在芯片设计的早期阶段,你可以使用边界扫描来验证芯片的基本逻辑功能。通过加载测试模式,观察输出是否与预期相符,以验证芯片的功能性。
4.硬件调试:
假设你遇到了一些奇怪的硬件问题,如时序问题或逻辑错误。通过在扫描链上加载特定的测试模式,你可以观察信号在芯片内部的传播路径,有助于理解信号的行为,从而更有效地进行硬件调试。
5.芯片级联测试:
在多芯片系统中,边界扫描可以用于测试不同芯片之间的连接性。通过将多个芯片的边界扫描链连接在一起,你可以检测引脚和信号在整个系统中的传输情况。
总之,边界扫描在SoC设计验证中是一项强大的工具,可以帮助芯片验证工程师在不同阶段进行测试、调试和验证,从而提高芯片的质量和可靠性。



二:Boundary Scan的硬件实现

边界扫描的核心思想是在SoC芯片的引脚周围添加一个可控的扫描链,将芯片内部的逻辑电路与扫描链相连。这个扫描链由一系列的Scan Cells (扫描单元)组成,每个扫描单元可以存储一个比特的数据。通过操控TAP(Test Access Port) 控制器,我们可以在扫描链上加载测试模式,然后观察测试模式在芯片内部的传播路径,从而实现测试、调试和验证。
没错,下面就要详细介绍一下我们的主角TAP了!
TAP控制器是边界扫描的核心,它负责管理扫描链的操作。TAP控制器通过四个或个基本信号进行操作测试访问端口。
· TCK(Test Clock):用于控制扫描链的时钟信号。
· TMS(Test Mode Select):用于控制TAP控制器状态机的状态切换。
· TDI(Test Data Input):用于将数据加载到扫描链中。
· TDO(Test Data Output):用于从扫描链读取数据。
· TRST(Test Reset):用于异步复位TAP控制器,如果芯片没有自动生成上电复位信号的话。
不过一般我们用到前面四个就够了,下面是一个基本的TAP架构图。
 
 下面我们就按照这张图剖析一下TAP的组成部分。

1. TAP控制器(TAP Controller):

TAP控制器是TAP的核心,负责控制扫描操作的状态转换和时序。它通过TCK(Test Clock)、TMS(Test Mode Select)、TDI(Test Data Input)和TDO(Test Data Output) 等信号,实现从一个状态到另一个状态的转换,以便执行不同的操作,如扫描测试数据或读取测试结果。TAP控制器按照JTAG(Joint Test Action Group) 标准定义了一组状态,如Test-Logic-Reset状态、Run-Test/Idle状态等。
 

2.指令寄存器(Instruction Register):

指令寄存器用于存储和加载TAP控制器的指令。在测试和调试过程中,可以通过加载不同的指令来控制芯片的操作。指令寄存器的位数决定了可以定义的不同指令数量,从而支持多种测试模式和操作。
 

3. 测试数据寄存器(Test Data Register):

测试数据寄存器用于存储测试模式数据,它是扫描链(Scan Chain)的一部分。测试数据可以被输入到芯片进行测试,也可以从芯片中读取出来作为测试结果。测试数据寄存器又分为不同的子寄存器,包括边界扫描寄存器、旁路寄存器和TDO驱动器。
 

3.1. 边界扫描寄存器(Boundary Scan Register):

边界扫描寄存器是边界扫描技术的关键,用于在芯片的引脚之间插入可控的测试逻辑。它允许在芯片的输入和输出之间插入额外的逻辑电路,以便执行连通性测试、故障定位等操作。边界扫描寄存器存储了扫描链上的测试模式数据,可以通过TAP控制器进行加载和读取。
 

3.2. 旁路寄存器(Bypass Register):

旁路寄存器用于绕过边界扫描逻辑,将芯片的输入直接连接到输出。当不需要执行边界扫描时,可以通过加载指令将旁路寄存器中的数据传递给TDO输出,从而绕过边界扫描逻辑。
 

3.3. TDO驱动器(TDO Driver):

TDO驱动器用于控制TDO输出信号的驱动。在扫描链操作期间,TDO驱动器负责将测试模式数据从边界扫描寄存器或旁路寄存器传递到TDO输出。TDO驱动器还可以根据TAP控制器的状态控制TDO输出信号的开关。
 
这些组成部分共同构成了TAP结构,使得边界扫描技术成为一种强大的芯片测试和验证工具,为集成电路设计和制造过程提供了可靠的测试手段。下图展示一个完整的Boundary SCAN。
 

结语

Boundary SCAN作为现代芯片设计验证领域的重要工具,为芯片工程师提供了强大的测试和调试手段。它通过TAP控制器、扫描链和测试模式生成器的协同工作,实现了对芯片内部功能和连通性的全面测试。
 
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名: 验证码: 点击我更换图片