专利名称:可测试电子电路的制作方法
技术领域:
本发明涉及一种电子电路,具体涉及一种包括多个时钟域的可测 试集成电路。本发明还涉及一种用于对这种电子电路进行测试的方法 以及用于对这种电子电路进行测试的测试器装置。
背景技术:
美国专利号6, 131, 173公开了一种包括多个时钟域的可测试集 成电路。随着当今集成电路大小的增大,将集成电路的功能电路分成 不同的时钟域己经变得必要。在正常操作期间,这种集成电路使用多 个部分上或全部独立的时钟信号,以控制不同时钟域内的电路操作。 典型地,集成电路包括多个内部时钟电路,以便在内部产生大部分的 不同时钟信号。例如,典型的时钟电路可以包括振荡器电路或PLL电 路,以便产生例如锁定到基准信号的时钟信号。不同时钟域的使用使得对集成电路的测试更加困难。不同时钟信 号(尤其是内部产生的时钟信号)的同时操作可以导致不可预知的相 对时序,而这又会导致不可预知的测试结果。针对这个问题,已经设计出多种解决方案。例如,US 6, 131, 173公开了如何使用时钟域隔离电路将不同时钟域的功能电路相互隔 离,以避免不可预知的测试结果。其他解决方案包括在整个电路中 使用测试模式下的特殊测试时钟信号,或者使用不同时钟域之间的特 殊接口,以实现可预知的时序等。这种解决方案实现了可预知的测试结果,但经常是以测试中的电 路的相当大的电路开销为代价。这些解决方案使得难以执行有区别的 "全速(at speed)"测试,该测试用于确定不同的电路部分是否能够
使数据在各个不同的延迟间隔内可用。 发明内容其中,本发明的目的是减少对包括多个时钟域的电子电路进行测 试所需的电路开销量。其中,本发明的目的是增大对测试中的电子电路中的时钟信号的 控制度。在权利要求1中,请求保护根据本发明的集成电路。根据本发明, 当集成电路在测试期间捕获测试结果时,暂时将用于移入测试数据的 集成电路的外部端子重新用于向测试结果的时间捕获提供时钟信号。 典型地,在测试期间,各个外部端子用于向电路的部分提供时钟信号, 该电路的部分通常由各个内部时钟电路来提供时钟。当移入测试数据 时,优选地使用单一测试时钟来向所有这些电路提供时钟信号,以移入测试数据。按照这种方式,在测试的时序关键(timing critical)部 分期间,对不同时钟信号的完全的外部控制是可用的,不需要大量附 加的外部端子来提供时钟信号。
通过参考以下附图,并使用非限制性示例,对本发明的这些和其 他目的以及有利方面进行描述。 图1示出了可测试电路。 图2示出了时钟切换电路。 图3示出了测试系统。 图4示出了测试信号。
具体实施方式
图1示出了可测试电路,该可测试电路包括功能电路10、触发器 组12a-c、边界扫描单元13a-f、时钟电路14a-c、第一时钟切换电路 15a-c、测试控制电路16以及第二时钟切换电路18。优选地,可测试 电路的元件集成到集成电路中。在典型的实施例中,在正常(非测试) 操作期间,触发器12a-c与功能电路10—同操作,功能电路10只包 括组合逻辑电路(没有触发器)。可以认为可测试电路包括数据流部分、时钟流部分以及测试控制 部分。数据流部分具有输入端lla-c和输出端19a-c (典型地都是集成 电路的外部输入连接)。每个输入端lla-c连接到各自的边界扫描输入 单元13a-c,而边界扫描输入单元13a-c又连接到各自的触发器组12a-c 的输入端。每个触发器组12a-c的输出端连接到各自的输出边界扫描 单元13d-f,而输出边界扫描单元13d-f又连接到各自的输出端19a-c。在时钟流部分,触发器组12a-c从各自的第一时钟切换电路15a-c 接收各自的时钟信号。第一时钟切换电路15a-c中的每一个的第一输 入端都与各自的时钟电路14a-c连接,且第二输入端与第二时钟切换 电路18连接。第二时钟切换电路18的第一时钟输入端连接到测试接 口 17的测试时钟输入端17a,且第二时钟输入端连接到各自的输入端 lla陽c。测试控制部分的测试接口 17 (典型地为集成电路的外部输入连 接)连接到测试控制电路16。例如,该测试接口可以是传统的扫描控 制接口,包括用于测试时钟的TCK连接,用于测试输入数据的TDI 连接、用于测试输出数据的TDO连接、用于测试控制的TDS连接以 及用于复位的RST连接。测试控制电路16的输出端连接到第一时钟 切换电路15a-c的控制输入端、连接到触发器组12a-c的控制输入端、 连接到第二时钟切换电路18以及边界扫描单元13a-f。在正常的功能操作中,将测试控制电路18切换到功能状态,其 中测试控制电路18使触发器组12a-c中的各个触发器(未示出)能够 向功能电路10提供数字数据,同时从功能电路10捕获数字数据。可 测试电路的这种类型的功能操作本身是已知的,因此不进行详细描述。在这个正常的功能操作期间,由各个时钟电路14a-c来控制对各 个触发器组12a-c的触发器进行捕获和/或提供的时序。首先,每个时 钟切换电路14a-c被设置为,可选择地传递来自各个时钟电路14a-c 的时钟信号或来自第二时钟切换电路18的时钟信号。在正常功能操作期间,测试控制电路16向第一时钟切换电路
15a-c提供控制信号,以把来自时钟电路14a-c的时钟信号传递到触发 器组12a-c的触发器。为此,例如每个第一时钟切换电路15a-c都包含 多路复用电路,该电路的多路复用输入端连接至时钟电路15a-c和第 二时钟切换电路1S,且该电路的控制输入端连接到测试控制电路16。 作为示例,已经示出外部输入端lla-c和输出端19a-c只连接到触 发器组12a-c,因此在正常功能操作期间,特定的单个触发器(未示出) 与外部输出端19a-c和/或输出端19a-c进行数字数据的提供和/或捕 获。然而,在正常功能操作期间,功能电路10还可以直接连接到外部 输入端11a-c禾口/或输出端19a-c,以接收和/或提供数字数据。为了清 楚起见,附图中省略了这种类型的连接,但应理解,这种类型的连接 是可以存在的。在测试接口的控制下,可测试电路可被切换到测试模式。在测试 模式下,测试控制电路18支持测试移位状态和测试正常状态。这些类 型的状态,以及对这些状态之间的切换的控制本身是已知的,因此不 进行详细描述。例如,在一个实施例中,测试控制电路18包括能够采 取(assume)不同状态并在每个状态中提供适当的控制信号的状态机, 来自接口 17的控制信号控制状态机是否以及何时从一个状态切换到 另一个状态。在测试移位状态中,测试控制电路1S(见图2)控制触发器组12a-c 中的触发器,因此触发器组12a-c中的每一组都用作各自的串行移位 寄存器。触发器组12a-c中的电路设置支持这种操作本身是己知的, 因此不进行详细描述。在移位状态下,测试控制电路18控制第二时钟 切换电路18向所有第一时钟切换电路15a-c提供相同的测试时钟信 号,并且测试控制电路18控制第一时钟切换电路15a-c将这个测试时 钟信号提供给组12a-c中的触发器,以控制串行移位的时序。测试移位状态用于在能够把测试数据施加到功能电路IO之前, 把测试数据通过触发器组12a-c从输入端lla-c移入;以及把测试结果 通过触发器组12a-c向输出端19a-c移出。在实施例中,可以在触发器 组12a-c和输出端19a-c之间添加签名计算电路(未示出),因此只需 要输出签名数据。 在测试正常状态下,测试控制电路18控制触发器组12a-c中的触 发器,因此触发器并行地从功能电路10中捕获数据信号。由时钟信号 来控制捕获时间。在测试正常状态下,测试控制电路控制第二时钟切 换电路18把来自输入端lla-c的信号提供给第一时钟切换电路15a-c, 而且测试控制电路18控制第一时钟切换电路15a-c将这些信号中的各 个信号提供给各个组12a-c中的触发器,以控制捕获时间。图2示出了第二时钟切换电路18的实施例。在这个实施例中, 第二时钟切换电路18包括多个多路复用电路20a-c,多路复用电路 20a-c的第一多路复用输入端连接到连接17a以接收测试时钟信号,而 第二多路复用输入端连接到输入端lla-c。多路复用电路20a-c的输出 端28a-d连接到各个第一时钟切换电路(未示出)的输入端。多路复 用电路20a-c的公共控制输入端22连接到测试控制电路(未示出)。 在测试移位状态下,测试控制电路控制多路复用电路20a-c把来自时 钟输入端17a的测试时钟信号传递到第一多路复用电路。在测试正常 状态下,测试控制电路控制多路复用电路20a-c把来自输入端lla-c 的信号传递到第一多路复用电路。图3示出了典型的测试系统。该系统包括测试中的电路30、测试 信号提供设备32、以及测试信号选择设备34。测试中的电路是例如图 l中所示的可测试电路。在操作中,测试中的电路30的输入端、输出 端和测试接口都连接到测试信号提供设备32。测试信号提供设备32 向测试中的电路30提供测试数据和控制信号,并收回测试结果(例如, 从功能电路10中捕获的数据或从该数据中计算出的签名),对该测试 结果进行估计,以确定该电路是否包含故障。在测试之前,测试信号 选择设备34接收对测试中的电路的描述,并产生测试数据图样 (pattern)的集合,从而在测试结果中示出相关错误的特定分类。测 试信号选择设备34向测试信号提供设备提供关于所选择的图样的信 息,以及在无错电路的情况下产生的期望的测试结果。测试信号提供设备32将测试图样提供给输入端lla-c,并向测试 接口 17提供控制信号,以使触发器组12a-c将测试图样通过触发器进 行移位。接下来,测试信号提供设备32提供控制信号,以便将测试控 制电路切换到测试正常状态。此时,使第二时钟切换电路18将信号从输入端lla-c传递到触发器组12a-c以控制时钟。按照这种方式,在捕 获期间,对测试信号提供设备32进行完全的时序控制。测试信号提供 设备32在输入端lla-c处提供具有根据所需测试而选择的时序的时钟 脉冲,以确定功能电路的特定部分是否以所需要的速度作出反应。图4示出了测试期间所使用的信号。示出了三个时间间隔40a、 42、 40b。在第一和第三时间间隔40a、 b期间,测试控制电路处于测 试移位状态,而在中间的捕获间隔42期间,测试控制电路处于测试正 常状态。示出了组中的各个时钟信号44a-c。这些时钟信号在集成电路 内部产生,部分来自内部信号,部分来自外部信号。在第一和第三时 间间隔40a、b期间,当测试控制电路处于移位状态时,由一个测试时 钟信号来定义时钟信号44a-c的时钟脉冲,因此时钟信号44a-c实质上 是相同的。在测试以外的正常功能操作期间,这些时钟信号当然可以 不同,因为在正常功能操作期间,这些时钟信号由不同的时钟电路 15a-c所提供。在测试中的捕获间隔42期间,当测试控制电路处于测试正常状 态时,从输入端11a-c处的信号获得时钟信号44a-c,因此每个时钟信 号44a-c可以由测试信号提供设备单独定义。输入信号46a-c示出了输 入端lla-c处的信号的示例。在第一和第三时间间隔40a、 b期间,输 入信号46a-c包括没有传递给时钟信号44a-c的测试数据(由阴影线表 示)。在捕获间隔42中,输入信号46a-c包括传递给时钟信号44a、 c 的时钟脉冲47、 48。输入信号46a-c中的不同信号可以相互不同或可 以由测试信号提供设备32控制下的时钟脉冲进行不同的定时,因此不 同的时钟信号44a-c还可以在捕获间隔42中相互不同。在图4的示例中,向每个触发器组12a-c施加两个时钟脉冲47、 48。脉冲48使相应组中的触发器捕获数据。第一脉冲47可以用于在 功能电路10的输入端处产生信号转变。在典型的电路中,可以将触发 器对用于这个目的,其中该触发器对中的第一触发器的输入端具有与 该触发器对中的第二触发器的输出端的功能连接。在测试移位期间, 将相互相反的测试数据值加载到该触发器对的触发器中。最初(在第一脉冲47之前),第一触发器向功能电路10提供第一测试数据值。响 应第一时钟脉冲47,包括该触发器对中的第一触发器的触发器加载数 据。由此,该触发器对中的第一触发器从第二触发器加载数据,这使 得从第一触发器到功能电路的输出信号改变了数值。在某个时间延迟 之后,第二脉冲48使触发器再一次捕获数据,因此另一个触发器将从 功能电路10中捕获结果信号,此结果信号受到来自该触发器对中的第 一触发器的信号的影响。典型地,所捕获的结果信号将通过输出端 19a-c移出以进行检查。检查所捕获的结果信号,以确定该功能电路是 否在由时钟脉冲定义的时间间隔中正确地作出反应。可以理解的是,这只是关于如果使用外部时钟脉冲的一个示例。 在其他示例中,可以执行包括更多定时捕获操作的更复杂的测试。在 这种情况下,在测试正常模式期间,可以从外部端子施加多于两个时 钟脉冲47、 48的时钟脉冲。可以使用其他技术来代替通过加载相互相 反的测试数据来建立转变,诸如在测试正常模式下使用处于反复电路 (toggle)配置的触发器,或者使用由触发器输出端处的第一时钟脉 冲47所激活的反相电路。按照这种方式,可以使用任意期望的时序关系在每个触发器组中 捕获数据。例如,在图4的示例中,可以将不同的触发器组12a-c设 置为在相互不同的时钟频率上操作,比如10MHz、16.6MHz和50MHz, 以及可以将测试信号提供设备设置为以与这些频率相对应的时间距 离、或者以最大或最小的可接受时间距离,将时钟脉冲提供给输入端 lla-c。虽然已经根据特定实施例对本发明进行了描述,应理解,本发明 并不局限于这个实施例。例如,虽然已经结合边界扫描测试电路对本 发明进行了描述,应理解的是,本发明可以与边界扫描分开应用。作 为另一个示例,虽然已经描述使用输入端lla-c来临时提供时钟信号, 应理解的是,在正常功能操作期间可以用作输入端和输出端的一个或 更多个端子可以在测试期间用于临时提供时钟信号。使用一些附加的 三态电路,甚至可以将在功能操作期间只作为输出端的端子29a-c用 于提供时钟信号。关键在于,用于这个目的的端子,无论其正常功能 是什么,在捕获期间,当电路暂时不处于扫描移位状态时,这些端子 都不需要接收或提供其他信号。此外,虽然已经示出了三个触发器组12a-c、三个输入端lla-c以及三个输出端19a-c,应理解的是,可以使 用任意数量的触发器12a-c、输入端lla-c以及输出端19a-c。可以提 供来自任意输入端或其他端子的时钟信号,来代替来自任意时钟电路 14a-c的时钟信号,用于向特定触发器组12a-c提供数据的输入端lla-c 不必向相同的组提供时钟信号。虽然把时钟电路14a-c作为独立单元示出,应理解的是,在时钟 电路之间可能存在联系,例如,由于把其中的一些或全部设置为锁定 到公共时钟源。此外,虽然所有时钟电路优选地集成于相同的集成电 路中,应理解的是,备选地,可以通过外部端子将一个或更多个时钟 电路连接到集成电路。此外,虽然示出了实施例,其中每个输入端1 la-c 都连接到各个预定触发器组12a-c的时钟输入端,应理解的是,备选 地,可以提供切换电路,从而把输入端lla-c连接到可选的触发器组 12a-c,触发器组12a-c由测试控制电路16来选择,例如根据测试控制 电路16所接收到的控制命令来选择。此外,虽然示出来自第二时钟切换电路18的时钟信号作为针对 来自各个时钟电路14a-c的时钟信号的代替,应理解的是,不需要这 样的一对一关系。在一个实施例中,可以由来自输入端lla-c的两个 或更多个不同的时钟信号代替来自特定时钟电路15a-c的时钟信号, 这些时钟信号被施加到不同的触发器子组。在另一个实施例中,来自 多个时钟电路14a-c的时钟信号,例如来自该时钟电路14a-c中两个时 钟电路的时钟信号,可以全部由来自输入端lla-c之一的相同时钟信 号代替。在测试正常状态下,使用不同的输入端lla-c向电路的不同 部分提供不同的时钟信号具有如下优点可以并行地对多个电路部分 进行测试,其中每个电路部分都具有其自有的时序,但是可以使用公 共时钟信号对需要相同时序的部分进行测试。即使不同的触发器组 12a-c在正常功能操作期间接收相同的时钟信号,使用来自不同输入端 lla-c的时钟信号来测试这些组也是有利的,因为这可以用于示出附加
的错误。此外,虽然已经示出了电路,其中将一个测试时钟信号用于控制所有触发器组12a-c中的移位,应理解的是,备选地,可以使用多个 不同的测试时钟信号来控制组12a-c的不同子组。在捕获期间,这些 测试时钟信号由来自输入端lla-c的信号所代替,从而可以使用更多 不同的时钟信号,或使用具有更加自由的可选时序属性的时钟信号。在现有技术中,给定测试中的电路的电路结构规范,已经开发出 强有力的方法来选择测试图样,该测试图样能够有效地示出电路的故 障。测试信号选择设备34可以被设置为提供这种现有技术的方法。然 而,在这种情况下可能产生问题,因为这些方法没有考虑在测试期间 端子可以暂时变成时钟端的事实。处理这种问题的一个方法是提供 具有虚电路结构规范的测试信号选择设备34,该测试信号选择设备34 具有针对时钟信号和数据的单独的输入端。随后,通过"合并"数据 和时钟端,即通过选择只包含数据端信号的测试图样,并在虚电路处 于测试正常模式的几乎整个时间间隔内,从虚电路的测试图样中拷贝 数据端的信号,从而把这个虚电路的测试图样编译为实际电路的测试 图样。在虚电路的测试正常模式期间,把来自测试图样的时钟信号拷 贝到实际电路的数据端的测试图样。在实施例中,在用于提供时钟信号的外部数据端lla-c与从这些 数据端接收信号的内部电路之间提供了保持电路。保持电路连接到测 试控制电路,以接收控制信号。当该电路进入测试正常状态时,测试 控制电路控制这些保持电路向内部电路提供在进入测试正常状态之前 所接收到的最后的输入信号。当该电路离开测试正常状态时,测试控 制电路控制保持电路恢复对其输入信号的传递。按照这种方式,在测 试正常状态下施加到端子的时钟信号不会通过正常电路路径(path) 到达内部电路。使用针对测试时钟脉冲的数据端的缺点是当数据端不可用于在测试正常模式下施加测试信号时,测试覆盖范围可能减小。优选地, 提供支持时钟测试模式和数据测试模式的电路。在实施例中,测试控 制电路被设置为响应测试命令以切换到时钟测试模式或数据测试模
式。在时钟测试模式下,如前所述,测试控制电路使时钟切换信号把来自端子lla-c的时钟信号提供给测试正常模式下的时钟输入端。优选地,如前所述,控制电路控制保持电路以将数据保持在该模式下。 在数据测试模式下,测试控制电路使时钟切换信号把测试时钟信号提 供给测试正常模式下的时钟输入端。如果使用保持电路,则当处于数 据测试模式下时,控制电路控制这些保持电路以在测试正常模式下传 递数据。按照这种方式,可以在测试控制电路的控制下执行正常测试 以及使用外部信号的测试。
权利要求
1.一种可测试电子电路,包括-多个数据端(11a-c);-功能电路(10);-多个触发器组(12a-c),连接到数据端(11a-c)以及功能电路(10),每个触发器组具有用于向该组(12a-c)的触发器提供时钟的时钟输入端,每个组可在移位配置和功能配置之间进行切换,以从数据端(11a-c)串行地移入测试数据,而且并行地用于分别将信号提供给功能电路(10)和/或分别从功能电路(10)接收信号;-测试控制电路(16),可以在功能模式、测试移位模式和测试正常模式之间切换,所述测试控制电路(11)连接到触发器组(12a-c),以在功能模式下将所述组切换到功能配置,以及在测试移位模式下将所述组切换到移位配置;-时钟多路复用电路(15a-c、18),具有连接到数据端(11a-c)的输入端,以及连接到组(12a-c)的时钟输入端的输出端,根据测试控制电路(16)所采取的模式,连接所述测试控制电路(16)以控制时钟多路复用电路(15a-c、18),时钟多路复用电路(15a-c、18)被设置为在测试正常模式下,在各个组(12a-c)的时钟输入端处,暂时代入来自各个数据端(11a-c)的时钟信号。
2. 如权利要求1所述的可测试电子电路,包括连接到时钟多路复 用电路(15a-c、 18)的测试时钟端(17a),时钟多路复用电路(15a-c、 18)被设置为在测试移位模式下,把来自测试时钟端(17a)的测试 时钟信号提供给组(12a-c)的时钟输入端。
3. 如权利要求2所述的可测试电子电路,包括连接到时钟多路复 用电路(15a-c、 18)的多个时钟电路(14a-c),时钟多路复用电路(15a-c、 18)被设置为在功能模式下,把来自各个时钟电路(14a-c)的时钟 信号提供给各个组(12a-c)的时钟输入端。
4. 一种测试电子电路的方法,所述方法包括 -将电子电路切换到测试模式;-通过电子电路的多个数据端(lla-c)移入测试数据;-通过多个触发器组(12a-c),串行地将测试数据进行移位;-把来自测试时钟的测试时钟信号路由到触发器组(12a-c)的时序控制输入端,以控制所述移位的时序;-在测试正常时间间隔期间,改变时钟路由,以将各个数据端 (lla-c)连接到各个组(12a-c)的时序控制输入端;-在时钟路由已经改变时,向数据端(lla-c)提供时钟脉冲; -使用在来自数据端的时钟脉冲的时序的控制下的时序,捕获触发器组(12a-c)中的测试结果。
5. 如权利要求4所述的测试方法,其中,当时钟路由已经改变时, 数据端(lla-c)中至少两个端子上的时钟脉冲具有互不相同的时序图 样。
6. 如权利要求4所述的测试方法,其中,-将第一测试数据值从组(12a-c)移位到第一触发器,将不同于 第一测试数据值的第二测试数据至从组(12a-c)移位到第二触发器;-当时钟路由已经改变时,将至少第一和第二时钟脉冲施加到数 据端(lla-c)中至少一个,第一时钟脉冲时序将第二测试数据值从第 二触发器拷贝到第一触发器,而且第二时钟脉冲时序将功能电路对第 一触发器的输出信号的响应加载到另一个触发器中。
7. 如权利要求4所述的测试方法,其中,所述电子电路被设置为, 在正常功能操作期间,将时钟信号从各个时钟电路(14a-c)路由到各 个组(12a-c),所述方法包括改变时钟路由,以在进入测试移位模式 之前将测试时钟信号馈入所述组。 、
8. 如权利要求7所述的测试方法,其中,在测试移位模式下,组 (12a-c)中的每一个接收相同的测试时钟信号。
9. 一种包括如权利要求1所述的电子电路以及与该电子电路(30) 的数据端(lla-c)相连的测试图样提供设备(32)的测试系统,其中, 测试提供设备(32)被编程为当测试控制电路(16)已经进入捕获 模式时,向数据端(lla-c)提供具有已编程的时序图样的脉冲。
10.—种测试器(32),包括用于向测试中的电子电路(30)提供 测试数据的输出端,所述测试器(32)被设置为向数据端(lla-c)提 供可编程地定义的测试数据,而且在使测试中的电子电路(30)进入 用于捕获测试结果图样的测试正常状态后,向数据端(lla-c)提供具 有可编程地定义的时序图样的各个时钟脉冲。
全文摘要
一种电子电路,包括连接到电路的数据端(11a-c)、以及连接到功能电路(10)的触发器组(12a-c)。每一个组(12a-c)都具有用于对该组中的触发器提供时钟的时钟输入端。每一个组(12a-c)都可以在移位配置和功能配置之间切换,以便串行地从数据端移入测试数据,而且并行地用于分别将信号提供给功能电路(10)和/或分别从功能电路(10)接收信号。测试控制电路(16)可以在功能模式、测试移位模式和测试正常模式之间切换。测试控制电路(16)连接到触发器组(12a-c),以在功能模式下将该组切换到功能配置,以及在测试移位模式下将该组切换到移位配置。
文档编号G01R31/317GK101163978SQ200680003809
公开日2008年4月16日 申请日期2006年1月31日 优先权日2005年2月1日
发明者埃尔韦·弗勒里, 让-马克·延努 申请人:Nxp股份有限公司