著录项信息
专利名称 | 基于可编程器件的动态边界扫描链路测试方法 |
申请号 | CN200910047670.8 | 申请日期 | 2009-03-17 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2009-08-26 | 公开/公告号 | CN101515019 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G01R31/28 | IPC分类号 | G;0;1;R;3;1;/;2;8;;;G;0;1;R;3;1;/;3;1;7查看分类表>
|
申请人 | UT斯达康通讯有限公司 | 申请人地址 | 浙江省杭州市滨江区六和路368号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | UT斯达康通讯有限公司 | 当前权利人 | UT斯达康通讯有限公司 |
发明人 | 王庆翔 |
代理机构 | 中国专利代理(香港)有限公司 | 代理人 | 李湘;高为 |
摘要
本发明提出一种基于PLD、FPGA器件的动态边界扫描链路的测试方法,将动态边界扫描链路链接器(DSCL,Dynamic Scan Chain Linker)采用HDL RIL代码例化到一个可编程器件之内,实现边界扫描测试时多 个扫描链路的动态加载和卸载,从而灵活的对边界扫描电路进行测试,所述DSCL含有一个IEEE1149.1 TAP状态机,一个指令寄存器,一个标识符寄存器,一个链路控制寄存器,一个RTI同步寄存器,一个旁路寄存器和一个链路链接器,使测试机可以透过测试访问端口TAP实现对链路控制寄存器的控制,而链路链接器会依据链路控制寄存器的值来对挂接在供链接的扫描端口LSP上的扫描链路实施链接。
1.一种基于可编程器件的动态边界扫描链路测试方法,测试系统包括测试机,至少一个可编程器件,以及待测试的边界扫描链路,其特征在于:所述动态边界扫描链路测试方法包括如下步骤:
步骤1、将边界扫描链路链接器DSCL例化到可编程器件之内;
步骤2、动态地链接所需要测试的边界扫描链路;
步骤3、进行测试
其中,所述的扫描链路链接器DSCL包括一个IEEE1149.1测试访问端口TAP状态机,一个指令寄存器,一个标识符寄存器,一个链路控制寄存器,一个RTI同步寄存器,一个旁路寄存器和一个链路链接器,一组测试访问端口TAP和N组供链接扫描端口LSP;
所述的动态地链接所需测试的边界扫描链路的过程如下:
步骤a:测试机使用异步复位机制或使用同步复位机制,使所述的TAP状态机进入测试逻辑重设置状态,此时DSCL的同步机制使得所有挂接在LSP上待测扫描链路进入测试逻辑重设置状态,与此同时链路控制寄存器清零,即所有的LSP将被卸载;
步骤b:测试机控制所述的TAP状态机至SCAN-IR,设置所述指令寄存器的值为SCANSEL;
步骤c:测试机控制所述TAP状态机至SCAN-DR,由于在步骤2已设置所述指令寄存的值为SCANSEL,根据测试需求,设置所述的链路控制寄存器;
步骤d:当所述TAP状态机状态流转为UPDATE-DR后,所述的链路控制寄存器生效,所述TAP状态机和LSP端口所链接的边界扫描链路的TAP状态机开始同步,链路的拓扑也随之发生改变。
2.根据权利要求1所述的一种基于可编程器件的动态边界扫描链路测试方法,其特征在于:所述的例化,是指将采用HDL RIL代码描述所述扫描链路链接器DSCL经过逻辑综合、布局布线转换成目标可编程器件技术库逻辑单元和连接,并最终生成编程文件上传到所述的可编程器件之内。
3.根据权利要求1所述的一种基于可编程器件的动态边界扫描链路测试方法,其特征在于:所述的可编程器件是所述待测试的边界扫描链路所在的电路组装板上有多余资源的可编程器件。
4.根据权利要求1所述的一种基于可编程器件的动态边界扫描链路测试方法,其特征在于:所述的链路控制寄存器为2N bit寄存器,通过扩展寄存器的位数能支持更多的待测边界扫描链路,所述的N为正整数。
5.根据权利要求1所述的一种基于可编程器件的动态边界扫描链路测试方法,其特征在于:所述的链路控制寄存器每2个bit为一组,对应一个LSP端口,其中一个bit为EN位,另外一个bit为TMS位,所述的EN值表示其对应的LSP端口是否被选中,所述的TMS位和所述的RTI同步寄存器一起决定对应的LSP端口未被加载时其TMS的状态。
6.根据权利要求1所述的一种基于可编程器件的动态边界扫描链路测试方法,其特征在于:如果在测试中,需要加载或卸载待测试的边界扫描链路,测试机只需要执行上述步骤b-d改变链路控制寄存器的值从而实现加载或卸载。
7.根据权利要求1所述的一种基于可编程器件的动态边界扫描链路测试方法,其特征在于:通过将M个边界扫描链路链接器DSCL级联的方式,可以支持M*N的待测试边界扫描链路。
基于可编程器件的动态边界扫描链路测试方法\n技术领域\n[0001] 本发明涉及电子电路测试领域,尤其涉及印制电路组装板的边界扫描测试的领域。\n背景技术\n[0002] 随着半导体工业的发展,组装板上信号链路的速度、IO密度越来越高,而来自消费市场的驱动力使得组装板的面积、面市时间的压力也越来越大,这使得传统的结构化测试方法愈来愈无法满足组装板业的需求。作为新一代的测试架构边界扫描链路测试,日益引起业界的关注,这种测试架构在硅片内部提供了一系列的寄存器的控制器,以实现结构化测试所需的,对组装板上电气网络进行控制与可视性。如今,大多数的大规模的集成电路在硅片内部集成了与IEEE1149.1标准相兼容的边界扫描电路。而且,与之相对应的测试工具,也得到了工业界的良好支持。为此,无数的系统供应商,从PC到大型的电信系统,直至航空,航天,都要求在系统设计时,充分利用边界扫描测试架构所带来的便利,来提高系统的可测试性,从而提高产品质量,降低系统成本,增强市场竞争力。\n[0003] 边界扫描测试要求印制板上所有与IEEE1149.1相容的器件在电路中构成一个边界扫描链路。这样可以避免了多时钟域,从而无需面对各个扫描链路同步这类棘手的问题,并且只需提供一个测试头,从而减小了元器件成本及印制板板面开销。\n[0004] 最终的边界扫描测试应用可以用一台廉价的PC经由并口来执行而不需要昂贵的、专门的测试控制器,从而减小了测试成本。\n[0005] 由于边界扫描测试架构的广泛适用性,工业界很快的发现这一架构在嵌入式系统的调试、在系统配置方面的潜力,促使这一架构变得更加流行。但是由于被赋予了额外的功能而影响了互操作性,因为这些专门的工具都不允许自己的器件和第三方的边界扫描器件处于同一个扫描链路之中。\n[0006] 此外,边界扫描测试工具也从简单互连测试,以及对由边界扫描的输入输出所包围的简单组合逻辑的测试,发展到对存储器乃至对非易失性的存储器如闪存的在系统配置。这样的测试应用需要大量的测试向量,对板上的边界扫描链路作适当的分割,将没有参与测试的边界扫描链路从整个扫描链路中移除,会带来效率上的巨大提升。\n[0007] 针对这种需求,现有的技术是采用半导体厂商开发出一系列的边界扫描链路管理的器件,如TI SN74LVT8986,国家半导体STA112等。但是使用这些器件来管理板上边界扫描链路的同时,无疑会增加元器件、印制板的成本。\n[0008] 近年来,随着PLD(Programmable Logic Device)可编程逻辑器件、FPGA(Field Programmable Gate Array)可编程逻辑门阵列技术的发展,越来越多的PLD、FPGA被用于电路设计之中,而且我们也发现,PLD/FPGA的内部及外部输入输出(IO)的资源并不是被\n100%的用尽的,在一些产品线上,平均有30%的内部资源、12%IO的资源闲置不用。\n[0009] 本发明的目的在于利用PLD、FPGA的可编程性,针对边界扫描测试链路管理的需求,提出一种基于PLD、FPGA器件的一种动态的、边界扫描链路的管理方案。\n发明内容\n[0010] 本发明的目的在于利用PLD、FPGA的可编程性,针对边界扫描测试链路管理的需求,提出一种基于PLD、FPGA器件的动态的边界扫描链路的测试方案,可以动态地加载或卸载待测试的多个边界扫描链路。\n[0011] 本发明是一种基于可编程器件的动态边界扫描链路测试方法,测试系统包括测试机,至少一个可编程器件,以及待测试的边界扫描链路,所述动态边界扫描链路测试方法包括如下步骤:\n[0012] 步骤1、将扫描链路链接器DSCL例化到可编程器件之内;\n[0013] 步骤2、动态地链接所需要测试的边界扫描链路;\n[0014] 步骤3、进行测试。\n[0015] 所述的边界扫描链路链接器包括一个IEEE1149.1测试访问端口TAP状态机,一个指令寄存器,一个标识符寄存器,一个链路控制寄存器,一个RTI同步寄存器,一个旁路寄存器和一个链路链接器,一组测试访问端口TAP和N组供链接扫描端口LSP。\n[0016] 所谓的例化,是指将采用HDL RIL代码描述所述扫描链路链接器(DSCL)经过逻辑综合(synthesis)、布局布线(place & route)转换成目标PLD/FPGA技术库逻辑单元和连接,并最终生成编程文件上传到所述的可编程器件之内。可编程器件可以是专门用来做测试工具的专用器件,特殊地所述的可编程器件是所述待测试的边界扫描链路所在的电路组装板上有多余资源的可编程器件。\n[0017] 所述的链路控制寄存器为2N bit寄存器,通过扩展寄存器的位数能支持更多的待测边界扫描链路,所述的N为正整数。\n[0018] 本发明运用IEEE1149.1协议实现对链路控制寄存器的控制,而链路链接器会依据链路控制寄存器的值来对下游的扫描链路实施链接,其中所述的动态地链接所需测试的边界扫描链路的过程如下:\n[0019] 步骤a:测试机使用异步复位机制或使用同步复位机制,使边界扫描链路DSCL TAP状态机进入测试逻辑重设置状态(Test-Logic-Reset),此时DSCL的同步机制使的所有挂接在LSP上待测扫描链路进入测试逻辑重设置状态(Test-Logic-Reset),与此同时链路控制寄存器清零,即所有的LSP将被卸载;\n[0020] 步骤b:测试机控制所述的TAP状态机至SCAN-IR,设置所述指令寄存器的值为SCANSEL;\n[0021] 步骤c:测试机控制所述TAP状态机至SCAN-DR,由于在步骤2已设置所述指令寄存的值为SCANSEL,根据测试需求,设置所述的链路控制寄存器;\n[0022] 步骤d:当所述TAP状态机状态流转为UPDATE-DR后,所述的链路控制寄存器生效,DSCL TAP状态和LSP TAP状态机开始同步,链路的拓扑也随之发生改变,LSP端口对应的待测试边界扫描链路被选中。\n[0023] 所述的链路控制寄存器每2个bit为一组,对应一个LSP端口,其中一个bit为EN位,另外一个bit为TMS位,所述的EN值表示其对应的LSP端口是否被选中,所述的TMS位和RTI同步寄存器一起决定对应的LSP端口未被加载时其TMS(LSPTMS)的状态。\n[0024] 如果在测试中,需要加载或卸载待测试的边界扫描链路,测试机只需要执行上述步骤b-d改变链路控制寄存器的值从而实现加载或卸载。\n[0025] 通过将M个边界扫描链路链接器DSCL级联的方式,可以支持M*N的待测试边界扫描链路。\n[0026] 本发明有利于降低印制电路板版面开销和成本,由于该实现是RTLHDL代码来表示的,它可以被植入设计中任意架构的PLD/FPGA器件之内,无需专门的半导体器件。\n[0027] 同时很容易的在PLD内实现一个透明穿透模式,使用户可以透明地访问下游链路,用户在使用专用的调试器时不需要再加装一个接头。\n附图说明\n[0028] 图1是测试系统框图;\n[0029] 图2是DSCL设计框图;\n[0030] 图3是IEEE1149.1状态机流转图;\n[0031] 图4是DSCL级联的测试框图。\n具体实施方式\n[0032] 本发明提出一种基于PLD、FPGA器件的一种动态的、边界扫描链路的测试方法,设计了一种动态的边界扫描链路链接器(DSCL,DynamicScan Chain Linker),采用HDL RIL代码将DSCL例化到一个PLD或FPGA可编程器件内,特殊地可以直接例化到所要测试的组装板上的一个内部与IO资源有富余的可编程器件之内,实现边界扫描测试时多个边界扫描链路的动态加载和卸载,从而灵活的对边界扫描电路进行测试。所谓的例化,是指将采用HDL RIL代码描述所述扫描链路链接器(DSCL)经过逻辑综合(synthesis)、布局布线(place & route)转换成目标PLD/FPGA技术库逻辑单元和连接,并最终生成编程文件上传到所述的可编程器件之内。\n[0033] 如图1所示,边界扫描链路测试系统包括一个边界扫描测试机,简称测试机,一个DSCL边界扫描链路链接器,和待测试的边界扫描链路,所述的待测试的边界扫描链路位于待测的电路组装板上。\n[0034] 如图2所示,是一个DSCL的设计框图,含有一个IEEE1149.1 TAP状态机、一个\n8bit的指令寄存器,一个4bit的标识符寄存器,一个8bit的链路控制寄存器、一个4bit的RTI(Run_Test_Idle)同步寄存器、一个1bit旁路寄存器和一个链路链接器,以及一组测试访问端口TAP和N组供链接扫描端口LSP。\n[0035] 本发明遵循IEEE1149.1协议,使测试机可以透过测试访问端口TAP(Test Access Port)(图2中TCK、TRST#、TMS、TDI、TDO)实现对链路控制寄存器的控制,而链路链接器会依据链路控制寄存器的值来对挂接在供链接的扫描端口LSP(Linkable Scan Port)上的(图2中的LSPTCK、LSPTRST、LSPTMS、LSPTDI、LSPTDO)的边界扫描链路实施链接。这样就可以实现边界扫描测试时多个边界扫描链路的动态加载和卸载。\n[0036] 所述TAP状态机是一个遵循IEEE1149.1标准的16种状态的状态机,为简化状态译码及提升性能,该状态采用One-Hot的编码方式,用一个16bit的寄存器标识每个状态,其中每个bit对应一个状态,One-Hot是一种编码方式,只有一位为逻辑“1”其余为“0”,这种编码方式在状态机应用中便于解码,因为每个状态对应一个逻辑位。图3为IEEE1149.1状态机流转图,表述了TAP状态机中状态的变化过程。\n[0037] 表1为每个状态所对应的二进制编码。\n[0038] \n TAP State State Code TAP State State Code\n Test_Logic_Reset 0000000000000001 Update_DR 0000000100000000\n Run_Test_Idle 0000000000000010 Select_IR_Scan 0000001000000000\n Select_DR_Scan 0000000000000100 Capture_IR 0000010000000000\n Capture_DR 0000000000001000 Shift_IR 0000100000000000\n Shift_DR 0000000000010000 Exit1_IR 0001000000000000\n Exit1_DR 0000000000100000 Pause_IR 0010000000000000\n Pause_DR 0000000001000000 Exit2_IR 0100000000000000\n Exit2_DR 0000000010000000 Update_IR 1000000000000000\n[0039] 表1 IEEE1149状态机及编码\n[0040] 8bit指令寄存器决定哪个寄存器被置于TDI和TDO之间等待被设置,DSCL支持下列4个指令,表2列出了每个指令的值及它们所对应的寄存器。\n[0041] \n 指令 指令值 所对应的寄存器\n SCANIDB 11111100(FC) 标识符寄存器(idb_reg)\n READIDB 01111110(7D) 标识符寄存器(idb_reg)\n SCANSEL 01111110(7E) 链接控制寄存器(dscl_reg)\n BYPASS 其他组合 旁路寄存器\n[0042] 表2 DSCL所支持的指令\n[0043] 8bit链路控制寄存器的值将决定挂接在LSP端口上的扫描链路是否会被链路链接器链接到测试链路上,该寄存器被分为四组,每2bit为一组,对应4个LSP。如果所需要链接的LSP比较多,可以设置链路控制寄存器为16位,就可以对应8个LSP,依此类推,当然也可以通过级联的方法来支持更多的LSP。表3为链路控制寄存器的配置表,其中EN标识其所对应的LSP链路端口是否被链接到测试链路上,当EN值为1表示对应的LSP端口被选中;而TMS Bit和RTI同步寄存器将决定所对应的扫描链路端口未被选中时的状态。当TRST=0或TAP状态机进入Test-Logic-Reset状态时,该寄存器将被清零。\n[0044] \n[0045] 表3链接控制寄存器的配置\n[0046] \n 链接控制寄存器EN位 链路控制寄存器TMS位 RTI同步寄存器 TMS LSPTMS\n 1 X X 1 1\n 1 X X 0 0\n 0 1 1 X 0\n 0 1 0 X 0\n 0 0 1 X 0\n 0 0 0 X 1\n[0047] 表4 LSPTMS取值的真值表\n[0048] 表4为LSPTMS取值的真值表,当EN值为1时表示其所对应的链路端口被选中,EN值为0表示其所对应的端口未被选中。配合真值表,可见,根据链路控制寄存器的TMS值以及RTI同步寄存器的值将决定LSPTMS的值。\n[0049] 4bit的RTI同步寄存器同链路控制寄存器一起决定LSP TMS的状态,使DSCL的TAP状态机和LSP扫描链路上边界扫描器件的TAP状态机在恰当的时刻同步。该RTI同步寄存器在测试逻辑复位时清零,而当链接控制寄存器被选中,且当状态机在进入EXIT1_DR时被赋予链路控制寄存器的中EN Bit的值。表5表示了链路控制寄存器和RTI同步寄存器之间的对应关系。\n[0050] \n 链路控制寄存器 Bit 7 Bit 5 Bit 3 Bit 1\n RTI同步寄存器 Bit3 Bit2 Bit1 Bit0\n[0051] 表5链路控制寄存器和RTI同步寄存器之间的对应关系\n[0052] 边界扫描链路动态加载与卸载是通过IEEE1149.1协议对链路控制寄存器进行配置来完成的,表6是配置过程的SVF(Serial Vevtor Format)描述,具体的过程简释如下:\n[0053] 1.测试机使用异步复位机制(令TRST=0)或使用同步复位机制(令TMS=1,并注入5个连续的TCK),使DSCL状态机进入测试逻辑重设置状态(Test-Logic-Reset),此时DSCL的同步机制使的所有挂接在LSP上待测扫描链路进入测试逻辑重设置状态(Test-Logic-Reset),与此同时链路控制寄存器清零,即所有的LSP将被卸载。\n[0054] 2.测试机控制DSCL TAP状态机至SCAN-IR,设置DSCL指令寄存的值为SCANSEL。\n[0055] 3.测试机控制DSCL TAP状态机至SCAN-DR,由于在步骤2已设置DSCL指令寄存的值为SCANSEL,根据测试需求,设置DSCL链路控制寄存器。\n[0056] 4.当TAP状态机状态流转为UPDATE-DR后,链路控制寄存器改变,DSCL TAP状态和LSP TAP状态机开始同步,链路的拓扑也随之发生改变,LSP端口对应的待测试边界扫描链路被选中。\n[0057] DSCL支持飞行中(On-the-Fly)加载和卸载,测试机只需要执行上述步骤2-4改变链路控制寄存器的值从而实现加载或卸载,无需通过复位DSCL来实现。\n[0058] 此外,如果需要多于4个挂接点,可将多个DSCL级联,从而管理更多待测扫描链路,级联M个DSCL,将支持4M个边界扫描链路的测试,如图4所示。\n[0059] \n 步骤 SVF语句 注释\n 1 ENDIR idle; IR-SCAN终了状态\n 2 ENDDR idle; DR-SCAN终了状态\n 3 HDR 0; DR-SCAN头部插入Bit\n 4 HIR 0; IR-SCAN头部插入Bit\n 5 TDR 0; DR-SCAN尾部插入Bit\n 6 TIR 0; IR-SCAN尾部插入Bit\n 7 STATE RESET; DSCL状态机复位\n 8 SIR 8 TDI(7E); 加载SCANSEL(7E)到指令寄存器\n 9 SDR 8 TDI(NN); 加载DSCL链路控制寄存器\n[0060] 表6 DSCL以SVF描述的配置过程\n[0061] 本发明提供了一个灵活的状态机同步机制,测试机在初次加载LSP时,无需令DSCL的TAP状态机回到Run-Test-Idle,即可实现状态机同步,这是因为当DSCL链路控制寄存器选中,DSCL TAP状态机在测试机的控制下沿SCAN-DR路径跳转进入EXIT1_DR时,将要被链接的LSP所对应的EN锁入RTI同步寄存器,根据代码中对LSPTMS的控制逻辑,将要被选中的LSP的TMS将变为逻辑0,LSP TAP将进入Run-Test-Idle,在此处等待DSCL TAP在UPDATE-DR后与之同步,这种机制兼容于传统的需回到Run-Test-Idle的模式。\n[0062] 本发明有利于降低印制电路板版面开销和成本,由于该实现是RTLHDL代码来表示的,它可以被植入设计中任意架构的PLD/FPGA器件之内,无需专门的半导体器件。\n[0063] 同时很容易的在PLD内实现一个透明穿透模式,使用户可以透明地访问下游链路,用户在使用专用的调试器时不需要再加装一个接头。
法律信息
- 2017-05-03
未缴年费专利权终止
IPC(主分类): G01R 31/28
专利号: ZL 200910047670.8
申请日: 2009.03.17
授权公告日: 2012.05.09
- 2012-05-09
- 2010-06-09
实质审查的生效
IPC(主分类): G01R 31/28
专利申请号: 200910047670.8
申请日: 2009.03.17
- 2009-08-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2007-06-06
|
2006-01-28
| | |
2
| |
2002-09-18
|
2001-07-18
| | |
3
| |
2008-05-14
|
2007-12-06
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |