在多个处理器/核的测试与调试进程期间控制电源、时钟和复位的装置和方法

文档序号:6454625阅读:159来源:国知局
专利名称:在多个处理器/核的测试与调试进程期间控制电源、时钟和复位的装置和方法
在多个处理器/核的测试与调试进程期间控制电源、时钟和复位的装置和
方法
0001本发明一般涉及芯片上多个处理器的测试与调试,且更具体地 涉及将与每个处理器关联的测试访问端口 (TAPs)耦合到外部测试与调
试单元。更明确地,本发明涉及对测试与调试进程所选参数的控制。
背景技术
0002现今的数字信号处理器、微处理器和复杂逻辑核便于通过被称 为JTAG(Joint Test Action Group,联合测试行动小组)接口的限制的弓U御 接口 (limited pin interface)进行测试。这种接口遵照IEEE 1149.1测试访 问端口 (TAP)协议和需求。现代处理器单元通常使用JATG接口来提供 对内电路模拟(ICE)逻辑的访问以便于对嵌入式处理器或逻辑系统级芯 片(system-on-a-chip)设计进行调试。处理器单元通常具有多个处理器/ 核,每个处理器/核具有其各自的TAP。
0003在IEEE 1149.1规范具有的两种方式中,多个TAPs可以连接到 一起。在并行配置中,单个TDI (测试数据输入)输入信号连接到系统 中每个TAP的TDI输入。与此类似,来自所有处理器/核的TDO (测试 数据输出)输出信号被线连接在一起。每个TAP的单独TMS控制信号用 于独立驱动每个TAP状态。控制器确保每次只有一个TAP被置于其响应 TDI输入信号并传送TDO输出信号的状态中。
0004并行配置的问题是每个TAP需要其各自的TMS (测试模式选择) 控制信号。在具有多个处理器/核的系统级芯片上,这种配置将需要装置 上有多个引脚。此外,这些引脚的每一个都需要耦合到JTAG控制器。这 种耦合需要处理器单元板上的附加信号以及连接到HAG控制器的连接 器。这种对多个TAP问题的解决方案不便于升级。因为在同一时刻只有 一个TAP可以驱动其TDO输出,同时并行方案解决方案也不便于联合模 拟(co-emulation),其中多个TAP需要通过TAP状态机同时驱动。0005使用这种并行配置,可以在维持对有效TAP执行扫描能力的同 吋将一个或多个TAP关闭或停止供电。但是, 一旦一TAP无效,则控制 器将无法唤醒该模块及重新使能扫描。
0006串联配置是连接多个TAP的较为通用的配置。该配置要求所有 TAP使用相同的吋钟进行计吋并且一个TAP的串联输出用作系统中下一 个TAP的串联输入。这种配置支持调试和测试进程。
0007串联测试配置存在多个问题。第一,如果将该系列中一个TAP 电源切断,则控制器无法将数据移入活移出与切断电源的TAP串联的任 何TAP。 一旦一个TAP电源切断,扫描控制器将无法唤醒休眠模块。第 二个问题是所有TAP必须以相同的频率进行计时。结果,最大吋钟频率 受到系统中最慢组件的限制。ARM Ltd的可合成ARM处理器使该问题 更为严峻,因为JTAGTCK (测试吋钟)时钟信号必须使用ARM处理器 的功能性(functional)时钟进行同步。这种被称为RTCK信号的被同歩 TCK信号,其可用作与ARM处理器串联的所有其它组件的TCK信号。 因此,如果ARM时钟以低频率运行或被关闭,则无法通过与该核串联的 任何TAP进行扫描。
0008串联配置的TAP存在的另一问题是要访问一个特定TAP,控制 器必须通过所有串联的TAP进行扫描。该特征使得难于升级(scaling)。 系统甚至系统级芯片可以具有数百个处理器。这种复杂性导致扫描路径 的长度达到数千比特。长扫描路径明显降低所选处理器核的调试速度。
0009串联配置还在产品测试方面存在问题。典型地,产品测试中使 用的测试向量针对单个TAP而写入。该测试装备不具有了解其它TAP可 以先于或跟随JTAG串联中测试的TAP的自动化方法。对于每个系统, 这些测试向量必须被重写以适应串联的多个TAP。
0010为了保护在嵌入式装置上被处理的秘密信息, 一些装置被配备 安全特征以阻止对一些数据的查看。系统上的安全特征还可用于保护知 识产权,诸如算法、驱动器或其它软件。由于调试进程使用处理器上的 TAP访问ICE逻辑,所以安全逻辑通常禁用受保护核上的TAP。在过去 的设计中,TAP通过选通(gating) TAP时钟信号即TCLK信号被禁用。
0011选通TCLK信号存在几个问题。第一,选通装置级TCLK信号阻止调试和测试进程访问所有TAP,从而阻止访问系统中的所有处理器/ 核。这种简单的技术在阻止其它系统可见的同时不允许被保护系统可见。
即使TCLK信号在靠近处理器/核的TAP时被选通,这种实现也不会有所 帮助,这是因为TAP被串行连接。对于要穿过系列TAP来实现的位移, TCLK信号必须使能链中的所有TAP。第二个问题是阻止系统可见与调 试进程设法使系统完全可见的要求是直接冲突的。需要一种方法用于选 择性地且动态地启动或禁用对系统中所有TAP的访问。
0012参见图1,示出了根据现有技术测试制作在电路板1上的多个处 理器/核11-1N的配置。处理器/核11-1N的每个分别包括测试访问端口
(TAP)单元111-11N。控制处理器/核11-lN的主处理单元3,与模拟单 元2交换信号。模拟单元2将从主处理单元接收的信号格式化,并将产 生的信号施加给TAP单元Il-IN。每个TAP单元11-1N接收TMS信号、 TCLK信号和TRST信号。对于TDI和TDO信号,TAP单元相被串联耦 合,该TDI信号被串联地施加给第一 TAP单元11 ,而该TDO信号被串 联地从最后的TAP单元IN接收。
0013参见图2,示出了根据现有技术的TAP单元20的方块图。TAP 单元20包括状态机21。该状态机产生控制TAP单元21的排序和行为的 控制信号以响应TMS信号、TRST信号和TCLK信号。TDI信号被施加 给开关单元23 。开关23将TDI信号导向IR寄存器25或DR寄存器26-2N 中的一个。寄存器的输出信号被施加给多路复用器24,该多路复用器24 的输出是TDO信号。当TDI被施加给IR寄存器25时,IR寄存器的内 容被施加给逻辑单元22。逻辑单元22提供指定测试和调试行为的控制信

0014TAP单元20的运行可被尽可能概括。 一值被输入IR寄存器25。 为了响应该值,由逻辑单元22产生的控制信号执行一行为。值在IR寄 存器中的计算结果可能是将值从DR寄存器传送给处理器/核中的寄存器 或可能导致将值从处理器/核寄存器中的寄存器传送给DR寄存器。IR寄 存器25中的一预定值导致在位旁路(bit-by-pass)寄存器29中设置逻辑
"1"。因此,在多个TAP单元的示例中,输入所有IR寄存器且由状态机 同步的一串逻辑信号可以通过在旁路位寄存器中设置逻辑"1"使一个或多个指定的TAP单元短路。当TAP单元排序中的一串DR寄存器的内容 被读出时,指定的旁路位寄存器只提供逻辑"1"输出,实际上为与指定 的测试访问端口 (tap)寄存器关联的处理器/核的测试和调试行为提供短 路。
0015在测试和调试进程中可能出现的一个问题是被测试的处理器/核 并未处于适于测试的状态。例如,处理器/核的电源可能从部分或所有处 理器/核中去除,使得不可能进行测试。可能因为能量管理方案的部分而 使电源供电减少。与此类似,处理器/核的系统时钟可能由于电源控制特 征或一些其它原因而被改变。最后,处理器/核TAP单元的状态机可能处 于不适当的状态。TAP单元的状态机必须与用于测试和调试进程的其它 处理器/核的TAP单元同步。
0016因此,存在一种对具有改善测试和调试进程的特征的装置和关 联方法的需求。允许对多个处理器进行选择的测试是该装置和关联方法 的较具体的目标。使用JTAG测试和调试进程使能选择的处理器/核是该 装置和关联方法的进一步目标。提供为某些处理器/核确定所选处理器/ 核参数的状态的技术也是该装置和关联方法的进一步特征。提供测试和 调试装置与可简化测试和调试进程的多个处理器/核之间的接口单元是该 装置和关联方法的更具体的特征。提供包括TAP单元的接口单元也是该 装置和关联方法的更具体的特征。提供可提供正在测试的多个处理器/核 的状态的状态寄存器也是该装置和关联方法的另一具体特征。允许测试 和调试进程控制某些处理器/核心参数也是该装置和关联方法的另一特 征。提供控制处理器/核的电源与时钟参数的技术也是该装置和关联方法 的进一步特征。能够同步被测试的所有处理器/核的TAP单元状态机也是 该装置和关联方法的另一特征。

发明内容
0017根据本发明,通过基底上的处理器/核的多个TAP单元与测试和 调试单元之间的接口单元提供了上述和其它特征。该接口单元包括一 TAP单元。该接口单元和处理器/核具有一耦合到每个TAP单元的开关单 元。该接口单元包括用于将来自测试与调试单元的命令信号转变为控制信号的逻辑单元。通过这种方式,可产生控制信号,其被施加给耦合到 处理器/核的电源状态机。该控制信号可以控制处理器/核的状态以及从而 控制电源和吋钟参数。该逻辑单元产生控制信号,该信号操作与处理器/ 核关联的每个开关单元中的开关以响应测试和调试命令。通过这种方式,
被施加给开关单元的输入端的TRST信号和TMS信号被可控制地施加给
处理器/核TAP单元的状态机。从而可以同步处理器/核的TAP单元的状 太
0018阅读以下说明、附图和权利要求之后,将清晰地理解本发明的 以上和其它特征以及本发明的优点。


0019图1是提供模拟单元和多个处理器/核器件之间的JTAG接口的
装置的方块图。
0020图2是根据现有技术的TAP单元的方块图。0021图3是在模拟单元和多个处理器核器件之间的提供接口的装置 的方块图
0022图4是根据本发明与每个处理器/核及接口单元关联的开关单元 的方块图。
0023图5是图解说明根据本发明如何将处理器/核设置为适当状态的 流程图。
0024图6是图解说明在处理器/核被重新合并于一测试顺序之后将该 处理器/核与其它处理器/核重新同步的技术的流程图。
具体实施例方式
1.附图的具体说明
0025参见图3,其示出了接口单元30的方块图,该接口单元30减轻 了多个处理器/核Il-IN与测试和调试装置之间的数据传送。本发明与图 1不同的部分由以三开始的数字指明。开关331-33N被分别耦合到每个处 理器/核的TAP单元lll-llN。接口单元30包括TAP单元301。接口单元 30的TAP单元301耦合到开关单元39。开关单元39和331-33N串联耦合。来自测试与调试单元的TDI信号(即图1和图3的模拟单元2和主 处理单元)被施加给开关单元39的输入端。开关单元39的输出端被施 加给开关单元331的输入端。除开关单元39之外的每个开关单元的输入 端被耦合到前一个开关单元的输出端。开关单元31N的输出端具有施加 到该端的TDO信号,而该TDO信号被返回给测试和调试装置。与此类 似,来自测试和调试装置的TCLK信号被施加给开关单元39的第二输入 端。从而TCLK信号穿过串联的开关单元331-33N被施加给开关单元331 的第二输入端。来自开关单元33N的第二输出端的RTCLK信号被施加 给测试与调试单元。接口单元30包括TAP单元301。来自TAP单元301 的信号被施加给逻辑单元303。逻辑单元303为所有开关单元331-33N和 39提供控制信号。此外,为响应TAP单元30的IR寄存器中的预选值, 指定的状态与控制寄存器304的值将被传送给DR寄存器。该状态与控 制寄存器304存储关于每个处理器核的电源和状态的信息。状态寄存器 中的值来源于处理器/核本身,或来源于设置处理器/核中电源、时钟和安 全参数的控制信号。
0026状态寄存器中的值允许测试和调试装置确定处理器/核何时可用 于测试。每个处理器/核的可用性的确定可通过用于实际测试和调试进程 的相同的JTAG进程完成。
0027每个处理器/核11-1N分别具有耦合到各自的电源状态机 121-12N。电源状态机121-12N控制耦合的处理器/核的电源供电水平。 电源状态机被耦合到接口单元中的逻辑单元303。
0028通过逻辑单元303,电源状态机的状态被耦合到状态与控制寄存 器304且输入到状态与控制寄存器304中。状态与控制寄存器304存储
施加给耦合的寄存器/核的电源的状态。施加给每个处理器核的电源的状 态可通过接口 TAP单元传播给测试与调试单元。通过这种方式,测试与
调试单元可确定施加给被耦合的处理器/核的电源是否适于测试和调试进 程。
0029逻辑单元303被耦合到电源状态机121-12N和状态与控制寄存 器。电源状态机的状态被传送到逻辑单元303,从而存储在逻辑单元304 中以响应来自测试与调试单元的可指明每个电源状态机的状态的命令。0030参见图4,示出了根据本发明的与每个处理器/核和接口单元关
联的开关单元40的方块图。TDI信号被施加给开关41的第一输入端。 为了响应施加给开关单元41的端4的控制信号,开关41的输出信号被 施加给关联的TAP单元或开关42的输入端2。开关41的输入端2被耦 合到关联的TAP单元。施加到开关42的输入端4的控制信号确定施加给 开关的输入端1的信号或施加给开关的输入端2的信号是否施加给输出 端3以及是否为TDO信号。TCLK被施加给开关43的输入端1。为了响 应施加给开关43的端4的控制信号,开关43的输出信号通过端2施加 给关联的TAP单元或通过端4施加给开关44的输入端1 。为了响应施加 给开关44的端4的控制信号,针对输出信号,施加给端3的RTCLK信 号被选择。幵关的存在允许测试和调试进程在单次操作中测试一个或选 择数目的处理器/核。测试一个以上处理器/核的优势在于必须通过处理器 分析测试指定的处理器/核所必须产生的多个信号组。TMS信号被施加给 开关45的输入端1来响应施加给端4的控制信号。在响应施加给开关45 的端4的控制信号时,TMS信号被施加给TAP单元400。与此类似,开 关46控制TRST信号向TAP单元400的施加。0031参见图5,其示出了将处理器/核置于(迫使处理器/核处于)所 选状态(即具有所选电源和时钟参数的状态)的流程图。在步骤51中, 测试由指定的处理器/核的参数组成。该测试通过使逻辑单元读取指定处 理器/核的状态以及将它们存储于寄存器单元来实现。该参数或这些参数 被施加给接口 TAP单元并被传送给测试与调试单元。在此测试与调试单 元中,确定处理器/核的参数是否允许测试与调试进程在步骤52中执行。 如果步骤52中答案是否,则测试与调试单元产生(formulate) —个命令, 之后该命令被施加给接口 TAP单元,之后施加给逻辑单元。基于接收的 命令,该逻辑单元之后向指定的处理器/核的状态机施加控制信号(例如 断言强制位(assert force bit))。之后在步骤53中,状态机假定处理器/ 核具有适当参数的状态。当状态机确认在步骤54中指定的参数已经在逻 辑单元上产生时,该参数将存储在寄存器单元55中。无论处理器/核的参 数在何时被改变,这种改变都将反映在存储于寄存器单元中的参数值中。 此时、寄存器单元55中的时钟的状态位和/或电源将立即适当反映出适当地响应命令后的当前状态。
0032参见图6,其示出了重新同步不包括在处理器/核的测试链中的 处理器/核(即成为测试链中的一员)的技术。在步骤61中,与处理器/ 链关联的开关被初始化。在步骤62中,必要时存储适当(电源)状态, 例如如图5所说明。在步骤63中,TRST信号被施加到处理器/核的TAP 单元中的状态机,其之前处于无效或不适当的状态。这种行为使TAP单 元状态机处于测试逻辑复位状态。在步骤64中,TMS信号被施加给处理 器/核TAP单元状态机,从而使状态机处于运行测试空闲状态。在此处, 处理器/核立即与其他处理器/核同步。如果步骤52中的答案是肯定的, 则将确定测试进程期间电源时钟是否中断(lost)。如果答案是否定的, 则进程继续。当电源将中断,则进程转到步骤53以施加正确的电源参数。
0033如之前关于RTCLK信号指出的,该信号不是JTAG信号组的成 员。但是,如ARM单元的一些处理器核,TCLK信号由该处理器/核处 理并且被处理的信号被称为RTCLK信号。我们将清楚地看到,本发明可 以在产生和不产生RTCLK信号的情况下同样地工作。
2.优选实施例的运行
0034通过以下方式,可以最好地理解本发明的运行。在具有多个处 理器/核的芯片上,每个处理器核具有一 TAP单元以提供用于JTAG信号 的接口。这些处理器/核TAP单元串行耦合。提供的接口单元包括TAP 单元。该接口单元TAP单元与处理器核的串行耦合的TAP单元串行耦合。 每个TAP单元均被提供第一组开关。所选TAP单元的TDI端和TDO端 可被短路以响应控制信号。与此类似,TCLK端和RTCLK端被耦合到一 起即被短路,以响应第二控制信号。该控制信号被产生以响应被测试与 调试单元施加到接口单元TAP单元的TDI信号。接口单元的逻辑单元可 执行经过编码的命令以响应TDI信号。通过这种方式,可对开关进行设 置使得只有一个TAP单元接收TDI和TCLK信号。控制每个开关单元的 状态的能力可以进行选择从而对所选个别处理器/核进行测试。可以选择 多个处理器/核。通过这种方式,可同时测试多个处理器/核。测试多个处 理器/核的能力要求测试与调试单元产生一串数据信号,这些数据信号能够在由测试与调试装置进行的单点访问(single access)中将适当比特置 于所选处理器/核的多个TAP单元IR寄存器中。与此类似,当测试与调 试装置接收对多个处理器/核的测试结果时,测试与调试装置将必须挑选 出来自每个所选处理器/核、来自一串数据比特、来自多个DR寄存器的响应。
0035接口单元包括多个状态寄存器。存储在状态寄存器中的典型参 数与电源、时钟和安全条件有关。这些条件中的每个条件确定测试由参 数描述的处理器/核的能力。当处理器/核不可用于测试时,例如断电时, 该信息通过接口单元TAP单元传送到测试与调试单元。之后测试与调试 单元将信号组通过接口单元TAP单元传送到逻辑单元适当信号,该适当 信号导致控制信号传送到与(断电)处理器/核关联的开关单元。之后该 控制信号将开关置于短路模式并且不会将TDI和TCLK信号施加给(断 电的)处理器/核。该进程避免了测试与调试进程由于任一个处理器/核中 的条件而中断。
0036关于RTCLK信号,该时钟信号是ARM单元的一个特性的结果, 其中为了使用JTAG测试与调试进程,TCLK信号必须与ARM单元的内 部吋钟同步。产生的(被同步的)信号被称为RTCLK信号,并且根据本 发明的一个实施例,当单个ARM单元处于扫描链中时,来自单个ARM 单元的RTCLK信号可根据开关的状态施加给每个扫描链mP单元或穿 过每个扫描链TAP单元。扫描链的每个开关的状态由接口单元中的逻辑 单元控制,并且最终由测试与调试单元控制。如果存在一个以上ARM单 元,则每个ARM单元将提供不同的RTCLK信号。扫描链中存在多个 ARM单元的最终结果是使用通过扫描链的TCLK或RTCLK信号降低时 钟速率。当产生的RTCLK信号施加给测试与调试单元时,测试与调试单 元可以减小(throttle back) TCLK信号的时钟速率以使得扫描链中的信 号可以一致地位移。
0037如上所述,接口单元中的逻辑单元产生的控制信号可以被施加 到与每个处理器/核关联的电源状态机来响应测试与调试命令。接口单元 中的逻辑产生的控制信号控制施加TRST信号和TMS信号来响应其它测 试与调试命令,从而提供将关联的处理器/核的TAP单元同步的技术。0038在本发明对以上记载的实施例进行描述的同吋,本发明并不局
限于这些实施例。因此,与本发明关联的本领域技术人员应当理解本文 尚未描述的很多其它实施例、变更和改进处于要求保护的本发明的范围之内。
权利要求
1. 一种控制处理器/核的参数的装置,该装置包括耦合到所述处理器/核的状态机,所述状态机控制所述处理器/核的所选参数,所述状态机识别所述处理器/核的所选参数。耦合到所述状态机的逻辑单元,所述逻辑单元提供迫使所述状态机进入预定状态以响应测试与调试进程的控制信号,所述预定状态具有所选参数。
2. 根据权利要求1所述的装置,其中所选参数包括至少一个所述处 理器/核的电源和时钟参数,所述装置包括响应第一测试指令的所述逻辑单元,所述逻辑单元产生第一控制信 兮;禾卩耦合到所述处理器/核的所述状态机,所述状态机确定至少一个所述电源和吋钟参数,其中所述第一控制信号迫使状态机进入预先选择的状 太心o
3. 根据权利要求1或2所述的装置,进一步包括耦合到所述逻辑单 元的寄存器单元,所述寄存器存储至少一个所述状态机的所述状态的选 择的参数。
4. 根据权利要求3所述的装置,其中测试命令由测试单元产生,其 中至少一个参数从所述寄存器单元传送给所述测试单元以响应第二测试 命令,所述第一控制信号被产生以响应所述至少一个参数。
5. 根据权利要求2所述的装置,进一步包括耦合到所述处理器/核的 开关单元,所述开关单元具有施加给所述开关单元的一输入端的复位信 号,所述复位信号被施加给所述处理器/核以响应来自所述逻辑单元的第 二控制信号。
6. 根据权利耍求i或2所述的装置,其中所述进程是rrAG进程。
7. 根据权利要求1或2所述的装置,其中所述处理器/核包括一TAP 单元,所述装置进一步包括耦合到所述TAP单元的所述状态机的开关单 元,所述开关单元具有施加给一输入端的复位信号,所述开关单元将所 述复位信号施加给所述TAP单元状态机以响应来自所述逻辑单元、所述 控制信号被产生以响应测试与调试信号。
8. 根据权利要求7所述的装置,进一步包括一接口 TAP单元,所述 接口 TAP单元接收测试与调试信号,所述接口 TAP单元将命令信号施加 给所述逻辑单元,所述命令信号导致控制信号的产生。
9. 根据权利要求8所述的装置,其中存储在所述寄存器单元的一选 择的参数被传送给测试与调试单元以响应来自所述测试与调试进程且施 加给所述接口 TAP单元的命令信号。
10. —种控制处理器/核的选择的参数的方法,所述方法包括 响应测试与调试命令产生一控制信号,该信号强行控制耦合到所述处理器/核的所述状态机的状态,产生的所述状态机的状态控制所述处理 器/核至少一个选择的参数。
11. 根据权利要求IO所述的方法,其中所述产生一控制信号包括 将所述测试与调试命令施加给一接口 TAP单元;以及 将所述测试与调试命令传送给所述逻辑单元。
12. 根据权利要求10或11所述的方法,进一步包括将来自所述状态 机的一状态所得的所述处理器/核的预选参数存储在一寄存器单元中。
13. 根据权利要求12所述的方法,进一步包括 为响应来自测试单元并被施加给一接口 TAP单元的一命令信号,将所述命令信号施加给所述逻辑单元;以及将来自所述寄存器单元的预选参数传送给所述测试单元。
14.根据权利要求13所述的方法,其中所述命令信号强行控制所述 状态机的状态由所述寄存器单元的所述预选参数来确定。
全文摘要
提供一接口单元(1),该接口单元包括多个处理器核(11,12,1N)并用于JTAG测试与调试进程。该接口单元具有可以将测试与调试命令转变为控制信号的一逻辑单元。所述控制信号被施加给耦合到一处理器/核的电源状态机。由此可控制所述电源状态机的状态,从而控制关联的处理器/核的参数,即所述处理器/核的电源和时钟参数。此外,所述逻辑单元可产生使能开关的控制信号,开关可控制地选择将TRST信号和TMS信号施加给所述处理器/核的TAP单元(111,121,1N1)。这种能力允许每个处理器/核的TAP单元被同步。
文档编号G06F11/00GK101432699SQ200780014808
公开日2009年5月13日 申请日期2007年4月26日 优先权日2006年4月26日
发明者R·A·麦高恩 申请人:德克萨斯仪器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1