打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

“Unexpressed emotions will never die. They are buried alive and will come forth later in uglier ways”——Sigmund Fredud


前言:

在芯片设计与制造的过程中,确保芯片的质量和可靠性是至关重要的。边界扫描(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控制器、扫描链和测试模式生成器的协同工作,实现了对芯片内部功能和连通性的全面测试。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
在通用CPU芯片中采用DFT技术的前沿课题
JTAG电路设计规范
JTAG到底是什么?如何确定JTAG好坏?
JTAG和JTAG链,JTAG边界扫描
Asic设计学习总结之可测性设计及书籍推荐
10.1.1 一些基本概念 - 51CTO.COM
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服