CN103415777B - 用于进行功能和结构测试和调试的基于功能结构测试控制器 - Google Patents
用于进行功能和结构测试和调试的基于功能结构测试控制器 Download PDFInfo
- Publication number
- CN103415777B CN103415777B CN201180069115.0A CN201180069115A CN103415777B CN 103415777 B CN103415777 B CN 103415777B CN 201180069115 A CN201180069115 A CN 201180069115A CN 103415777 B CN103415777 B CN 103415777B
- Authority
- CN
- China
- Prior art keywords
- test
- block
- soc
- data
- interconnection structure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/267—Reconfiguring circuits for testing, e.g. LSSD, partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318505—Test of Modular systems, e.g. Wafers, MCM's
- G01R31/318508—Board Level Test, e.g. P1500 Standard
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
用于促进测试集成在系统芯片(SoC)上的IP块的测试访问机构(TAM)架构。TAM架构包括集成在SoC上IP块附近的测试控制器和一个或多个测试包装器。由测试控制器封装对应于来自外部测试器的输入的测试数据和命令,并通过互连结构发送到测试包装器。测试包装器使用与一个或多个测试端口的接口来向IP块提供测试数据、控制、和/或刺激信号,以促进对IP块的电路级别的测试。电路级别测试的测试结果通过结构被返回到测试控制器。测试包装器可以被配置成传递互连信号,允许经由测试包和经由结构在测试控制器和IP块之间传输的测试结果来促进对IP块的功能测试。TAM可以在结构到结构桥接器中实现,允许对连接到桥接器的两端的结构的IP块进行测试。
Description
技术领域
本发明的领域一般涉及计算机系统,尤其但不排他地涉及测试系统芯片(SoC)设计。
背景信息
计算机架构从连接印刷电路板上分离的组件或通过使用其他封装配置进展到将多个组件集成到通常简称为系统芯片(SoC)架构的单个集成的芯片上。SoC提供若干种优点,包括更密集的封装、功能性组件之间的更高速通信,以及更低温度操作。SoC设计还提供标准化、可缩放性、模块化,以及复用性。
尽管SoC架构是未来的浪潮,但是,当与使用分离的组件相比时,在对设计和集成的验证方面存在一些挑战。例如,许多年来,个人计算机使用了英特尔的无所不在的“北”桥和“南”桥架构,其中中央处理单元通过第一组总线与存储器控制器中枢(MCH)芯片对接,而存储器控制器中枢又通过另一组总线与输入/输出控制器中枢(ICH)对接。MCH和ICH中的每一个都通过进一步的总线和接口提供了到各种系统组件和外围设备的接口。这些总线和接口中的每一个都遵循明确建立的标准,允许系统架构支持模块化设计。为确保适当的设计,可以使用通过设备引脚可访问的测试接口来测试单个组件或组件组中的每一个组件。
模块性也是SoC架构的关键方面。通常,系统设计员将集成各种功能块,包括在业界通常称为知识产权(IP)核、IP块或简单地称为IP的功能块。为了此处的目的,这些功能块被称为IP块或简单地称为“IP”;可以理解,术语“IP块”或“IP”也涵盖IP核和任何其他组件或一般被称为IP的块,如SoC开发和制造行业的那些人所理解的。这些IP块一般提供一个或多个专用功能,常常包括从各种供应商授权的或内部开发的现有电路设计块。为了集成这些IP块,各种接口被设计到SoC中。这些会十分具有挑战性,因为定义明确的北桥-南桥架构以及其标准化接口集成在SoC中是不切实可行或不合乎需要的。
为解决此问题,开发了新的更高速、更模块化的接口。例如,英特尔公司最近开发了新的互连结构(fabric)架构,包括英特尔芯片上可缩放结构(IOSF)。另外,还开发了基于其他结构的接口,包括开放内核协议(OCP),以及ARM的AMBA(高级微控制器总线架构)接口。诸如IOSF互连结构之类的芯片上互连使用分组化分层的通信协议,并支持IP块之间的点到点互连,便于异构IP与标准IOSF接口的集成。
为了验证SoC架构的设计完整性,需要对IP块之间的通信进行测试和对IP功能和电路进行测试。根据常规方法,对给定SoC架构的测试使用测试访问机构(TAM)来实现,测试访问机构是使用自组织(ad-hoc)技术来设计的。这样的TAM需要专用的验证和设计工作,需要对于每一个前导的或衍生的SoC重复。所使用的自组织(ad-hoc)技术还在SoC级别导致额外的区域和配线努力,这会导致当今密集SoC的拥挤加重。这会严重地危害SoC的上市时间和低成本目标。相应地,需要便于以更灵活并且预测性的方式对SoC架构进行测试。
附图简述
结合附图,通过参考下面的详细描述,本发明的前述方面和许多伴随的优点更容易意识到并得到更好的理解,其中在各个视图中,相同附图标记表示相似的部件,除非另作说明:
图1是示出了根据本发明一个实施例的示例性测试访问机构(TAM)架构的框图;
图1A是实现IOSF结构的图1中TAM架构实施例的框图;
图2是示出了根据一个实施例的测试控制器的微架构的框图;
图3是示出了根据一个实施例的测试包装器的微架构的框图;
图4是示出了根据一个实施例的测试控制器中的时钟交叉FIFO的使用的框图;
图5是示出了根据一个实施例的测试包装器中的时钟交叉FIFO的使用的框图;
图6是示出了示例性IP块和相应的测试逻辑的细节的框图;
图7是示出了其中实现了测试控制器和多个测试包装器以便于对相应IP块进行测试的SoC架构的框图;
图8是示出了其中在结构到结构桥接器中实现测试控制器的SOC架构的框图;以及
图9是示出了在结构到结构桥接器中实现的测试控制器的细节的框图。
详细描述
本文描述了用于便于对SoC进行测试的方法和设备的实施例。在下面的描述中,阐述了很多具体细节,以便全面地理解本发明的各实施例。然而,本领域技术人员将认识到,本发明可以在没有这些具体细节中的一个或多个的情况下来实现,或利用其他方法、组件、材料等等来实现。在其他情况下,没有示出或详细描述已知的结构、材料、或操作,以避免模糊本发明的某些方面。
说明书中对“一个实施例”、“实施例”的引用意味着结合该实施例所描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。如此,在整个说明书中的不同位置出现短语“在一个实施例中”或“在实施例中”不一定都是指相同的实施例。此外,在一个或多个实施例中,特定功能、结构或特征可以以任何合适的方式组合。
根据本文所公开的各实施例的各方面,提供了称为“测试访问机构”或TAM的用于测试访问的标准、模块化、可缩放以及可重复使用的基础结构。TAM是使用现有的功能结构来实现的,并提供用于在组件调试和制造测试过程中传输测试刺激和对测试响应进行采样的标准机制。对于TAM重复使用功能结构降低了实现成本,从而,TAM相对于需要使用单独并且与功能结构分离的专用测试基础结构的常规方法和架构,继承了标准化功能结构的优点(诸如模块性、复用性、可缩放性、以及低成本)。
在下面的某些实施例中,公开了示例性实现方面和概念,它们采用使用SoC实现的TAM,SoC使用英特尔芯片上可缩放结构(IOSF)。可以理解,使用IOSF结构的实现只是示例性的,可以使用类似的概念,以使用其他类型的互连结构来实现TAM,包括但不仅限于开放内核协议(OCP),以及英特尔QuickpathTM互连。
根据一个实施例,TAM是使用已经在SoC上实现的结构基础结构、协议、以及接口来实现的,用于向也简称为“自动测试设备”或ATE的测试器来回传输测试数据和刺激。由于TAM使用现有的功能结构,因此,它比传统技术导致较少的门数量和较少的全局路由(在密集的SoC中特别重要)。
TAM通过两个主要组件来实现:测试控制器和测试包装器。作为概述,测试控制器充当结构的代理,并充当ATE和SoC之间的端口,如此,允许SoC外部的ATE通过将测试数据转换为对于SoC中的每一种类型的结构适用的结构协议所使用的分组,向目标IP提供测试数据。分组在目的地IP块处被测试包装器解分组(在必要时)为测试刺激。然后,测试包装器从目标IP收集对测试刺激的响应,并将它作为一个或多个分组传回到测试控制器,然后,测试控制器将它转换为适于通过ATE进行采样的形式。
图1中示出了一个示例性架构,示出了TAM的一个实施例的块级别的细节。架构包括SoC102外部的ATE100,SoC102包括测试接口103、测试控制器104、互连结构106、测试包装器108、IP块108、以及测试配置块112。测试控制器104和测试包装器108中的每一个都可通信地耦合到结构106。测试控制器104也通过测试接口103可通信地耦合到ATE100,测试接口103包括SoC封装上的多个引脚。另外,测试包装器108还可通信地耦合到IP块110。虽然为清楚起见在图1中未示出,但是,在典型的SoC架构中,各种其他测试包装器、IP块和/或桥接器也将可通信地耦合到结构106,诸如在图7中所示出的并且在下面讨论的。
测试控制器是主要接口,通过它,测试器向受测的IP(IUT)施加测试刺激,并采样来自IUT的响应。测试控制器通过提供与测试不使用基于结构的接口的设备所需的接口非常类似的接口,从测试器在ATE和结构之间提供抽象接口。如图1所示,测试控制器104包括三个主要组件:测试数据格式化器114、发送事务队列(TXQ)116、接收事务队列(RXQ)118、以及结构接口120。
测试包装器充当结构和IP块的测试端口之间的接口:预想包装器的一种方式是作为从结构中抽象出用于测试IP块的低级信令要求并相反从IP块中抽象出结构相关的协议的抽象层。如图1所示,来自测试包装器108的测试信号的部分与IP块的结构接口组件对接,而测试信号的另一部分通过耦合在测试包装器110上的IP测试端口和测试接口124之间的连接122,连接到IP测试端口130。IP测试端口可以用于执行各种组件和电路级别的测试,包括通常被执行来验证IP核等的完整性的扫描测试。测试包装器108还被配置成支持将结构信号直接传递到IP块110,以支持对IP块和结构接口的通信和功能测试并在正常的SoC使用过程中支持结构通信操作。
IP块110表示可以根据此处所公开的原理和概念使用TAM来测试的各种类型的IP块和IP核。如图所示,IP块110包括IP核126、结构接口块128、以及IP测试端口130。下面参考图6讨论了对应于示例性IP块的进一步的细节。
在图2中示出了测试控制器104A的微架构的一个实施例的细节。说明性组件包括命令解码器200、一对分别耦合到发送队列(TXQ)接口206和接收队列(RXQ)接口208的FIFO(先进先出)缓冲器202和204。测试控制器104还包括目的地地址寄存器210。另外,为清楚起见,图1的测试控制器104的发送与接收队列(TXQ116和RQX118)和结构接口120在图2中被共同描绘成结构接口块212,以便不使测试控制器104的微架构的其他细节模糊。
测试数据格式化器114从测试器接收包括测试数据和测试器命令/控制信号的测试器输入,并封装相应的测试数据和测试命令/指令,以便传输到IUT:封装操作涉及包括合适的地址信息,以便将包转发到预期目的地IP,以及附加额外的命令字段,以便目标IP知晓对测试数据执行什么。例如,在扫描模式下,分组包括IP地址,以及嵌入在数据中的指示对于IP的测试包装器执行扫描加载、卸载、同时加载/卸载或者使捕捉时钟脉动(pulse)的命令。
由测试数据格式化器封装的测试器输入数据存放到发送事务队列中,以便发送到结构上。最大包尺寸依赖于发送/接收事务队列的尺寸,并被优化以确保用于分组化/解分组的开销被最小化。为通过最小化薄记的量来简化包装器的设计,在一个实施例中,发送事务队列的每一个条目都是编码命令以及对其执行命令的数据的独立实体。例如,包含扫描数据的条目将具有指定扫描操作的类型(加载、卸载或两者)的字段,接下来是扫描数据。另外,目的地扫描包装器持续执行扫描移位操作,只要它接收到扫描数据,这导致简单、低成本的包装器设计。不需要薄记来确保最大扫描长度的扫描链已经被加载(可以设计独立于最大扫描链长度的包装器)。一旦组装了测试数据分组,就将其转发到结构接口,以便作为过账(posted)事务通过结构发送到目的地IUT。根据替代方案,可以使用多个分组来发送给定测试包;然而,此方案需要更多开销,因为将需要使用第一分组中的信息或诸如报头信息之类的其他信息来通知接收器有多少分组在特定测试包中。
在一个实施例中,测试控制器104A按下列方式操作。测试数据是与测试命令一起从ATE100接收到的。在所示出的实施例中,测试数据是通过N位接口从ATE100接收到的,而测试命令是通过4位接口作为4位值接收到的。然而,4位值的使用是示例性的,也可以使用包括其他位值的测试命令。一般而言,N位和4位接口中的每一个都可以包括并行或串行接口,尽管为简化ATE和测试控制器之间的通信(并通过SoC102的代理测试接口103),并行接口是较佳的。此外,对于给定测试包,也可以使用一个或多个N位测试数据组。另外,给定测试命令可以被编码为按顺序接收到的一个或多个4位测试命令数据值。测试命令数据也可以包括控制数据。除如图2所示的测试数据和测试命令数据输入之外,还有以相应的时钟频率操作的时钟(CLK)信号。如下面进一步详细描述的,技术是通过测试控制器来实现的,以便ATE时钟信号所使用的时钟频率可以不同于互连结构所使用的时钟频率。
来自ATE100的测试命令数据在命令解码器200处被接收到,并通过使用查询表、寄存器等来解码。测试命令告诉测试控制器,将执行什么操作,以控制数据从结构的来回传输。目的地址寄存器210存储将向其发送测试分组的IP的目的地地址,并使用来自测试器的单独命令来加载。在适用的测试命令的控制下,输入测试数据(测试数据输入)被加载到FIFO202,并使用发送队列接口204来将格式化的测试命令分组“加载”到发送队列中,以便传输到结构106。在实践中,发送队列接口204操纵标识包含将被向外传输到结构的分组数据的存储器位置的指针。
结构接口块212使用适用的数据、信号、以及相应的互连所使用的协议,提供与结构106通信的接口。在某些实施例中,结构106包括使用一个或多个可配置宽度(诸如1x、2x、4x、8x、16x等等)的多个单向串行链路来实现的点对点互连。结构也可以具有类似于总线的架构。一般而言,可以使用任何类型的现有和未来的结构来实现此处所公开的一般概念和原理。数据是使用分组和相应的事务来传输的,事务是使用由结构106所使用的多级协议堆栈来实现的。例如,在一个实施例中,结构协议对应于英特尔芯片上可缩放结构(IOSF)协议。在其他实施例中,结构106可以实现开放内核协议(OCP)。这些示例不旨在是限制性的,因为SoC架构和此处所公开的相应的原理和概念可以利用任何现有的或未来的互连结构构造和协议来实现。此外,除点对点互连之外,此处所公开的技术和原理也可以使用诸如基于环形、网格、环面和总线的互连之类的其他拓扑来在SoC上实现。
在更一般的级别,结构接口块212在由结构106所使用的事务实现和通过结构106向外发送和向内接收到的数据之间提供抽象层。相应地,为支持不同类型的互连结构,只有结构接口块212中的电路(以及潜在地,TXQ和RXQ接口206和208)将需要改变,而测试控制器104中的电路的其余部分可以仍保持不变,并以独立于特定结构互连构造和协议的方式来实现。
在使用基于分组的结构协议的实施例中,测试数据和相应的测试命令信息被“分组化”(即,格式化为一个或多个分组),并通过结构传输到由分配给IP块的相应地址所标识的目标IP块。同样,由目标IP块和/或测试包装器(如下面更详细地描述的)所生成的测试输出数据在结构接口块212被接收,“解分组”,并根据适用的测试命令加载到FIFO204,对接收队列传输的协调由RXQ接口206通过相应的控制信号来促进。然后,缓存在FIFO204中的适用测试结果数据从测试控制器104中传输出,以便由ATE100接收作为“测试数据输出”(即,测试响应数据)。如在图2中所描绘的,从测试控制器200作为一个或多个M-位数据块来接收测试数据。如以前一样,M-位数据传输可以通过并行或串行接口来实现,给定测试结果可以包括一个或多个M-位数据单位。
作为概述,有两类要对典型的IP块执行的测试:功能测试和结构测试。功能测试涉及测试通信接口和由IP块执行的功能,由于可通信地或可操作地耦合到SoC中的结构的每一个IP块都可以通过结构发送和接收数据,因此,功能测试一般可以通过使用经由结构发送的测试数据和命令来促进。相应地,在一个实施例中,测试包装器提供传递机制,以使包含涉及功能测试的测试数据和命令的测试分组通过结构从测试控制器被传递,以及对于返回通过测试包装器的包含测试结果和/或功能测试返回数据的分组,被返回到测试控制器。
除功能测试之外,测试包装器还支持结构测试。本质上,测试包装器与测试控制器相结合提供有效地将ATE耦合到为其实现了测试包装器的每一个IP块中的测试端口的机制。相应地,诸如扫描测试之类的可以在常规的分离组件上执行的结构测试同样可以在IP块上执行;然而,根据此处所公开的架构,不需要从ATE SoC接口或开关块到每一个IP块的全局布线,或者也不需要到单独的JTAG引脚的全局布线,节省了有价值的管芯布局空间。另外,由于测试包装器设计是模块化的、可重复使用的,并涉及极少的管芯空间,因此,易于添加到新的和现有设计中,对开发时间安排的影响最小,如此减轻上市时间问题。此外,架构的模块化和可重复使用的本质意味着,不再需要单独的定制的测试架构。
如上文所讨论的,测试包装器充当结构和IP的测试端口之间的接口。测试包装器通过结构检索在测试控制器中产生的测试分组,解释需要如何通过嵌入在分组本身中的命令来处理分组中的数据,然后利用适当的信令协议将数据应用于IP的合适测试端口。例如,在扫描模式下(通过借由TAP来设置合适的控制寄存器来断言),包装器使用由测试控制器所提供的扫描数据(从存放在IP接收队列(RXQ)中的分组中检索)来执行扫描加载操作,将来自IP的扫描卸载数据(响应)存储到IP发送队列(TXQ)中,当由嵌入在扫描分组中的命令指示时应用合适的捕捉时钟。特定测试方法的测试包装器可以通过设计执行下列功能的子块来实现:
RXQ/TXQ读写逻辑:这是与事务队列对接以从接收队列(RXQ)检索数据并将数据放置在发送队列(TXQ)中以便最终通过结构转发回到测试控制器的子块。通过检测新的数据已经到达RXQ,从RXQ中检索数据。数据到达RXQ可以通过简单的状态信号或通过比较队列的头和尾指针(如果存在的话)来确定。从RXQ的读取操作通常通过从RXQ中弹出条目来执行。类似地,当从IP有响应数据可用并且判断TXQ具有足够空间来支持写入操作(使用简单的状态信号,或者通过比较TXQ的头和尾指针)时,对TXQ执行写入操作。一旦TXQ条目的数量到达预定的限制,TXQ中的数据作为结构分组被转发到测试控制器。
测试协议翻译器:这是在一端与上文所描述的RXQ/TXQ读写逻辑对接并且在另一端与IP的测试引脚对接以实现测试IP需要的测试协议的逻辑子块(通过多个组件实现)。此对接涉及解码嵌入的命令并将来自RXQ的原始数据转换为向IP应用测试刺激所需的波形,并对来自IP的响应波形进行采样,并将它们转换为适于写入到TXQ的数据。通过小心的设计,实现诸如扫描之类的不同结构测试方法所需的测试协议翻译器可以共享相同RXQ/TXQ读写逻辑,以降低测试包装器的硬件开销。
时钟-域交叉:必须处理多至3个不同的时钟域的主要子块是RXQ/TXQ读写逻辑:它必须与从/向RXQ/TXQ读和写所需的基准时钟和测试协议翻译器所使用的基准时钟竞争,这些基准时钟都是由测试协议的信令要求确定的(例如,扫描包装器将使用由最大频移确定的基准时钟)。为确保数据跨这些时钟边界的有序交换,使用握手逻辑来确保在数据可用之前不对数据进行采样,留出足够的时间来将数据发送到可能在不同的时钟域中的逻辑。图4和5分别示出了且下面更详细地讨论了测试控制器和测试包装器的示例时钟-域交叉实现的示图。
这里要注意的重要的一点是,测试包装器只有结构测试应用或其他非功能测试应用才需要。在这样的情况下,需要由测试包装器修改功能事务,以适合非功能/结构协议。对于功能测试,IP将直接对从结构进入的功能事务作出响应,因此,不需要测试包装器。相应地,在功能测试过程中实现测试包装器的传递特征。
图3示出了测试包装器108A和来往于一般化IP块110的接口的微架构的一个实施例的进一步的细节。图3所示的多个组件类似于图2的测试控制器104A中的类似组件,包括结构接口300、RXQ和TXQ接口302和304、以及FIFO306和308。测试包装器108还包括多路复用器块310、测试状态机312、以及测试控制逻辑314。
结构接口块300使用多路复用器电路和相关联的逻辑(共同地被描绘成多路复用器块310),以便于从结构106向内接收到的和向外发送到结构106的信号的发送/接收和传递。从互连结构的角度来看,与结构对接的每一个IP块都具有相应的结构接口和唯一的互连地址。在某些实施例中,(取决于特定结构架构和协议),对接到结构的每一个设备或IP块都使用用于处理通过结构互连发送的事务分组的代理。如此处所使用的,这样的代理(一般可以通过编程逻辑等来实现)嵌入在图形中所描绘的结构接口块内,为清楚起见,没有单独地示出;然而,可以理解,对于使用采用这样的代理的互连结构协议的应用,这样的代理和它们的相关联功能在各种结构接口块中实现。
在所示出的实施例中,在测试控制器中产生的用于测试给定目标IP块的测试分组可以具有两个地址中的一个:对应于IP块本身的地址(一般用于功能测试);或分配给测试包装器的地址。如上文所讨论的,由于对IP块的功能测试不需要来自测试包装器的支持,因此,可以绕过测试包装器。如上文所讨论的,这由多路复用器块300来执行。为确定测试分组的正确目标(IP块,或测试包装器),对于每一个分组执行一些类型的地址检测。如此,结构接口块300或结构(106)包括检测分组地址然后相应地路由分组的电路。
来自测试包装器以及相关联的IP块的向外分组发送以有点类似的方式来处理,只是方向相反。在此情况下,来自IP块结构接口128的信号和由测试包装器108在内部生成的信号通过多路复用器有选择地耦合到测试包装器的结构接口。在此情况下,不需要地址检测,因为在结构接口128和测试包装器之间的互连信号路径上的存在向外数据表示输出分组的源是IP块110。从IP块的角度来看,测试包装器是透明的,好像IP块的结构接口直接连接到互连结构。此期望功能通过此设计的信号传递功能来促进。
使用RXQ接口302,从结构接口块300中的事务检索队列中检索发往测试包装器的数据分组,RXQ接口302又驱动测试状态机306,该测试状态机306将相应的输入提供到测试控制逻辑314,该测试控制逻辑314解释输入并通过测试控制信号和相关联的测试数据(通过“测试数据输出”)来对IP块应用相应的测试刺激。类似地,从IP块检索响应数据(“测试数据输入”),将其缓存在FIFO308中,格式化为分组,并通过使用TXQ接口304和结构接口块300,通过结构106传输。测试响应分组的目的地通常是测试控制器,该测试控制器将响应数据解分组和重新格式化,并将数据传输到ATE。取决于由测试包装器实现的测试方法,相应的电路和逻辑通过测试状态机312和测试控制逻辑314来实现,通过“测试数据输出”和“测试数据输入”信号来传输合适的测试数据。例如,如果包装器被设计成应用扫描数据,“测试控制”是扫描控制信号(扫描启用、捕捉和扫描时钟),而“测试数据输入”和“测试数据输出”信号与IP的扫描数据输入和扫描数据输出信号(通过相应的IP测试端口130)对接。对于为IP实现多个测试方法的包装器,可以共享一些构建块(诸如与结构进行通信的块,例如,FIFO和RXQ和TXQ接口)。
如上文所描述的,在一个实施例中,FIFO包括时间交叉FIFO,它们被配置成促进由ATE和测试控制器之间以及测试控制器和结构之间的通信信号所使用的时钟频率中的差异。例如,图4概要地示出了这种情况。一般而言,如果ATE和结构用完单独且不相关的时钟,则时钟交叉FIFO使数据同步:通常,测试器必须比结构时钟以2X或更慢的速度运行,以确保数据完整性。在另一种情况下,如果插入了可测试性设计(DFT)逻辑(简单绕开MUX),以使测试器时钟与结构时钟相同,那么,不需要使FIFO同步,测试器可以与结构一样快地运行。后一种情况是实现结构测试的较佳选择。
在图4所示出的示例中,ATE100和测试控制器104B的左侧组件(共同地示为格式化器114)以对应于第一时钟域(CLK域1)的第一时钟频率CLK1操作。同时,为简明起见通过TXQ接口206和结构接口块212来共同地表示的测试控制器104的右侧的组件,以对应于由结构106所使用的CLK2信号的频率的第二时钟域(CLK域2)操作。时钟交叉FIFO202A被配置成交叉不同的时钟域,以相关于时钟信号频率的一个或两个的异步方式操作并使用适用的握手电路来确保数据完整性。如果CLK2的频率是CLK1的频率的倍数,则电路和逻辑简化,但是,这不是严格的要求。虽然未示出,但是,以类似的方式配置涉及测试结果分组的接收和处理的测试控制器104B的电路,其中,FIFO204被配置为第二时钟交叉FIFO。
使用类似的技术来解决互连结构、测试包装器、以及IP块之间的时钟频率差异。如图5的测试包装器108B所示,组件(为简明起见,这里是抽象的)被分成两个时钟域,标记为CLK域2和CLK域3。时钟域使用在时钟交叉FIFO306A中实现的握手控制和定时电路来交叉。按类似的方式,将实现涉及测试包装器中的测试结果数据的封装和转发的电路,包括时钟交叉FIFO308(未示出)。
一般而言,基本上可以使用直接耦合到分离组件上的引脚的测试器在分离组件上执行的任何测试可以使用此处所公开的测试控制器和测试包装器的组合,在具有类似的核电路的IP块上执行。取决于特定测试要求,特定的测试逻辑可以嵌入在此处的组件中的一个或多个中。通常,为一种类别的IP块或核所特有的测试逻辑可以嵌入在为该类别实现的测试包装器中。
例如,图6所示的示例性IP块110A表示扫描测试适用的IP块类别。如所描绘的,IP块110A具有核126A,包括存储器600、缓存602、以及扫描链604。还描绘了测试包装器108C中的用于执行扫描测试、直接访问测试(DAT)、以及基于结构的功能测试(SBFT)的逻辑。
如上文所讨论的,测试包装器提供与IP块的IP测试端口进行通信的测试接口。此接口示意地被描绘成测试接口块124和连接122A。一般而言,连接122A可以通过能够发送数据和/或信号的任何类型的连接,诸如总线、串行连接等等来实现。
此处所公开的涉及TAM的实现的另一个方面是TAM配置。在将测试数据提供给TAM之前,TAM必须被配置,以便TAM的各种组件知道如何处理数据。例如,在扫描模式下,包装器和测试控制器需要被配置为,以便它们可以正确地封装和解释扫描数据,并解释面向扫描的分组中的合适字段以执行移位运算、应用捕捉时钟等等。这样的配置使用诸如1149.1TAP、IEEE1500WTAP或结构边带之类的独立机制来更好地完成。至少,期望配置机制支持由TAM支持的全部测试模式,诸如扫描、DAT和SBFT。为简化设计、验证和启动(bring-up),配置机制不应该依赖于操作结构,假设独立配置机制在通过结构发起第一测试相关的操作之前会将TAM置于合适的测试模式。
一般而言,用于实现TAM测试配置的逻辑可以嵌入在测试控制器中,在单独的块中实现,或可以包括在多个组件之间分布的逻辑。例如,用于实现测试配置的逻辑在图1中被描绘成测试配置块112。在此示例性实现中,测试配置块112从ATE100接收输入和控制信息,作为响应,将测试配置数据提供到测试控制器104和测试包装器108中的每一个。
如上文所讨论的,此处所公开的实施例的多个方面可以使用各种类型的互连结构以及相关联的结构协议来实现,总体测试控制器和测试包装器架构独立于任何特定互连结构。然而,为更好地示出与用于促进相关通信操作的互连结构的使用相关的接口方面,使用IOSF互连结构来呈现实施例。
IOSF是跨英特尔SoC扩散的管芯上功能互连结构。IOSF提供将符合IOSF的IP集成到SoC中的即插即用机制,并基于PCI-e标准。IOSF在接口和协议级别实施标准化,但是,不指定结构实现,以允许如何实现结构以满足不同的SoC市场细分的灵活性。基于PCI-e允许呈现PCI-e行为的收缩性包装的操作系统的兼容性。开发本文所公开技术的主要动机是允许使用IOSF标准功能互连结构作为标准TAM,以便将数据递送到IOSF结构常驻的IP并从其采样响应。这可以允许标准功能互连上的即插即用功能对标准化的TAM的逻辑分层,降低了设计开销。
图1A示出了实现IOSF互连结构的图1中TAM架构的实施例。图1A中所示出的组件中的许多与图1中的类似组件共享相同附图标记,这样的组件在两个实施例中执行类似的操作。另外,图1A中的架构包括其中包括图6的IP核126A的IP块110B,其中,图6和1A中的IP核126A的组件的操作是类似的。
根据IOSF,互连结构上的通信通过使用经由互连使用多层协议来递送的分组来促进。协议在每一个端点处使用管理对于通过互连的分组数据传输的通信和仲裁操作的代理。协议还使用分别促进发送和接收结构接口操作的主接口和目标接口。根据IOSF协议,分组传输在主接口处发源,并包括对应于目标(用于接收分组)IP上的目标接口的地址信息。图1A中的主接口和目标接口包括测试控制器104C中的主接口132和目标接口134,以及IP块110B中的主接口138。IP块110B进一步描绘了发送事务队列(TXQ)140和接收事务队列(RQX)队列142。TXQ与主接口的配对和目标接口与RXQ的配对是每一个IOSF接口共同的。虽然在图1A中未示出,测试包装器108A还包括主接口和目标接口以及相关联的TXQ和RXQ。
一般而言,对于SoC的实际TAM实现将包括与多个测试包装器进行通信的测试控制器,对每一个IP实现测试包装器的实例,其中对该IP实现TAM架构以测试该IP。给定测试包装器的特定微架构在某种程度上将依赖于它被设计成要测试的IP,虽然此处所描述的许多微架构子块将跨测试包装器可重复使用。图7所示的SoC700示出了这样的TAM架构的示例性实现。
SoC700包括耦合到被配置成通过多个SoC测试引脚连接到ATE100的测试接口103的测试控制器104。SoC700的组件被描绘成在北综合体和南综合体之间划分,这在某种程度上类似于由英特尔的北桥/南桥架构所使用的分离组件集成,认识到在SoC中,全部组件集成在共同的管芯上,无需组件之间的外部互连。
北综合体包括连接到IOSF结构702的多个IP(被描绘成IP1、IP2、以及IP3)。每一个IP都包括用来促进IP及耦合到IOSF结构的其他代理之间的通信的相应代理(被描绘成代理1、代理2、以及代理3),包括由测试控制器104实现的代理0。实现相应的测试包装器108-1、108-2、以及108-3以促进对IP1、IP2、以及IP3的测试,它们还耦合到IOSF结构702。
北综合体还包括通过与IO一致的结构桥接器706可通信地耦合到IOSF结构702的一致结构704。一致结构704支持用于访问共同地被描绘成存储器708的各种共享存储器资源的一致存储器事务。包括多个核712的CPU710可通信地耦合到一致结构704,其中,每一个核都被允许访问存储器708,而保持存储器一致性。对使用一致互连结构保持存储器一致性的支持通常由各种代理(为清楚起见,未示出)来维持。
实现了用于促进对CPU710的测试的测试包装器108-4,它通过接口714和CPU上的代理(代理4)与CPU710对接。代理4和测试包装器108-4的结构接口组件被配置成与一致结构704连接,一致结构704使用与IOSF结构702不同的接口结构和协议。桥接器706促进两个结构协议之间的桥接操作,将根据第一协议(例如,IOSF)的分组转换为对应于第二协议(例如,OCP)的分组,而同时还促进两个结构之间的定时和信令接口。以此方式,测试包数据可以通过IOSF结构702、桥接器706、以及一致结构704从测试控制器104发送到测试包装器108-4,相应的测试结果数据可以在相反的方向返回到测试控制器。
测试包装器在南综合体中的实现类似于耦合到IOSF结构702的测试包装器在北综合体中的实现。南综合体包括与如通过IP5,IP6、以及IP7所描绘的多个IP可通信地耦合的IOSF结构716,与结构的通信通过相应的代理5、6、以及7来促进。这些IP中的每一个的测试操作通过相应的测试包装器108-5、108-6和108-7来促进。IOSF结构716被示为通过IOSF到IOSF桥接器718耦合到IOSF结构702。在替换的配置中,IOSF结构702和716包括单个互连结构;相应地,不使用桥接器。在另一个实施例中,南综合体结构包括OCP结构,而桥接器718包括IOSF到OCP桥接器。
图8示出了TAM的示例性实现的细节,包括在SoC800中的结构到结构桥接器中实现的测试控制器。在特定示例中,结构到结构桥接器包括IOSF到OCP桥接器;然而,这只是示例性的,可以在其他类型的结构到结构桥接器中实现设计的类似架构元件和方面,包括耦合到使用不同协议的不同类型互连结构的结构到结构桥接器或耦合到相同类型的互连结构的桥接器。
在图8的架构中,测试控制器块801嵌入在IOSF/OCP桥接器802中。此架构允许重复使用现有的结构接口,还提供对向南的OCP结构804和向北的IOSF结构的访问,包括IOSF主要结构806和ISOF边带结构808。架构还包括存储块810,包括OCP桥接器812、测试包装器814,以及管芯上存储器816。测试控制器块800包括测试控制器818,以及注入队列接口820,以及数据转换/格式化器822。架构还包括TAP控制器块824,以及JTAG/TAP接口826。另外,SoC中的各种IP表示为IPa、IPb、IPc、IPm、以及IPn。
IOSF/OCP桥接器802还包括用于执行常规结构到结构桥接功能的设施,诸如缓存根据对应于桥接器一端的结构的协议配置的所接收到的分组,并根据桥接器另一端的结构的协议,转换分组配置。例如,OCP结构分组将由桥接器接收、缓存,转换为IOSF分组,并传输到IOSF主要结构806。除缓存和分组转换之外,结构到结构桥接器还处理定时事宜,诸如支持以不同的时钟频率操作以及使用不同的信令协议的结构。为简明起见,这些结构到结构桥接器功能共同地描绘为队列与事务转换块828。
存储块810中的测试包装器814被用来可使测试控制器818加载和卸载可以存储在管芯上存储器816的测试刺激和响应数据的阵列。一般而言,管芯上存储器816可以用于专用的测试目的,或可以实现为共享存储器资源并用于其他目的。OCP桥接器812提供接口和队列,以促进与OCP结构804的通信。按类似的方式,可以为在SoC中使用的任何类型的结构实现等效接口和功能。在一个实施例中,还有从测试控制器到管芯上存储器的直接接口,以允许到OCP或IOSF结构(主要和边带)的基于时间戳的流量注入。在此情况下,管芯上存储器提供额外的缓存空间,以存储要被注入到IOSF或OCP结构中的事务。
如同以前的实施例,测试通常将使用ATE100,该ATE100被示为耦合到JTAG/TAP接口826。ATE输入和输出信号的物理耦合通常将以常规方式通过SoC上的多个引脚来进行。相应地,JTAG/TAP接口826包括用来促进信号和数据在ATE100和SoC中的内部组件之间的传输的外部测试器接口。在所示出的实施例中,JTAG/TAP促进与TAP控制器块830的通信,TAP控制器块830与测试控制器818、测试包装器814中的每一个对接。一般而言,TAP控制器824用于各种配置和测试控制操作,诸如配置各种DFT块JTAG端口,包括测试控制器处的JTAG端口(未示出)。
图9示出了可以在诸如图8的IOSF/OCP桥接器802之类的结构到结构桥接器中实现的桥接器包装器900的一个实施例的细节。值得注意的是,虽然桥接器包装器900中的接口和相应的块是在OCP到IOSF结构桥接器的上下文中描绘的,但是,这不旨在是限制性的。相反,当利用相应的接口和涉及每一个结构的细节(例如,定时、分组协议,事务队列等等)的考虑实现时,一般架构和原理可以应用于其他类型的结构到结构桥接器。
桥接器包装器900包括桥接器核902,包括IOSF T(目标)接口904、IOSF M(主)接口906、OCP M(主)接口908,以及OCP S(从属)接口910。桥接器核902还包括通道块910,包括时钟交叉FIFO914和916,多路复用器918、920、以及922。桥接器包装器900还包括通过专用通道926连接到管芯上存储器816的测试控制器(TC)子块924。
通过在IOSF到OCP桥接器中实现测试控制器,对IOSF和OCP总线两者的访问得到支持,以及共享事务缓冲器和到OCP和IOSF结构的结构接口以降低硬件开销的能力也得到支持。在测试模式下,测试控制器通过多路复用器组(为简明起见,被示为多路复用器918,920,和922)获得对合适的数据路径的控制,以便向/从OCP和IOSF结构注入或截取流量。测试器通道(未示出)连接到IOSF/OCP桥接器内部的“TC”子块924。可以使用测试控制器来给管芯上存储器加载来自测试器的数据/指令。
使用专用通道926来将流量注入到OCP或者IOSF结构上(两者都在IOSF的主要和边带通道上)。首先,测试控制器通过在OCP结构804上发送数据,从测试器将事务/指令加载到管芯上存储器816。一旦加载了管芯上存储器,测试控制器从管芯上存储器检索事务,以便进行流量注入。基于与事务一起存储的时间戳,测试控制器在合适的时间将事务注入到合适的总线(这里“时间”是指基准时钟循环,对于顺流注入,是IOSF时钟,对于逆流注入,OCP时钟)。请注意,对于顺流注入,TC实际从IOSF端写入到队列中,而对于逆流注入,TC从OCP端写入到队列。
测试控制器和测试包装器的组合使用提供用于有效地从IUT来回传输测试命令、测试刺激、以及测试结果的机制,以便ATE有效地耦合到每一个IP,无需全局布线。此外,TAM架构还支持重复使用和可缩放性,而最小化为每一个SoC设计或衍生品生成和实现需要相应电路的特定测试设施的需求。例如,一旦设计了对于给定IP块的测试包装器,每当IP块的实例在使用类似通信架构的SoC中实现时(例如,相同互连结构),都可以使用测试包装器设计。此外,还预想,测试控制器可以被配置成跨多个SoC架构和/或衍生品支持测试。例如,“通用”测试控制器可以被配置成跨芯片集系列支持测试。可任选地,可以使用包含可参数化的子组件(诸如信号的类型和数量)以及可以使用编译器指令包括/排除的子组件的测试控制器的可配置RTL块。作为另一个选项,可以使用充当“测试控制器”“生成器”的程序或脚本来使用预先编码的构建块和模板动态地生成定制测试控制器。
本文所公开的本发明的示例性实施例示出了在如由SoC架构示范的半导体芯片上实现的本发明的多方面的实现。另外,本说明书的各实施例可以在机器可读取的介质内实现。例如,上文所描述的设计可以存储和/或嵌入在与用于设计半导体器件的设计工具相关联的机器可读介质内。示例包括以VHSIC硬件描述语言(VHDL)语言或Verilog语言格式化的连线表(netlist)。一些连线表示例包括:行为级别的连线表、寄存器传输级别(RTL)连线表、门级别连线表和晶体管级别连线表。机器可读取的介质还包括具有诸如GDS-II文件之类的布局信息的介质。此外,还可以在仿真环境中使用用于半导体芯片设计的连线表文件或其他机器可读取的介质来执行上文所描述的原理的方法。
上文对本发明的所示出实施例的描述,包括在“摘要”所描述的,不是详尽的或将本发明限于上文所公开的准确形式。尽管为了说明,此处描述了本发明的具体实施例以及示例,但是,如本领域技术人员所理解的,各种可能的等效修改也都在本发明的范围内。
可以根据上面的“详细描述”对本发明进行这些修改。后面的权利要求中所使用的术语不应该被理解为将本发明限制于说明书和附图中所公开的特定实施例。相反,本文的范围完全由所附权利要求书来确定,权利要求书根据所建立的权利要求解释原则来解释。
Claims (19)
1.一种系统芯片(SoC),包括:
第一互连结构;
第二互连结构;
耦合到所述第一和第二互连结构中的每一个的结构到结构桥接器;
测试访问机构(TAM),具有包括在所述结构到结构桥接器中实现的测试控制器的至少一部分;
可操作地耦合到所述第一互连结构的第一知识产权(IP)块;以及
可操作地耦合到所述第二互连结构的第二IP块,
其中,所述TAM被配置成从外部测试器接收对应于要对所述第一IP块执行的一个或多个测试的测试输入,并经由所述结构-到结构桥接器,通过所述第一互连结构,发送相应测试数据和/或测试命令用于测试所述第一IP块。
2.如权利要求1所述的SoC,其特征在于,所述TAM被配置成经由所述结构到结构桥接器通过所述第一互连结构接收对应于测试所述第一IP块的测试结果数据,并将相应的测试结果数据返回到所述外部测试器。
3.如权利要求1所述的SoC,其特征在于,所述TAM被配置成从所述外部测试器接收对应于要对所述第二IP块执行的一个或多个测试的测试输入,并经由所述结构-到结构桥接器,通过所述第二互连结构,发送相应测试数据和/或测试命令用于测试所述第二IP块。
4.如权利要求3所述的SoC,其特征在于,所述TAM进一步被配置成经由所述结构到结构桥接器通过所述第二互连结构接收对应于测试所述第二IP块的测试结果数据,并将相应的测试结果数据返回到所述外部测试器。
5.如权利要求1所述的SoC,其特征在于,进一步包括可通信地耦合到所述第一互连结构和所述第一IP块中的每一个的测试包装器,
其中,响应于接收到测试器输入,所述TAM被配置成生成包括对应于所述测试器输入的测试数据和/或测试命令的测试包,并经由所述结构到结构桥接器和所述第一互连结构将所述测试包发送到所述测试包装器,并且,其中响应于接收到所述测试包,所述测试包装器被配置成将相应的测试输入数据、控制和/或刺激信号提供给所述第一IP块,以对所述第一IP块中的电路执行一个或多个测试操作。
6.如权利要求1所述的SoC,其特征在于,进一步包括可通信地耦合到所述第二互连结构和所述第二IP块中的每一个的测试包装器,
其中,响应于接收到测试器输入,所述TAM被配置成生成包括对应于所述测试器输入的测试数据和/或测试命令的测试包,并经由所述结构到结构桥接器和所述第二互连结构将所述测试包发送到所述测试包装器,并且,其中响应于接收到所述测试包,所述测试包装器被配置成将相应的测试输入数据、控制和/或刺激信号提供给所述第二IP块,以对所述第二IP块中的电路执行一个或多个测试操作。
7.如权利要求1所述的SoC,其特征在于,进一步包括可操作地耦合到所述TAM并包括一组引脚的外部测试器接口,去往和/或来自外部测试器的信号可以耦合到所述引脚以便于所述TAM和所述外部测试器之间的通信。
8.如权利要求1所述的SoC,其特征在于,进一步包括可操作地耦合到所述第一互连结构以存储与测试所述SoC中的IP块相关联的事务的存储块。
9.如权利要求1所述的SoC,其特征在于,所述第一和第二互连结构中的一个包括开放内核协议结构。
10.如权利要求1所述的SoC,其特征在于,所述第一和第二互连结构包括使用不同协议的不同类型的互连结构。
11.一种方法,包括:
测试系统芯片(SoC)中的知识产权(IP)块,所述系统芯片包括与IP块操作上耦合的第一和第二互连结构和结构到结构桥接器,
在具有嵌入在所述结构到结构桥接器中的至少一部分的测试控制器处接收来自所述SoC外部的测试器的测试器输入;
在所述测试控制器处基于所述测试器输入,生成包括根据所述测试器输入的测试数据和/或测试命令的测试包;以及
经由所述结构到结构桥接器,将测试包从所述测试控制器发送到所述第一互连结构,以便于测试操作上耦合到所述第一互连结构的一个或多个IP块。
12.如权利要求11所述的方法,其特征在于,进一步包括:
经由所述第一互连结构,在所述结构到结构桥接器处接收一个或多个分组,所述一个或多个分组包括与测试操作上耦合到所述第一互连结构的IP块相关联的测试结果数据;以及
将对应于所述测试结果数据的测试输出数据返回到所述外部测试器。
13.如权利要求11所述的方法,其特征在于,进一步包括经由所述结构到结构桥接器,将测试包从所述测试控制器发送到所述第二互连结构,以便于测试操作上耦合到所述第二互连结构的一个或多个IP块。
14.如权利要求13所述的方法,其特征在于,进一步包括:
经由所述第二互连结构,在所述结构到结构桥接器处接收一个或多个分组,所述一个或多个分组包括与测试操作上耦合到所述第二互连结构的IP块相关联的测试结果数据;以及
将对应于所述测试结果数据的测试输出数据返回到所述外部测试器。
15.如权利要求12所述的方法,其特征在于,每一个测试包都包括单个分组。
16.如权利要求11所述的方法,其特征在于,所述SoC进一步包括操作上耦合到所述第一互连结构和第一IP块的每一个的测试包装器,所述方法进一步包括:
经由第一互连结构,将测试数据和/或测试命令发送到集成在所述SoC上并可通信地耦合到所述第一互连结构和可操作地耦合到所述第一互连结构的IP块的测试包装器;以及
经由所述测试包装器,将测试输入数据、控制、和/或刺激信号提供给所述IP块,以便于对对应于所述测试数据和/或测试命令的所述IP块进行电路级别的测试。
17.如权利要求16所述的方法,其特征在于,所述测试包装器可通信地耦合在所述第一IP块和所述第一互连结构之间,所述方法进一步包括配置所述测试包装器,以将信号从所述第一IP块传递到所述第一互连结构,以便于所述第一IP块和所述第一互连结构之间的直接通信。
18.如权利要求11所述的方法,其特征在于,进一步包括
在所述测试控制器处接收对应于使用可操作地耦合到所述第一互连结构的IP块来执行的功能测试的测试器输入;以及
通过将测试输入经由所述结构到结构桥接器和所述第一互连结构从所述测试控制器发送到所述IP块,并通过经由所述第一互连结构和所述结构到结构桥接器将测试输出从所述IP块返回到所述测试控制器,对所述IP块执行功能测试。
19.如权利要求11所述的方法,其特征在于,所述第一和第二互连结构包括使用不同协议的不同类型的互连结构。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/044,272 US8793095B2 (en) | 2011-03-09 | 2011-03-09 | Functional fabric-based test controller for functional and structural test and debug |
US13/044,272 | 2011-03-09 | ||
PCT/US2011/066625 WO2012121781A1 (en) | 2011-03-09 | 2011-12-21 | A functional fabric-based test controller for functional and structural test and debug |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103415777A CN103415777A (zh) | 2013-11-27 |
CN103415777B true CN103415777B (zh) | 2015-09-16 |
Family
ID=46796844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180069115.0A Active CN103415777B (zh) | 2011-03-09 | 2011-12-21 | 用于进行功能和结构测试和调试的基于功能结构测试控制器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8793095B2 (zh) |
KR (1) | KR101539163B1 (zh) |
CN (1) | CN103415777B (zh) |
WO (1) | WO2012121781A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9043665B2 (en) | 2011-03-09 | 2015-05-26 | Intel Corporation | Functional fabric based test wrapper for circuit testing of IP blocks |
US8522189B2 (en) | 2011-03-09 | 2013-08-27 | Intel Corporation | Functional fabric based test access mechanism for SoCs |
US20130159591A1 (en) * | 2011-12-14 | 2013-06-20 | International Business Machines Corporation | Verifying data received out-of-order from a bus |
US9436623B2 (en) * | 2012-09-20 | 2016-09-06 | Intel Corporation | Run-time fabric reconfiguration |
ITTO20120851A1 (it) * | 2012-09-28 | 2014-03-29 | St Microelectronics Grenoble 2 | Sistema di debug, e relativo circuito integrato e procedimento |
US9489009B2 (en) * | 2014-02-20 | 2016-11-08 | Samsung Electronics Co., Ltd. | System on chip, bus interface and method of operating the same |
CN104572383B (zh) * | 2014-11-28 | 2017-05-03 | 深圳市芯海科技有限公司 | 一种基于ate的mcu/soc芯片的测试方法 |
CN104569791B (zh) * | 2015-01-30 | 2017-08-25 | 上海华岭集成电路技术股份有限公司 | Ip硬核无损测试结构及其实现方法 |
JP6424271B2 (ja) * | 2015-04-16 | 2018-11-14 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US9990327B2 (en) * | 2015-06-04 | 2018-06-05 | Intel Corporation | Providing multiple roots in a semiconductor device |
CN105629153B (zh) * | 2015-12-24 | 2018-10-09 | 大唐微电子技术有限公司 | 一种芯片测试的方法 |
CN108431788B (zh) * | 2016-01-28 | 2020-09-25 | 华为技术有限公司 | 一种单板、电子设备及选通的方法 |
US10042729B2 (en) * | 2016-04-01 | 2018-08-07 | Intel Corporation | Apparatus and method for a scalable test engine |
US10473717B2 (en) * | 2016-11-09 | 2019-11-12 | Texas Instruments Incorporated | Methods and apparatus for test insertion points |
US10185695B2 (en) * | 2017-03-31 | 2019-01-22 | Intel Corporation | Device, system and method for on-chip testing of protocol stack circuitry |
EP3605254A1 (en) * | 2018-08-01 | 2020-02-05 | Siemens Aktiengesellschaft | System and method for data analytics and verification |
KR102376750B1 (ko) * | 2018-09-13 | 2022-03-21 | 한국전자통신연구원 | 디버깅을 위한 네트워크를 포함하는 시스템 온 칩 |
CN109407655B (zh) * | 2018-12-27 | 2021-05-25 | 重庆中星微人工智能芯片技术有限公司 | 一种调试芯片的方法及装置 |
CN112559437A (zh) * | 2019-09-25 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 一种调试单元及处理器 |
CN111737155B (zh) * | 2020-08-04 | 2020-12-08 | 北京燧原智能科技有限公司 | 一种芯片调试系统、方法、装置、设备及存储介质 |
KR102664020B1 (ko) | 2021-10-28 | 2024-05-08 | 연세대학교 산학협력단 | 분할 스케줄링을 이용한 테스트 시간 감소 방법 및 장치 |
CN114578790B (zh) * | 2022-03-04 | 2024-05-14 | 四川傲势科技有限公司 | 一种无人机飞控自动测试方法、系统、设备和介质 |
CN115808612B (zh) * | 2023-01-30 | 2023-06-02 | 成都爱旗科技有限公司 | 一种芯片物理ip测试系统、方法及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162670B2 (en) * | 2001-12-03 | 2007-01-09 | Sun Microsystems, Inc. | IBIST interconnect and bridge fault detection scheme |
CN1910571A (zh) * | 2003-07-25 | 2007-02-07 | 国际商业机器公司 | 单芯片协议转换器 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6560734B1 (en) | 1998-06-19 | 2003-05-06 | Texas Instruments Incorporated | IC with addressable test port |
US6877122B2 (en) | 2001-12-21 | 2005-04-05 | Texas Instruments Incorporated | Link instruction register providing test control signals to core wrappers |
GB2376390B (en) | 2001-06-05 | 2003-08-06 | 3Com Corp | Asic system architecture including data aggregation technique |
US7577540B2 (en) | 2002-03-01 | 2009-08-18 | Nec Corporation | Re-configurable embedded core test protocol for system-on-chips (SOC) and circuit boards |
US20040078709A1 (en) | 2002-07-11 | 2004-04-22 | International Business Machines Corporation | System, method, and product for providing a test mechanism within a system area network device |
US7143412B2 (en) | 2002-07-25 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Method and apparatus for optimizing performance in a multi-processing system |
US7292581B2 (en) | 2002-10-24 | 2007-11-06 | Cisco Technology, Inc. | Large-scale layer 2 metropolitan area network |
US7055113B2 (en) | 2002-12-31 | 2006-05-30 | Lsi Logic Corporation | Simplified process to design integrated circuits |
US7313739B2 (en) | 2002-12-31 | 2007-12-25 | Analog Devices, Inc. | Method and apparatus for testing embedded cores |
US7080299B2 (en) | 2003-02-03 | 2006-07-18 | Arm Limited | Resetting latch circuits within a functional circuit and a test wrapper circuit |
US7058918B2 (en) | 2003-04-28 | 2006-06-06 | Dafca, Inc. | Reconfigurable fabric for SoCs using functional I/O leads |
WO2005015805A2 (en) | 2003-08-08 | 2005-02-17 | Visionflow, Inc. | Software and hardware partitioning for multi-standard video compression and decompression |
US7290186B1 (en) | 2003-09-16 | 2007-10-30 | Virage Logic Corporation | Method and apparatus for a command based bist for testing memories |
KR100594257B1 (ko) | 2004-02-26 | 2006-06-30 | 삼성전자주식회사 | 내장형 셀프 테스트 회로를 가지는 soc 및 그 셀프테스트 방법 |
EP1571456A1 (en) | 2004-03-01 | 2005-09-07 | Koninklijke Philips Electronics N.V. | Test circuit and method for hierarchical core |
US7269805B1 (en) | 2004-04-30 | 2007-09-11 | Xilinx, Inc. | Testing of an integrated circuit having an embedded processor |
US7137086B2 (en) | 2004-07-06 | 2006-11-14 | Dafca, Inc. | Assertion checking using two or more cores |
US7472208B2 (en) | 2004-10-12 | 2008-12-30 | Intel Corporation | Bus communication emulation |
US7607057B2 (en) | 2004-12-28 | 2009-10-20 | Lsi Corporation | Test wrapper including integrated scan chain for testing embedded hard macro in an integrated circuit chip |
TWI263058B (en) | 2004-12-29 | 2006-10-01 | Ind Tech Res Inst | Wrapper testing circuits and method thereof for system-on-a-chip |
US7516364B2 (en) | 2005-10-31 | 2009-04-07 | Hewlett-Packard Development Company, L.P. | Method for testing network devices using breakpointing |
US8145958B2 (en) | 2005-11-10 | 2012-03-27 | Arm Limited | Integrated circuit and method for testing memory on the integrated circuit |
US7519884B2 (en) | 2006-06-16 | 2009-04-14 | Texas Instruments Incorporated | TAM controller for plural test access mechanisms |
KR100789749B1 (ko) | 2006-07-24 | 2008-01-02 | 한양대학교 산학협력단 | 시스템 온 칩 테스트 장치 |
US7529996B2 (en) | 2006-08-03 | 2009-05-05 | Texas Instruments Incorporated | DDR input interface to IC test controller circuitry |
US8020124B2 (en) | 2006-11-20 | 2011-09-13 | Sonics, Inc. | Various methods and apparatuses for cycle accurate C-models of components |
US8667437B2 (en) | 2008-03-17 | 2014-03-04 | Xilinx, Inc. | Creating a standard cell circuit design from a programmable logic device circuit design |
TW201005311A (en) | 2008-07-23 | 2010-02-01 | Ind Tech Res Inst | Test device and method for an SoC test architecture |
US8555123B2 (en) | 2008-07-23 | 2013-10-08 | Industrial Technology Research Institute | Test device and method for the SoC test architecture |
US8170062B2 (en) | 2009-04-29 | 2012-05-01 | Intel Corporation | Packetized interface for coupling agents |
JP2011149775A (ja) | 2010-01-20 | 2011-08-04 | Renesas Electronics Corp | 半導体集積回路及びコアテスト回路 |
EP2372379B1 (en) | 2010-03-26 | 2013-01-23 | Imec | Test access architecture for TSV-based 3D stacked ICS |
US8479129B1 (en) | 2010-05-21 | 2013-07-02 | Marvell International Ltd. | Dynamic time domain randomization techniques for SOC and IP verification |
US8887018B2 (en) | 2010-06-11 | 2014-11-11 | Texas Instruments Incorporated | Masking circuit removing unknown bit from cell in scan chain |
US8694276B2 (en) | 2011-01-20 | 2014-04-08 | Texas Instruments Incorporated | Built-in self-test methods, circuits and apparatus for concurrent test of RF modules with a dynamically configurable test structure |
CN102762254B (zh) | 2011-02-18 | 2015-09-23 | 麦德托尼克公司 | 模块化医疗设备编程器 |
US8522189B2 (en) | 2011-03-09 | 2013-08-27 | Intel Corporation | Functional fabric based test access mechanism for SoCs |
US9043665B2 (en) | 2011-03-09 | 2015-05-26 | Intel Corporation | Functional fabric based test wrapper for circuit testing of IP blocks |
-
2011
- 2011-03-09 US US13/044,272 patent/US8793095B2/en not_active Expired - Fee Related
- 2011-12-21 KR KR1020137025147A patent/KR101539163B1/ko active IP Right Grant
- 2011-12-21 WO PCT/US2011/066625 patent/WO2012121781A1/en active Application Filing
- 2011-12-21 CN CN201180069115.0A patent/CN103415777B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162670B2 (en) * | 2001-12-03 | 2007-01-09 | Sun Microsystems, Inc. | IBIST interconnect and bridge fault detection scheme |
CN1910571A (zh) * | 2003-07-25 | 2007-02-07 | 国际商业机器公司 | 单芯片协议转换器 |
US7353362B2 (en) * | 2003-07-25 | 2008-04-01 | International Business Machines Corporation | Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus |
Also Published As
Publication number | Publication date |
---|---|
KR101539163B1 (ko) | 2015-07-24 |
US20120232825A1 (en) | 2012-09-13 |
CN103415777A (zh) | 2013-11-27 |
WO2012121781A1 (en) | 2012-09-13 |
KR20130126991A (ko) | 2013-11-21 |
US8793095B2 (en) | 2014-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103415777B (zh) | 用于进行功能和结构测试和调试的基于功能结构测试控制器 | |
CN103492890B (zh) | 用于ip模块的电路测试的基于功能结构的测试包装器 | |
US9087037B2 (en) | Functional fabric based test access mechanism for SoCs | |
US5056093A (en) | System scan path architecture | |
US5054024A (en) | System scan path architecture with remote bus controller | |
CN103033736B (zh) | 测试多集成电路器件的方法及装置 | |
CN115020266B (zh) | 一种2.5D Chiplet绑定后测试电路 | |
CN103149529B (zh) | 多核处理器及其测试方法和装置 | |
KR20070121011A (ko) | 다중-코어 집적회로에서의 동시 코어 테스팅 | |
JPH10123223A (ja) | 集積回路のテスト用クロック発生方法および回路 | |
US6178525B1 (en) | Trigger sequencing controller | |
CN103365749B (zh) | 一种多核处理器调试系统 | |
US7917823B2 (en) | Decoupled clocking in testing architecture and method of testing | |
US6961884B1 (en) | JTAG mirroring circuitry and methods | |
EP1898555A1 (en) | A test device comprising a programmable sequencer for testing a link initialization behavior of a dut | |
KR100212256B1 (ko) | 시스템 스캔 경로 구조물 및 방법 | |
CN116324439A (zh) | 基于高速功能协议的测试和调试 | |
Tan et al. | Complexity and Performance Evaluation of Two Partial Reconfiguration Interfaces on FPGAs: A Case Study. | |
Wu et al. | Soc Testing and Design for Testability | |
Poirier | IEEE P1149. 5 to 1149.1 data and protocol conversion | |
Salujaa et al. | Memory Controller and Its Interface using AMBA 2.0 | |
US7861129B2 (en) | Integrated circuit for writing and reading registers distributed across a semiconductor chip | |
Tan et al. | Complexity and performance tradeoffs with FPGA partial reconfiguration interfaces | |
EP2595059A1 (en) | Test processor for asynchronous chip test | |
US20020040456A1 (en) | Partially distributed control mechanism for scanout incorporating flexible debug triggering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |