“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的硬件实现
首先我们都知道BSCAN是一种用于测试和验证集成电路的技术。在集成电路中,有许多引脚(pins) 用于与其他器件进行通信和连接。BSCAN 通过在芯片引脚之间添加可控的扫描链(Scan Chain) ,使得我们能够在测试和调试时以串行方式访问每个芯片引脚。如下图
电路板的日益复杂和surface mount technologies(表面贴装技术)等技术的转变导致系统设计师们达成一致,采用了一种统一的基于扫描的方法,称为边界扫描(boundary scan) ,用于在电路板(任何系统)级别上测试芯片。
假设你在设计一个SoC,其中涉及许多引脚用于连接不同的子系统。使用边界扫描,你可以测试这些引脚之间的连通性。例如,你可以加载一个测试模式,通过观察TDO信号,检查引脚是否按预期连接,是否存在开路或短路问题。
在芯片制造过程中,可能会出现一些未预料的故障,例如焊接问题或晶体管故障。通过加载适当的测试模式,你可以观察故障信号在扫描链上的传播路径,从而精确定位故障的位置,加速故障排除过程。
在芯片设计的早期阶段,你可以使用边界扫描来验证芯片的基本逻辑功能。通过加载测试模式,观察输出是否与预期相符,以验证芯片的功能性。
假设你遇到了一些奇怪的硬件问题,如时序问题或逻辑错误。通过在扫描链上加载特定的测试模式,你可以观察信号在芯片内部的传播路径,有助于理解信号的行为,从而更有效地进行硬件调试。
在多芯片系统中,边界扫描可以用于测试不同芯片之间的连接性。通过将多个芯片的边界扫描链连接在一起,你可以检测引脚和信号在整个系统中的传输情况。
总之,边界扫描在SoC设计验证中是一项强大的工具,可以帮助芯片验证工程师在不同阶段进行测试、调试和验证,从而提高芯片的质量和可靠性。
边界扫描的核心思想是在SoC芯片的引脚周围添加一个可控的扫描链,将芯片内部的逻辑电路与扫描链相连。这个扫描链由一系列的Scan Cells (扫描单元)组成,每个扫描单元可以存储一个比特的数据。通过操控TAP(Test Access Port) 控制器,我们可以在扫描链上加载测试模式,然后观察测试模式在芯片内部的传播路径,从而实现测试、调试和验证。
没错,下面就要详细介绍一下我们的主角TAP了!
TAP控制器是边界扫描的核心,它负责管理扫描链的操作。TAP控制器通过四个或个基本信号进行操作测试访问端口。
不过一般我们用到前面四个就够了,下面是一个基本的TAP架构图。
下面我们就按照这张图剖析一下TAP的组成部分。
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状态等。
指令寄存器用于存储和加载TAP控制器的指令。在测试和调试过程中,可以通过加载不同的指令来控制芯片的操作。指令寄存器的位数决定了可以定义的不同指令数量,从而支持多种测试模式和操作。
测试数据寄存器用于存储测试模式数据,它是扫描链(Scan Chain)的一部分。测试数据可以被输入到芯片进行测试,也可以从芯片中读取出来作为测试结果。测试数据寄存器又分为不同的子寄存器,包括边界扫描寄存器、旁路寄存器和TDO驱动器。
边界扫描寄存器是边界扫描技术的关键,用于在芯片的引脚之间插入可控的测试逻辑。它允许在芯片的输入和输出之间插入额外的逻辑电路,以便执行连通性测试、故障定位等操作。边界扫描寄存器存储了扫描链上的测试模式数据,可以通过TAP控制器进行加载和读取。
旁路寄存器用于绕过边界扫描逻辑,将芯片的输入直接连接到输出。当不需要执行边界扫描时,可以通过加载指令将旁路寄存器中的数据传递给TDO输出,从而绕过边界扫描逻辑。
TDO驱动器用于控制TDO输出信号的驱动。在扫描链操作期间,TDO驱动器负责将测试模式数据从边界扫描寄存器或旁路寄存器传递到TDO输出。TDO驱动器还可以根据TAP控制器的状态控制TDO输出信号的开关。
这些组成部分共同构成了TAP结构,使得边界扫描技术成为一种强大的芯片测试和验证工具,为集成电路设计和制造过程提供了可靠的测试手段。下图展示一个完整的Boundary SCAN。
Boundary SCAN作为现代芯片设计验证领域的重要工具,为芯片工程师提供了强大的测试和调试手段。它通过TAP控制器、扫描链和测试模式生成器的协同工作,实现了对芯片内部功能和连通性的全面测试。
联系客服