首页> 中国专利> 用于使用高速输入/输出接口进行测试的集成电路

用于使用高速输入/输出接口进行测试的集成电路

摘要

描述了被配置成用于进行测试的集成电路。该集成电路包括高速输入/输出接口。该集成电路还包括耦合到高速输入/输出接口的测试控制器。该集成电路还包括耦合到测试控制器的测试电路系统。测试控制器基于来自高速输入/输出接口的控制器协议测试信息来控制测试电路系统。

著录项

  • 公开/公告号CN103620431A

    专利类型发明专利

  • 公开/公告日2014-03-05

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN201280029780.1

  • 申请日2012-06-14

  • 分类号G01R31/3185(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人陈炜

  • 地址 美国加利福尼亚州

  • 入库时间 2024-02-19 22:44:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-02

    未缴年费专利权终止 IPC(主分类):G01R31/3185 授权公告日:20160420 终止日期:20190614 申请日:20120614

    专利权的终止

  • 2016-04-20

    授权

    授权

  • 2014-04-02

    实质审查的生效 IPC(主分类):G01R31/3185 申请日:20120614

    实质审查的生效

  • 2014-03-05

    公开

    公开

说明书

相关申请

本申请涉及于2011年6月17日针对“FRAMEWORK AND PROTOCOL FORUTILIZING HIGH-SPEED INPUT/OUTPUT INTERFACES FOR TEST CONTROLAND TEST DATA DELIVERY(用于利用高速输入/输出接口进行测试控制和测试数据递送的框架和协议)”提交的美国临时专利申请S/N.61/498,431并要求其优先权。

技术领域

本公开一般涉及电子设备。更具体地,本公开涉及用于使用高速输入/输出接口进行测试的集成电路。

背景

电子设备已经成为日常生活的一部分。电子设备的示例包括集成电路、蜂窝电话、智能电话、无线调制解调器、计算机、数字音乐播放器、全球定位系统(GPS)单元、个人数字助理、游戏设备等。电子设备如今被放置在从汽车到住房用锁等各种事物中。在过去的几年里电子设备的复杂度有了惊人的上升。例如,许多电子设备具有一个或多个帮助控制该设备的处理器,以及支持该处理器及支持该设备的其他部件的数个数字电路。

这种提升的复杂度已经导致增加了对能够测试集成电路和/或数字系统的测试的需求。测试可用于验证或测试设备的各个部分,诸如多个硬件、软件、或这两者的组合。

然而,测试集成电路需要测试资源,诸如测试装备和执行测试的时间。在一些情形中,对集成电路执行某些测试可能受限于特定的制造阶段和一次有限数量的集成电路。如可从此讨论中观察到的,有助于提升测试的可达性和/或速度的系统和方法可能是有益的。

概述

描述了被配置成用于进行测试的集成电路。该集成电路包括高速输入/输出接口。该集成电路还包括耦合到高速输入/输出接口的测试控制器。该集成电路还包括耦合到测试控制器的测试电路系统。测试控制器基于来自高速输入/输出接口的控制器协议测试信息来控制测试电路系统。测试控制器可以与高速输入/输出接口分开。

该集成电路还可包括耦合到测试控制器并且耦合到测试电路系统的测试接入端口。高速输入/输出接口可将高速输入/输出协议测试信息格式化为控制器协议测试信息。测试控制器可将控制器协议测试信息格式化为联合测试动作组协议测试信息,该联合测试动作组协议测试信息被提供给测试接入端口以控制测试电路系统。

测试控制器可将联合测试动作组协议测试结果格式化为控制器协议测试结果。高速输入/输出接口可将控制器协议测试结果格式化为高速输入/输出协议测试结果。

测试接入端口接口信号可在测试接入端口之前被截取。由测试接入端口提供的测试控制和数据信号可在测试接入端口之后被截取。

测试控制器可对测试电路系统中无法通过测试接入端口访问的一部分执行测试。测试电路系统可以是边界扫描寄存器、扫描链、寄存器和/或存储器。

控制器协议测试信息可包括重置消息、指令消息和/或数据消息。控制器协议测试信息可包括测试数据输入消息、测试模式选择消息和/或测试数据输出消息。控制器协议测试信息可包括包含目标测试接入端口状态、输入/输出字段和数据的消息。

高速输入/输出接口可以是通用串行总线(USB)接口。高速输入/输出接口可以是移动显示器数字接口(MDDI)。

控制器协议测试信息可以采用并行格式。控制器协议测试信息可以采用串行格式。

还描述了一种用于测试集成电路的方法。该方法包括在高速输入/输出接口处接收高速输入/输出协议测试信息。该方法还包括基于高速输入/输出协议测试信息来生成控制器协议测试信息。该方法进一步包括将控制器协议测试信息提供给测试控制器。该方法附加地包括基于来自高速输入/输出接口的控制器协议测试信息来控制测试电路系统。

还描述了一种用于测试集成电路的计算机程序产品。该计算机程序产品包括具有指令的非瞬态有形计算机可读介质。这些指令包括用于致使电子设备在高速输入/输出接口处接收高速输入/输出协议测试信息的代码。这些指令还包括用于致使电子设备基于高速输入/输出协议测试信息来生成控制器协议测试信息的代码。这些指令进一步包括用于致使电子设备将控制器协议测试信息提供给测试控制器的代码。这些指令附加地包括用于致使电子设备基于来自高速输入/输出接口的控制器协议测试信息来控制测试电路系统的代码。

还描述了一种用于测试集成电路的设备。该设备包括用于接收高速输入/输出协议测试信息的装置。该设备还包括用于基于高速输入/输出协议测试信息来生成控制器协议测试信息的装置。该设备进一步包括用于提供控制器协议测试信息的装置。该设备附加地包括用于基于控制器协议测试信息来控制测试电路系统的装置。

附图简要说明

图1是解说了用于使用高速输入/输出(HSIO)接口进行测试的集成电路的一种配置的框图;

图2是解说了用于使用高速输入/输出(HSIO)接口进行测试的方法的一种配置的流程图;

图3是解说了用于使用高速输入/输出(HSIO)接口进行测试的集成电路的一种更具体的配置的框图;

图4是解说了用于使用高速输入/输出(HSIO)接口进行测试的方法的一种更具体的配置的流程图;

图5是解说了其中可实现使用高速输入/输出(HSIO)接口进行的测试的集成电路的一个示例的框图;

图6是解说了其中可实现使用高速输入/输出(HSIO)接口进行的测试的集成电路的另一示例的框图;

图7是解说了其中可实现使用高速输入/输出(HSIO)接口进行的测试的集成电路的又一示例的框图;

图8是解说了其中可实现使用高速输入/输出(HSIO)接口进行的测试的集成电路的再一示例的框图;

图9是解说了其中可实现使用高速输入/输出(HSIO)接口进行的测试的集成电路的另一示例的框图;

图10是解说了其中可实现使用高速输入/输出(HSIO)接口进行的测试的集成电路的又一示例的框图;

图11是解说了可根据本文所公开的系统和方法来使用的控制器协议的一个示例的示图;

图12是解说了可根据本文所公开的系统和方法来使用的控制器协议的另一个示例的示图;

图13是解说了可根据本文所公开的系统和方法来使用的控制器协议的又一个示例的示图;以及

图14解说了可在电子设备中使用的各种组件。

详细描述

除非明确地由其上下文所限,否则术语“信号”在本文用于指示其普通含义中的任何含义,包括如在线缆、总线、或其他传输介质上表达的存储器位置(或存储器位置集)的状态。除非明确地由其上下文所限,否则术语“生成”在本文用于指示其普通含义中的任何含义,诸如计算或以其他方式产生。除非明确地由其上下文所限,术语“计算”在本文用于指示其普通含义中的任何含义,诸如计算、求取和/或从一组值中进行选择。除非明确地由其上下文所限,术语“获得”用于指示其普通含义中的任何含义,诸如计算、推导、(例如,从外部设备)接收、和/或(例如,从存储元件阵列)检索。在术语“包括”在本说明书和权利要求书中使用的情形中,它并不排除其他元素或操作。术语“基于”(如在“A基于B”中)用于指示其普通含义中的任何含义,包括以下情形:(i)“至少基于”(例如,“A至少基于B”),以及(如果合适)在特定上下文中(ii)“等于”(例如,“A等于B”)。类似地,术语“响应于”用于指示其普通含义中的任何含义,包括“至少响应于”。

除非以另外方式指示,具有特定特征的装置的操作的任何公开还明确地旨在公开具有类似特征的方法(并且反之亦然),并且根据特定配置的装置的操作的任何公开还明确地旨在公开根据类似配置的方法(并且反之亦然)。术语“配置”可用于指代由其特定上下文所指示的方法、装置或系统。术语“方法”、“进程”、“过程”和“技术”通用且可互换地使用,除非由特定上下文以另外方式指示。术语“装置”和“设备”也通用且可互换地使用,除非由特定上下文以另外方式指示。术语“元件”和“模块”通常用于指示较大配置的一部分。通过引用文档的一部分的任何援引加入应当被理解为援引加入了在该部分中被引用的术语或变量的定义(当这些定义出现在该文档中别处的情况下)以及在被援引部分中引用的任何附图。

如本文所使用的,术语“块/模块”可被用于指示特定要素可以用硬件、软件或两者组合的形式来实现。术语“耦合”及其变型可用于指示一个元素被直接或间接地连接到另一元素。例如,如果第一元素耦合到第二元素,则第一元素可直接连接到第二元素或者可通过第三元素间接连接到第二元素。

许多不同种类的电子设备可受益于测试。这些设备包括但不限于,集成电路、蜂窝电话、无线调制解调器、计算机、数字音乐播放器、全球定位系统(GPS)单元、个人数字助理、游戏设备等。一组设备包括可与无线通信系统一起使用的那些设备。如本文中所使用的,术语“无线通信设备”是指可用于在无线通信网络上进行语音和/或数据通信的电子设备。无线通信设备的示例包括蜂窝电话、智能电话、手持式无线设备、无线调制解调器、膝上型计算机、个人计算机等。无线通信设备也可被替换地称为接入终端、移动终端、订户站、远程站、用户终端、终端、订户单元、用户装备等。

通常,集成电路或芯片可具有用于控制测试特征以及用于发送和接收测试数据的专用测试接口。专用测试接口的一个示例是测试接入端口(TAP)。“测试接入端口(TAP)”在本文中的若干示例中进行描述。然而,应当注意,在这些示例中可以使用任何专用测试接口来代替测试接入端口(TAP)。此外,术语“联合测试动作组(JTAG)协议”在本文中的若干示例中使用。然而,应当注意,在这些示例中可用来与专用测试接口通信的任何协议可代替联合测试动作组(JTAG)协议使用。

当集成电路被组装到板中时,测试接口接入可能由于受限的路由通道而丢失。这可导致阻塞对测试特征的控制以及后续阻止执行某些测试,诸如(例如,集成电路上的)芯片之间的互连测试。例如,在蜂窝电话中,仅存在供用于承载设备之间的数据以及到外围设备的数据的少数线缆的空间。这对于其中只有少数线缆可以从下部翻盖通往上部翻盖的翻盖式蜂窝电话而言甚至更糟糕。由于受限的线缆可用性,该电话中的芯片的测试接口可能无法接入,并且随后用户可能无法使用现有的测试方法来测试设备连通性和结构功能性。

专用测试接口所需要的板空间通常要么通过支付更昂贵的板路由的附加成本来提供(除了用于非常高端的蜂窝电话和设备之外,这通常不会是一种选择)。替换地,可简单地不提供测试特征,作为无法快速标识缺陷和产出问题之源的结果,这可能导致花费在附加的生产成本上的数百万美元。

本文公开的系统和方法通过将高速输入/输出(HSIO)接口(例如,通用串行总线(USB)、移动显示器数字接口(MDDI)等)用作测试接口来解决这一问题。由于通常在集成电路上已经存在众多HSIO接口,因此本文所公开的系统和方法可以使得能在不招致为支持专用测试接口接入可能需要的附加路由成本的情况下实现测试控制。本文所公开的系统和方法可以是有利的,因为与通过典型的专用测试接口相比,测试可以更快速地通过高速输入/输出(HSIO)接口来执行。此外,本文所公开的系统和方法可允许一次测试大量的集成电路,因为在测试中可以使用每集成电路更少的引脚。

从而,使用HSIO接口进行测试的一个优势在于通过少量引脚来递送高速测试数据。这使得能够因使用少量引脚而实现更快速的测试以及改善的并行水平,从而降低了测试成本。换言之,可通过使用HSIO接口进行测试以通过减少测试所需的时间量和/或增加一次可被测试的设备(例如,集成电路)的数量来降低测试成本。另外,使用HSIO接口进行测试可允许甚至在到专用测试接口的接入被阻塞的情况下也能进行测试。

在一种配置中,测试控制器可被实现在通过HSIO接口与测试设备通信的集成电路上。测试控制器可以用硬件和/或软件(例如通过使用设备中或集成电路上现存的处理器)来实现。测试控制器可藉由对通过HSIO接口递送的数据进行编码来生成通常将由TAP生成的测试指令。

本文所公开的系统和方法的若干可能配置的示例在之后给出。在一种配置中,(用硬件和/或软件实现的)测试控制器通过HSIO接口与外部设备(例如,测试设备)通信(例如,发送和/或接收信息)。在该配置中,测试控制器截取TAP提供的测试控制和数据信号,并且基于它从HSIO接口获得的指令来提供适当的控制和数据值。测试控制器还可通过HSIO将测试结果或响应递送给外部设备。在该配置的一个示例中,测试控制和/或测试数据信号可在TAP之后被截取。在另一示例中,TAP接口信号可在TAP之前被截取。在又一示例中,测试控制和/或测试数据信号可在下游逻辑中的任何点处被截取。

在一些配置中,本文所公开的系统和方法可附加地支持通过TAP接口(与HSIO接口相比可能相对较慢)不太可能实现的其他测试。例如,高速测试数据流可通过使用HSIO被路由到集成电路上的存储器。

另外地或替换地,本文所公开的系统和方法可用于并行地驱动多个扫描通道并且并行地加载和/或卸载各寄存器。例如,如果HSIO接口物理(PHY)层正在以并行格式向测试控制器发送数据和/或从其接收数据,则它可用于驱动多个扫描链。

替换地,如果数据正以高速串行流形式到达(测试控制器处),则该数据可被解码到多个扫描通道中。例如,每秒80兆比特(Mbps)的数据流可用于以20Mbps驱动四个扫描链。除了向寄存器串行加载数据之外,在一些配置中还可支持并行数据加载。在一个示例中,特定寄存器被选择并且数据通过HSIO接口被并行地加载。类似地,所选寄存器数据可被并行地读取(例如,卸载)。在一种配置中,可以实现数据向所有寄存器的并行加载。可任选地,可以向所有寄存器加载相同的数据,或者可以用测试数据加载特定寄存器而用用户可编程数据(举例来说比如全0)来加载其余的寄存器。在一些配置中,所选寄存器也可被并行地读取。

测试控制器和HSIO可基于协议(例如,“控制器协议”)来通信。例如,测试控制器可从HSIO PHY或者从内部源获得时钟输入。在测试控制器和HSIO之间打开通信通道,并且它们基于协议(例如,“控制器协议”)彼此通信。协议的一种配置仅向测试控制器发送重置、指令或数据。测试控制器在重置之后将TAP有限状态机(FSM)设置为空闲状态。基于该通信是指令还是数据,测试控制器从空闲状态开始遍历全部所要求的FSM序列,完成指令,并且返回到空闲状态(从而等待任何附加命令)。类似地,信息(例如,数据)可通过HSIO接口被输出(例如,在被请求时)。

在另一种配置中,可通过使用编码将完整的TAP接口信号通过HSIO接口递送来提供逐周期FSM控制。在该协议配置中,最初递送用于达到目标TAP状态的测试模式选择(TMS)序列。数据写入和/或读取可在该特定状态时通过利用测试数据输入(TDI)和/或测试数据输出(TDO)指令来执行。随后新状态转换可通过发送跟随的测试模式选择(TMS)序列来跟随。

在另一种配置中,目标状态和在该特定状态时的操作(例如,写入和/或读取)可被嵌入到指令中。测试控制器可通过使用传入指令中的经编码状态信息直接跳转到目标状态并且执行数据移入或移出。

本文所公开的系统和方法可将现存的HSIO接口用作测试接口。这可消除对专用测试接口(例如,TAP)的需要。因此,本文所公开的系统和方法可降低路由要求并且使得能够实现以其他方式不太可能实现的测试和调试能力。因而,可提升测试质量并且可减少设备调试时间而无需专用测试接口接入。与TAP相关联的所有指令以及(潜在地)其他测试特征可被嵌入到HSIO接口协议中。

现在参照附图描述各种配置,附图中相同的参考标号可指示功能上相似的要素。本文一般性地描述的和在附图中解说的系统和方法可以广泛地以各种不同配置来安排和设计。因此,对如附图中表示的若干配置的以下更详细的描述无意限定所要求保护的范围,而是仅仅代表这些系统和方法。

图1是解说了用于使用高速输入/输出(HSIO)接口116进行测试的集成电路102的一种配置的框图。集成电路102包括测试电路系统104、测试控制器110和高速输入/输出(HSIO)接口116。高速输入/输出(HSIO)接口116可耦合到测试控制器110,而测试控制器110可耦合到测试电路系统104。测试电路系统104可包括用于进行测试的一个或多个电路元件。例如,测试电路系统104可包括一个或多个分立组件(例如,电阻器、电容器、电感器)、二极管、晶体管、锁存器、寄存器(例如,边界扫描寄存器)、扫描链、触发器、存储器单元、总线、数字逻辑、处理器、专用集成电路(ASIC)等。在一些配置中,集成电路102可被认为是在测器件(DUT)。另外地或替换地,测试电路系统104可包括用于压缩和/或解压用于测试的信息的电路系统。

测试控制器110可用于控制测试电路系统104。例如,测试控制器110可将测试信息106(例如,指令、数据等)提供给测试电路系统104以便对测试电路系统104执行一个或多个测试。测试控制器110还可从测试电路系统104接收测试结果108。测试控制器110可以用硬件、软件或者两者的组合来实现。例如,测试控制器110可被实现为专用集成电路(ASIC)、微控制器、具有指令的处理器等。测试控制器110可耦合到测试电路系统104以及高速输入/输出(HSIO)接口116。

高速输入/输出(HSIO)接口116可用于从另一设备接收信息和/或可用于向另一设备发送(例如,输出)信息。高速输入/输出(HSIO)接口116可包括用于支持该接口的一个或多个物理端口、协议和/或逻辑。高速输入/输出(HSIO)接口116的示例包括,通用串行总线(USB)接口、移动显示器数字接口(MDDI)、高速外围组件互连(PCIe)接口、高清多媒体接口(HDMI)、串行高级技术附连(SATA)接口、移动产业处理器接口显示器串行接口(MIPI DSI)、移动产业处理器接口相机串行接口(MIPI CSI)等。

高速输入/输出(HSIO)接口116可将控制器协议测试信息112发送给测试控制器110。控制器协议测试信息112可包括可用于对测试电路系统104进行测试的指令和/或数据。控制器协议测试信息112可遵照一控制器协议。换言之,控制器协议测试信息112可根据测试控制器110所使用的协议来格式化。例如,控制器协议测试信息112可根据如控制器协议所规定的特定消息、帧、分组和/或定时结构来结构化。

高速输入/输出(HSIO)接口116可接收控制器协议测试结果114。控制器协议测试结果114可包括基于对测试电路系统104进行测试所生成的信息(例如,数据)。控制器协议测试结果114可根据控制器协议来格式化。换言之,控制器协议测试结果114可根据测试控制器110所使用的协议来格式化。例如,控制器协议测试结果114可根据如控制器协议所规定的特定消息、帧、分组和/或定时结构来结构化。控制器协议的若干示例在下文更详细地给出。高速输入/输出(HSIO)接口116可将控制器协议测试结果114格式化成HSIO协议测试结果120。

高速输入/输出(HSIO)接口116可从测试设备122接收HSIO协议测试信息118和/或可将HSIO协议测试结果120发送给测试设备122。然而,应当注意,HSIO接口116可用于发送和/或接收与测试无关的各种各样不同种类的信息。例如,HSIO接口116可用于将文件传输到集成电路102上的存储器,用于驱动外部显示器,用于对电池充电,用于输出音频,用于接收音频,用于与用户接口设备(例如,鼠标、触摸垫)通信等。

应该注意,HSIO接口116可以不是专用测试接口(例如TAP)。尽管HSIO接口116的高速度可使得能够更快地驱动测试,但使用HSIO接口116还存在其他益处。例如,即便HSIO接口116在测试应用期间以比其全工作速度低的速度来运行,它对于诸如调试等的一些目的仍可以是很有用的。

在一些配置中,HSIO接口116可以是通常在集成电路设计中使用的接口。例如,HSIO接口116可以是计算设备母板或蜂窝电话板等的USB接口。

集成电路102可与测试设备122通信。例如,测试设备122可耦合到高速输入/输出(HSIO)接口116。测试设备122的示例包括自动化测试装备(ATE)、数字多量程仪表、示波器、计算机等。

高速输入/输出(HSIO)接口116可从测试设备122接收HSIO协议测试信息118。HSIO协议测试信息118可包括用于测试的指令和/或数据。此外,HSIO协议测试信息118可根据HSIO协议来格式化。例如,如果高速输入/输出(HSIO)接口116是USB接口,则HSIO协议测试信息118可根据USB协议(例如,握手协议、令牌协议、确收/否定确收(ACK/NACK)协议等)来格式化。

高速输入/输出(HSIO)接口116可将HSIO协议测试结果120发送给测试设备122。例如,高速输入/输出(HSIO)接口116可发送根据HSIO协议格式化的数据。

在一个示例中,高速输入/输出(HSIO)接口116可从测试设备122接收HSIO协议测试信息118。高速输入/输出(HSIO)接口116可基于HSIO协议测试信息118来生成控制器协议测试信息112。例如,高速输入/输出(HSIO)接口116可将HSIO协议格式化从HSIO协议测试信息118中移除,从而产生有效载荷信息。高速输入/输出(HSIO)接口116可将控制器协议格式化添加到有效载荷信息和/或将有效载荷信息格式化(例如,转换、转译、等等)成控制器协议测试信息112,该信息被提供给测试控制器110。换言之,高速输入/输出(HSIO)接口116可将HSIO协议测试信息格式化成控制器协议测试信息112。

测试控制器110可基于控制器协议测试信息112来控制测试电路系统104。例如,测试控制器110可基于控制器协议测试信息112将测试信息106发送给测试电路系统104。在另一示例中,测试控制器110可将其他信息(例如,JTAG协议测试信息)发送给控制测试电路系统104的另一块/模块(例如,专用测试接口、TAP等)。在一些配置中,测试控制器110可以与HSIO接口116分开(例如,不与其集成)。例如,测试控制器110可以是集成电路102上所包括的单独的块或芯片。

在一些配置中,测试控制器110可控制(例如,编排)对测试电路系统104的一个或多个测试。例如,测试控制器110可从测试设备112(通过HSIO接口116)接收指定了集成电路102中要被测试的特定块或元件(例如,测试电路系统104)的指示符。测试控制器110随后可将测试数据引导(例如,路由)至要被测试的适当块或元件。这些块或元件的一些示例可包括,存储器、扫描链、边界扫描、特定电路元件、一个或多个寄存器等。在一些配置中,例如,测试控制器110可将该指示符转译成用于将测试数据或信号引导至特定块或元件的特定地址(或控制信息)。另外地或替换地,测试控制器110可开始和/或结束对测试的执行。这可基于(通过HSIO接口116)从测试设备112接收到的一个或多个指示符或者这可由测试控制器110来独立地执行。

测试电路系统104可基于测试信息106来执行一个或多个操作。测试电路系统104可基于测试信息106来生成测试结果108。测试结果108可被提供给测试控制器110。

测试控制器可基于测试结果108来生成控制器协议测试结果114。例如,测试控制器110可将测试结果108格式化成控制器协议测试结果114。例如,测试控制器110可将控制器协议信息添加到测试结果108和/或可根据控制器协议来结构化测试结果108。测试控制器110可将控制器协议测试结果114提供给高速输入/输出(HSIO)接口116。

高速输入/输出(HSIO)接口116可基于控制器协议测试结果114来生成HSIO协议测试结果120。例如,高速输入/输出(HSIO)接口116可将控制器协议测试结果114格式化成HSIO协议测试结果120以供传送到测试设备122。例如,高速输入/输出(HSIO)接口116可将HSIO协议信息添加到HSIO协议测试结果120,和/或可将控制器协议格式化从控制器协议测试结果114中移除并且添加HSIO协议信息,和/或可根据HSIO协议(例如,USB协议、MDDI协议等)来结构化控制器协议测试结果114。

图2是解说了用于使用高速输入/输出(HSIO)接口进行测试的方法200的一种配置的流程图。集成电路102可在高速输入/输出(HSIO)接口116处接收(202)HSIO协议测试信息118。例如,高速输入/输出(HSIO)接口116可接收根据高速输入/输出(HSIO)协议(例如,USB协议、MDDI协议等)格式化的HSIO协议测试信息118。HSIO协议测试信息118可接收自测试设备122(例如,ATE)。

集成电路102(例如,高速输入/输出(HSIO)接口116)可基于HSIO协议测试信息118来生成(204)控制器协议测试信息112。例如,高速输入/输出(HSIO)接口116可将HSIO协议格式化从HSIO协议测试信息118中移除,从而导致有效载荷信息。高速输入/输出(HSIO)接口116可将控制器协议格式化添加到有效载荷信息和/或将有效载荷信息格式化(例如,转换、转译、等等)成控制器协议测试信息112。集成电路102(高速输入/输出(HSIO)接口116)可将控制器协议测试信息112提供(206)给测试控制器110。

集成电路102可基于控制器协议测试信息112来控制(208)测试电路系统104。例如,测试控制器110可基于来自高速输入/输出(HSIO)接口116的控制器协议测试信息112将测试信息106发送给测试电路系统104。在另一示例中,测试控制器110可将其他信息(例如,JTAG协议测试信息)发送给控制测试电路系统104的另一块/模块(例如,TAP)。

图3是解说了用于使用高速输入/输出(HSIO)接口316进行测试的集成电路302的一种更具体配置的框图。集成电路302包括测试电路系统304、测试接入端口(TAP)324、测试控制器310和高速输入/输出(HSIO)接口316。高速输入/输出(HSIO)接口316可耦合到测试控制器310,测试控制器310可耦合到测试接入端口(TAP)324,而测试接入端口(TAP)324可耦合到测试电路系统304。测试电路系统304可包括用于进行测试的一个或多个电路元件。例如,测试电路系统304可包括一个或多个分立组件(例如,电阻器、电容器、电感器)、二极管、晶体管、锁存器、寄存器(例如,边界扫描寄存器)、扫描链、触发器、存储器单元、总线、数字逻辑元件、处理器、专用集成电路(ASIC)等。在一些配置中,集成电路302可被认为是在测器件(DUT)。

测试接入端口(TAP)324可用于基于测试控制器310提供的信息来控制测试电路系统304。例如,测试接入端口(TAP)324可将测试信息306(例如,指令、数据等)提供给测试电路系统304以便对测试电路系统304执行一个或多个测试。测试接入端口(TAP)324还可从测试电路系统304接收测试结果308。测试接入端口(TAP)324可以用硬件、软件或者两者的组合来实现。例如,测试接入端口(TAP)324可被实现为专用集成电路(ASIC)、微控制器、具有指令的处理器等。测试接入端口(TAP)324可耦合到测试电路系统304以及测试控制器310。测试接入端口(TAP)324可以是用于对测试电路系统304进行测试的附加和/或替换装置。这可以是对测试控制器310的附加或替换。

测试控制器310可用于控制测试电路系统304。测试控制器310可包括联合测试动作组(JTAG)协议转译块/模块322。联合测试动作组(JTAG)协议转译块/模块332可允许测试控制器310将控制器协议测试信息312格式化(例如,转译)成JTAG协议测试信息328,和/或将JTAG协议测试结果330格式化(例如,转译)成控制器协议测试结果314。

在一个示例中,测试控制器310可将JTAG协议测试信息328提供给测试接入端口(TAP)324以便对测试电路系统304执行一个或多个测试。JTAG协议测试信息328可包括可用于经由测试接入端口(TAP)324对测试电路系统304执行一个或多个测试的指令和/或数据。JTAG协议测试信息328可根据JTAG协议来格式化。

测试控制器310还可从测试接入端口(TAP)324接收JTAG协议测试结果330。测试控制器310可以用硬件、软件或者两者的组合来实现。例如,测试控制器310可被实现为专用集成电路(ASIC)、微控制器、具有指令的处理器等。测试控制器310可耦合到测试接入端口(TAP)324以及高速输入/输出(HSIO)接口316。

在一些配置中,作为对提供给测试接入端口(TAP)324的JTAG协议测试信息328和/或从测试接入端口(TAP)324接收到的JTAG协议测试结果330的补充或替换,测试控制器310可独立于测试接入端口(TAP)324地来发送测试信息306和/或接收测试结果308。例如,测试电路系统304可包括用于测试的多个块/模块(例如,不同部件)。在这种情形中,测试控制器310可通过测试接入端口(TAP)324来对测试电路系统304的一个或多个块/模块进行测试,和/或可独立地对测试电路系统304的一个或多个其它块/模块(例如,存储器、扫描链等)进行测试。

在一些配置中,对测试接入端口(TAP)324的外部接入可被阻塞(326)。例如,对测试接入端口(TAP)324的外部接入可在制造的早期阶段被提供,但在某一阶段之后可被阻塞。在一些配置中,本文所公开的系统和方法甚至可在对测试接入端口(TAP)324的(直接)外部接入被阻塞(326)之后提供对测试接入端口(TAP)324的接入以用于对测试电路系统304进行测试。

高速输入/输出(HSIO)接口316可用于从另一设备接收信息和/或可用于向另一设备发送(例如,输出)信息。高速输入/输出(HSIO)接口316可包括用于支持该接口的一个或多个物理端口、协议和/或逻辑。高速输入/输出(HSIO)接口316的示例包括通用串行总线(USB)接口、移动显示器数字接口(MDDI)等。

高速输入/输出(HSIO)接口316可将控制器协议测试信息312发送给测试控制器310。控制器协议测试信息312可包括可用于对测试电路系统304进行测试的指令和/或数据。控制器协议测试信息312(和/或控制器协议测试结果314)可遵照一控制器协议。换言之,控制器协议测试信息312可根据测试控制器310所使用的协议来格式化。例如,控制器协议测试信息312可根据如控制器协议所规定的特定消息、帧、分组和/或定时结构来结构化。

高速输入/输出(HSIO)接口316可接收控制器协议测试结果314。控制器协议测试结果314可包括基于对测试电路系统304进行测试所生成的信息(例如,数据)。控制器协议测试结果314可根据控制器协议来格式化。换言之,控制器协议测试结果314可根据测试控制器310所使用的协议来格式化。例如,控制器协议测试结果314可根据如控制器协议所规定的特定消息、帧、分组和/或定时结构来结构化。控制器协议的若干示例在下文更详细地给出。高速输入/输出(HSIO)接口316可将控制器协议测试结果314格式化成HSIO协议测试结果320。

高速输入/输出(HSIO)接口316可从测试设备322接收HSIO协议测试信息318和/或可将HSIO协议测试结果320发送给测试设备322。然而,应当注意,HSIO接口316可用于发送和/或接收与测试无关的各种各样不同种类的信息。例如,HSIO接口316可用于将文件传输到集成电路302上的存储器,用于驱动外部显示器,用于与用户接口设备(例如,鼠标、触摸垫)通信等。

在一些配置中,HSIO接口316可以是通常在集成电路设计中使用的接口。例如,HSIO接口316可以是计算设备母板或蜂窝电话板等的USB接口。

集成电路302可与测试设备322通信。例如,测试设备322可耦合到高速输入/输出(HSIO)接口316。测试设备322的示例包括自动化测试装备(ATE)、数字多量程仪表、示波器、计算机等。

高速输入/输出(HSIO)接口316可从测试设备322接收HSIO协议测试信息318。HSIO协议测试信息318可包括用于测试的指令和/或数据。此外,HSIO协议测试信息318可根据HSIO协议来格式化。例如,如果高速输入/输出(HSIO)接口316是USB接口,则HSIO协议测试信息318可根据USB协议(例如,握手协议、令牌协议、确收/否定确收(ACK/NACK)协议等)来格式化。

高速输入/输出(HSIO)接口316可将HSIO协议测试结果320发送给测试设备322。例如,高速输入/输出(HSIO)接口316可发送根据HSIO协议格式化的数据。

在一个示例中,高速输入/输出(HSIO)接口316可从测试设备322接收HSIO协议测试信息318。高速输入/输出(HSIO)接口316可基于HSIO协议测试信息318来生成控制器协议测试信息312。例如,高速输入/输出(HSIO)接口316可将HSIO协议格式化从HSIO协议测试信息318中移除,从而产生有效载荷信息。高速输入/输出(HSIO)接口316可将控制器协议格式化添加到有效载荷信息和/或将有效载荷信息格式化(例如,转换、转译等)成控制器协议测试信息312,该信息被提供给测试控制器310。换言之,高速输入/输出(HSIO)接口316可将HSIO协议测试信息318格式化成提供给测试控制器310的控制器协议测试信息312。

测试控制器310可基于控制器协议测试信息312来控制测试电路系统304。例如,测试控制器310可将控制器协议测试信息312格式化(例如,转译)成JTAG协议测试信息328,该JTAG协议测试信息328被提供给测试接入端口(TAP)324以控制测试电路系统304。

测试接入端口(TAP)324可基于JTAG协议测试信息328来控制测试电路系统304。例如,测试接入端口(TAP)324可基于JTAG协议测试信息328将测试信息306发送给测试电路系统304。

测试电路系统304可基于测试信息306来执行一个或多个操作。测试电路系统304可基于测试信息306来生成测试结果308。测试结果308可被提供给测试接入端口(TAP)324。

测试接入端口(TAP)324可基于测试电路系统304提供的测试结果308来生成JTAG协议测试结果330。例如,JTAG协议测试结果330可包括被格式化成遵照(各)JTAG协议的测试结果308。JTAG协议测试结果330可被提供给测试控制器310。

测试控制器310可基于JTAG协议测试结果330来生成控制器协议测试结果314。例如,测试控制器310可将JTAG协议测试结果330格式化成控制器协议测试结果314。例如,测试控制器310可将JTAG协议格式化从JTAG协议测试结果330中移除并且根据一控制器协议来添加控制器协议信息。测试控制器310可将控制器协议测试结果314提供给高速输入/输出(HSIO)接口316。

高速输入/输出(HSIO)接口316可基于控制器协议测试结果314来生成HSIO协议测试结果320。例如,高速输入/输出(HSIO)接口316可将控制器协议测试结果314格式化成HSIO协议测试结果320以供传送到测试设备322。例如,高速输入/输出(HSIO)接口316可将控制器协议格式化从控制器协议测试结果314中移除,添加HSIO协议信息和/或可根据HSIO协议(例如,USB协议、MDDI协议等)来结构化控制器协议测试结果314。

图4是解说了用于使用高速输入/输出(HSIO)接口进行测试的方法400的一种更具体配置的流程图。集成电路302可在高速输入/输出(HSIO)接口316处接收(402)高速输入/输出(HSIO)协议测试信息318。例如,高速输入/输出(HSIO)接口316可接收根据高速输入/输出(HSIO)协议(例如,USB协议、MDDI协议等)格式化的HSIO协议测试信息318。HSIO协议测试信息318可接收自测试设备322(例如,ATE)。

集成电路302(例如,高速输入/输出(HSIO)接口316)可基于HSIO协议测试信息318来生成(404)控制器协议测试信息312。例如,高速输入/输出(HSIO)接口316可将HSIO协议格式化从HSIO协议测试信息318中移除,从而产生有效载荷信息。高速输入/输出(HSIO)接口316可将控制器协议格式化添加到有效载荷信息和/或将有效载荷信息格式化(例如,转换、转译等)成控制器协议测试信息312。集成电路302(例如,高速输入/输出(HSIO)接口316)可将控制器协议测试信息312提供(406)给测试控制器310。

集成电路302(例如,测试控制器310)可将控制器协议测试信息312格式化(408)成联合测试动作组(JTAG)协议测试信息328。例如,测试控制器310可通过从控制器协议测试信息312中移除控制器协议格式化并且添加JTAG协议格式化来将控制器协议测试信息312转译成JTAG协议测试信息328。集成电路102(例如,测试控制器310)可将JTAG协议测试信息328提供(410)给测试接入端口(TAP)324。

集成电路302可基于JTAG协议测试信息328来控制(412)测试电路系统304。例如,测试接入端口(TAP)324可基于JTAG协议测试信息328将测试信息306发送给测试电路系统304。

集成电路302可从测试电路系统304获得(414)测试结果308。例如,测试电路系统304可在被提供以测试信息306时生成测试结果308。在一些配置中,集成电路302(例如,测试控制器310和/或测试接入端口(TAP)324)可提供命令(例如,测试数据输出(TDO)指令)来输出测试结果308。在一些配置中,测试结果308可经由测试接入端口(TAP)324来获得(414)。在此情形中,测试结果308可被格式化成JTAG协议测试结果330。然而,在其他配置中,测试结果308可独立于测试接入端口(TAP)324地来获得(414)。

集成电路302可将测试结果308(和/或例如JTAG协议测试结果330)格式化(416)成控制器协议测试结果314。例如,测试控制器310可将测试结果308(或例如JTAG协议测试结果330)格式化(416)(例如,转换、转译等)成控制器协议测试结果314。在一种配置中,集成电路302(例如,测试控制器310)可将控制器协议格式化添加到测试结果308。在另一配置中,集成电路302(例如,测试控制器310)可将JTAG协议格式化从JTAG协议测试结果330中移除并且添加控制器协议格式化。

集成电路302可将控制器协议测试结果314格式化(418)成HSIO协议测试结果320。例如,测试控制器310可将控制器协议测试结果314提供给高速输入/输出(HSIO)接口316。高速输入/输出(HSIO)接口316随后可通过从控制器协议测试结果314中移除控制器协议格式化并且添加HSIO协议格式化来将控制器协议测试结果314格式化(418)成HSIO协议测试结果320。集成电路302可发送(420)HSIO协议测试结果320。例如,高速输入/输出(HSIO)接口316可将HSIO协议测试结果320输出到或提供给外部测试设备322。

图5是解说了其中可实现使用高速输入/输出(HSIO)接口516进行的测试的集成电路502的一个示例的框图。具体地,(可用硬件和/或软件实现的)测试控制器510通过高速输入/输出(HSIO)接口516与外部设备(例如,测试设备)通信(例如,向其发送信息和/或从其接收信息)。在此示例中,测试控制器510截取测试接入端口(TAP)524提供的(例如,在TAP524之后的)一个或多个信号540a-b(例如,测试控制和数据信号),并且基于它(510)从高速输入/输出(HSIO)接口516获得的控制器协议测试信息512(例如,指令)来提供测试信息506a-c(例如,控制和数据值)。从而,一个或多个信号540a-b(例如,测试控制和/或测试数据信号)可在TAP524之后被截取。测试控制器510还可通过高速输入/输出(HSIO)接口516将控制器协议测试结果514(例如,响应)递送给外部设备。

在图5所解说的示例中,可附加地支持通过TAP524接口(其与HSIO接口516相比可能相对较慢)不太可能实现的其他测试。例如,测试信息506e(例如,高速测试数据流)可从高速输入/输出(HSIO)接口516被路由到集成电路502上的存储器536。

关于图5中解说的示例的更多细节在之后给出。集成电路502包括测试电路系统504、测试接入端口(TAP)524、测试控制器510、高速输入/输出(HSIO)接口516、复用器A538a、复用器B538b、一个或多个边界扫描寄存器534和存储器536。测试电路系统504可包括用于进行测试的一个或多个电路元件。在一些配置中,边界扫描寄存器534可被认为是测试电路系统504的一部分。另外地或替换地,在一些配置中存储器536可被认为是测试电路系统504的一部分(尽管存储器536可能无法由或通过例如测试接入端口(TAP)524来访问)。测试电路系统504可包括一个或多个分立组件(例如,电阻器、电容器、电感器)、二极管、晶体管、锁存器、寄存器(例如,边界扫描寄存器)、扫描链、触发器、存储器单元、总线、数字逻辑、处理器、专用集成电路(ASIC)等。在一些配置中,集成电路502可被认为是在测器件(DUT)。

测试接入端口(TAP)524(例如,TAP524接口)可以是通常用于控制测试电路系统504和/或边界扫描寄存器534的专用测试接口。例如,测试接入端口(TAP)524可将信息540a-b提供给测试电路系统504和/或边界扫描寄存器534以便执行一个或多个测试。例如,测试接入端口(TAP)524可将信息540a-b提供给复用器A538a,信息540a-b可被选为提供给边界扫描寄存器534和/或测试电路系统504的测试信息506g-h。测试接入端口(TAP)524还可从测试电路系统504和/或边界扫描寄存器534接收测试结果508a。

测试接入端口(TAP)524可以用硬件、软件或者两者的组合来实现。例如,测试接入端口(TAP)524可被实现为专用集成电路(ASIC)、微控制器、具有指令的处理器等。测试接入端口(TAP)524可耦合到测试电路系统504(或测试电路系统504的某些部分)。在一些配置中,测试接入端口(TAP)524可能仅在制造的某些阶段中能从外部被接入。然而,对测试接入端口(TAP)524的外部接入最后可被阻塞(526)。

高速输入/输出(HSIO)接口516可从外部设备(例如,测试设备)接收HSIO协议测试信息518。HSIO协议测试信息518可包括用于测试的指令和/或数据。此外,HSIO协议测试信息518可根据HSIO协议来格式化。

高速输入/输出(HSIO)接口516可基于HSIO协议测试信息518来生成控制器协议测试信息512,控制器协议测试信息512被提供给测试控制器510。测试控制器510可基于控制器协议测试信息512来控制测试电路系统504。例如,测试控制器510可基于控制器协议测试信息512来生成测试信息506a-e。

测试控制器510可用于控制测试电路系统504(包括例如边界扫描寄存器534和/或存储器536)。在图5解说的示例中,测试控制器510耦合到复用器A538a和复用器B538b。测试控制器510提供测试信息506a-e以便执行一个或多个测试。例如,测试控制器510可将测试信息506a-b提供给复用器A538a。附加地,测试控制器510可使用测试信息506c来控制复用器A538a。例如,测试控制器510可使用某一测试信息506c(例如,指令、控制信号等)将测试信息506a-b选为测试信息506g-h(以代替来自TAP524的信息540a-b)。例如,测试控制器510可“截取”来自TAP524接口的信息540a-b(若有),并且提供(基于由高速输入/输出(HSIO)接口516接收到的HSIO协议测试信息518的)测试信息506a-b作为测试信息506g-h来代替来自TAP524接口的信息540a-b。

边界扫描寄存器534和/或测试电路系统504可基于测试信息506g-h来执行一个或多个操作。例如,边界扫描寄存器534可向集成电路502的特定引脚应用某些比特和/或测试电路系统504可应用测试信息506h。边界扫描寄存器534和/或测试电路系统504可基于测试信息506g-h来生成测试结果508a。测试结果508a可被提供给测试控制器510(和/或提供给测试接入端口(TAP)524)。

附加地或替换地,测试控制器510可执行通过TAP524接口不太可能实现的其他测试。例如,测试控制器510可使用某些测试信息506d(例如,指令、控制信号等)来控制复用器B538b以便将测试信息506e(例如,高速测试数据流)从高速输入/输出(HSIO)接口516路由到集成电路502上的存储器536。来自测试控制器510的这一测试信息506e可作为其他数据544的补充或替换地被选为从复用器B538b提供给存储器536的测试信息506f。

应该注意,测试控制器510可将控制协议测试信息512格式化成测试信息506a-e。在一些配置中,一些测试信息506a-c可用不同于其他测试信息506d-e的格式来提供。

在一些配置中,高速输入/输出(HSIO)接口516可访问存储器536以便获得来自将测试信息506e作为数据506f提供给存储器536的结果。例如,高速输入/输出(HSIO)接口516可直接访问存储器536,或者可经由测试控制器510来从存储器536获得测试结果508b(例如,其被格式化成控制器协议测试结果514)。

测试控制器510可基于测试结果508a来生成控制器协议测试结果514。例如,测试控制器510可将测试结果508a格式化成控制器协议测试结果514。例如,测试控制器510可根据一控制器协议来添加控制器协议信息。测试控制器510可将控制器协议测试结果514提供给高速输入/输出(HSIO)接口516。

高速输入/输出(HSIO)接口516可基于控制器协议测试结果514来生成HSIO协议测试结果520。例如,高速输入/输出(HSIO)接口516可将控制器协议测试结果514格式化成HSIO协议测试结果520以供传送到测试设备。例如,高速输入/输出(HSIO)接口516可将控制器协议格式化从控制器协议测试结果514中移除并且添加HSIO协议信息和/或可根据HSIO协议(例如,USB协议、MDDI协议等)来结构化控制器协议测试结果514。

图6是解说了其中可实现使用高速输入/输出(HSIO)接口616进行的测试的集成电路602的另一示例的框图。在此示例中,测试接入端口(TAP)624接口信号可在TAP624之前被截取。在其他示例中,测试控制和/或测试数据信号可在下游逻辑中的任何点处被截取。

关于图6中解说的示例的更多细节在之后给出。集成电路602包括测试电路系统604、测试接入端口(TAP)624、测试控制器610、高速输入/输出(HSIO)接口616、复用器A638a、复用器B638b、一个或多个边界扫描寄存器634和存储器636。测试电路系统604可包括用于进行测试的一个或多个电路元件。在一些配置中,边界扫描寄存器634可被认为是测试电路系统604的一部分。另外地或替换地,在一些配置中存储器636可被认为是测试电路系统604的一部分(尽管存储器636可能无法由或通过例如测试接入端口(TAP)624来访问)。

测试接入端口(TAP)624(例如,TAP624接口)通常可被用于控制测试电路系统604和/或边界扫描寄存器634。例如,测试接入端口(TAP)624可将测试信息606a-b提供给测试电路系统604和/或边界扫描寄存器634以便执行一个或多个测试。例如,测试接入端口(TAP)624可基于通过复用器A638a的外部信号来提供测试信息606a-b。然而,对外部信号而言,接入可变成被阻塞的(626)。测试接入端口(TAP)624可从测试电路系统604和/或边界扫描寄存器634接收测试结果608a。测试接入端口(TAP)624可耦合到测试电路系统604。

高速输入/输出(HSIO)接口616可从外部设备(例如,测试设备)接收HSIO协议测试信息618。HSIO协议测试信息618可包括用于进行测试的指令和/或数据。此外,HSIO协议测试信息618可根据HSIO协议来格式化。

高速输入/输出(HSIO)接口616可基于HSIO协议测试信息618来生成控制器协议测试信息612,控制器协议测试信息612被提供给测试控制器610。测试控制器610可基于控制器协议测试信息612来控制测试电路系统604。例如,测试控制器610可基于控制器协议测试信息612来生成JTAG协议测试信息628a-b。

测试控制器610可用于控制测试电路系统604(包括例如边界扫描寄存器634和/或存储器636)。在图6解说的示例中,测试控制器610耦合到复用器A638a。测试控制器610提供JTAG协议测试信息628a-b(和/或测试信息606d-e)以便执行一个或多个测试。例如,测试控制器610可将JTAG协议测试信息628a提供给复用器A638a。附加地,测试控制器610可使用JTAG协议测试信息628b来控制复用器A638a。例如,测试控制器610可使用某一JTAG协议测试信息628b(例如,指令、控制信号等)来选择JTAG协议测试信息628a(以代替来自外部路由的信息(若有),其中该外部路由的接入可能被阻塞(626)了)作为提供给测试接入端口(TAP)624的所选JTAG协议测试信息628c。所选JTAG协议测试信息628c可进而用于生成测试信息606a-b。例如,测试控制器610可“截取”在去往TAP624接口途中的外部信息(若有),并且提供(基于由高速输入/输出(HSIO)接口616接收到的HSIO协议测试信息618的)JTAG协议测试信息628a以生成测试信息606a-b来代替在去往测试接入端口(TAP)624途中的外部信息(若有)。

边界扫描寄存器634和/或测试电路系统604可基于测试信息606a-b来执行一个或多个操作。例如,边界扫描寄存器634可向集成电路602的特定引脚应用某些比特和/或测试电路系统604可应用测试信息606b。边界扫描寄存器634和/或测试电路系统604可基于测试信息606a-b来生成测试结果608a。测试结果608a可被提供给测试接入端口(TAP)624。

附加地或替换地,测试控制器610可执行通过TAP624接口不太可能实现的其他测试。例如,测试控制器610可使用某些测试信息606d(例如,指令、控制信号等)来控制复用器B638b以便将测试信息606e(例如,高速测试数据流)从高速输入/输出(HSIO)接口616路由到集成电路602上的存储器636。来自测试控制器610的这一测试信息606e可作为其他数据644的补充或替换地被选为从复用器B638b提供给存储器636的测试信息606f。

在一些配置中,高速输入/输出(HSIO)接口616可访问存储器636以便获得来自将测试信息606e作为数据606f提供给存储器636的结果。例如,高速输入/输出(HSIO)接口616可直接访问存储器636,或者可经由测试控制器610来从存储器636获得测试结果608b(例如,被格式化成控制器协议测试结果614)。

测试控制器610可从测试接入端口(TAP)624接收JTAG协议测试结果630。例如,测试接入端口(TAP)624可基于从边界扫描寄存器634和/或测试电路系统604接收到的测试结果608a来将JTAG协议测试结果630提供给测试控制器610。

测试控制器610可基于JTAG协议测试结果630来生成控制器协议测试结果614。例如,测试控制器610可将JTAG协议测试结果630格式化成控制器协议测试结果614。例如,测试控制器610可将JTAG协议格式化从JTAG协议测试结果630中移除并且根据一控制器协议来添加控制器协议信息(例如,结构化)。测试控制器610可将控制器协议测试结果614提供给高速输入/输出(HSIO)接口616。

高速输入/输出(HSIO)接口616可基于控制器协议测试结果614来生成HSIO协议测试结果620。例如,高速输入/输出(HSIO)接口616可将控制器协议测试结果614格式化成HSIO协议测试结果620以供传送到测试设备。例如,高速输入/输出(HSIO)接口616可将控制器协议格式化从控制器协议测试结果614中移除并且添加HSIO协议信息和/或可根据HSIO协议(例如,USB协议、MDDI协议等)来结构化控制器协议测试结果614。

图7是解说了其中可实现使用高速输入/输出(HSIO)接口716进行的测试的集成电路702的又一示例的框图。在此示例中,本文所公开的系统和方法可用于驱动多个扫描通道。例如,高速输入/输出(HSIO)接口716物理(PHY)层可用并行格式将控制器协议测试信息712发送给测试控制器710,控制器协议测试信息712可用于驱动多个扫描链746c-f。此外,高速输入/输出(HSIO)接口716可从测试控制器710以并行格式接收控制器协议测试结果714。

关于图7中解说的示例的更多细节在之后给出。集成电路702包括测试电路系统704、测试接入端口(TAP)724、测试控制器710、高速输入/输出(HSIO)接口716、复用器738、一个或多个边界扫描寄存器734和一个或多个扫描链746。测试电路系统704可包括用于进行测试的一个或多个电路元件。在一些配置中,边界扫描寄存器734可被认为是测试电路系统704的一部分。附加地或替换地,一个或多个扫描链746可被认为是测试电路系统704的一部分(尽管(各)扫描链746可能无法由或通过测试接入端口(TAP)724来访问)。

测试接入端口(TAP)724(例如,TAP724接口)通常可被用于控制测试电路系统704和/或边界扫描寄存器734。例如,测试接入端口(TAP)724可将测试信息706a-b提供给测试电路系统704和/或边界扫描寄存器734以便执行一个或多个测试。例如,测试接入端口(TAP)724可基于来自复用器738的外部信号来提供测试信息706a-b。然而,对外部信号而言,接入可变成被阻塞的(726)。测试接入端口(TAP)724可从测试电路系统704和/或边界扫描寄存器734接收测试结果708a。测试接入端口(TAP)724可耦合到测试电路系统704。

高速输入/输出(HSIO)接口716可从外部设备(例如,测试设备)接收HSIO协议测试信息718。HSIO协议测试信息718可包括用于进行测试的指令和/或数据。此外,HSIO协议测试信息718可根据HSIO协议来格式化。在一些配置中,高速输入/输出(HSIO)接口716可用并行格式接收HSIO协议测试信息718。在其他配置中,高速输入/输出(HSIO)接口716可用串行格式接收HSIO协议测试信息718。

高速输入/输出(HSIO)接口716可基于HSIO协议测试信息718来生成控制器协议测试信息712。在一些配置中,控制器协议测试信息712可用并行格式被提供给测试控制器710。在其他配置中,控制器协议测试信息712可用串行格式被提供给测试控制器710。测试控制器710可基于控制器协议测试信息712来控制测试电路系统704。例如,测试控制器710可基于控制器协议测试信息712来生成JTAG协议测试信息728a-b。

测试控制器710可用于控制测试电路系统704(包括例如边界扫描寄存器734和/或(各)扫描链746)。在图7解说的示例中,测试控制器710耦合到复用器738。测试控制器710提供JTAG协议测试信息728a-b(和/或测试信息706c-f)以便执行一个或多个测试。例如,测试控制器710可将JTAG协议测试信息728a提供给复用器738。附加地,测试控制器710可使用JTAG协议测试信息728b来控制复用器738。例如,测试控制器710可使用某一JTAG协议测试信息728b(例如,指令、控制信号等)来选择JTAG协议测试信息728a(以代替来自外部路由的信息(若有),其中该外部路由的接入可能被阻塞(726)了)作为提供给测试接入端口(TAP)724的所选JTAG协议测试信息728c。所选JTAG协议测试信息728c可进而用于生成测试信息706a-b。例如,测试控制器710可“截取”在去往TAP724接口途中的外部信息(若有),并且提供(基于由高速输入/输出(HSIO)接口716接收到的HSIO协议测试信息718的)JTAG协议测试信息728a以生成测试信息706a-b来代替在去往测试接入端口(TAP)724途中的外部信息(若有)。

边界扫描寄存器734和/或测试电路系统704可基于测试信息706a-b来执行一个或多个操作。例如,边界扫描寄存器734可向集成电路702的特定引脚应用某些比特和/或测试电路系统704可应用测试信息706b。边界扫描寄存器734和/或测试电路系统704可基于测试信息706a-b来生成测试结果708a。测试结果708a可被提供给测试接入端口(TAP)724。

附加地或替换地,测试控制器710可执行其他测试。例如,测试控制器710可(基于由高速输入/输出(HSIO)接口716接收到的HSIO协议测试信息718)使用一些并行测试信息706c-f来测试扫描链746c-f。在一种配置中,扫描链746c-f中的每一个扫描链可包括可通过提供测试信息706c-f而被测试的一个或多个触发器。扫描链746c-f可产生可被提供给测试控制器710的测试结果708c-f。

测试控制器710可从测试接入端口(TAP)724接收JTAG协议测试结果730。例如,测试接入端口(TAP)724可基于从边界扫描寄存器734和/或测试电路系统704接收到的测试结果708a来将JTAG协议测试结果730提供给测试控制器710。

测试控制器710可基于JTAG协议测试结果730和/或测试结果708c-f来生成控制器协议测试结果714。例如,测试控制器710可将JTAG协议测试结果730和/或测试结果708c-f格式化成控制器协议测试结果714。例如,测试控制器710可将JTAG协议格式化从JTAG协议测试结果中移除并且根据一控制器协议来添加控制器协议信息(例如,结构化)。附加地或替换地,测试控制器710可根据一控制器协议来将控制器协议信息添加到测试结果708c-f(例如,结构化)。测试控制器710可将控制器协议测试结果714提供给高速输入/输出(HSIO)接口716。

高速输入/输出(HSIO)接口716可基于控制器协议测试结果714来生成HSIO协议测试结果720。例如,高速输入/输出(HSIO)接口716可将控制器协议测试结果714格式化成HSIO协议测试结果720以供传送到测试设备。例如,高速输入/输出(HSIO)接口716可将控制器协议格式化从控制器协议测试结果714中移除并且添加HSIO协议信息和/或可根据HSIO协议(例如,USB协议、MDDI协议等)来结构化控制器协议测试结果714。

图8是解说了其中可实现使用高速输入/输出(HSIO)接口816进行的测试的集成电路802的再一示例的框图。在此示例中,控制器协议测试信息812可作为高速串行流被测试控制器810接收。串行测试信息806h可被解码(例如,解复用)到多个扫描通道中。例如,每秒80兆比特(Mbps)的数据流(例如,测试信息806h)可用于驱动四个扫描链846c-f,其中每一个扫描链以20Mbps来驱动。

关于图8中解说的示例的更多细节在之后给出。集成电路802包括测试电路系统804、测试接入端口(TAP)824、测试控制器810、高速输入/输出(HSIO)接口816、复用器A838a、复用器B838b、一个或多个边界扫描寄存器834和一个或多个扫描链846。测试电路系统804可包括用于进行测试的一个或多个电路元件。在一些配置中,边界扫描寄存器834可被认为是测试电路系统804的一部分。附加地或替换地,一个或多个扫描链846可被认为是测试电路系统804的一部分(尽管(各)扫描链846可能无法由或通过测试接入端口(TAP)824来访问)。

测试接入端口(TAP)824(例如,TAP824接口)通常可被用于控制测试电路系统804和/或边界扫描寄存器834。例如,测试接入端口(TAP)824可将测试信息806a-b提供给测试电路系统804和/或边界扫描寄存器834以便执行一个或多个测试。例如,测试接入端口(TAP)824可基于来自复用器A838a的外部信号来提供测试信息806a-b。然而,对外部信号而言,接入可变成被阻塞的(826)。测试接入端口(TAP)824可从测试电路系统804和/或边界扫描寄存器834接收测试结果808a。测试接入端口(TAP)824可耦合到测试电路系统804。

高速输入/输出(HSIO)接口816可从外部设备(例如,测试设备)接收HSIO协议测试信息818。HSIO协议测试信息818可包括用于进行测试的指令和/或数据。此外,HSIO协议测试信息818可根据HSIO协议来格式化。在一些配置中,高速输入/输出(HSIO)接口816可用串行格式接收HSIO协议测试信息818。

高速输入/输出(HSIO)接口816可基于HSIO协议测试信息818来生成控制器协议测试信息812。在一些配置中,控制器协议测试信息812可用串行格式被提供给测试控制器810。测试控制器810可基于控制器协议测试信息812来控制测试电路系统804。例如,测试控制器810可基于控制器协议测试信息812来生成JTAG协议测试信息828a-b。

测试控制器810可用于控制测试电路系统804(包括例如边界扫描寄存器834和/或(各)扫描链846)。在图8解说的示例中,测试控制器810耦合到复用器A838a。测试控制器810提供JTAG协议测试信息828a-b(和/或测试信息806g-f)以便执行一个或多个测试。例如,测试控制器810可将JTAG协议测试信息828a提供给复用器A838a。附加地,测试控制器810可使用JTAG协议测试信息828b来控制复用器A838a。例如,测试控制器810可使用某一JTAG协议测试信息828b(例如,指令、控制信号等)来选择JTAG协议测试信息828a(以代替来自外部路由的信息(若有),其中该外部路由的接入可能被阻塞826了)作为提供给测试接入端口(TAP)824的所选JTAG协议测试信息828c。所选JTAG协议测试信息828c可进而用于生成测试信息806a-b。例如,测试控制器810可“截取”在去往TAP824接口途中的外部信息(若有),并且提供(基于由高速输入/输出(HSIO)接口816接收到的HSIO协议测试信息818的)JTAG协议测试信息828a以生成测试信息806a-b来代替在去往测试接入端口(TAP)824途中的外部信息(若有)。

边界扫描寄存器834和/或测试电路系统804可基于测试信息806a-b来执行一个或多个操作。例如,边界扫描寄存器834可向集成电路802的特定引脚应用某些比特和/或测试电路系统804可应用测试信息806b。边界扫描寄存器834和/或测试电路系统804可基于测试信息806a-b来生成测试结果808a。测试结果808a可被提供给测试接入端口(TAP)824。

附加地或替换地,测试控制器810可执行其他测试。例如,测试控制器810可(基于由高速输入/输出(HSIO)接口816接收到的HSIO协议测试信息818)使用(例如,来自串行测试信息806h的)某一并行测试信息806c-f来测试扫描链846c-f。在一种配置中,扫描链846c-f中的每一个扫描链可包括可通过提供测试信息806c-f被测试的一个或多个触发器。例如,测试控制器810可将测试信息806h作为高速串行数据流提供给复用器B838b。测试控制器810还可使用测试信息806g来控制复用器B838b以便对作为高速串行数据流来提供的测试信息806h进行解码(例如,解复用)。例如,测试信息806h可包括被解复用成四组测试信息806c-f以作为四个20Mbps数据流的80Mbps数据流。

扫描链846c-f可产生可被提供给测试控制器810的测试结果808c-f。在一种配置中,测试结果808c-f可并行地被提供给测试控制器810。在另一种配置中,测试结果808c-f可被组合为提供给测试控制器810的串行数据流808g。例如,测试结果808c-f可被复用为提供给测试控制器810的单个串行数据流808g。

测试控制器810可从测试接入端口(TAP)824接收JTAG协议测试结果830。例如,测试接入端口(TAP)824可基于从边界扫描寄存器834和/或测试电路系统804接收到的测试结果808a来将JTAG协议测试结果830提供给测试控制器810。

测试控制器810可基于JTAG协议测试结果830和/或测试结果808c-f来生成控制器协议测试结果814。例如,测试控制器810可将JTAG协议测试结果830和/或测试结果808c-f格式化成控制器协议测试结果814。例如,测试控制器810可将JTAG协议格式化从JTAG协议测试结果中移除并且根据一控制器协议来添加控制器协议信息(例如,结构化)。附加地或替换地,测试控制器810可根据一控制器协议来将控制器协议信息添加到测试结果808c-f(例如,数据流808g)(例如,结构化)。测试控制器810可将控制器协议测试结果814提供给高速输入/输出(HSIO)接口816。在一些配置中,控制器协议测试结果814可作为串行数据流或作为多个并行数据流被发送。

高速输入/输出(HSIO)接口816可基于控制器协议测试结果814来生成HSIO协议测试结果820。例如,高速输入/输出(HSIO)接口816可将控制器协议测试结果814格式化成HSIO协议测试结果820以供传送到测试设备。例如,高速输入/输出(HSIO)接口816可将控制器协议格式化从控制器协议测试结果814中移除并且添加HSIO协议信息和/或可根据HSIO协议(例如,USB协议、MDDI协议等)来结构化控制器协议测试结果814。

图9是解说了其中可实现使用高速输入/输出(HSIO)接口916进行的测试的集成电路902的另一示例的框图。具体地,图9解说了根据本文所公开的系统和方法的其中寄存器948可被并行地加载和/或卸载的一种配置。除了串行地将数据加载到寄存器以及串行地从寄存器卸载数据之外,在一些配置中,还可支持并行的数据加载。例如,特定寄存器948可被选择,并且测试信息906可通过高速输入/输出(HSIO)接口916被并行地加载。附加地,所选寄存器948可被并行地读取(例如,卸载)。

关于图9中解说的示例的更多细节在之后给出。集成电路902包括寄存器948a-d(例如,测试电路系统)、测试控制器910、高速输入/输出(HSIO)接口916、解复用器942和复用器938。

高速输入/输出(HSIO)接口916可从外部设备(例如,测试设备)接收HSIO协议测试信息918。HSIO协议测试信息918可包括用于进行测试的指令和/或数据。此外,HSIO协议测试信息918可根据HSIO协议来格式化。在一些配置中,高速输入/输出(HSIO)接口916可用并行格式接收HSIO协议测试信息918。例如,HSIO协议测试信息918可以并行的数据、通道或流的集合的形式来接收。

高速输入/输出(HSIO)接口916可基于HSIO协议测试信息918来生成控制器协议测试信息912。在一些配置中,控制器协议测试信息912可用并行格式被提供给测试控制器910。测试控制器910可基于控制器协议测试信息912来提供并行测试信息906a-d。例如,测试控制器910可基于控制器协议测试信息912来将并行测试信息集906a-d提供给寄存器948a-d。

测试控制器910可用于控制解复用器942、复用器938和/或寄存器948a-d。在图9解说的示例中,测试控制器910耦合到解复用器942以及复用器938。测试控制器910将测试信息906e提供给解复用器942和复用器938。测试信息906e可由解复用器942解复用以向寄存器948a-d提供测试信息906f-i。这一测试信息906f-i(例如,控制信息)可以控制特定寄存器948a-d何时可从测试控制器910加载测试信息906a-d。

寄存器948a-d可将测试结果908e-t提供给复用器938。复用器938可复用(例如选择)来自寄存器的测试结果908e-t以提供(所选的)被提供给测试控制器910的测试结果908a-d。例如,复用器938可基于测试控制器910提供的测试信息906e来选择来自第一寄存器948a的一组测试结果908e-h、来自第二寄存器948b的一组测试结果908i-l、来自第三寄存器948c的一组测试结果908m-p、或者来自第四寄存器948d的一组测试结果908q-t。图9中解说的示例可用于测试例如使用若干4-位寄存器948的图形或图像芯片。

测试控制器910可基于测试结果908a-d来生成控制器协议测试结果914。例如,测试控制器910可将测试结果908a-d格式化成控制器协议测试结果914。例如,测试控制器910可根据一控制器协议来将控制器协议信息添加到测试结果908a-d(例如,结构化)。测试控制器910可将控制器协议测试结果914提供给高速输入/输出(HSIO)接口916。在一些配置中,控制器协议测试结果914可作为串行数据流或作为多个并行数据流被发送。

高速输入/输出(HSIO)接口916可基于控制器协议测试结果914来生成HSIO协议测试结果920。例如,高速输入/输出(HSIO)接口916可将控制器协议测试结果914格式化成HSIO协议测试结果920以供传送到测试设备。例如,高速输入/输出(HSIO)接口916可将控制器协议格式化从控制器协议测试结果914中移除并且添加HSIO协议信息和/或可根据HSIO协议(例如,USB协议、MDDI协议等)来结构化控制器协议测试结果914。

图10是解说了其中可实现使用高速输入/输出(HSIO)接口1016进行的测试的集成电路1002的又一示例的框图。在此示例中,可以实现数据向所有寄存器1048的并行加载。可任选地,可以向所有寄存器1048加载相同的数据,或者可以用测试数据加载特定寄存器1048而用用户可编程数据(举例来说比如全0)来加载其余的寄存器1048。在一些配置中,寄存器1048也可被并行地读取。

关于图10中解说的示例的更多细节在之后给出。集成电路1002包括寄存器1048a-d(例如,测试电路系统)、测试控制器1010、高速输入/输出(HSIO)接口1016、复用器1038和解复用器1042。

高速输入/输出(HSIO)接口1016可从外部设备(例如,测试设备)接收HSIO协议测试信息1018。HSIO协议测试信息1018可包括用于进行测试的指令和/或数据。此外,HSIO协议测试信息1018可根据HSIO协议来格式化。在一些配置中,高速输入/输出(HSIO)接口1016可用并行格式接收HSIO协议测试信息1018。例如,HSIO协议测试信息1018可以并行的数据、通道或流的集合的形式来接收。

高速输入/输出(HSIO)接口1016可基于HSIO协议测试信息1018来生成控制器协议测试信息1012。在一些配置中,控制器协议测试信息1012可用并行格式被提供给测试控制器1010。测试控制器1010可基于控制器协议测试信息1012来控制并行测试信息1006a-d。例如,测试控制器1010可基于控制器协议测试信息1012来将并行测试信息集1006a-d提供给解复用器1042。

测试控制器1010可用于控制解复用器1042和复用器1038。在图10解说的示例中,测试控制器1010耦合到解复用器1042以及复用器1038。测试控制器1010将测试信息1006u提供给解复用器1042和复用器1038。测试信息1006u可用于将测试信息1006a-d解复用(例如,路由)到寄存器10448a-d。例如,解复用器1042可以将测试信息1006a-d解复用(例如,路由)成去往第一寄存器1048a的第一组测试信息1006e-h,去往第二寄存器1048b的第二组测试信息1006i-l,去往第三寄存器1048c的第三组测试信息1006m-p和/或去往第四寄存器1048d的第四组测试信息1006q-t。

寄存器1048a-d可将测试结果1008e-t提供给复用器1038。复用器1038可复用(例如选择)来自这些寄存器的测试结果1008e-t以提供(所选的)被提供给测试控制器1010的测试结果1008a-d。例如,复用器1038可基于测试控制器1010提供的测试信息1006u来选择来自第一寄存器1048a的一组测试结果1008e-h、来自第二寄存器1048b的一组测试结果1008i-l、来自第三寄存器1048c的一组测试结果1008m-p、或者来自第四寄存器1048d的一组测试结果1008q-t。图10中解说的示例可用于测试例如使用若干4-位寄存器1048的图形或图像芯片。

测试控制器1010可基于测试结果1008a-d来生成控制器协议测试结果1014。例如,测试控制器1010可将测试结果1008a-d格式化成控制器协议测试结果1014。例如,测试控制器1010可根据一控制器协议来将控制器协议信息添加到测试结果1008a-d(例如,结构化)。测试控制器1010可将控制器协议测试结果1014提供给高速输入/输出(HSIO)接口1016。在一些配置中,控制器协议测试结果1014可作为串行数据流或作为多个并行数据流被发送。

高速输入/输出(HSIO)接口1016可基于控制器协议测试结果1014来生成HSIO协议测试结果1020。例如,高速输入/输出(HSIO)接口1016可将控制器协议测试结果1014格式化成HSIO协议测试结果1020以供传送到测试设备。例如,高速输入/输出(HSIO)接口1016可将控制器协议格式化从控制器协议测试结果1014中移除并且添加HSIO协议信息和/或可根据HSIO协议(例如,USB协议、MDDI协议等)来结构化控制器协议测试结果1014。

图11是解说可根据本文所公开的系统和方法来使用的控制器协议1150的一个示例的示图。例如,测试控制器110和高速输入/输出(HSIO)接口116可基于一控制器协议来通信。例如,测试控制器110可从高速输入/输出(HSIO)接口116物理(PHY)层或从内部源获得时钟输入。随后可打开测试控制器110与高速输入/输出(HSIO)接口116之间的通信通道。测试控制器110和高速输入/输出(HSIO)接口116可基于控制器协议1150来彼此通信。例如,控制器协议测试信息112和/或控制器协议测试结果114可根据控制器协议1150来格式化。

在图11解说的示例中,控制器协议1150可仅提供可在测试控制器110与高速输入/输出(HSIO)接口116之间发送的三种类型的消息:重置消息、指令消息和数据消息。重置消息可包括重置指示符1152。测试控制器110可在接收到重置指示符1152之后将测试接入端口(TAP)有限状态机(FSM)设置为空闲状态。

指令消息可包括指令指示符1154和指令代码1156。指令指示符1154可向测试控制器110指示指令代码1156即将到来。指令代码1156可命令测试控制器110以特定方式来操作。例如,指令代码1156可指示测试控制器110应该使TAP FSM前进到一特定状态。在另一示例中,指令代码1156可指示要对测试电路系统的特定块/模块(例如,部分)进行测试。

数据消息可包括数据指示符1158、输入/输出字段1160和数据值1162。数据指示符1158可指示在该消息期间可能出现用于输入和/或输出的时间段(例如,输入/输出字段1160)。输入/输出字段1160可指定数据值1162是将被输入到测试控制器110还是从测试控制器110输出(举例来说比如控制器协议测试结果114)。数据值1162可包括控制器协议测试信息112或控制器协议测试结果114。

在一些配置中,基于该通信是指令消息还是数据消息,测试控制器110可按需遍历(例如,测试接入端口(TAP)中的)FSM序列。当例如测试控制器110接收到指令消息时,测试控制器110可(在TAP的FSM中)从空闲状态起始,并且完成指令代码1156所给出的指令。测试控制器110随后可(将TAP的FSM)返回到空闲状态(从而等待任何附加命令)。附加地,测试控制器110可通过高速输入/输出(HSIO)接口116(例如通过在被请求时使用数据消息)来输出数据值1162。

图12是解说可根据本文所公开的系统和方法来使用的控制器协议1250的另一个示例的示图。例如,测试控制器110和高速输入/输出(HSIO)接口116可基于一控制器协议来通信。例如,测试控制器110可从高速输入/输出(HSIO)接口116物理(PHY)层或从内部源获得时钟输入。随后可打开测试控制器110与高速输入/输出(HSIO)接口116之间的通信通道。测试控制器110和高速输入/输出(HSIO)接口116可基于控制器协议1250来彼此通信。例如,控制器协议测试信息112和/或控制器协议测试结果114可根据控制器协议1250来格式化。

在图12解说的示例中,可通过使用编码将完整的TAP接口信号通过高速输入/输出(HSIO)接口116递送给测试控制器110来提供(例如,测试接入端口(TAP)的)逐周期有限状态机(FSM)控制。例如,控制器协议1250可包括三种类型的消息:测试数据输入(TDI)消息、测试模式选择(TMS)消息和测试数据输出(TDO)消息。换言之,控制器协议测试信息112和/或控制器协议测试结果114可包括TDI消息、TMS消息和TDO消息中的一个或多个消息。在此控制器协议1250中,最初递送用于达到目标TAP状态的测试模式选择(TMS)序列。例如,测试模式选择(TMS)消息可包括测试模式选择(TMS)指示符1268和输入控制1270(信息)。TMS指示符1268可向测试控制器110(以及向TAP)指示输入控制1270即将传入。输入控制1270随后可致使TAP的FSM的状态改变。

在一特定状态中,一个或多个测试数据输入(TDI)消息和/或测试数据输出(TDO)消息可用于输入数据(例如,测试信息106)和/或请求数据(例如,测试结果108)。TDI消息可包括TDI指示符1264和输入数据1266。TDO消息可包括TDO指示符1272和输出数据1274。例如,数据写入和/或读取可在一特定状态中通过利用测试数据输入(TDI)消息和/或测试数据输出(TDO)消息来执行。随后新状态转换可通过发送跟随的测试模式选择(TMS)消息来跟随。应该注意,图12中解说的协议1250可以是用于通过高速输入/输出(HSIO)接口116和/或通过测试控制器110来嵌入典型的JTAG消息的一种方式。

图13是解说可根据本文所公开的系统和方法来使用的控制器协议1350的又一个示例的示图。例如,测试控制器110和高速输入/输出(HSIO)接口116可基于一控制器协议来通信。例如,测试控制器110可从高速输入/输出(HSIO)接口116物理(PHY)层或从内部源获得时钟输入。随后可打开测试控制器110与高速输入/输出(HSIO)接口116之间的通信通道。测试控制器110和高速输入/输出(HSIO)接口116可基于控制器协议1350来彼此通信。例如,控制器协议测试信息112和/或控制器协议测试结果114可根据控制器协议1350来格式化。

在图13中解说的示例中,可以使用一种消息。此消息可包括目标测试接入端口(TAP)状态1376、输入/输出字段1378和数据1380。在由TAP状态1376所指定的一特定状态时的操作(例如,写入和/或读取)可被嵌入到数据1380中包括的指令中。测试控制器110可基于传入消息中的TAP状态1376(例如,经编码的状态信息)直接跳转到目标状态并且执行数据移入或移出。输入/输出字段1378可指示数据1380是否将被移入(例如,作为控制器协议测试信息112)或者数据1380是否将被移出(例如,作为控制器协议测试结果114)。

图14解说了可在电子设备1402中使用的各种组件。所解说的各组件可位于相同的物理结构中或者位于分别的外壳或结构中。电子设备1402可与先前描述的一个或多个集成电路102、302、502、602、702、802、902、1002类似地进行配置。电子设备1402包括处理器1488。处理器1488可以是通用单芯片或多芯片微处理器(例如,ARM)、专用微处理器(例如,数字信号处理器(DSP))、微控制器、可编程门阵列等。处理器1488可被称为中央处理单元(CPU)。尽管在图14的通信设备1402中仅示出了单个处理器1488,但在替换配置中,可以使用处理器的组合(例如,ARM和DSP)。

电子设备1402还包括与处理器1488进行电子通信的存储器1482。即,处理器1488可从存储器1482读取信息和/或向存储器1482写入信息。存储器1482可以是能够存储电子信息的任何电子组件。存储器1482可以是随机存取存储器(RAM)、只读存储器(ROM)、磁盘存储介质、光学存储介质、RAM中的闪存设备、随处理器包括的板载存储器、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除PROM(EEPROM)、寄存器等等,包括其组合。

数据1486a和指令1484a可被存储在存储器1482中。指令1484a可包括一个或多个程序、例程、子例程、函数、规程等。指令1484a可包括单条计算机可读语句或多条计算机可读语句。指令1484a可由处理器1488执行以实现上述方法200、400中的一种或多种方法。执行指令1484a可涉及使用存储在存储器1482中的数据1486a。图14示出被加载到处理器1488中的一些指令1484b和数据1486b(其可以来自指令1484a和数据1486a)。

电子设备1402还可包括用于与其他电子设备通信的一个或多个通信接口1490。通信接口1490可基于有线通信技术、无线通信技术或者这两者。不同类型的通信接口1490的示例包括,串行端口、并行端口、通用串行总线(USB)、以太网适配器、IEEE1394总线接口、小型计算机系统接口(SCSI)总线接口、红外(IR)通信端口、蓝牙无线通信适配器、IEEE802.11无线通信适配器等等。

电子设备1402还可包括一个或多个输入设备1492以及一个或多个输出设备1494。不同种类的输入设备1492的示例包括,键盘、鼠标、话筒、遥控设备、按钮、操纵杆、跟踪球、触摸垫、光笔等。不同种类的输出设备1494的示例包括扬声器、打印机等。通常可被包括在电子设备1402中的一种特定类型的输出设备是显示设备1496。用于本文所公开的各配置的显示设备1496可利用任何合适的图像投影技术,诸如阴极射线管(CRT)、液晶显示器(LCD)、发光二极管(LED)、气体等离子体、电致发光或类似技术等等。还提供显示控制器1498,其用于将存储在存储器1482中的数据转变成显示设备1496上示出的文本、图形、和/或移动的图像(在适当的时候)。

电子设备1402的各个组件可通过一条或多条总线耦合在一起,总线可包括电源总线、控制信号总线、状态信号总线、数据总线等。为简单起见,各种总线在图14中被解说为总线系统1401。应该注意,图14仅解说了电子设备1402的一种可能的配置。可以使用各种其他架构和组件。

术语“确定”广泛涵盖各种各样的动作,并且因此“确定”可包括演算、计算、处理、推导、调研、查找(例如,在表、数据库或其他数据结构中查找)、探明、和类似动作。另外,“确定”还可包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)、和类似动作。另外,“确定”还可包括解析、选择、选取、建立、和类似动作。

除非明确另行指出,否则短语“基于”并非意味着“仅基于”。换言之,短语“基于”描述“仅基于”和“至少基于”两者。

术语“处理器”应被宽泛地解读为涵盖通用处理器、中央处理单元(CPU)、微处理器、数字信号处理器(DSP)、控制器、微控制器、状态机,等等。在某些情况下,“处理器”可以是指专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)等。术语“处理器”可以是指处理设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或更多个微处理器、或任何其他这类配置。

术语“存储器”应被宽泛地解读为涵盖能够存储电子信息的任何电子组件。术语存储器可以是指各种类型的处理器可读介质,诸如随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、可编程只读存储器(PROM)、可擦式可编程只读存储器(EPROM)、电可擦式PROM(EEPROM)、闪存、磁或光学数据存储、寄存器等等。如果处理器能从和/或向存储器读写信息则称该存储器与该处理器处于电子通信中。整合到处理器的存储器与该处理器处于电子通信中。

术语“指令”和“代码”应被宽泛地解读为包括任何类型的(诸)计算机可读语句。例如,术语“指令”和“代码”可以是指一个或更多个程序、例程、子例程、函数、规程等。“指令”和“代码”可包括单条计算机可读语句或许多条计算机可读语句。

本文中所描述的功能可以在正由硬件执行的软件或固件中实现。各功能可以作为一条或多条指令存储在计算机可读介质上。术语“计算机可读介质”或“计算机程序产品”是指能被计算机或处理器访问的任何非瞬态有形存储介质。作为示例而非限定,计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘储存、磁盘储存或其他磁储存设备、或任何其他能够用于携带或存储指令或数据结构形式的期望程序代码且能由计算机访问的介质。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘常常磁性地再现数据,而碟用激光来光学地再现数据。

本文所公开的方法包括用于达成所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非所描述的方法的正确操作要求步骤或动作的特定次序,否则便可改动具体步骤和/或动作的次序和/或使用而不会脱离权利要求的范围。

此外,应领会,用于执行本文中所描述的(诸如图2和4所示的那些)方法和技术的模块和/或其他恰适装置可以由设备下载和/或以其他方式获得。例如,可以将设备耦合至服务器以便于转送用于执行本文中所描述的方法的装置。替换地,本文中所描述的各种方法可经由存储装置(例如,随机存取存储器(RAM)、只读存储器(ROM)、诸如压缩碟(CD)或软盘等物理存储介质)来提供,以使得一旦将该存储装置耦合至或提供给设备,该设备就可获得各种方法。

应该理解的是,权利要求并不被限定于以上所解说的精确配置和组件。可在本文中所描述的系统、方法、和装置的布局、操作及细节上作出各种改动、变化和变型而不会脱离权利要求的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号