高速互连电路的测试方法及装置的制作方法

文档序号:6440589阅读:194来源:国知局
专利名称:高速互连电路的测试方法及装置的制作方法
技术领域
本申请一般涉及通过扩展IEEE1149.1 TAP和边界扫描标准(JTAG)的指令集以及结构来测试位于集成电路之间的高速DC和AC耦合的互连电路。
背景技术
印刷电路板上集成电路之间的数字信号通信的带宽正在不断增加。为了能支持这一需求,正在开发新的较高速度的数字互连电路技术。传统的JTAG(即,IEEE1149.1标准)边界扫描结构限制其能够测试这些较高速度的数字互连电路。
由于在JTAG结构进行互连电路测试方面的限制,从而限制了JTAG对集成电路之间的高速DC和AC耦合互连电路的测试。这些高速互连电路使用的增加要求扩展了JTAG的范围,以实现这些互连电路可靠测试。
AC外部测试工作组已经完成了一些针对高速DC和AC耦合的互连电路或网络的测试。
Lofstrom.Keith发表的论文“Early Capture for Boundary Scan TimingMeasurements”(1996年10月20-25日国际测试大会公报15.3第417-422页)披露了采用IEEE1149.X标准的扩展来测量模拟波形和延迟。扩展捕获是在Update-DR状态中TMS下降沿采样数据。

发明内容
本发明提供了对JTAG指令集和结构的扩展,从而针对提供一种解决高速IC和IC之间互连电路的测试的方案。该方案保持了JTAG的基本操作,使得现有的指令和结构操作不受本发明扩展的影响。
在标准的JTAG指令集中增加了传输测试指令,以便于测试通过AC或DC耦合互连电路从一个器件的输出到一个器件的输入的信号传输。该指令在JTAG结构中采用附加的时钟信号和捕获测试选通脉冲(CTS)。也可以使用常规的输入和输出边界扫描单元。在测试访问端口增加最少的附加电路。CTS选通脉冲使边界扫描输入单元能以比在JTAG协议的Update-DR状态中产生的正常捕获早得多地去捕获数据。通过传输测试指令迫使在之后Update-DR状态中将正常产生的数据的捕获成为无操作的NO-OP状态。这就防止了较早捕获到的数据会被正常捕获操作的数据所覆盖。
衰减测试指令能够测试通过AC耦合互连电路从一个器件的输出到一个器件的输入的信号传输的衰减。衰减测试指令的工作相同于传输测试指令的工作,除了衰减测试指令允许在Update-DR状态中数据的正常捕获而不是强制的无操作的状态。可以采用常规输出的边界扫描单元并且必须采用改进的输入边界扫描单元。对传输测试指令的TAP可以作些增加。一个扫描的数据位以一个逻辑状态来表示通过衰减测试的电路并以相反的逻辑状态来表示未能通过测试。
周期测试指令能够测试通过AC或DC耦合互连电路从一个器件的输出到一个器件的输入传输的信号周期。周期测试指令的操作使输出边界扫描单元能够对输入器件的输入边界扫描单元输出交变信号或翻转信号。改进输出边界扫描单元是必需的。衰减测试指令的输入边界扫描单元与附加电路一起使用。TAP也需要增加一些电路来满足衰减测试指令的需求。


图1是常规JTAG互连电路测试操作的框图以及相关时序图。
图2是常规JTAG互连电路测试操作的第一示范限制的框图以及相关时序图。
图2A是常规JTAG互连电路测试操作的第二示范限制的框图以及相关时序图。
图3是根据本发明DC互连电路传输测试操作的框图以及时序图。
图4是根据本发明AC互连电路传输测试操作的框图以及时序图。
图5是集成电路的基本JTAG结构的框图。
图6是改进基本JTAG结构使之允许本发明的传输测试指令的框图。
图7是本发明传输测试指令的时序图。
图8A是本发明延迟电路第一实现例的框图。
图8B是本发明延迟电路第二实现例的框图。
图8C是本发明延迟电路第三实现例的框图。
图8D是本发明延迟电路第三实现例的框图。
图8E是图8D所说明的延迟电路细粗延迟编程的时序图。
图9是常规的JTAG TAP控制器状态图。
图10是指示在常规JTAG TAP图的某些状态中传输测试指令所提供变化的状态图。
图11是适用于在Shift-DR和Capture-DR的TAP状态中产生Clock-DR信号的常规TAP Clock-DR选通电路的框图以及简化的真值表。
图12是为了能支持本发明传输测试指令而改进的常规TAP Clock-DR选通电路的框图。
图13是为了能支持本发明传输测试而对TAP增加的Update-DR状态检测电路的框图。
图14是根据本发明AC互连电路衰减测试操作的框图以及时序图。
图15是为了能允许本发明的衰减测试指令对基本JTAG结构改进的框图。
图16是本发明衰减测试指令的时序图。
图17是在常规JTAG TAP图的某些状态中衰减测试指令影响的流程图。
图18A是对“完全”输入边界扫描单元作改进使之能执行本发明的衰减测试指令的框图。
图18B是对“只观察”输入边界扫描单元作改进使之能执行本发明的衰减测试指令的框图。
图18C是用于图18A和图18B框图电路的框图。
图19是衰减测试指令的第一操作例的框图。
图20是衰减测试指令的第二操作例的框图。
图21是衰减测试指令的第三操作例的框图。
图22是根据本发明AC互连电路周期测试操作的框图以及相应的时序图。
图23是对基本JTAG结构作改进使之提供本发明周期测试指令的框图。
图24A是周期测试指令在紧接着Update-IR状态之后的Run Test/Idle状态中执行时操作的时序图例。
图24B是周期测试指令在紧接着Update-DR状态之后执行Run Test/Idle状态的操作的时序图的例子。
图24C是通过扫描输入和更新另一指令来终止周期测试指令的时序图例。
图25是在常规JTAG TAP图的某些状态中周期测试指令影响的流程图。
图26A是为了支持本发明的传输和周期测试指令而对TAP所增加的检测RunTest/Idle和Update-DR状态的电路框图。
图26B是为了支持本发明的周期测试指令而对TAP所增加用于Capture-DR状态检测电路的框图。
图27A是对“完全”输入边界扫描单元作改进使之能执行本发明的周期测试指令的框图。
图27B是对“只观察”输入边界扫描单元作改进使之能执行本发明的周期测试指令的框图。
图27C是用于图27A和图27B框图电路的框图。
图28是对输出边界扫描单元作改进使之能执行本发明的周期测试指令的框图。
图29是采用本发明的传输,衰减以及周期测试指令的描述为可测试的集成电路之间示范差分AC耦合互连电路的框图。
图30是在常规的1149.1测试域和包括本发明的传输和衰减测试指令的扩展1149.1测试域之间的AC耦合互连电路测试的框图。
具体实施例方式
图1说明了采用现有JTAG标准来测试DC互连电路103。DC互连电路103包括终端元件(即,下拉电阻106)。在DC互连电路中也有可能采用许多其他端口元件的配置。在功能模式中,来自核心电路的功能信号是从第一IC输出的,它通过第一IC的JTAG边界扫描单元101并通过第一IC的输出缓冲器104。功能信号通过外部DC互连电路103并经过第二IC的输入缓冲器105和JTAG边界扫描单元102传输到第二IC的功能性核心电路的输入。
JTAG边界单元在功能模式中是透明的,它是通过向第一和第二IC的JTAG结构的指令寄存器(IR)加载旁路指令来完成的。然而,当外部测试(Extest)指令被加载到JTAG结构的指令寄存器(IR)时,边界单元便受JTAG测试访问端口(TAP)和指令寄存器(IR)的控制,进行独立于IC核心电路的操作以允许DC互连电路的测试。JTAG结构中的外部测试指令及其操作都是众所周知的,且在IEEE1149.1标准文件中有详细描述。
图1所提供的时序图是用于说明在DC互连电路103中所发生的JTAG外部测试指令(Extest)操作的操作。该时序图表示了在测试时钟(TCK)的上升沿JTAGTAP控制器的状态转移。TAP控制器的操作是众所周知的,且在IEEE1149.1标准文件中提供了详细描述。
在时序图中,可见Extest操作所包括步骤有在Shift-DR(SDR)TAP状态中移位数据,接着在Update-DR(UDR)TAP状态中的更新数据,随后在转换到Shif-DR(SDR)TAP状态的Capture-DR(CDR)TAP状态的结束时捕获数据。正如图中所示,在Update-DR状态的TCK的下降沿更新来自边界单元101的数据,并在Capture-DR状态结束时的TCK的上升沿捕获在边界单元102中的数据。更新和捕获操作间隔2.5TCK周期。这种间隔不会对Extest操作产生影响,因为除了单元102的捕获操作之外在单元102的输入(IN’)保持着由单元101输出(OUT’)所更新和驱动的数据数值。
于是,Extest指令采用通过DC互连电路的数据数值来测试该电路的结构是否正确。然而,2.5TCK的间隔不考虑对DC互连电路的延迟测试(即,测试在如此短的时间里将单元101所更新的信号捕获到单元102中)。
图2说明了采用AC互连电路108来替代图1的DC互连电路103的例子。如同DC互连电路103一样,AC互连电路108包括电阻性终端元件106,以及串连于缓冲器104输出(OUT)和缓冲器105输入(IN)之间的电容器107。电容器107用于阻断通过互连电路传输信号中的DC分量而传递通过互连电路传输的信号中的AC分量。正如DC互连电路103所举例一样,AC互连电路可有许多其它类型的电阻性终端元件的连接方式。
图2的时序图可用于表示测试图2的AC互连电路108时Extest指令所具有的问题。如同图1所示的时序例子,在Shift-DR TAP状态中移位数据,接着在Update-DR TAP状态的中间更新数据,随后在CaptureDR状态结束时捕获数据。在该例中,更新了逻辑1且在Update-DR状态的TCK下降沿从单元101输出(OUT’)以驱动单元102的输入(IN’)。然而,AC互连电路中的RC网络在被单元101输出的逻辑1充电之后,便开始在下拉电阻器106从电容器107向地放电时开始放电。经过5个RC时间常数之后,缓冲器105的输入(IN)所呈现的电压接近于地电位。如图2的时序图所示,假定在2.5个TCK周期中产生5RC时间常数。于是,对单元102的输入(IN’)而言,将在更新数据之后被驱动为逻辑1的同时,在捕获操作产生的2.5TCK之后的时间内被驱动为逻辑0。
图2A说明了采用下拉元件202防止使用更新后的逻辑0信号测试的AC互连电路201,其原因类似于图2所示具有防止利用更新的逻辑1测试信号测试的下拉元件106的AC互连电路。其原因是,AC互连电路在捕获操作之前从驱动逻辑0状态变成为驱动逻辑1状态可以在逻辑0更新操作之后的2.5TCK时发生。
从上述的讨论中可以得知,具有小的RC时间常数的AC互连电路对JTAGExtest指令操作可描述为不可测试的。该问题是已知的,且已在IEEE标P1149.6准中研究了一些解决方案(见参考文件1)。IEEE1149.6的一些解决方案需要在JTAG结构的边界单元中增加相当多的电路。本发明所提出的解决方案试图不需要对JTAG结构的边界单元增加太多(即便要)的电路来解决上述问题。本发明的解决方案也不需要对外部JTAG测试总线作任何特殊的处理,正如Lofstrom文章所需要的那样。
本发明的解决方案是基于对JTAG指令集增加三个新的测试指令的使用传输测试指令,衰减测试指令,以及周期测试指令。这些所增加的指令能够使用外部JTAG测试总线的正常操作来执行。
传输测试指令的描述传输测试指令能够测试从一个器件的输出通过AC或DC耦合互连电路到一个器件输入的信号传输。尽管本发明所讨论的器件如在基片上的集成电路所示的,应该理解,该器件也可以是在集成电路中的子电路核心。
图3说明了利用传输测试指令测试的DC互连电路103。该传输测试指令并不需要对JTAG结构的输出边界单元101或输入边界单元102增加任何附加电路,即可以使用常规的输入和输出单元。传输测试指令在JTAG结构中使用了附加的时钟信号,在图3的时序图中称之为捕获测试选通脉冲(CTS)。
正如在图3的时序图中所看到的,传输测试指令以图1中Extest指令相同的方式来操作输出单元101,即,在Shift-DR中把数据移到输出单元并在Update-DR周期中将其从输出单元更新。但是,传输测试指令确实改变控制输入单元102的方式。
正如在图3的时序图中所看到的,所显示的新捕获测试选通脉冲(CTS)信号在来自输出单元101的数据更新之后马上在时间窗口内变成能主动控制输入单元102。于是,CTS选通脉冲使得输入单元102能以比正常捕获早得多的方式捕获数据,而正常捕获是在Capture-DR状态结束时才发生。此外,在Capture-DR状态中发生的正常捕获被传输测试指令强制为传输测试指令周期中的无操作(NO-OP),从而防止正常捕获操作覆盖CTS信号所捕获数据的。
图4说明了利用传输测试指令测试的AC互连电路108。同样,如同在图4的时序图中所看到的,所显示的新的捕获测试选通脉冲(CTS)信号在输出单元101的数据更新之后马上在时间窗口内变成能主动把数据捕获到输入单元102中。于是,捕获测试选通脉冲(CTS)提供了在所传输信号通过RC网络对地电位放电之前捕获它的能力。同样,传输测试指令禁止在更新之后的2.5TCK发生的正常JTAG捕获操作(即,导致NO-OP TAP状态),以防止覆盖CTS信号所捕获的数据。
在图3和图4中都能看到传输测试指令提供测试高速互连电路的方法。该方法基于在正常JTAG更新操作发生之后马上在时间窗口内提供CTS时钟。以下图5至图13的描述将显示如何扩展JTAG结构使之包括CTS时钟的例子。
图5说明了常规JTAG结构(不包括旁路寄存器),它包括TAP控制器501,指令寄存器502,和边界寄存器503。边界寄存器与输入和输出缓冲器504和505相连接。边界寄存器包含边界单元,它可以是只观察单元506或观察和控制单元507。IN/IN’和OUT/OUT’标记的约定可映射在原先的例子中。在JTAG的Extest的操作中,TAP对边界寄存器503输出Clock-DR,Update-DR,以及Shift-DR信号,从而考虑先前与图1和图2所示的相关例子所提及的移位,更新,以及捕获步骤。
图6说明了将图5的JTAG结构作支持传输测试指令的改进。该改进包括增加CTS时钟发生电路以及改变指令寄存器602和TAP 601。指令寄存器602从常规的指令寄存器改进,它包括识别传输测试指令的能力。当将传输测试指令加载到指令寄存器时,从指令寄存器在控制总线606上输出新的控制信号。控制总线606将这些控制信号传输至CTS时钟发生电路和TAP 601。
CTS时钟发生电路包括用于延迟TCK(DTCK)信号延迟形式的延迟电路603,用于选通DTCK信号以产生CTS信号的门电路604,以及用于选通CTS信号以通过ClockDR’输入(该信号将产生上文中所提及的较早的捕获选通脉冲)来驱动边界寄存器503的门电路605。门电路605也允许Clock-DR TAP状态信号能依旧驱动边界寄存器的Clock-DR’输入。
当传输测试指令被加载到指令寄存器时,只要TAP处于Update-DR状态,来自总线606的捕获测试选通脉冲使能(CTSENA)信号就会将DTCK信号选通为CTS信号。为了表示TAP处于Update-DR状态,将Update-DR状态输出信号添加到TAP 601并输入到门控电路604。能表示TAP处于Update-DR状态而对TAP增加的电路如图13所示。为了使在Capture-DR状态中所产生的常规捕获操作强制成图3和图4中所示的No-Op状态,在传输测试指令是当前指令的时候将来自控制总线606的捕获信号输入到TAP。以下对于图11和图12描述捕获信号以及所需要的附加TAP电路。
图7说明了在传输测试指令中的时序。只要TAP进入Update-DR状态,Update-DR状态指示器701就变高,同时CTSENA信号将DTCK选通为CTS。在Update-DR状态TCK的下降沿,会产生常规的Update-DR时钟702使得图3和图4的输出边界单元101向DC/AC互连电路输出数据。紧接着Update-DR时钟,DTCK信号引起产生CTS时钟703。Update-DR时钟702的上升沿和CTS时钟的上升沿之间的时间确定了图3和图4的捕获测试选通脉冲的窗口。
图8A至8D说明了延迟电路603的各种例子。图8A说明了提供固定DTCK延迟的延迟电路603。图8B说明了可利用JTAG数据寄存器扫描操作编程为对数据寄存器的加载来提供可编程的DTCK的延迟的延迟电路603。图8C说明了利用JTAG指令扫描操作的可编程延迟电路603,它通过对指令寄存器的操作来提供可编程的DTCK的延迟。在图8B和8C中,每个可选择的延迟电路0-3递增移位图7中CTS的上升沿,使之在时间远离图7中Update-DR的上升沿,从而允许根据测试指定的DC/AC互连电路的需要来调整CTS捕获的位置。
图8D说明了包括粗和细的CTS延迟调整的延迟电路603,它能对图3和图4所示的捕获测试选通脉冲窗口内CTS捕获点位置提供更好的控制。正如图8E的时序图所示,粗延迟调整可以通过JTAG的扫描操作来编程,以提供对于TCK的CTS捕获点(上升沿)的粗设置。此外,也可以相似地编程细延迟调整,以提供在任何粗设置捕获点中的CTS捕获点的细设置。可以提供类似于图8D所示的更具鲁棒性的延迟调整电路603,以考虑在一些扩展DC/AC互连电路上进行的传输测试操作,作为用于在底板环境中将主板连接一起的例子。
图9说明了常规JTAG/1149.1标准TAP控制器的状态图,这在现有的技术中使众所周知的。
图10说明了将适用于传输测试指令的TAP控制器状态图的行为改进成能实现在图3,4和7中所描述的传输测试控制。当将传输测试指令被加载到指令寄存器时,从总线606输入到TAP 601中的控制会使得图9中TAP的常规Capture-DR状态操作为图10中TAP的无操作(No-Op)状态,即,禁止在Capture-DR状态中常规执行的捕获操作。这就实现了图3和图4时序图中所示的No-Op的功能,正如以上所提到的,防止在CTS窗口内覆盖所捕获到的数据。
另外,当传输测试指令被加载到指令寄存器时,从总线606输入到CTS时钟发生电路(CTSENA)的控制以及从TAP 601输出的Update-DR状态指示器的信号使得当TAP 601处于Update-DR状态时产生CTS时钟输出。在图10的Update-DR状态所执行的更新操作与图9中所执行的常规更新操作是相同的。图10的Update&Capture状态和图9的Update-DR状态之间的差异是Update&Capture状态除了常规的更新操作之外还能进行捕获操作。这就使得在图3和图4时序图的CTS窗口内CTS时钟能有效,正如以上所提及的,它使得在更新来自输出单元101的数据之后能马上将数据捕获到输入单元102。
图11说明了IEEE标准1149.1-1990的1993年版中图5.5所标注的NAND门电路1101,它用于产生常规的Clock-DR TAP输出信号。同样也提供了简化的真值表,这不是来自于1149.1标准的,它只是用于说明如何在Shift-DR(DCBA=0010)和Capture-DR(DCBA=0110)状态中使能NAND门电路1101,以允许TCK信号来驱动Clock-DR信号。该真值表表示在TAP处于Shift-DR或Update-DR状态时,NAND门电路1101接收相应的ABD状态输入,从而允许TCK通过门电路来驱动门电路的Clock-DR输出。所有的其它TAP状态势门电路关闭或阻断TCK以防止驱动Clock-DR输出。
图12说明了一种改进图11所示的Clock-DR NAND门电路1101的较佳方式,以便于能满足当传输测试指令加载到指令寄存器时门断Capture-DR状态的Clock-DR TAP输出信号(即,提供图3和图4中的No-Op状态)的需求。正如图12所示,5输入端的NAND门电路1201取代了图11的4输入端的NAND门电路1101。同样,还增加了2输入端的NAND门电路1202。2输入端的NAND门电路1202输入来自指令寄存器总线606的C TAP状态信号和捕获控制信号。
当将传输测试指令加载到指令寄存器时,Capture信号就被设定为高,从而允许C TAP状态能输入到NAND门电路1201。将C TAP状态输入到NAND门电路1201会使得NAND门电路1201在Shift-DR状态中将TCK传递到Clock-DR,但在Capture-DR状态中阻止TCK传递到Clock-DR(见传输测试,Capture=1的真值表)。这就提供了在图3和图4的时序图中所示的No-Op状态。当常规的JTAGExtest指令加载到指令寄存器时,Capture信号就将设定为低,以防止C TAP状态参与门电路1201 TAP状态的选通操作。于是,在Capture为低的时期,NAND门电路1201在Shift-DR和Capture-DR状态中实现将TCK传递到Clock-DR,与图11中的NAND门电路1101的功能相同(见Extest,Capture=0的真值表)。
图13说明了添加到TAP 601的门电路1301,以显示TAP 601是否处于Update-DR状态(DCBA=0101)的时期。当处于Update-DR状态时,门电路1301就在Update-DR状态信号输出为高,正如图6所示,该信号输入到门电路604,与CTSENA信号一起参与将DTCK信号选通为CTS信号。
衰减测试指令的描述衰减测试指令能够测试从一个器件的输出通过AC耦合互连电路到一个器件的输入所传输信号的衰减。
图14说明了利用衰减测试指令测试的AC互连电路108。在图14的时序图中,衰减测试指令的操作与图3和图4的传输测试指令的时序图相同,除了衰减测试指令允许在Capture-DR状态结束时进行正常捕获操作,而不是在传输测试指令中所发生的强制为No-Op状态的操作。衰减测试指令不需要对常规的输出边界单元101作任何改动,但是它需要对常规的输入边界单元102作些改进。输入单元1401表示了改进后的输入单元102。衰减测试指令可直接再利用大部分先前讨论JTAG电路的添加以及传输测试指令所需的改进。
在图14的时序图中,正如先前所讨论的那样,在Update-DR(UDR)状态的TCK下降沿由输出单元101所更新的数据在CTS窗口被捕获到输入单元102。然而,不同于上述讨论的是,第二次数据捕获的操作发生在Capture-DR(CDR)状态结束时的TCK上升沿(在更新的TCK下降沿后的2.5个TCK)。
从上述的讨论中可以看到,衰减测试指令所提供测试步骤包括(1)将(更新的)信号施加到AC网络的输入,(2)在AC网络的输出进行第一次观察(捕获)以确定AC网络对所施加信号的瞬态响应,以及(3)在AC网络的输出进行的二次观察(捕获)以确定AC网络对所施加信号的稳态响应。
在图14的时序图中,假定2.5个TCK周期时间足以使AC互连电路能达到第二次观察(捕获)的稳态,即,2.5个TCK周期的时间超过5RC时间常数的时间。然而,如果2.5个TCK不足以使AC网络达到稳态,则TAP可以转换为RunTest/Idle状态(如图9)来增加更多TCK周期,或可以降低TCK的频率来提供更长的TCK周期。
图15说明了对图5的JTAG结构的改进以实现衰减测试指令。通过比较图6和图15的结构可以发现,衰减测试指令大多数修改都是由传输测试指令提供的。
传输测试指令结构和衰减测试指令结构之间的差异包括(1)所设计的指令寄存器1503能识别衰减测试指令,且加载衰减测试指令时能在总线606上输出新的测试(Test)信号1501,(2)测试信号1501输入到边界寄存器1502的输入边界单元1401,以及(3)图12从总线606到TAP601的捕获(Capture)信号设定为低,以强制执行图12的“Extest,Capture=0”真值表中所示的操作(即,正常捕获操作发生在Capture-DR状态时)。
图16说明了衰减测试指令操作的时序图。正如所看到的,在Update-DR状态中,更新(Update)1601发生不久紧随着第一次捕获(Capture1)1602。在Update1601之后的等于或大于2.5TCK的Capture-DR状态中发生第二次捕获(Capture2)1603。时间分隔符1604表示TAP可以通过Select-DR从Update-DR直接进入Capture-DR状态(见TAP状态图),或通过Select-DR从Update-DR到Run Test/Idle,然后再到Capture-DR,以对AC网络提供更多的TCK周期使其能达到上述所讨论的稳态。正如所能看到的那样,图16的衰减测试时序图与图7的传输测试时序图相同,除了在图16中发生了第二次捕获1603。
图17说明了衰减测试指令是如何改变TAP控制器状态图的行为使其获得上述结合图14,15,和16所讨论的衰减测试控制。图17中的Capture2的状态替代了图9所示的Capture-DR状态,但其操作却相同于该状态。在Capture2状态所进行的捕获相同于在衰减测试中所使用的两个捕获过程中的第二次捕获1603。在图17中的Update&Capture1状态替代了图9和图10中的Update-DR状态。在图17的Update&Capture1状态中所进行更新操作相同于图9和图10中所进行常规更新操作中所完成的更新操作。在图17的Update&Capture1状态和图10的Update&Capture状态之间确实不存在任何差异,只是在Update&Capture1状态中所完成的捕获是用于衰减测试的两个捕获过程中的第一次捕获1602的表示。
在操作中,当衰减测试指令加载到指令寄存器时,TAP使测试的条件逐个经过Select-DR状态,Capture2状态,Shift-DR状态,Exit1-DR状态以及Update&Capture1状态。一旦进入Update&Capture1状态就执行图16所示的Update1601和Capture1 1602。在完成了Update&Capture1状态的操作之后,TAP又回到Select-DR状态和Capture2状态,以便于完成测试。Capture2的状态提供了图16的Capture2 1603的操作。时间分隔符1604表示TAP可以通过Select-DR从Update&Capture1直接进入Capture2状态,或通过Select-DR从Update&Capture1到Run Test/Idle然后再到Capture2状态,以对AC网络提供更多的TCK周期使其能达到上述所讨论的稳态条件。
当衰减测试指令加载到指令寄存器时,从总线606输入到TAP601的控制(即,图12中的Capture信号)使得TAP执行在Capture2状态中的捕获功能,从而实现图14和图16时序图中所示的第二次捕获功能1603。此外,当衰减测试指令加载到指令寄存器时,从总线输入到CTS时钟发生电路的控制(CTSENA)与TAP 601输出的Update-DR状态指示器信号一起在TAP601处于Update-DR状态时使CTS时钟电路产生输出。
图18A和18B说明了图14的两类改进的输入单元1401,它们都可以用于衰减测试指令。图18A说明了改进为可支持衰减测试指令的完全和观察输入边界单元1801。控制和观察单元1801类似于图5所示的常规控制和观察单元507。在单元1801和单元507之间的一个差异是单元1801包括了改进为单元的捕获和移位部分1803的电路。单元1801的更新存储器1804和输出复用器(MUX)1805部分相同于单元507。在单元1801和单元507之间的另一个差异是单元1801包括了来自图5指令寄存器总线606的新的测试输入信号1501,该信号是衰减测试指令所必需的。同样,所示的单元1801连接于先前所讨论的图6中门电路605输出的Clock-DR’信号,而不是图5中的TAP输出的Clock-DR信号。
图18B说明了只观察(Observe Only)输入边界单元1802,它经过改进后可支持衰减测试指令。只观察输入边界单元1802类似于图5所示的常规只观察单元506。在单元1802和单元506之间的差异是单元1802包括了先前图18A单元所提及的改进的捕获和移位部分1803的相同电路,以及先前也已提及的新的测试和Clock-DR’信号。
单元1801和1802,以及单元506和507,都可以用于IC电路的输入边界单元。在控制和观察单元1801和507,以及只观察单元1802和506之间的差异在于控制和观察单元能够观察外部IC的数据以及控制内部IC的数据,而只观察单元只提供对外部IC数据的观察。
图18C说明了改进捕获和移位电路1803的一个较佳例子的实施。电路1803包括XOR门电路1806,MUX 1807,MUX 1808,和D-FF 1809。例如,将常规JTAGExtest指令加载到指令寄存器时,出现测试输入为低时,电路1803的操作实际相似于图5的常规捕获和移位电路507。在这样的条件下,IN’通过MUX 1807和1808被捕获到D-FF 1809中,随后从TDI移位到TDO。当衰减测试指令被加载到指令寄存器出现测试输入为高时,电路1803的操作就改变为允许XOR 1806的输出被捕获到D-FF 1809中。XOR的输出是D-FF1809的当前状态和IN’输入的数据数值之和。
测试步骤中的一个顺序建立和执行了衰减测试。这些步骤可包括(1)加载采样/预装指令以执行预装的扫描操作来建立与待测试的AC互连电路相连接输入1801,1802和输出101边界单元中的初始测试数据,以及(2)加载衰减测试指令,以(a)执行扫描操作以将测试数据移位到输入和输出单元中,(b)执行Update 1601的操作使来自输出单元的数据输入到AC互连电路,(c)执行第一次捕获1602操作,以将AC互连电路输出的瞬态响应加载到输入单元,(d)执行第二次捕获1603操作,以将AC互连电路输出的稳态响应加载到输入单元,以及(e)执行扫描操作,将数据都移出输入和输出单元。
在上述步骤1中,预加载输入和输出单元的数据是初始化单元的数据,它使单元适用于通过AC互连电路传输第一测试数据模式。例如,如果测试图14的AC互连电路108,则输出单元将被初始化,使之对AC互连电路网络108输出逻辑0,而不论在步骤2是否加载衰减测试。对AC网络输出逻辑0使得网络处于所期望的稳态条件中(即,在网络的输出为逻辑0)。通过在网络中建立稳态逻辑0的条件,逻辑1就可以在衰减测试操作的周期中通过网络从输出单元101传输到输入单元1401。
图14的时序图说明了上述过程(1)当加载了衰减测试时,预加载逻辑0以初始化输出单元101的输出(时间1402),(2)扫描输入输出单元101逻辑1(时间1403)的更新来驱动网络,(3)执行网络对逻辑1瞬时输出响应的第一次捕获(时间1404),随后(4)执行的第二次捕获(时间1405),以获得网络对逻辑1的稳态输出响应。
图18中的单元1803的D-FF 1809在衰减测试扫描操作开始(即,在第一次进入Capture2状态的过程中)时所产生的捕获操作是无关条件。该无关条件会随着逻辑0的移入而移出D-FF 1809。移进D-FF 1809的逻辑0建立了在图17的Update&Capture1状态中执行第一次捕获操作所需要的初始条件。
再参照图18C,通过进入图17的Update&Capture1状态之前在Shift-DR状态以逻辑0来扫描D-FF 1809,在Update&Capture1状态周期中所发生的图14时序图中第一次捕获(时间1404)将会将逻辑1从XOR 1806加载到D-FF1809。该逻辑1是在Shift-DR周期中扫描输入D-FF 1809的逻辑0和AC网络在IN’输出的瞬时逻辑1的和。在Capture2状态所产生的图14时序图中的二次捕获(时间1405)也将使逻辑1从XOR 1806加载到D-FF1809。该逻辑1是在第一次Capture周期中D-FF所捕获到的逻辑1和AC网络在IN’输出的稳态逻辑0的和。在紧随着Capture2状态的Shift-DR状态中,所捕获到的逻辑1被移出D-FF 1809,以便于检查。
如果逻辑1被移出了D-FF 1809,则通过了测试,因为该逻辑值验证了第一次捕获操作捕获到上述瞬时逻辑1并且第二次捕获操作捕获到稳态逻辑0。如果逻辑0被移出了D-FF 1809,则测试失败。引起这种失败的原因有两个(1)在第一次捕获操作中捕获到逻辑0(XOR=0),这意味着AC网络难以将单元101的逻辑1输出(OUT’)适当地传输到图14的IN’,或者(2)在第二次捕获操作中捕获到逻辑1(XOR=0),这意味着AC网络难以适当地达到(即,放电到)所期望的逻辑0的稳态条件。
正如以上所讨论的,所设计的电路1803能够捕获第一和第二逻辑值且如果所捕获到的数值不同,表示测试通过,则扫描输出逻辑1。然而,如果第一和第二捕获的数值是相同的,表示测试失败,则电路1803就扫描输出逻辑0。应该理解的是,如果需要,所设计的电路1803也能扫描输出逻辑0来表示通过以及扫描输出逻辑1来表示失败。此外,也可以采用其它电路设计来取代电路1803,只要能响应第一和第二次捕获操作表示出通过和失败的条件。用电路1803主要是是说明只需对常规输入边界单元1401增加非常少的附加电路(即,XOR 1806和MUX1807),就可达到衰减测试指令所需的通过或失败的结果。
正如以上所讨论的,通过将网络初始化稳态的逻辑0随后使逻辑1通过网络以观察网络对之后有逻辑0稳态信号的逻辑1瞬时信号的响应来测试图14的AC互连电路网路108。应该理解的是,也可以通过将网络初始化在一个适当稳态条件下随后使信号通过网络引起网络对之后有返回网络的稳态条件的瞬态响应信号的响应来测试其它AC互连电路网络。例如,图2A中的AC网络201可以通过将网络初始化为稳态逻辑1随后使逻辑0通过网络以观察网络对之后有逻辑1稳态信号的逻辑0瞬时信号的响应来测试。
图19说明了用于测试位于输出单元101和输入单元102之间的AC耦合互连电路网络108的衰减测试指令的举例流程。假定AC耦合网络108是完好的且能通过以下衰减测试操作。
在图19中,所示的衰减测试操作的进程以三个步骤1901,1902和1903来完成。步骤一1901,采用当前的稳态数据(逻辑0)来初始化输出单元101和输入单元1401,且使网络处于稳态逻辑0的条件中。稳态是指网络的输出在一定的时间周期(例如,在5RC时间常数)之后将达到的状态。步骤二1902在时间1906更新输出单元101输出的逻辑1信号并且在更新到输入单元1401的信号瞬时1904执行第一次捕获。步骤三1903在更新信号的稳态时间1905执行第二次捕获且将测试结果移出输入单元1401,以便于检查。
在步骤二1902中,步骤一1901中加载到输入单元1401的逻辑0通过XOR1806与从网络输出的瞬时逻辑1输入(IN)累加,该信号将使逻辑1在时间1904捕获到输入单元的D-FF 1809中。在步骤三1903中,步骤二1902中输入单元1401所捕获到的逻辑1又通过XOR1806与从网络输出的稳态逻辑0累加,该信号使得逻辑1在时间1905再次捕获到输入单元的D-FF1809中。在步骤三1903中,将逻辑1移出输入单元1401的D-FF 1809表示网络108通过衰减测试的操作。
图20说明了用于测试位于输出单元101和输入单元1401之间有故障的AC耦合互连电路网络的衰减测试指令的举例流程。在图20的AC耦合互连电路网路108中的故障是下拉电阻器R和到输入单元1401的输入(IN)之间的开路2004。除了开路故障2004以外,图20的AC网路108相同于图19。在图20中,再次显示了衰减测试操作的进程,且以三个步骤1901,1902和1903来完成。步骤一1901,采用当前的稳态数据(逻辑0)来初始化输出单元101和输入单元1401,且使网络处于稳态逻辑0的条件中。步骤二1902在时间1906更新输出单元101输出的逻辑1信号并且在更新到输入单元1401的信号瞬时1904执行第一次捕获。步骤三1903在更新信号的稳态时间1905执行第二次捕获且将测试结果移出输入单元1401,以便于检查。
在步骤二1902中,步骤一1901中加载到输入单元1401的逻辑0通过XOR1806与从网络输出的瞬时逻辑1输入累加,该信号将使逻辑1在时间1904捕获到输入单元的D-FF 1809中。在步骤三1903中,步骤二1902中输入单元1401所捕获到的逻辑1又通过XOR1806与从网络输出的稳态逻辑0累加,在图20中该信号由于在2004处的开路而为逻辑1。在步骤三时间1905的第二次捕获操作使得逻辑0被捕获到输入单元的D-FF1809。在步骤三1903中,将逻辑0移出输入单元1401的D-FF 1809,这表示网络108未能通过衰减测试的操作。
图21说明了用于测试位于输出单元101和输入单元1401之间包含有不正确R和/或C数值的AC耦合互连电路网络的衰减测试指令的举例流程。在该例子中,不正确的R/C数值会引起网络具有比期望值更长的RC时间常数。除了不正确的R/C数值之外,图21的AC网络结构上是正确的。
在图21中,再次显示了衰减测试操作的进程,且以三个步骤1901,1902和1903来完成。步骤一1901,采用当前的稳态数据(逻辑0)来初始化输出单元101和输入单元1401,且使网络处于稳态逻辑0的条件中。步骤二1902在时间1906更新输出单元101输出的逻辑1信号并且所更新到输入单元1401的信号瞬时1904执行第一次捕获。步骤三1903在更新信号的稳态时间1905执行第二次捕获且将测试结果移出输入单元1401,以便于检查。
在步骤二1902中,步骤一1901中加载到输入单元1401的逻辑0通过XOR1806与从网络输出的瞬时逻辑1输入累加,该信号将使逻辑1在时间1904捕获到输入单元的D-FF 1809中。在步骤三1903中,步骤二1902中输入单元1401所捕获到的逻辑1又通过XOR1806与从网络输出的稳态逻辑0累加,在图21中该信号由于不正确的R/C的数值而为逻辑1。在步骤三时间1905的第二次捕获操作使得逻辑0被捕获到输入单元的D-FF1809。在步骤三1903中,将逻辑0移出输入单元1401的D-FF 1809,这表示网络108未能通过衰减测试的操作。
图20和21的衰减测试操作都产生了输入单元1401的失败输出。为了有助于确定图20和图21的失效网络的原因,可以进行附加的衰减测试操作。确定失效的原因使得被识别出的缺陷能够被更快修复。所附加的衰减测试相同于图20和图21所示的其它衰减测试,除了在第三步骤1903中的第二次捕获操作(在1905)受下列两个原因而延迟(1)延长了TCK时钟周期,或(2)由于在进入Capture2状态之前使TAP先从Update&Capture 1状态转换到Run Test/Idle状态。发生第二次捕获操作延迟的这两种方法都在有关图14和图16中作了讨论。
延长在时间1906更新和在时间1905的第二次捕获之间的时间将不能消除在图20例子中所示的缺陷,因为开路2004阻止RC网络放电进入稳态。然而,延长了在时间1906更新和在时间1905的第二次捕获之间的时间通过允许RC网络有更长的时间放电至它的稳态将能消除图21例子所示的缺陷。于是,所附加的衰减测试操作能够识别在图20和图21缺陷之间的差异,以便于修复处理。
上述讨论的传输测试能够测试通过图19至图21所示网络108从输出单元101传输到输入单元1401的瞬时信号,但它不能对网络108返回到稳态进行测试。因此,衰减测试指令超越传输测试指令的的优势在于它能够测试网络108的瞬态和稳态的两个条件。
周期测试指令的描述周期测试指令能够测试从一个器件的输出通过AC或DC耦合互连电路到一个器件的输入所传输信号的周期。图22说明了利用周期测试指令进行测试的AC互连电路网络2203。AC网络2203不同于原先的AC网络108,其中它包括两个端电阻器2205和2206,一个连接着电源或第一电压,而另一个连接着地或小于第一电压的第二电压。在两个电阻器之间节点(IN)的稳态电压为小于第一电压但大于第二电压,这根据电阻器数值来确定。
周期测试指令需要对常规输入102和输出101的边界单元作改进。图22的输出单元2201经改进后包括双态输出模式,而改进的输入单元2202包括了原先衰减测试指令所需的改进,并加上了通过/失败标志存储器。这些单元的改进将结合图27和图28作更加详细的讨论。
在图22的时序图中,当TAP在时间2208进入Run Test/Idle(RTI)状态时周期测试指令开始操作,正如由RTI信号变为高所指示的。RTI信号来自TAP且表示TAP处于Run Test/Idel的状态的时间。在图26中将描述RTI信号。在进入RTI状态之前,扫描操作将初始逻辑状态加载到输入单元2201和输入单元2202。利用JTAG的采样/预装(Sample/Preload)指令就能够执行扫描的操作。在时序图中,该逻辑状态为逻辑0,且在时间2207的TAP Update-IR(UIR)状态的TCK下降沿将周期测试指令加载到指令寄存器并更新指令寄存器时,在时间2210从输出单元2201输出该逻辑状态。
在周期测试指令的操作中,使输出单元2201能够对网络2203的输入(通过OUT)驱动交替(翻转)的信号,同时使输入单元2202能够在网络2203的输出(通过IN)捕获交替信号的瞬时值。在时序图中,输出单元2201的输出(OUT’)在时间2212,2214,2216,和2218的翻转测试选通脉冲(TTS)的上升沿翻转。
TTS信号是一个新的信号,由TCK来定时,把它增加到JTAG结构中能允许周期测试指令,正如图23所讨论的。作为输出单元2201输出的一系列双态输出(OUT’),到输入缓冲器的输入(IN)在时间2213,2215,2217,和2219翻转。输入单元2202在每个翻转和捕获的窗口2209中CTS的上升沿捕获输入到输入单元2202的瞬时数据。
在时序图中的IN信号的波形表示为网络2203输出类型,它可以在翻转输入施加到网络2203的输入时观察到。通过IN信号的虚线表示图22所示输入缓冲器的阈值点。于是,在周期1的翻转和捕获窗口2209的起始位置,输入单元2202将在2213的瞬时捕获逻辑1;在周期2的翻转和捕获窗口2209的起始位置,输入单元2202将在2215的瞬时捕获逻辑0。正如所看到的,在每个翻转和捕获窗口2209中,输出单元2201的输出数据都会发生变化且这些变化通过网络2203的传输被输入单元2202捕获。当TAP处于RTI状态时,翻转和捕获窗口2209会持续产生,从而能够产生任意数量的翻转和捕获窗口周期。
图23说明了对图5所示JTAG结构的改进,使之能够实现周期测试指令。周期测试的改进再次使用了原先所述CTS 604,605和延迟603的电路。适用于周期测试指令的新的电路包括(1)AND门电路2305,它用于对边界扫描寄存器2302产生翻转控制信号,(2)AND门电路2306,它用于对边界扫描寄存器产生标志(Flag)控制信号,(3)NAND门电路2307和AND门电路2308,它们用于对边界扫描寄存器产生翻转测试信号(TTS),(4)延迟电路2309,它用于对门电路2307产生预DTCK(PDTCK)信号,(5)所设计的指令寄存器2303用于识别周期测试指令并在总线606上输出控制信号(即,先前所述的Test和CTSENA信号加上新的信号Cycle和CTSENA),使之能够执行周期测试指令,以及(6)改进TAP 2304使之能输出RTI信号和UDR/RTI信号。
再参照图27A和27B,来自指令寄存器控制总线606的信号Test和Cycle,以及来自门电路2306的Flag信号都输入到图27A和27B所示的“完全”2701和“只观察”2702输入单元的改进的捕获和移位电路2703部分。除了电路2703以外,输入单元2701和2702与图18所示的输入单元1801和1802相同。图27所示的捕获和移位电路2703类似于图18所示的捕获和移位电路1803,只是电路2703包含Pass/Fail标志,它由D-FF2705和AND门电路2704组成,并且四输入MUX2706用来取代两输入MUX1808。当Test,Cycle,以及Flag信号都设定为低时,可对电路2703进行编程,使之能以常规JTAG的捕获和移位模式(例如,Extest指令模式),或以本发明的传输测试指令模式来操作。当Test信号为高而Cycle和Flag信号为低时,可对电路2703进行编程,使之以本发明的衰减测试模式来操作。
当Test信号为低而Cycle和Flag信号为高时,可对电路2703进行编程,使之以本发明的周期测试指令模式来操作。于是,电路2703就可表示成捕获和移位电路的一个实现例,它可编程以操作本发明所有测试指令,加上常规JTAG测试指令的操作。对图23要注意的是,如果Cycle是低,则Flagye被门电路2306强制为低;但如果Cycle为高,则Flag就会随着TAP Capture-DR(CDR)状态输出的数值而变化。
当Cycle Test指令被移入指令寄存器2303以及更新它时,到电路2703的Test信号依旧保持低,以允许IN’输入能够通过Mux1807至Mux2706。同样,当CycleTest指令被更新时,到电路2703的Cycle信号从低变高,从而使D-FF 2705的输出Set输入信号无效。在低时,Cycle信号强制(设置)D-FF 2705为逻辑1的条件,即,通过状态条件。于是,在Cycle Test指令的起始处,D-FF 2705将设置成通过状态。在加载Cycle Test指令之前,D-FF 1809已经预置(通过Sample/Preload指令)成适当的初始状态,以便于启动Cycle Test指令。
加载D-FF 1809适当的初始状态将是在图22中周期(Cycle)1的翻转和捕获窗口2209时期在电路2703的IN’输入所接收到的期望信号状态的相反状态。正如在电路2703中所看到的,如果D-FF1809的初始状态和IN’输入所接收到的期望状态是相反的话,XOR 1806将输出逻辑1并将其存储于(响应在ClockDR’上的CTS信号)通过/失败标志D-FF2705,这表示通过。然而,如果D-FF 1809的初始状态和IN’输入所接收到的期望状态是相同的话,XOR 1806将输出逻辑0并将其存储于通过/失败D-FF2705,这表示未能通过并将通过/失败的标志锁定在逻辑0失败的状态上。
在图22时序图中的Cycle1的翻转和捕获窗口2209描述了上述以D-FF 1809输出的初始逻辑0异或IN’的逻辑1的初始操作。在下一个Cycle2的翻转和捕获窗口2209重复上述的操作,这次是通过将在Cycle1初始测试操作所产生的存储于D-FF 1809的逻辑1异或IN’的逻辑0(翻转后的数值)。当TAP是处于RunTest/Idle状态时,就继续D-FF 1809的内容异或IN’的输入的过程。只要在IN’处的数值是与D-FF 1809的数值相反,通过/失败标志就继续加载通过的数值(即,逻辑1)。一旦在IN’处的数值等于在D-FF1809的数值,则通过/失败标志就加载失败的数值(即,逻辑0),且该失败的数值将一直保持到周期(Cycle)测试结束。
图28说明了边界寄存器2302改进的输出单元2801,它能够完成在Cycle测试中的翻转和捕获窗口2209中所发生的翻转功能。输出单元2801是原先讨论的输出单元2201的一种较佳的实现。该改进包括在Capture/Shift D-FF 2803和Update D-FF 2805之间插入了2输入Mux 2804。Mux 2804的一个输入端与D-FF2803的输出端相连接,而其另一个输入端与D-FF 2805的反向输出端相连接。Mux2804的输出端与D-FF 2805的输入端相连接。由图23的来自门电路2305的输入Toggle信号输入控制Mux 2804。
在周期测试指令中,总线606的Cycle信号为高,从而使得Toggle信号能跟随着TAP2304输出的RTI信号。当TAP处于Run Test/Idle状态时,则来自TAP2304的RTI输出信号设定为高,如由加入TAP 2304的图26A的门电路2601确定。只要TAP处于Run Test/Idle状态(RTI为高)并且周期测试指令是当前所加载的指令(Cycle为高),则Toggle信号就设定为高。除了使能门电路2305的Toggle输出之外,RTI信号还使能门电路2307的TTS时钟输出和门电路604的CTS时钟输出。
在图26A中,OR门电路2602允许在门电路2601的RTI输出和门电路1301的Update-DR(UDR)输出之间进行转换。该转换受Cycle信号控制。在周期测试指令(Cycle为高)的过程中,门电路2602的UDR/RTI输出就向门电路604传输RTI信号,从而使能适用于在Run Test/Idle状态中周期测试操作的CTS时钟。在传输测试或衰减测试指令(Cycle为低)的过程中,门电路2602的UDR/RTI输出就向门电路604传输UDR信号,从而使能适用于在Update-DR状态中传输和衰减测试操作地CTS时钟。
在图28中,当Toggle为高且模式输入设定为将D-FF2805的输出通过Mux2806与输出单元2801的OUT’的输出相耦合时,在来自门电路2307的每个TTS时钟输入(经过Update-DR’)的过程中,OUT’输出都会翻转。当Toggle为低时,Mux2804将D-FF2803的输出与D-FF2805的输入相耦合,以允许在输出单元产生常规的JTAG指令(例如,Extest)操作。于是,附加的Mux2804使得输出单元2801可编程,为常规JTAG指令的操作或本发明的周期测试指令的操作。
在周期测试操作结束时,TAP 2304从Run Test/Idle转换为执行数据寄存器的扫描操作,以消去图27C电路2703的通过/失败标志中的数值。
图25说明了在周期测试指令的过程中使如何使用TAP 2304状态的。在图25中使用了图9的Run Test/Idle状态来执行上述的翻转(Toggle)和捕获(Capture)的操作,以及在图25中仍使用图9的Capture-DR的状态作为Capture Flags状态以捕获通过/失败的标志。当T根据图25状态AP的操作进入Capture Flags状态时,图23的门电路2306的Flag信号将通过TAP Capture-DR状态指示器(CDR)变高而变成高。
图26B说明了对TAP 2304增加门电路的例子,使之能在TAP2304处于Capture-DR状态时检测和输出CDR信号。正如在图27C的电路2703中所看到的,当Flag输入为高而Shift-DR输入为低时,Mux 2706选择D-FF 2705中的通过/失败数值捕获到D-FF 1809中以便于移出。于是,在周期测试指令的过程中,数据寄存器的扫描操作将捕获和移出通过/失败的标志数值,而不是捕获和移出在输入单元2701和2702的IN’输入的数值的常规操作。
图24A说明了通过扫描输入指令并更新在指令寄存器2303中的指令实现开始周期测试指令操作的时序图。在时间2401和在TAP 2304处于Update-IR状态中的TCK的下降沿,从指令寄存器更新周期测试指令。响应该更新之后,在指令寄存器输出总线606上的Cycle,TTSENA,以及CTSENA信号都变为高。TAP从Update-IR状态转换到Run Test/Idle状态,该状态使TAP的RTI信号输出在时间2402设为高。虽然未示出,TAP的UPD/RTI信号输出也在时间2402设为高。当RTI变成为高,也将边界寄存器2302的输出单元2801设置在其翻转(toggle)模式,这时门电路2305的Toggle输出也变成为高。
响应RTI(和UPD/RTI)信号变成为高,门电路604将DTCK时钟信号传递到CTS输出,而门电路2307将PDTCK时钟信号传递到TTS输出。CTS和TTS两个信号都通过门电路605(ClockDR’)和2308(Update-DR’)输入到边界寄存器。在图23的电路例子中包括了原先提到的延迟电路2309,以在TCK和PDTCK之间提供少量的延迟,从而保证在TTS被RTI信号选通和截止时不会对TTS时钟产生干扰。延迟电路2309可以是原先已在图8A讨论过的一类延迟电路,且仅仅在TCK和PDTCK之间提供延迟,例如,从时间2403延迟到时间2404。
在Run Test/Idle状态中,第一次翻转和捕获的操作分别在时间2405和2406发生在TTS和CTS的上升沿。第二次翻转和捕获的操作发生在时间2407和2408的下一次TTS和CTS的上升沿。当TAP从Run Test/Idle状态转换到Select-DR状态时,RTI(和UPD/RTI)信号在时间2409变成为低,这就关闭了以后的TTS和CTS时钟信号。另外,在TCK和PDTCK之间的少量延迟(由延迟电路2309提供)将使RTI信号在时间2412的PDTCK上升沿之前的时间2409变成为低,以防止TSS被关闭时对TTS所产生的时钟干扰。当TAP转换到Capture-DR状态时,TAP使能它的Clock-DR信号输出。在时间2410的Clock-DR输出的上升沿,输入单元2701和2702的通过/失败标志被捕获到D-FF 1809中。当TAP进入Shift-DR状态时,所捕获到的通过/失败标志在时间2411的每个TCK上升沿移出,用于检查。
图24B显示了有可能在紧跟着图24A所示的第一次翻转和捕获测试顺序之后执行第二次翻转和捕获测试顺序。在图24B中,所示的TAP通过图25的状态Exit1-DR从图24A的Shift-DR状态转换到Update-DR状态。在Update-DR状态中,输入和输出单元在时间2413 TAP的Update-DR时钟上升沿采用新的测试初始化数据更新,从而开始第二次翻转和捕获的测试顺序。一旦从Update-DR状态转换到Run Test/Idle状态,RTI信号就变成为高,从而开始第二次翻转和捕获测试顺序。图24B的第二次翻转和捕获测试顺序的其余操作都相同于图24A的第一次操作。也可以进行任何次数的翻转和捕获测试顺序。
尽管所示的两次翻转和捕获周期操作产生于图24A和24B所示的测试时序的过程中,很显然TAP可维持在Run Test/Idle状态持续或多或少个TCK周期,以能够产生相应的或多或少次翻转和捕获周期操作。
图24C显示了在进行了周期测试指令之后,将另一个指令加载到指令寄存器2303中,以执行其它操作。当其它指令在时间2414的TCK下降沿更新时,总线606上的Cycle,TTSENA,和CTSENA信号都设定为低,使JTAG结构处于不同于周期测试指令模式的其它模式中。在其它指令的过程中,进入Run Test/Idle状态并不会引起对TTS和CTS时钟信号的触发。
图29说明了在第一器件输出OUT和OUT*和第二器件输入IN和IN*之间耦合的差分AC耦合接口网络2900。输出边界单元2901将输入驱动为第一器件差分输出缓冲器2905,使之对差分AC信号路径2910和2911产生差分输出信号。输出边界单元2901可以是任何一类上述电路,例如,单元101或单元2201(2801)。输入边界单元2902接收第二器件的差分输入缓冲器的输出,该差分输入缓冲器接收差分AC信号路径2910和2911的信号。输入边界单元2902可以是任何一类上述电路,例如,单元102,单元1401(1801,1802),或单元2202(2701,2702)。
此外,只观察输入边界单元2903位于差分AC耦合信号路径2910的第二器件IN输入,以及只观察输入边界单元2904位于差分AC耦合信号路径2911的第二器件IN*输入。只观察输入边界单元2903和2904可以是任何一类上述讨论的Observe Only单元,例如,单元506,单元1802,或单元2702。所使用的输入或输出单元的类型取决于将应用于差分网络2900的测试类型,例如,常规JTAGExtest,或本发明的传输测试,衰减测试,和/或周期测试。尽管未示出,将输入单元2903,2904,和2902串联在第二器件的扫描路径中,从而允许在JTAG扫描访问和在本发明的测试指令控制的过程中能够一起访问这些单元。
信号路径2910和2911可以各种方式终止。信号路径2910和2911的终端模块2907和2908可以采用上拉终端2912和下拉终端2913的混合。另外,终端模块2909可以使用组合的上拉和下拉终端2914或简单耦合的电阻器2915。也可以使用其它类型的终端方式。
在传输测试指令的过程中,边界单元2901向输出缓冲器2905输出测试信号,该信号将在OUT和OUT*的信号上产生互补的输出转换。网络2900的瞬态响应分别在IN信号路径2910和IN*信号路径2911的边界单元2903和2904捕获。另外,输入缓冲器2906的瞬态响应输出也同时在边界单元2902捕获。传输测试输出和捕获的操作发生在捕获测试选通脉冲窗中,如先前图4单端AC耦合网络传输测试例所述。唯一不同在于在差分AC耦合网络中采用三个输入边界单元2902,2903和2904而不是图4单个输入边界单元102。输入单元2903对信号路径2910的适当操作进行测试,输入单元2904对信号路径2911的适当操作进行测试,而输入单元2902对两个信号路径以及输入缓冲器2906的适当操作进行测试。尽管输入单元2902可以单独用于第二器件,但第二器件的附加输入单元2903和2904在输入单元2902表示失败的情况下提供诊断信息。例如,如以上单端网络108和2203中所述,输入单元2903和2904可以直接检测由于故障或错误数值或R和/或C等引起的0或1的阻塞,开路,或降级的信号路径2910或2905。
在衰减测试指令的过程中,边界单元2901向输出缓冲器2905输出测试信号,该信号将在OUT和OUT*的信号产生互补的输出转换。衰减测试的第一次捕获在单元2903,2904,和2902中得到网络2900的瞬态响应。衰减测试的第二次捕获在单元2903,2904,和2902中得到网络2900的稳态响应。正如以上在图14和图16单端AC网络中所述,产生了第一次和第二次捕获操作。另外,在图14的单端AC耦合网络和图29的差分AC耦合网路之间的唯一不同是采用三个输入单元2902,2903和2904而不是单个输入边界单元1401。正如以上所提到的,三个输入单元2903,2904,和2902的使用在网络2900无法通过衰减测试的情况下可以提供更多的诊断信息。
在周期测试指令的过程中,边界单元2901向输出缓冲器2905输出翻转的测试信号,该信号将在OUT和OUT*的信号产生互补的输出转换。周期测试的捕获操作在单元2903,2904,和2902中得到网络2900的瞬态响应。另外,在图22的单端AC耦合网络和图29的差分AC耦合网路之间的唯一不同是采用三个输入单元2902,2903和2904而不是单个输入边界单元2202。此外,三个输入单元2903,2904,和2902的使用在网络2900无法通过衰减测试的情况下可以提供更多的诊断信息。
图30说明了常规1149.1测试域3001的界面3003,3004扩展到1149.1测试域3002,例如,块3005,以能实现本发明的传输和衰减测试指令。该测试域可以是IC中的一个子电路、MCM上的电路小片、板上的IC、地板上的电路板,或者至少有两个互连电路测试域的其他可能实现,一个只是1149.1的测试域,而另一个则是具有本发明的传输和衰减测试的扩展测试域。
图30说明了如果没扩展测试域3001向扩展测试域3002输出,扩展1149.1测试域3002的传输和衰减测试指令可以与没扩展的1149.1测试域3001共用。如果用Extest指令加载两个测试域,则在两个测试域之间的数字连接3004是可测试的,但,正如上述所讨论的,在两个测试域之间的AC耦合3003互连电路是不可测试的。测试AC耦合互连电路3003的第一个方法是向测试域3001加载Extest指令以及向测试域3002加载传输测试指令。执行1149.1的数据扫描(即,通过图9所示的数据寄存器扫描协议状态对测试域3001排序,同时在锁定步骤中通过图10所示的数据寄存器扫描协议状态对测试域3002排序)将会引起测试域3001在Update-DR状态输出测试数据,同时测试域3002在Update-DR状态(即,在图4所示的捕获测试选通脉冲(CTS)窗口)开始捕获过程。通过假定图4所示的边界单元101处于测试域3001以及图4所示的边界单元102处于测试域3002并且检查图4的时序图,这就可以看得更加清楚。于是,包括了传输测试指令的测试域能够操作以从包含Extest指令的测试域中接收测试信号来执行传输测试的操作。
测试AC耦合互连电路3003的第二个方法是向测试域3001加载Extest指令以及向测试域3002加载衰减测试指令。如上所述,执行1149.1的数据扫描,将会引起测试域3001在Update-DR状态输出测试数据,同时测试域3002在Update-DR状态(即,在图4所示的捕获测试选通脉冲(CTS)窗口)开始第一次捕获(Capture1)并且在Capture-DR状态进行第二次捕获(Capture2)。通过假定图4所示的边界单元101处于测试域3001以及图4所示的边界单元102处于测试域3002并且检查图4的时序图,这就可以看得更加清楚。于是,包括了衰减测试指令的测试域能够从包含Extest指令的测试域中接收测试信号并且进行衰减测试的操作。
尽管详细描述了本发明,但应该理解到可以在不脱离所附的权利要求书限定的发明主旨和范围下产生各种变化,替代和变更。
权利要求
1.一种测试访问端口,包括测试时钟输入;测试模式选择输入;测试数据IN输入;测试数据OUT输出;控制器,它连接着测试时钟输入和测试模式选择输入,该控制器提供Update-DR信号,Clock-DR信号,Update-DR信号,以及Shift-DR信号,还具有控制总线输入;指令寄存器,它连接着测试数据IN输入和测试数据OUT输出且具有连接着控制器的控制总线输出,指令寄存器还具有模式信号输出;边界扫描寄存器,它连接着功能数据信号,测试数据IN输入,测试数据OUT输出,模式信号输出,Update-DR信号和Shift-DR信号,边界扫描寄存器具有改进的Clock-DR输入;延迟电路,它连接着测试时钟输入且具有延迟的时钟输出;以及传输测试电路,它连接着延迟的时钟输出,控制总线,Update-DR信号,Clock-DR信号和改进的Clock-DR输入以测试由边界扫描寄存器接收的功能信号的传输。
2.一种测试访问端口,包括测试时钟输入;测试模式选择输入;测试数据IN输入;测试数据OUT输出;控制器,它连接着测试时钟输入和测试模式选择输入,该控制器提供Update-DR信号,Clock-DR信号,Update-DR信号,以及Shift-DR信号,还具有控制总线输入;指令寄存器,它连接着测试数据IN输入和测试数据OUT输出且具有连接着控制器的控制总线输出,指令寄存器还具有模式信号输出和测试信号输出;边界扫描寄存器,它连接着功能数据信号,测试数据IN输入,测试数据OUT输出,模式信号输出,测试信号输出,Update-DR信号和Shift-DR信号,边界扫描寄存器具有改进后的Clock-DR输入;延迟电路,它连接着测试时钟输入且具有延迟的时钟输出;以及,衰减测试电路,它连接着延迟的时钟输出,控制总线,Update-DR信号,Clock-DR信号,以及测试由边界扫描寄存器接收功能信号的RC时间衰减的改进后的Clock-DR输入。
3.测试访问端口包括测试时钟的输入;测试模式选择输入;测试数据IN输入;测试数据OUT输出;控制器,它连接着测试时钟输入和测试模式选择输入,该控制器提供Update-DR信号,Clock-DR信号,Update-DR信号,以及Shift-DR信号,还具有控制总线输入;指令寄存器,它连接着输入的测试数据和输出的测试数据且具有连接着控制器的控制总线的输出,指令寄存器也具有模式信号输出测试信号输出;边界扫描寄存器,它连接着功能数据信号,输入的测试数据,输出的测试数据,模式信号输出,测试信号输出和Shift-DR信号,边界扫描寄存器具有改进的Clock-DR输入,翻转输入,标志输入和改进的Update-DR输入;延迟电路,它连接着测试时钟输入且具有延迟的时钟输出;以及,周期测试电路,它连接着延迟的时钟输出,控制总线,Update-DR信号,Clock-DR信号,改进的Clock-DR输入,改进的Update-DR输入,翻转(toggle)输入和标志输入以测试由边界扫描寄存器接收的翻转功能信号。
4.一种进行测试的过程,包括将测试数据信号施加在互连电路的输入,互连电路在JTAG测试访问端口控制器的Update-DR状态下的指定时间具有输出;在JTAG测试访问端口控制器的至少部分控制下,在指定时间后所选择的时间在互连电路的输出进行测试数据信号的采样,所发生的可选择时间是在正常紧随着Update-DR状态之后的控制器的Capture-DR状态中的测试数据信号的正常采样之前;以及,在JTAG测试访问端口控制器的至少部分控制下在正常紧随着Update-DR状态之后的Capture-DR状态中的控制器以阻止互连电路输出端上的测试数据信号的正常采样。
5.一种进行测试的过程,包括将测试数据信号施加在互连电路的输入,互连电路在Update-DR状态下的指定时间开始的时间周期中具有输出,它发生在Capture-DR状态稍后JTAG测试访问端口控制器中;在JTAG测试访问端口控制器的至少部分控制下,在指定时间后且在Capture-DR状态前可选择的时间,在互连电路的输出端进行测试数据信号的第一次采样;以及在JTAG测试访问端口控制器的至少部分控制下,在Update-DR状态之后控制器正常产生的第一次Capture-DR状态中在互连电路的输出端进行测试数据信号的第二次采样。
6.一种测试在第一器件和第二器件之间的互连电路的方法,它包括步骤有将来自第一器件的激励信号施加到互连电路;在JTAG测试访问端口控制器的至少部分控制下在第二器件中观察互连电路对激励信号的瞬态响应;以及,在JTAG测试访问端口控制器的至少部分控制下在第二器件中观察互连电路对激励信号的稳态响应。
全文摘要
传输测试指令,衰减测试指令和周期测试指令提供了在包括JTAG边界扫描单元的电路之间DC和AC互连电路的测试。只需要对测试访问端口电路以及边界扫描单元作少量添加就能实现所附加的指令。该指令扩展了常规的JTAG操作的结构。
文档编号G06F11/22GK1438492SQ03104139
公开日2003年8月27日 申请日期2003年2月11日 优先权日2002年2月11日
发明者L·D·威特赛尔 申请人:德克萨斯仪器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1