集成电路边界扫描测试系统中测试方式选择模块的电路设计
2016-09-26潘中良
陈 翎,潘中良
(华南师范大学物理与电信工程学院,广东 广州510006)
集成电路边界扫描测试系统中测试方式选择模块的电路设计
陈 翎,潘中良
(华南师范大学物理与电信工程学院,广东 广州510006)
集成电路规模的不断增加,使测试的开销在产品总成本中所占的比重越来越大,测试的过程更为复杂,因此对电路芯片需要采用边界扫描测试进行可测性设计。对边界扫描控制器中的测试方式选择TMS模块的功能进行了详细说明,给出了该模块的电路设计方法与步骤。通过与测试软件的结合,能检测芯片间互连线的开路故障、短路故障、固定型故障,以及芯片的内部逻辑功能是否正常。
集成电路;边界扫描;TAP控制器;测试方式选择
随着集成电路(IC)的设计与制造工艺的发展,电路的集成度不断提高,电路的规模和布线密度也迅速增大。电路芯片的内部结构日趋复杂,时钟频率已在向千兆赫兹及以上发展。大规模集成电路和芯片的应用领域不断扩大,也使得与其相关的数字系统的功能与结构越来越复杂[1,2]。
在电路芯片和印制电路板的生产过程中,为保证其可靠性,测试一直是一个重要的工艺步骤。电路中常见的故障有信号线的短路、开路、固定型故障s-a-0和s-a-1,信号线和门电路的时延故障,以及信号完整性故障等[3,4]。例如,串扰就是一种典型的信号完整性故障,它是由两条或多条信号线之间的耦合所引起的,是由一条信号线上的信号向相邻信号线产生噪声的现象。串扰根据其耦合源分为容性耦合和感性耦合两种方式,当信号在通过一条信号线时会按照这两种方式将能量耦合到相邻的信号线上。串扰对被干扰的信号线所带来的噪声主要有峰值的变化和时序的变化[5,6]。在一个电路中如果存在串扰故障,将会引起电路的时序和逻辑功能发生错误,进而对电路的性能造成影响,并导致电路的质量和可靠性的下降。
因此,随着集成电路规模的不断增加,对它的测试问题也日益尖锐起来,测试的开销在产品总成本中所占的比重越来越大,特别是对大规模数字集成电路,其测试的过程更为复杂,不能再采用传统的物理接触的针床和测试探针等来进行测试,必须在电路的设计时就考虑测试的问题,进行可测性设计[7,8]。边界扫描测试就是一种可用于电路芯片与印制电路板的可测性设计技术,能够有效地进行芯片内部的逻辑功能测试和芯片间的互连测试[9,10]。本文对边界扫描控制器中的测试方式选择TMS模块的功能进行了分析,给出了该模块的电路实现。
1 边界扫描测试的结构
边界扫描测试是针对电路芯片和印制电路板的一种可测试性设计技术,它能够实现对芯片级、电路板级,乃至系统级等不同层次的测试。它是在芯片的每一个输入/输出管脚处添加一个边界扫描单元,这种边界扫描单元是由一些寄存器所组成,通过将这些寄存器连成扫描路径,构成扫描链。
在进行测试期间,这些边界扫描单元用于控制输入管脚的状态,并读出输出管脚的状态,这样就可以检测出电路板中器件的好坏以及相互连接的正确性。在正常工作期间,这些边界扫描单元是透明的,不影响芯片和电路板的正常工作。
边界扫描测试的硬件电路结构主要包括:测试存取通道(TAP)、TAP控制器、指令寄存器、旁路寄存器、测试数据寄存器等。在硬件上在电路芯片的每个I/O引脚处添加一个边界扫描单元,以及添加一些测试控制逻辑。这些边界扫描单元位于芯片的外部引脚和芯片的内部逻辑之间,在TAP控制器的作用下,对外部引脚和内部逻辑进行信号的采集或施加测试信号。边界扫描测试的结构如图1所示。
图1 边界扫描测试的结构
测试存取通道TAP(Test Access Port)是边界扫描测试结构与外部电路的接口,它包括以下五种控制信号:测试时钟、测试方式选择、测试数据输入、测试数据输出、测试复位。
(1)测试时钟TCK(Test Clock)是用于控制边界扫描寄存器和TAP控制器的时钟。
(2)测试方式选择TMS(Test Mode Select)是用于确定被测电路中的TAP控制器的当前状态,以进行测试数据的移入与移出。当该信号有效时,IC芯片处于测试模式,否则是处于正常工作模式。
(3)测试数据输入TDI(Test Data Input)是用于边界扫描测试数据的输入,边界扫描指令和测试数据均由此进行输入。TAP控制器的状态及指令寄存器的内容决定哪个寄存器接受TDI传来的数据。在TCK的上升沿,TDI的数据装入到寄存器中。
(4)测试数据输出TDO(Test Data Output)是用于边界扫描测试数据的输出,由TAP控制器的状态和指令寄存器的内容来决定哪些寄存器用于数据的输出;TDO在TCK的下降沿改变状态,并仅在数据输出时有效,其余时间TDO均为高阻态。
(5)测试复位TRST(Test Reset)是用于边界扫描测试的逻辑复位,该信号为可选信号。当为低电平时有效,即当TRST的输入为低电平时,边界扫描测试的控制逻辑无效,芯片进入正常工作状态。
每个边界扫描单元都有两个数据通道:一个是测试数据通道,它包含测试数据输入TDI和测试数据输出TDO;另一个是常规数据通道,即常规数据的输入与输出。在常规的工作状态时,数据的输入和输出可以自由地通过每个边界扫描单元进行传送。在测试状态时,对于用作输入的IC引脚,可以从TDI输入数据;对于用作输出的IC引脚,可以从边界扫描单元输出数据至TDO.
TAP控制器是边界扫描测试的核心,它的输入信号为TCK、TMS和TRST.TAP控制器产生测试时钟信号,在它进入到相应的状态时就可以进行测试数据的移位、更新、捕获等操作。下面对TAP控制器中的测试方式选择TMS模块的硬件电路实现进行详细阐述。
2 TMS模块的电路设计
测试方式选择TMS模块的功能是确定并给出TAP控制器的当前状态、产生测试方式选择TMS信号、控制TDI模块的数据移出和TDO模块的数据移入。TMS模块的结构如图2所示。
图2 TMS模块的结构
在图2中,状态译码是对测试系统的指令在运行时的一些状态例如当前状态、工作状态、结束状态等的译码操作。测试时钟TCK对状态译码、TMS信号生成、TAP状态生成等提供时钟信息,使得能够在相应的信号状态执行特定的操作。
TMS模块的一个主要功能是给出TAP控制器的当前状态,这里TAP控制器是边界扫描测试的关键部分,它是一个同步状态机,把接收到的TMS信号和TCK信号进行译码,并产生所需要的操作控制序列,使得被测电路进入相应的测试方式。图3是TAP控制器的状态图,在图中的箭头边上的数字0或1是表示TMS信号在TCK上升沿的值。在图3中右边的分支是用于指令寄存器,左边的分支是用于数据寄存器。
图3 TAP控制器的状态图
当被测电路处于边界扫描测试模式时,TAP控制器根据指令选择一种寄存器,该寄存器中的每个单元在TAP控制器的作用下进行数据移位、输出数据、锁存数据等各种操作。
TAP控制器有如下的多个稳定状态:测试逻辑复位(Test-Logic-Reset),运行测试/空闲(Run-Test/ Idle),数据寄存器移位(Shift-DR),数据寄存器暂停(Pause-DR),指令寄存器移位(Shift-IR),指令寄存器暂停(Pause-IR)。对TAP控制器的状态转换,当TMS为高电平时只有测试逻辑复位这一种稳定状态;当TAP控制器处于其他状态时,通过设定TMS信号为高电平,就可以在五个测试时钟TCK的时间内返回到测试逻辑复位这种状态。当需要对被测电路进行测试时,在TCK和TMS信号的控制下,使得TAP控制器跳出测试逻辑复位状态,并通过选择数据寄存器扫描(Select-DR-Scan)或选择指令寄存器扫描(Select -IR-Scan)而进入到图3所示的各种状态。
对两个分支即选择数据寄存器扫描和选择指令寄存器扫描中的状态的操作过程是类似的。对选择数据寄存器扫描,第一步是捕获数据,是把数据并行地加载到相应的串行数据通道中,然后TAP控制器从捕获状态(Capture-DR)进入到移位状态(Shift -DR)或退出1状态(Exit1-DR)。随后,TAP控制器可以通过退出1状态而进入到更新状态(Update-DR)或暂停(Pause-DR)状态。当在更新状态时,移入扫描通道的数据被输出;当在暂停状态时,对数据的移位被暂时停止,这时可以对数据寄存器重新加载测试矢量。当跳出Pause-DR状态之后,就进入到退出2状态(Exit2-DR),然后通过该状态可以再次进入移位状态或更新状态,或回到运行测试/空闲(Run -Test/Idle)状态。只要TMS信号保持为逻辑0,则TAP控制器就处于运行测试/空闲状态。
对被测电路进行测试的第一步是装入一条指令,此时必须进入到选择指令寄存器扫描这一分支,为了从运行测试/空闲状态进入到该分支,需要两个TCK时钟脉冲,同时TMS必须保持在逻辑1.当TAP控制器处于该分支时,被测电路中的指令寄存器被串行连接起来,并被连接在TDI与TDO管脚之间;对紧接着的两个TCK时钟脉冲,并使TMS为逻辑0,就能进入到捕获指令寄存(Capture-IR)状态,随后可进入到移位指令寄存(Shift-IR)状态。这里,只要TAP控制器处于移位指令寄存状态且TMS保持为逻辑0时,在多个TCK时钟脉冲的时间内,移位操作可以连续进行。若把TMS再次设置为逻辑1,则移位过程结束,进入到退出1状态(Exit1-IR),然后可进入更新指令寄存(Update-IR)状态。在更新指令寄存状态,将TMS设置为逻辑0时,就回到运行测试/空闲状态;将TMS设置为逻辑1时,就进入到选择数据寄存器扫描这个状态。
在对TMS模块进行硬件电路设计时,首先需要对TAP控制器的状态进行编码,以把当前的状态值锁存到寄存器中。表1是TAP控制器的状态的一种编码方式。
表1 TAP控制器的状态编码
其次,TMS模块的电路结构主要是由一个FIFO缓存、TAP状态机和TAP状态寄存器三部分组成。这里的FIFO缓存用于存储多条测试命令,例如,对整个边界扫描进行复位操作的命令,进行数据移位的命令,进行指令移位的命令等。这些命令是通过电路的JTAG接口进行测试时使用的测试命令,是由被测电路的生产商在出厂时就已经定义好的,因此可直接使用。通过不断地对FIFO缓存中的命令进行读取并执行,每执行完一条命令后,再从FIFO中取出下一条命令,直到FIFO为空。
TMS模块中的TAP状态机依据当前所输入和执行的这条命令,来进行状态转移,并根据对应的状态来产生并输出相应的TMS信号。例如,当执行的命令是复位命令Reset时,则TMS信号是连续输出5个TCK周期长度的高电平,使被测电路进入TAP的测试逻辑复位状态;当执行的命令是数据移位命令时,则TMS信号是TDO使能信号,使TDO模块进行移位操作。TMS模块中的TAP状态寄存器的作用是将当前的状态值锁存到寄存器中,以供其它的电路模块查询当前的TAP状态并在此基础上通过一定的途径来改变TAP的后续状态。
使用如上的TMS模块的电路结构,采用FPGA设计了一个边界扫描控制器,如图4所示。对边界扫描控制器的USB总线,采用USB芯片CY7C68013A来实现,以完成边界扫描控制器与微型计算机之间的通信。对边界扫描控制器的其它部分,采用FPGA芯片EP2C8Q208C8N来实现,通过该控制器对微型计算机传来的测试命令与测试数据进行相应的时序转换,实现对被测电路的边界扫描测试,即完成操作指令与测试矢量的施加,对测试响应的捕获,对故障与测试结果的分析等。
图4 边界扫描控制器的结构
在图4中,锁相环模块是对输入时钟信号进行倍频,供FPGA芯片内的各个模块使用。接口模块是完成与USB芯片的通信,通过使用上位机(微型计算机)上的测试程序来实现对边界扫描控制器的测试过程的控制与测试结果的传送。测试时钟TCK模块是实现可变频率的测试时钟信号,测试方式选择TMS模块是根据所输入的命令和TAP状态,来产生TMS信号以及产生对TDO和TDI模块的控制信号。测试数据输出TDO模块实现对FIFO缓存中数据的并串转换,并按照TMS的指示来完成数据的输出。测试数据输入TDI模块实现对TDI输入信号的采样,并在TMS模块的控制下完成串并转换,并进行保存。
3 实验结果
用C++语言编制了边界扫描的测试软件,该软件由如下模块组成:电路结构处理、电路网表结构分析、完备性测试、互连测试、芯片内部功能的测试、测试结果输出等。该软件在微型计算机上运行,通过与边界扫描控制器的结合,实现了对被测电路的整个测试过程。
为验证边界扫描测试系统的性能,设计了一个被测电路板,在该板上主要有如下六个芯片:EP1C3T144、EPM7064AET44、四个SN74LVTH182512.把这六个芯片通过边界扫描测试总线中的TCK、TMS、TDI和TDO等进行连接。同时,在它们的互连线上设置了开路、短路、固定型s-a-0和s-a-1等多种类型的故障。
实验结果说明,所设计的边界扫描测试系统,能检测芯片的内部逻辑功能是否正常,能够检测芯片间互连线的开路故障、短路故障、固定型故障s-a-0 和s-a-1等多种类型的故障。
4 结束语
边界扫描测试能够对电路芯片的内部逻辑功能以及芯片间互连线的故障进行检测,可以有效地提高电路芯片和印制电路板的可靠性。在进行边界扫描控制器的设计时,测试方式选择TMS模块对整个测试过程起主要作用。本文对TMS模块的功能进行了详细阐述,给出了对它的电路实现方法。
[1]潘中良.系统芯片SoC的设计与测试[M].北京:科学出版社,2009.
[2]陈光禹,潘中良.可测性设计与技术[M].北京:电子工业出版社,1997.
[3]W.Dghais,J.Rodriguez.New multiport I/O model for poweraware signal integrity analysis[J].IEEE Trans.on Components Packaging&Manufacturing Technology,2016,6(3):447-454.
[4]B.A.Khaled,N.C.Roda,G.Ali.RF performance of SOI CMOS technology on commercial 200-mm enhanced signal integrity high resistivity SOI substrate[J].IEEE Trans.on Electron Devices,2014,61(3):722-728.
[5]V.R.Kumar,A.Alam,B.Kaushik.An unconditionally stable FDTD model for crosstalk analysis of VLSI interconnects[J]. IEEE Trans.on Components,Packaging&Manufacturing Technology,2015,5(12):1810-1817.
[6]K.Karmarkar,S.Tragoudas.On-chip codeword generation to cope with crosstalk[J].IEEE Trans.on CAD,2014,33(2): 237-250.
[7]IEEE Std1149.1-2001,IEEE standard test access port and boundary-scan architecture[S].2001.
[8]F.Farnaz,N.Bahareh,T.Fatemeh.A new approach to model the effect of topology on testing using boundary scan[J].Journal of Electronic Testing,2015,31(3):301-310.
[9]L.Y.Ungar.Boundary scan as a system-level diagnostic tool [J].IEEE Instrumentation&Measurement Magazine,2013,16 (4):8-15.
[10]B.Terry.Considerations in the design of a boundary scan runtime library[J].IEEE Instrumentation&Measurement Magazine,2014,17(4):27-30.
Circuit Design of Test Mode Selection Module for Integrated Circuits Boundary Scan Testing System
CHEN Ling,PAN Zhong-liang
(School of Physics and Telecommunication Engineering,South China Normal University,Guangzhou Guangdong 510006,China)
The increasing scale of integrated circuits makes that the cost of the testing process is increasing in the proportion of the total cost of the product.The testing process of chip is more complex,therefore it is needed to adopt the boundary scan testing which is one of design for testability.The function of test mode selection module in boundary scan controller is demonstrated in this paper,the circuit design method and procedure are given.The combination of boundary scan controller and testing software can detect the open faults,bridge faults,stuck-at faults,and can detect the internal logic function of the chips.
integrated circuits;boundary scan;TAP controller;test mode selection
TN407
A
1672-545X(2016)07-0023-05
2016-04-02
广东省自然科学基金(编号:2014A030313441);广东省科技计划项目(编号:2013B090600063,2014B090901005),广州市科技计划项目(编号:201510010169)资助。
陈翎(1968-),女,四川成都人,本科,工程师,研究方向:电路与系统。