电子电路的测试的制作方法

文档序号:6080368阅读:190来源:国知局
专利名称:电子电路的测试的制作方法
技术领域
本发明涉及电子电路的测试。
美国专利No.5606566说明了一种使用IEEE1149.1测试标准的电路测试技术。该电路包括具有功能互连的多个集成电路,以在正常操作过程中在集成电路之间传送信号。通过使测试信号进入电路并观察电路如何响应测试数据来测试电路。例如,通过在集成电路的输出端处施加测试信号以及观察相应的响应信号是否到达集成电路的输入端来测试集成电路之间的互连。
如US5606566中所述的IEEE1149.1标准限定了用于使测试信号进入电路以及读出来自电路的响应信号的测试接口。单比特位宽的移位结构用于这种用途。集成电路被连接在连续的集成电路链中。如果需要的话,每一集成电路具有耦合至所述链中的其前一集成电路的测试数据输入端,并且如果需要的话,还具有一个耦合至所述链中的其后一集成电路的测试数据输出端。此外,集成电路具有共同耦合的测试时钟和测试模式选择输入端。
施加测试信号的连续位至所述链的测试数据输入端,并在所述链中从一个集成电路移位至下一个集成电路,直到从中输出测试信号以测试所述功能互连的那个集成电路。类似地,将响应信号从功能互连加载入集成电路中,并在所述链中将响应信号的连续位从一个集成电路移位至下一个集成电路,直到测试数据输出端。控制指令被类似地移位通过所述链。通过耦合至各集成电路的测试时钟输入端的中央时钟来同步移位、输出和加载,并通过耦合至各集成电路的测试模式选择输入端的模式选择信号对所述移位、输出和加载进行控制。模式选择信号控制测试接口如何行经该测试接口的状态图。
IEEE1149.1标准基于访问速度和引脚/连接计数之间的折衷。每个集成电路仅需要两个测试数据引脚,并且仅需要一个用来连接至另一集成电路的测试数据连接。结果,由于数据和指令必须通过集成电路链,所以要花费较长的时间来写入或读出测试数据。
已经提出各种技术以增加IEEE1149.1接口的访问速度。例如,US5606566就提出了使用并行的几个链。一种提高速度的方法当然是增加测试时钟的速度。但是存在对最大时钟速度的限制,不仅仅是在集成电路的最大内部速度方面,而且由于通过从中央时钟源至不同的集成电路的连接所引入的延迟之间的差异。这些延迟之间的差异被称作时钟偏斜(clock skew)。这些差异不应当超过时钟周期的长度。
其中,本发明的一个目的是在电路的测试接口中实现高时钟速度。
其中,本发明的一个目的是减小测试电路所需的时间。
本发明提供一个依照权利要求1的系统。集成电路之间的所述链接用于将测试信息传送至不同的集成电路之间的测试功能互连。依照本发明,从一个集成电路至另一集成电路地将诸如测试时钟信号的同步信息传送通过所述链,所述同步信息确定何时由集成电路将测试数据输出到功能互连,以及确定何时由集成电路从功能互连捕获测试数据。这消除了由于测试同步信息和测试数据到达集成电路的延迟之间的差异而带来的问题。优选地,所述链中的全部集成电路通过所述链接收它们的同步信息(比如时钟信号),但在不脱离本发明的情况下,可以添加另外的接收中央同步信息的集成电路,例如当这些另外的集成电路在所述链的前端时,所述中央同步信息来自测试器,或者对于所述链中的多个连续电路所述中央同步信息来自局部同步信息提供电路,其中从通过所述链接收的时钟信号导出所述局部同步信息。
优选地,集成电路用与同步信息一起行进到所述链的输出端的测试结果来替代测试数据,所述测试数据初始地在所述链的输入端处与所述同步信息一起行进。这样,减小了执行测试需要的时间量。同样优选地,同步信息包括公用于所述链中的全部集成电路的状态选择信息。在这种情况中,将所述链中的集成电路中的每一个设置成步进通过一系列的状态,其中在同步信息的控制下,对于所述链中的全部集成电路可以没有区别地选择连续的状态。到达特定的状态会触发更新和捕获。为IEEE1149.1标准定义的状态图可以用于示例。这样,所述链中的全部集成电路能够灵活地适应状态序列。
优选地,测试器耦合至所述链,以确保同步信息的更新速率较低,以使得在所述链中的第一集成电路接收引起捕获的同步信息之前,所述链中的全部集成电路都接收引起施加至功能互链的测试信号的更新的同步信息。测试器可以例如基于关于所述链中的集成电路的信息来确定所需要的延迟,但是优选地,测试器测量所述引起更新的同步是否已经到达所述链的末端,并仅在这种测量之后才传送引起更新的同步信息。
优选地,通过相同的通信导体,在时间上串行地将同步信息与测试数据、测试结果和/或命令从一个集成电路传送至另一个集成电路。这样,为了测试用途必须提供最少的连接引脚,并避免不同的偏斜。优选地,在每一对集成电路之间使用一对引脚以传送作为不同信号的信息。这增加了最大的可能速度。此外,这令使用具有互相不同的电源电压的集成电路成为可能。
在一个实施例中,集成电路接收和传送包括与测试数据、测试结果和/或命令在时间上串行的同步信息的连续字。集成电路将所接收的同步信息从所接收的字拷贝至所传送的字,并且在所传送的字中用在该集成电路中产生的测试数据、测试结果和/或命令的一个内部比特来替代所接收的字中的测试数据、测试结果和/或命令的一个所接收的比特。内部比特例如是测试数据的比特或来自已经行进通过该集成电路的较早的字的测试结果的比特或在集成电路中已经被捕获的测试结果的比特。这样,对于同步信息实现了最小传送延迟(并因此实现了最大的测试速度),同时允许集成电路中对测试数据的处理。
在另一个实施例中,至少一个集成电路包括通过壳(shell)连接至所述链的测试控制器电路,所述壳使得同步数据和测试数据、测试结果和/或命令的串行传送的比特好像是并行到达的。这样,诸如IEEE1149.1分接头控制器的传统的测试控制器可以与时钟信号的链式传送相结合。
在另一实施例中,包括同步和测试数据的字包括用于所述链中的所选择的集成电路的编程信息的附加位置。例如,编程信息可以用于在n个字(例如n=16)之后提供用于可编程存储器的写使能信号中的连续边沿,在所述n个字中已经提供了测试数据,所述测试数据用作必须被并行地写进存储器中的信息。
在一个实施例中,所述各集成电路中的至少一部分允许对测试数据和同步信息的接收和传送的可编程的比特率。初始地将比特率设置为初始状态中的预定值。但在通过所述链接收的集成电路特定的命令的控制下重新编程比特率。待测电路中的集成电路可以具有不同的最大可能速度。基于待测电路,所述链中的连续的集成电路可以具有相同的最大可能速度或不同的最大可能速度。测试器具有关于所述链中的连续的集成电路以及它们的最大可能速度的信息。初始地,全部集成电路使用一个对于全部集成电路来说是可接受的预定比特率。之后测试器可在沿着所述链的不同点处将比特率设置为不同值,如连续的各集成电路对之间的最大允许的值。这样,最小化了由同步信息经历的延迟,从而最大化了测试速度。
在一个实施例中,所述链中的所述集成电路的所述至少部分的集成电路中的每一个具有外部时钟输入端,所述外部时钟输入端用于从中央时钟初始钟控沿着所述链的数据传输,其中所有时钟输入端共同耦合到该中央时钟。在这种情况中,可以提供命令以切换到高得多的比特率下的同步信息(诸如时钟信号)的链式传送。
在另一个实施例中,所述链的集成电路具有共同耦合至中央复位输入端的外部复位输入端,以复位到对于全部集成电路来说可接受的比特率。
利用下面的附图更详细地说明本发明的这些和其它目的和有利方面。


图1示出了一个测试系统。
图2示出了一个集成电路。
图3示出了具有可编程存储器的集成电路。
图3a示出了具有可编程存储器的集成电路。
图4示出了具有部分独立的时钟电路的集成电路。
图4a示出了具有部分独立的时钟电路的集成电路。
图5示出了一个集成电路。
图1示出了测试系统的一个实施例。该系统包括测试器10和待测电路11。待测电路11包括通过某一功能互连电路16互连的多个集成电路12、14。为了测试用途,集成电路12、14也连接成链,所述链具有耦合至测试器10的输出端的输入端18和耦合至测试器10的输入端的输出端19。所述链中的各对连续集成电路12、14之间的连接是用于每次传送单一比特的通信连接,例如每一单独的导体或一对用于差分信号传送的导体。
在正常操作中,电路11不连接至测试器10。在正常操作中,集成电路12、14中的功能电路执行电路11所设计用于的各种功能,并通过互连电路16来传送信息。一般来讲,功能互连电路16包括用于在集成电路12、14的各端子之间提供点对点的连接的一组导线(可选地加上某种胶合逻辑(glue logic))。一般地,这些连接不遵循所述测试链的类似链的特性功能互连电路16可以是沿着所述链的任何位置处的集成电路,并且经常是具有连接至几个其它集成电路(而不只是所述链中的集成电路)的输入端和/或输出端的集成电路。
为了测试电路11,将它连接至测试器10。测试器10将测试数据输入集成电路12、14,并读出对该测试数据的响应以作为来自集成电路的测试结果。在实际的测试之前以及之后,测试数据和结果沿着所述链进入和离开电路11,也就是沿着独立于功能互连电路16的路径。具体地说,功能互连电路一般不具有相同的链结构。因此一般不出现下面的情况当测试信号在通过所述链从第二集成电路传送之后到达第一集成电路时,全部功能信号将从第一集成电路行进通过功能互连电路至第二集成电路,并且具有相同的延迟。相反,一些功能信号可以以相反的方向行进,并具有不同的传送延迟。
典型地,待测电路11也包括载体(未示出),比如功能连接16以及用于测试链的连接被实现于其上的印刷电路板,集成电路也附在该印刷电路板上。在这种情况中,所述测试用于测试载体上电路的功能性。在其它环境中,待测电路11可以包括多个这种载体的互连系统。
更详细地示出一个集成电路14(另一集成电路12可以具有类似的结构)。集成电路14包括接收器140、发送器144、测试控制器142、时钟电路143和功能电路145。接收器140具有耦合至所述链中的前一个集成电路12的输入端146。接收器140具有用于测试时钟信号TCK、测试模式信号TMS和测试数据信号TDI的输出端以及其它输出端。用于测试时钟信号TCK和测试模式信号TMS的输出端耦合至测试控制器142和发送器144。测试控制器142具有耦合至接收器140的测试数据输出端的测试数据输入端以及耦合至发送器144的测试数据输出端。发送器144具有耦合至所述链中的后一个集成电路的输出端148。功能电路145通过功能互连电路16耦合至其它的集成电路12,并耦合至测试控制器142。
在操作中,在测试模式中,测试器10通过输出端18输出与测试时钟信号和模式选择信号相组合的测试数据字和/或测试指令字至集成电路12、14的所述链。每一集成电路12、14从所述链中的其前一个集成电路接收与测试时钟信号和模式选择信号相组合的测试数据字和/或测试指令字,并传送与测试时钟信号和模式选择信号相组合的测试数据字和/或测试指令字至它的后一个集成电路。在集成电路14中,接收器140接收来自输入端146的信息的连续比特的字,并解码来自每一字的测试时钟信号TCK、模式选择信号TMS、输入数据比特TDI以及可选的其它比特。接收器140施加测试时钟信号TCK、模式选择信号TMS和输入数据比特TDI至测试控制器142。测试控制器142可以是传统的IEEE1149.1测试控制器。测试控制器142将信号传递到功能电路145,例如通过移位寄存器链来移位测试数据,以更新输出测试数据至功能互连电路16的触发器中的数据,或捕获来自功能互连电路16的响应信号。测试控制器142输出测试数据输出比特,其典型的是作为测试数据输入比特先前已经被接收的比特,或是从功能电路145或从功能互连电路16所捕获的响应数据的比特。
发送器144接收来自接收器140的测试时钟信号TCK、模式选择信号TMS和来自测试控制器142的测试数据输出比特。发送器144将来自接收器140的测试时钟信号TCK、模式选择信号TMS以及测试数据输出比特与可选的其它比特一起组合成被串行传送至集成电路12、14的所述链中的后一个集成电路的字。这样,在从集成电路14接收之后,发送器144组合测试时钟信号TCK和模式选择信号TMS,所述信号通常将以一个字延迟从集成电路14传送。
时钟电路143从通过用于时钟接收器140和发送器144的串行输入端146被传送的信号来重构时钟信号。该时钟信号用于解码和编码接收器140和发送器144中的串行数据。作为替换方案,可以在连续集成电路12、14的发送器和接收器之间使用握手(handshaking),但这需要更多的连接。
结果,在所述链中的每一对连续集成电路12、14之间传输来自接收器140的测试时钟信号TCK、模式选择信号TMS和测试数据输出比特,并且所述信号在集成电路12、14内部被并行使用。由于是通过集成电路的单个链来传送全部这些测试信号的,所以没有时钟偏斜的问题出现。
将所述链中的不同集成电路的测试控制器142设计成彼此协同操作,它们全部步进通过相同、可选择的一系列测试状态,并将测试数据或指令传递至所述链中的下游的集成电路,或者传递来自所述链的在前部分中的集成电路的响应数据。测试时钟信号和测试模式选择信号控制由测试控制器所采取的状态,例如利用与IEEE1149.1测试标准相容的状态图。该状态图尤其定义了更新和捕获状态。响应于到达更新状态,测试控制器142命令更新触发器(未单独示出)以便拷贝通过所述链接收的测试数据或指令数据,从而输出测试数据或指令数据。响应于达到捕获状态,加载测试数据,以用于通过所述链移出。
测试器10控制何时通过所述链传送具有新的测试时钟信号值的字。优选地,重复具有老的测试时钟信号值的字,直至传送具有新的测试时钟信号值的字。这允许时钟电路143保持锁定于所述比特率,并减小了丢失字的影响。
一般地,在一个延迟之后,测试器将传送具有新的测试时钟信号值的字,例如对应于具有老的时钟信号值的一系列N个字。选择所述延迟,以保持从更新至由不同集成电路进行的相应捕获的最小时间间隔,以及从捕获至下一更新的最小时间间隔。也就是说,在测试器10输出具有将引起更新的新的测试时钟信号值的字之前,具有引起在前的捕获的时钟信号值的字必须已经到达所述链中的最后的集成电路,从而使全部集成电路都已经执行了捕获。反之亦然,在测试器10输出来自具有将引起捕获的下一不同的测试时钟信号值的下一系列的字之前,具有引起在前更新的时钟信号值的字必须已经到达所述链中的最后的集成电路,从而使全部集成电路已经执行了捕获。
各种技术可以用于确保足够的延迟以便确保这种时间间隔的存在,在所述延迟期间,测试时钟信号不改变。在一个实施例中,测试器10监控在输入端19处从所述链接收的字,并解码从这些字接收的测试时钟信号。在该实施例中,测试器10仅在检测出时钟信号的先前改变已经到达输入端19时才在输出端18处改变所述字中的时钟信号。这样,确保总是存在一个时间间隔,其中全部集成电路12、14处于相同的状态,这确保了更新和捕获的合适定序。在一个更有进取性的实施例中,测试器10至少延迟对具有引起过渡至更新或捕获状态的新的时钟信号的字的输出,直至已在输入端19处分别接收了具有在之前的捕获和更新之后的时钟信号过渡的字。
在另一实施例中,延迟的编程值(例如必须被重复的字N的数量的编程值)可被适当地用于待测电路11,或者对于来自待测电路的所述链的延迟测量的多个字系列,可以一次确定延迟的所需值。
尽管图1假定所述链中的全部集成电路12、14通过所述链接收同步信息(比如时钟信号和/或模式选择信号),但这实际上不是必须的。在不脱离本发明的情况下,可将一个或多个另外的集成电路添加至从测试器接收中央同步信息的所述链中。例如,这种另外的集成电路可被包括在所述链的前端,以便集中地从测试器10接收它们的时钟信号等。在这种情况中,优选地将最后的集成电路设置成从集中接收的同步信息和它的局部数据、结果或命令中生成具有同步信息和数据、结果或命令的字并将其提供给所述链的剩余部分。当中央同步信息可几乎没有偏斜地被传递给集成电路的该部分时,这仍然允许高的测试速度。
在另一替换实施例中,所述链中的局部一组多个连续电路可以共同接收来自局部同步信息提供电路的局部同步信息。在这种情况中,局部同步信息提供电路在该组的开始处从所述链导出同步,并提供该导出的同步信息(例如测试时钟信号)至该局部组的各集成电路。优选地,局部同步传递电路组合在所述链末端处的数据、结果和命令输出与局部地生成的同步信息,并通过所述链传递该组合信息至另外的集成电路。
这样,可将传统的中央测试钟控的集成电路的“岛(island)”合并进所述链中。实际上,在这种情况中在集成电路14中的测试控制器142周围产生的“壳”延伸于多个传统的集成电路周围。与所述链的剩余部分接口的局部同步信息提供电路和局部同步传递电路具有类似于接收器140和发送器144的功能,并且可将其合并进在所述岛的开始处和末端处的集成电路中,或者甚至合并进在岛的开始处和末端处的所述链中的两个位置处所包括的一个集成电路中。当可以几乎没有偏斜地钟控所述岛中的集成电路时,测试速度仍是高的。
图2示出了集成电路的一个更详细的实施例。该集成电路具有耦合至测试控制器142的外部测试复位信号输入端TRSTN。不同的集成电路的复位输入端通常共同耦合至中央复位源,即不通过链结构。集成电路具有差分的测试信号输入端200和差分测试信号输出端218。此外,该电路包括串联在差分输入端200和测试控制器142之间的输入传感放大器202、输入移位寄存器204、输入解码器206、输入锁存器208。输出编码器212、输出移位寄存器214以及输出驱动器216耦合于测试控制器142和差分输出端218之间。用于测试时钟信号和测试模式选择信号的输入锁存器208的输出直接与测试控制器142并行地耦合至输出编码器。
除时钟电路143之外,还配备了外部时钟输入端TCK。时钟电路143的输出端和时钟输入端TCK耦合至多路复用器224的输入端。多路复用器224的输出端耦合至输入移位寄存器204的时钟输入端和输入锁存器206,后者通过计数器226和使能电路229。使能电路229具有耦合至输入解码器206的错误信号输出端的使能输入端。多路复用器224的输出端耦合至输出移位寄存器214的移位时钟输入端,并耦合至输出移位寄存器214的负载输入端,后者通过计数和延迟电路242。通过控制寄存器225来控制多路复用器224和时钟电路143,该控制寄存器225实际上是测试控制器142的一部分,但为了清楚将其单独示出。
在操作中,利用复位输入端TRSTN,测试控制器142被初始复位至复位状态。在操作过程中,具有测试时钟信号、测试模式信号和测试输入数据的字到达差分输入端200。字的连续比特被感测,并被加载入输入移位寄存器204。从输入移位寄存器204并行输出所述比特至输入解码器206。如果输入解码器206指示没有错误出现,假定每个所传送字的比特数是“n”(例如n=6),每n个时钟周期从输入解码器206将解码结果锁存入输入锁存器208中。通过举例,利用一些错误检测代码,输入解码器206从六比特字中解码五个比特。
被锁存进入输入锁存器208中的比特包括一个表示测试时钟信号的比特、一个表示测试模式选择信号的比特、一个表示测试数据输入的比特和可选的其它比特。测试时钟信号、测试模式选择信号、测试数据输入被馈送给测试控制器142,并被用作传统的IEEE1149.1测试信号TCK、TMS和TDI。响应于这些信号,测试控制器在连续的TCK电平过渡处产生连续的测试数据输出信号(TDO)。TDO信号典型地从较早的TDI值导出,或从从电路11捕获的测试结果得出,例如从功能互连电路16得出。测试控制器142至少在TCK保持在相同逻辑电平的同时继续输出相同的TDO值。
输出编码器212接收来自输入锁存器208的TCK和TMS以及可选的其它比特以及来自测试控制器142的TDO。输出编码器212形成来自这些信号的输出字的比特,从而典型地执行由输入解码器206执行的解码的逆处理。将已编码的比特加载入输出移位寄存器214(优选地以和将数据加载入输入锁存器208一样的频率(每n个时钟周期)),但是存在多个时钟周期的延迟,以使在加载输入锁存器208足够长时间之后将数据加载入输出移位寄存器214中,从而在测试控制器142的输出端处可利用对应于该锁存器中的TCK和TMS值的TDO值。输出移位寄存器214移位已编码的比特至驱动器216,其驱动差分输出端218。
可以使用编码和解码的任何理想形式。例如可将奇偶比特添加至测试时钟信号、测试模式选择信号、测试数据和可选的其它比特中。类似地,可以添加开始和/或停止比特,或有利于字边界的识别的其它信息。在这种情况中,字边界检测电路可以用于从进入的比特中检测字边界,并用于控制加载入输入锁存器208和输出移位寄存器214。类似地,编码可以被适配成便于从所传送数据中恢复频率,例如通过确保字中信号过渡的最小数量,并且/或者编码可以被适配成服务特定的通道特性,例如通过确保一个值和相反值具有同样多的比特。
尽管输入解码器206和输出编码器212被示为没有时钟输入端,但可以理解,可以使用钟控的解码器和/或编码器,例如用于通过连续地将所存储的中间奇偶性与连续的进入比特进行异或来计算奇偶性。
时钟多路复用器224使得可能在利用外部时钟和来自时钟电路143的内部时钟之间进行选择。外部时钟优选地被并行地提供至所有的集成电路12、14,即不通过链结构,而是从(例如测试器10中的)中央源提供。这将最大可用外部时钟值限制到一个比时钟电路143的最大可用值低得多的值。在复位之后,选择外部时钟。在该阶段,测试器10以外部时钟频率通过所述链提供测试数据。在该阶段,外部时钟用于初始化集成电路,并且特别用于利用通过输入端200提供的指令数据来加载控制寄存器225。指令数据设置时钟电路143的标称频率,并命令时钟多路复用器224切换至内部时钟电路143。随后,控制寄存器225的内容在测试过程中通常保持不变,但可以利用在时钟电路143的控制下所接收的指令数据将其更新。
然而,可以理解,外部时钟的初始使用仅仅是为确保初始化的便利解决方案。在不脱离本发明的情况下,初始地可以通过所述链以及以低比特率提供时钟信号,从而使全部集成电路能够处理该比特率。
图3示出了具有可编程存储器30的集成电路,其用于图1的电路11的所述链中。用于来自通过测试输入端146接收的字的另外的比特的输出端耦合至存储器30以及用于进入的测试数据的输出端。在图3的实施例中,由从所接收的字导出的测试时钟信号来钟控存储器30。在操作中,利用作为测试数据提供的数据来编程存储器30。在传送一个存储器字的数据(例如16比特)之后,另外的比特用于生成写使能脉冲,以使得所接收的数据被写进存储器30中。在具有连续时钟信号值的字中可以编码写使能信号的连续电平。这具有以下优点通过测试信号可以控制对存储器的编程,以及当特定集成电路不拷贝所有的字到它们的输出端时另外的比特的传送不受影响。
原则上,可以在每一新的字中提供新的写使能信号,即使比如TCK和TMS的测试信号在新的字中保持不变。这样,可以快速地编程存储器30。
图3a示出了一个实施例,其中在通过所述链传送的每一字中提供必须被写入的新的数据,取代由所接收的测试时钟信号进行钟控,由时钟电路143对其进行钟控。这加快了编程的速度。如果数据被作为测试数据包括(其也被提供至测试控制器142),则这会与测试器142的操作不相容,在这种情况中,优选地将测试控制器142切换至其中在存储器编程过程中其没有影响的状态。在一个替换实施例中,可以将要被编程进入存储器30的数据提供为来自所接收字的另外的比特。
图4示出了具有用于具有测试信号的字的输入和输出的部分独立的时钟电路40、42的集成电路。两个时钟电路40、42从获取自时钟电路143的时钟信号导出它们的时钟信号。利用控制寄存器225可独立地编程时钟电路40、42的时钟频率输出。时钟电路40、42分别控制在输入端146和输出端148处的接收和传送的比特率。在操作中,这允许使用具有能够以全异的速度操作的集成电路的电路11。在可被编程进入所述链中的不同集成电路的控制寄存器225的频率的控制下,所述链的不同部分可以在不同的时钟速率下传递字。优选地,包括延迟的禁用电路44,以确保在已经从接收器140输出新的字之后,利用预定延迟将用于传送的字锁存进入发送器144中,从而允许在将用于传送的字锁存进入发送器144之前使控制器142响应于新的字输出测试数据输出信号。为此用途,优选地通过禁用电路44从接收器140提供表示新字输出的信号至发送器144,以在由接收器140接收和输出新字之后,在时钟源143的预定数量的时钟周期内在发送器144处阻塞对新字的锁存。
通过使所述链中的各对连续集成电路在所述对的对应集成电路的最大可能速度中的最小值下操错或接近该最小值来工作,通过利用不同的可编程时钟频率可以最小化测试信号在行经所述链时所经历的延迟。给出用于待测电路11中的集成电路,可以容易地确定能使用哪些时钟速度。然后在由测试器10经所述链传送的频率编程数据中编码所选择的频率,以将频率编程数据加载入控制寄存器225。由于最小化了诸如TCK的测试信号行经所述链的延迟,所以可以增加测试器10能够以之改变测试信号的频率。可以理解,通过利用所述链中的集成电路之间的异步握手可以实现速度的类似增加,但这一般需要更多的输入引脚。
尽管示出时钟电路40、42使用公共时钟源143,但可以理解,输出时钟电路42可以是完全独立的。在这种情况中,它进行测量以控制可能需要的在不同时钟域之间的转换。在另一实施例中,握手信号可被用于在不同的集成电路之间和在集成电路内部传输来自字的数据。在这种情况中,不需要时钟编程来获得最佳速度。
图4a示出了另一个实施例,其中多路复用器46、48、49已被添加,以允许在使用内部时钟143和外部时钟输入之间作选择,以用于将集成电路共同连接至中央外部测试时钟源。由来自控制寄存器225的命令数据来控制多路复用器46、48、49。这样,可能初始地使用中央时钟,并且以后可能切换至已经通过所述链传递的时钟信息。
在另一实施例中,可以在集成电路之间使用选通信号,以允许时钟恢复。选通信号本身已知。例如,可以选择选通信号和数据信号,以使选通信号在要被传送的来自字的数据是逻辑1时进行跃迁,并且使数据信号在要被传送的数据逻辑0时进行跃迁。在这种情况中,所恢复时钟是数据和选通信号的异或。这允许用于相对低的选通和数据信号带宽的高数据速率。每隔一段时间,编码可以改变以通过在所恢复时钟信号中的相位跳变来标记字边界。
尽管已经根据IEEE1149.1标准说明了本发明(其中利用通过集成电路链传送的字的转换来恢复测试时钟信号和测试模式选择信号以及测试数据),但可以理解,本发明不局限于对IEEE1149.1的应用。可以使用其它的测试协议。类似地,尽管有利的实施例有效地添加了用来将特定测试信号(比如TCK和TMS)作为集中提供的信号处理的测试控制器周围的壳,从而使所述壳从通过所述链提供的信号中获取这些信号,但是可以理解其它实施例是可能的,其中不对测试控制器隐藏这些信号的链式传送。
如所示出的那样,作为比特串行地传送的字的一部分来传送测试同步信号TCK、TMS。作为替代,可以并行地通过所述链传送这些信号中的一个或多个。通过利用相同的所述链,避免了时钟偏斜问题。然而串行传送具有减小了必须被提供用于测试用途的输入端的数量的优点,而不过度地减小测试速度,因为测试速度最终由一个实施确定同步信号仅以一个所需的速率改变,该速率确保对所述链中的不同集成电路的捕获和更新以正确的次序发生。这样,几个信号的串行传送不明显地影响速度。
也如所示出的那样,在每一字中仅包括测试数据的一个比特,从而当比如TCK和TMS的同步信号改变时,仅有一个比特被加载入测试控制器142以及从控制器输出。这与IEEE1149.1相容。在一个替换实施例中,所述字包括超过一个的测试数据比特,来自字的各数据比特被并行加载入测试控制器142或被并行地从测试控制器12输出。
也如所示出的那样,仅当比如TCK和TMS的测试同步信号改变时,才使测试数据改变。作为替代,测试数据可以更频繁地改变,以使包括相同的TCK和TMS比特的连续字包括不同的TDI或TDO比特。
图5示出了利用测试数据的更频繁改变的集成电路。该集成电路包括移位寄存器50,所述移位寄存器例如可以是用于用在IEEE1149.1中的TDI/TDO数据的移位寄存器中的任何一个。用于输出测试数据TDI的接收器140的输出端耦合至移位寄存器50的输入端。移位寄存器50的输出端耦合至发送器,以提供用于测试数据TDO的传送的测试比特。在另一实施例中,可以对于每个数据字并行地将一个测试数据比特装载入移位寄存器50或从移位寄存器50输出。
移位寄存器50通过时钟提供电路52接收来自时钟电路143的时钟信号。这样,以比测试时钟信号TCK的速率高的速率将数据移位通过移位寄存器50。除了它的输入和输出以及钟控之外,利用已经被恢复的内部测试同步信号(TCK和TMS)来控制移位寄存器。这些同步信号例如控制用来自移位寄存器50的数据进行更新以及控制捕获进入移位寄存器50。
在一个实施例中,时钟提供电路52以经分频的时钟速率传递时钟脉冲,从而对于在输入端146处接收的每一字,一个时钟脉冲被传递。然而,当不是在每一连续字中提供新的测试数据时,时钟提供电路52可以进一步减小所传递的时钟脉冲的数量,例如如果每一个第二字包括新的测试数据比特,则减小到每两个字传递一个时钟脉冲。在另一实施例中,测试器10可以在字中包括信息(比如比特计数器),以指示该字是否包括新的测试数据。在这种情况中,该信息用于控制时钟提供电路是否传递时钟脉冲。
图5的实施例允许测试数据比诸如TCK和TMS的同步数据更频繁地改变。这具有以下优点每一测试时钟TCK周期能够传送更多的测试数据。然而,当所述链包括比其它集成电路慢的一些集成电路时,这会引起问题。在这种情况中,优选地在所述链中的快速集成电路之间以较高速率交换字,而在较慢的电路之间以较低速率交换字。这样,与较快的集成电路相比,在较慢的集成电路之间交换较少的具有相同同步信息的连续字。当测试数据比同步信息更频繁地改变时,这使得何时传递测试数据以及何时不传递变得无法预测。因此,在一个实施例中,只有当同步数据改变时才改变测试数据,以确保以简单方式完全传送测试数据。
权利要求
1.一种电子电路(11),包括-多个集成电路(12、14),每一个集成电路包括测试控制电路(142),其可以在测试模式和正常操作模式之间切换;-集成电路(12、14)之间的功能连接(16);-除功能连接(16)之外的并形成包括集成电路(12、14)的链的测试通信(18、1146、148、19)连接,集成电路(12、14)被设置成通过所述链从一个集成电路(12、14)至另一个集成电路连续地接收和传送测试数据、测试结果和/或命令以及同步信息,以用于定时到功能连接(16)的测试数据的输出和来自功能连接(16)的测试结果的捕获。
2.依照权利要求1的电子电路,其中将所述链中的每一个集成电路(12、14)设置成步进通过一系列状态,其中在同步信息的控制下,连续的状态对于所述链中的全部集成电路(12、14)是无区别地可选择的,所述状态确定更新和捕获的次序。
3.依照权利要求1的电子电路,其中将集成电路(12、14)设置成从一个集成电路(12、14)至另一个集成电路通过相同的通信导体在时间上串行地传送同步信息与测试数据、测试结果和/或命令。
4.依照权利要求3的电子电路,其中所述链中的每一个集成电路(12、14)接收和传送包括与测试数据、测试结果和/或命令在时间上串行的同步信息的连续字,所述集成电路(12、14)被设置成将从所接收字中接收的同步信息拷贝至所传送的字,并且在所传送字中用在该集成电路(12、14)中产生的测试数据、测试结果和/或命令的一个内部比特来替代来自所接收字的测试数据、测试结果和/或命令的一个所接收比特。
5.依照权利要求3的电子电路,其中集成电路(12、14)中的至少一个包括具有用于同步数据的至少一个比特和测试数据、测试结果和/或命令的一个比特的并行输入端的测试控制器电路(142),所述集成电路中的至少一个被设置成基本上同时更新并行提供到测试控制器(142)的通过所述链串行接收的同步数据的比特和测试数据、测试结果和/或命令的比特。
6.依照权利要求1的电子电路,其中集成电路(12、14)的至少一部分包括用于控制对同步信息和测试数据、测试结果和/或命令的接收和传送的可编程比特率的内部时钟电路(143、40、42),所述接收和传送的比特率是至少部分独立地可编程的,所述部分中的集成电路(12、14)被设置成在初始状态中将该比特率设置为预定值,并且在通过特别用于该集成电路的所述链接收的命令的控制下重新编程所述比特率中的一个或多个。
7.依照权利要求6的电子电路,其中所述集成电路的所述至少一部分的集成电路(12、14)中的每一个具有时钟输入端(TCK),所述时钟输入端(TCK)共同耦合至电子电路(11)的测试时钟输入端,所述至少一部分的集成电路(12、14)被设置成在初始状态中从时钟输入端(TCK)导出比特率,以及当通过所述链接收到从时钟电路(143、40、42)导出比特率的命令时从时钟电路(143、40、42)导出比特率。
8.依照权利要求6的电子电路,其中集成电路的所述至少一部分的集成电路(12、14)中的每一个具有外部复位输入端(TRSTN),所述复位输入端(TRSTN)共同耦合至电子电路(11)的测试复位输入端,所述至少一部分的集成电路的复位端被设置成响应于复位端处的复位信号来将集成电路复位到初始状态。
9.一种测试系统,包括依照权利要求1的电子电路和耦合至所述链的输入端(18)和输出端(19)的测试器(10)以用于提供测试数据和/或命令以及用于接收测试结果,其中将测试器(10)设置成根据对当同步信息行经所述链时由该同步信息招致的延迟的确定来调节一个时间间隔,从而使得在所述链的输入端处施加触发捕获的同步信息之前,触发更新的同步信息到达所述链的输出端,其中在所述时间间隔之后更新在输入端处的同步。
10.一种集成电路(14),包括-测试控制电路(142),其可在测试模式和正常操作模式之间切换;-用于连接到外部电路的功能连接;-除功能连接之外的测试输入端和测试输出端(148、149),集成电路(14)被设置成在测试输入端(148)处接收测试数据、测试结果和/或命令以及同步信息,以用于定时到功能连接的测试数据的输出以及来自功能连接的测试结果的捕获,并且在测试输出端(148)处发送测试数据、测试结果和/或命令以及同步信息。
11.依照权利要求10的集成电路,被设置成分别通过相同的输入通信导体和相同的输出通信导体接收和传送与测试数据、测试结果和/或命令在时间上串行的同步信息。
12.依照权利要求11的集成电路,被设置成接收和传送包括与测试数据、测试结果和/或命令在时间上串行的同步信息的连续字,所述集成电路被设置成将从所接收字中接收的同步信息拷贝至所传送的字,并且在所传送字中用在该集成电路中产生的测试数据、测试结果和/或命令的一个内部比特来替代来自所接收字的测试数据、测试结果和/或命令的一个所接收比特。
13.依照权利要求12的集成电路,包括诸如可编程存储器的可编程电路(30),所述字在除了用于同步信息和测试数据、测试结果和/或命令的位置之外还包括一个或多个位置,以传送用来编程该可编程电路的编程信息,该可编程电路(30)被耦合成接收来自所述链的编程信息。
14.依照权利要求12的集成电路,被设置成接收和传送所述字,以及从所接收字的用于同步信息和测试数据、测试结果和/或命令的位置之外的一个或多个位置拷贝信息到所发送字。
15.依照权利要求12的集成电路,被设置成步进通过一系列的状态,其中在同步信息的控制下,连续的状态是可选择的,所述状态确定更新和捕获的次序。
16.依照权利要求11的集成电路,其中测试控制器电路(142)具有分别用于同步数据的比特以及测试数据、测试结果和/或命令的比特的并行输入端,同步信息对测试数据、测试结果和/或命令的比特进行钟控处理,所述集成电路包括将串行接收的同步数据的比特以及测试数据、测试结果和/或命令的比特并行提供到各并行输入端的壳。
17.依照权利要求10的集成电路,包括用于控制对同步信息和测试数据、测试结果和/或命令的接收和传送的可编程比特率的通信时钟电路(143、40、42),接收和传送的比特率是至少部分独立地可编程的,所述集成电路被设置成在初始状态中将比特率设置到预定值,并在通过所述链接收的集成电路特定命令的控制下重新编程所述比特率。
18.依照权利要求17的集成电路,具有外部时钟输入端(TCK),所述集成电路被设置成在初始状态中从时钟输入端导出比特率,以及当通过测试输入端接收到从时钟电路(143、40、42)导出比特率的命令时从时钟电路(143、40、42)导出比特率。
19.依照权利要求17的集成电路,具有外部复位输入端(TRSTN),所述集成电路被设置成响应于复位端处的复位信号来复位到初始状态。
20.一种测试包括通过功能连接(16)互连的多个集成电路(12、14)的电子电路的方法,所述方法包括-提供除了功能连接之外的测试连接(148、149),所述测试连接(148、149)连接连续集成电路链中的集成电路(12、14);-通过所述链连续地将测试数据、测试结果和/或命令以及同步信息从一个集成电路传送至另一个集成电路;-利用通过所述链接收的同步信息,在每个集成电路中定时到功能连接(16)的测试数据的输出以及来自功能连接的测试结果的捕获。
21.依照权利要求20的方法,包括-给所述链中的每一个集成电路(12、14)提供状态机电路(142),用于步进通过一系列的状态,以进入分别控制更新和捕获的对应状态,所述同步信息控制状态机电路何时步进至哪些状态;-通过所述链将控制状态的同步信息从一个集成电路(12、14)拷贝至另一个集成电路。
22.依照权利要求20的方法,包括通过相同的通信导体从一个集成电路至另一个集成电路接收和传送与测试数据、测试结果和/或命令在时间上串行的同步信息。
23.依照权利要求22的方法,包括-接收和传送包括与测试数据、测试结果和/或命令在时间上串行的同步信息的连续字;-将从所接收字中接收的同步信息拷贝至所传送的字,并且在所传送字中用在该集成电路中产生的测试数据、测试结果和/或命令的一个内部比特来替代来自所接收字的测试数据、测试结果和/或命令的一个所接收比特。
24.依照权利要求22的方法,包括内部地转换与测试数据、测试结果和/或命令在时间上串行的所接收的同步信息,以模拟与测试数据、测试结果和/或命令并行的同步信息的接收。
25.依照权利要求22的方法,包括-初始地利用公共比特率,以用于通过所述链进行同步信息和测试数据、测试结果和/或命令的传送;-通过所述链发送编程命令,以编程所述链中的一对连续的集成电路的比特率;-改变所述比特率,以用于依照该命令在所述对中的集成电路间进行同步信息和测试数据、测试结果和/或命令的传送。
26.依照权利要求25的方法,包括利用并联到所述链的集成电路的中央时钟对通过所述链的信息传输进行初始钟控,其中利用通过所述链传送的命令来编程传输比特率,以及在所述编程之后切换到在通过所述链传送的同步信息的控制下进行钟控。
27.依照权利要求25的方法,包括利用并行施加到所述链的各集成电路的中央复位信号,将集成电路复位至具有所述公共比特率的初始状态。
全文摘要
用于电子电路中的多个集成电路具有功能互连和专门的测试连接。集成电路接收和传送同步信息,比如从一个集成电路至另一集成电路地连续通过所述链的时钟信号。这允许高测试速度。优选地,同步信息与测试数据、测试结果和/或命令串行。优选地,通过经所述链传送的命令可以编程所述链中的连续集成电路之间的比特率。这样,不同的比特率可以在沿着所述链的不同位置处,以减小由沿着所述链的同步信号招致的延迟。
文档编号G01R31/3185GK1751245SQ200480004394
公开日2006年3月22日 申请日期2004年2月5日 优先权日2003年2月18日
发明者R·F·舒特尔特 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1