基于JTAG标准的边界扫描测试技术的分析

(整期优先)网络出版时间:2024-01-19
/ 2

基于JTAG标准的边界扫描测试技术的分析

张亮

惠州西文思技术股份有限公司    516001

摘要在电路设计的早期阶段,设计人员就已经开始考虑测试问题。一般情况下,电路设计人员在产品开发过程中就开始考虑测试问题,并在设计阶段就进行了各种测试算法和工具的开发。但是在实际生产中,测试是一个十分复杂和困难的问题,而且随着集成电路的规模不断扩大,测试时间也越来越长,特别是系统级故障定位和隔离的复杂性越来越高。为了解决这些问题,我们提出了边界扫描技术。边界扫描技术是一种重要的故障定位和隔离技术。它结合了自动测试系统(ATS)和边界扫描(BS)技术的优点。

关键词JTAG标准;边界扫描;测试技术

引言:随着集成电路的迅速发展,电子系统的规模和复杂度不断增加,对测试的速度和效率提出了更高要求。边界扫描测试技术是一种新兴的电子系统测试方法,它结合了自动测试系统(ATS)和边界扫描测试(BS)的优点,解决了大规模电路测试中的诸多问题,是电路设计人员和产品开发人员必须掌握的重要技术。

一、技术概述

  边界扫描(BoundaryScanner)是一种基于测试向量(Viterbi)技术的边界扫描测试技术。它主要用于边界内的功能测试,其中边界内功能测试是指对被测设备或电路中的各部件进行全面测试,包括逻辑测试、时序测试、数据存储测试、功能特性测试和物理特性测试。在边界扫描的过程中,被测设备或电路与控制器之间将不存在直接的物理连接,从而使得控制器不能直接控制被测设备的状态。在这种情况下,控制器需要通过访问控制端口来获取被测设备或电路的状态信息,然后再通过控制器向被测设备发送控制信息,从而完成对被测设备或电路的功能控制。[1]

二、基于 JTAG标准的边界扫描技术

  在系统级测试中,我们发现,硬件资源的消耗与电路故障有关。因此,在实现边界扫描之前,必须分析系统中的故障,并选择适当的扫描策略。同时,边界扫描测试对电路设计要求高。根据 JTAG标准,边界扫描测试是一种动态测试方法。它不仅可以用于传统的静态测试,还可以用于动态测试。与传统的静态测试相比,动态测试具有以下优点:(1)减少了测试时间和功耗;(2)增加了电路设计的灵活性;(3)在不影响电路性能的情况下提高了系统级故障定位的能力。然而,边界扫描测试也有其缺点。首先,由于电路本身的复杂性和可测试性,边界扫描测试在系统级故障定位时存在局限性。其次,当电路中存在大面积故障时,边界扫描测试需要较长的扫描时间。最后,在实现复杂电路的边界扫描时,需要更多的硬件资源。为了解决上述问题,我们提出了基于 JTAG标准的边界扫描测试技术。该技术首先利用 JTAG标准编写一个可编程逻辑器件(CPLD)作为边界扫描控制器和接口芯片(BIST)之间的通信协议,然后利用 CPLD芯片提供的 IP核在外围电路中实现 JTAG标准规定的边界扫描功能。其中 IP核可以采用外部 IP核或者内部 IP核来实现。在具体实现过程中,我们利用 Xilinx公司推出的 FPGA平台来构建一个基于 JTAG标准的边界扫描系统。

三、边界扫描设计结构

  边界扫描是指对被测电路的边界进行扫描,并根据边界的状态输出相应的测试信号,从而完成对被测电路的故障诊断。其设计结构主要有以下几个特点:1.每个被测电路都有一个独立的测试点,其测试点由 ATS和 BS组成;2.被测电路具有一定的可测试性,可以被多个 BS扫描,从而使测试过程得到简化;3.边界扫描过程中,采用了 JTAG协议,将测试结果通过 JTAG接口传输到服务器端,利用 JTAG协议接收并解析被测电路的边界扫描信息,并进行相应的处理和输出。4.采用 JTAG协议作为数据传输接口,实现了对被测电路边界扫描信息的高效传输。JTAG协议是由美国国家仪器公司(NI)提出的一种数字电路测试和故障诊断协议。它是一个标准数据链路传输协议,旨在建立一个连接测试设备与被测电路之间的统一接口。它将被测电路与外部硬件连接起来,并通过标准数据链路传输协议向测试设备发送和接收数据。JTAG协议支持多个测试点同时对多个被测电路进行扫描。在这种情况下, JTAG协议能够使被测电路之间实现良好的隔离和互连;通过 JTAG协议,可以实现被测电路与外部设备之间的数据交换,从而简化了测试过程。[2]

四、测试接口设计

  测试接口是一个被测系统与测试系统之间的连接。由于系统具有不同的功能,所以测试接口是多种多样的。测试接口分为两种类型:直接连接和间接连接。直接连接是指被测系统和测试系统之间直接进行数据传输。这种方式对系统的实时性要求很高,但是在这种情况下,必须保证测试接口与被测系统之间的通信不会受到数据传输速度的影响。间接连接是指通过其它设备(如可编程逻辑控制器)来实现数据传输,从而实现被测系统和测试系统之间的通信。这种方式不受数据传输速度的影响,而且在数据传输速度方面更灵活。由于直接连接和间接连接具有不同的优点,所以通常采用直接连接方式。在直接连接方式中,被测系统和测试系统通过外部设备(如可编程逻辑控制器)进行通信。这种方式的缺点是比较复杂,并且由于接口不同,所以数据传输速度会受到一定影响。但是由于在直接连接方式中,被测系统和测试系统之间没有任何通信手段,所以这两个设备之间的通信效率比较高。这种方式简单方便,而且不需要特定的接口,所以可以作为直接连接和间接连接之间的中间形式。在间接连接方式中,数据传输速度比较快,而且也不受接口不同的影响。

五、测试向量生成算法

  从算法的角度看, JTAG测试向量生成算法分为两个步骤:选择和生成。选择是从被测电路的所有可能路径中选择合适的路径,并通过选择规则生成一个测试向量;生成是从被测电路中选择测试向量,并将其转换为 JTAG信号。在电路设计过程中,测试向量的生成是一项非常重要的工作,这将决定测试的效率和准确性。测试向量生成算法的一般步骤如下:(1)定义待测电路的边界条件;(2)计算待测电路各路径上对应的输入状态概率;(3)根据输入状态概率和边界条件,计算各路径上对应的边界条件概率;(4)根据边界条件概率计算各个路径上对应的测试向量;(5)将已确定的测试向量转换为 JTAG信号。从测试向量生成算法的角度看,可以分为两个步骤:1.通过选择规则生成一个测试向量,并将其转换为 JTAG信号;2.在电路设计过程中,选择合适的路径作为测试向量,并将其转换为 JTAG信号。这两个步骤是相辅相成、相互促进的。在电路设计过程中,选择规则是 JTAG信号生成的基本方法;在电路设计过程中,选择规则是 JTAG信号生成的有效方法。

六、故障定位方法

  边界扫描故障定位的目的是为了找到故障发生在哪里,而不是找到故障源。它通过向测试端发送一个激励信号来执行测试,该信号具有边界扫描的特点,因此可以对整个系统进行全面的诊断。通常,在故障定位中使用边界扫描技术。当检测到某一故障时,测试端通过发送激励信号来触发被测器件,从而进行诊断。此外,测试端可以通过测试向量来定位故障,例如根据输入的电压、电流或频率进行定位。同时,根据输出的电压、电流或频率可以确定故障的位置。在实际生产中,可以根据需要选择边界扫描测试技术。然而,由于边界扫描技术具有非常复杂的特点,因此需要通过测试向量来实现故障定位。通常,被测器件的激励信号以测试向量的形式发送给边界扫描测试端。[3]

总结:本文介绍了边界扫描技术的基本概述并对其测试方法进行了分析。随着集成电路规模的不断扩大和复杂度的提高,边界扫描测试技术也将得到更加广泛的应用,它可以对大规模集成电路进行有效、快速、准确地诊断与隔离故障,为电路设计人员和产品开发人员提供了新的选择。

参考文献:

[1]程杰. 基于边界扫描测试链路的故障注入软件设计与实现[D]. 电子科技大学, 2021.

[2]王原. 数模混合电路边界扫描测试软件的设计与实现[D]. 电子科技大学, 2021.

[3]吴鸿伟. 基于IEEE1149.4混合边界扫描链路设计及测试验证[D]. 电子科技大学, 2020.