在SoC调试中重塑JTAG的作用

时间:2022-08-10 11:19:23

摘要:本文将详尽介绍即将推出的IEEE 1149.7标准的相关情况,帮助设计人员在设计方案中实现JTAG调试接口。

关键词:JTAG;SoC;IEEE 1149.7

IEEE 1149.7是获得广泛普及、已使用20多年的IEEE1149.1(JTAG)标准的配套扩展集。尽管新的IEEE1149.7标准还未最终确定,但其发展方向及其为工程师带来的优势已非常明确,对于开发和调试复杂系统软件的工程师而言更是如此。

IEEE1149.7标准的制定全面兼顾了以下目标,即保持与IEEE1149.1标准的向后兼容性、提升调试性能。此外,IEEE1149.7还能降低片上系统(SoC)的引脚数量要求,支持标准化的节电工作条件。需要指出的是,虽然IEEE1149.7为现有标准增加了大量功能,但它并不会取代IEEE1149.1。新标准保持了向后兼容性,任何电路板或系统只要集成了支持新旧两种标准的芯片,就能运行测试或调试程序。

优势

新标准可为设计人员提供多种优势,其中包括:

・能以业界标准方式控制调试逻辑功耗。IEEE1149.1只有一种“始终开启”的状态,而IEEE1149.7则能提供四种可选电源模式,以支持超低功耗器件。

・能快速通过多个器件访问系统中的特定器件。通过实施系统级旁路,扫描环节得以大幅缩短,从,而直接改进了调试体验。

・推出星形拓扑配合标准的串行拓扑。采用叠层裸片器件、多芯片模块和插入卡的设计人员希望使用星形拓扑,因为这有助于简化物理器件互连。

・除了IEEE1149.1所需的四引脚操作外还支持双引脚操作。由于当今大多数系统都集成多个IC,在尺寸方面有较大限制,因此减少引脚和线迹数量有助于设计人员满足空间要求,支持附加功能引脚和,或降低封装成本。后台数据传输(BDX)为发送仪表数据提供了业界标准的方法。以前,不同的厂商就仪表信息采用不同的方法,难以提供工具支持。通过标准化,用户将能更方便地选择多种产品。

JTAG基础

由于新标准大多使用先前的术语与技术,因此有必要简单回顾一下IEEE1149.1标准。

上世纪80年代中期,多层电路板与非引线框架IC成为标准。不过,由于IC之间的连接不能测试子系统探针,因此测试工作越来越困难。为解决这一问题,1985年成立了联合测试行动小组(JTAG)。

尽管人们认为IEEE1149.1标准实际上就是JTAG,不过该标准的官方称谓是标准测试访问端口与边界扫描架构。它定义了利用边界扫描检测PC电路板的测试访问端口(TAP)等。

目前,JTAG不仅用于PC电路板测试,还能访问集成电路的子块,并调试嵌入式系统。

在JTAG生态系统中,IC设计人员先在每个芯片中嵌入测试逻辑,并将芯片中的内部寄存器与JTAG扫描链连接在一起。IEEE1149.1的硬件组件包括:

・TAP。四个必备引脚为:测试数据输入(TDI)、测试数据输出(TDO)、测试模式选择(TMS)以及测试时钟(TCK)。此外还定义了可选的TRST/复位引脚。驱动为低时,将对内部状态机进行复位。

・TAP控制器。具备16种状态、以TMS与TCK作为输入的有限状态机。输出包括cloekDR、UpdateDR、shiftDR、ClockIR、UpdateIR、ShiftIR、Select、Enable、TCK以及可选的TRST。

・指令寄存器。

・测试数据寄存器。

图1所示为IEEE1149.1的基本IC架构。

测试工程师以这些结构作为内建自测试(BIST)的访问点。JTAG与BIST相结合,广泛用于部署低开销嵌入式测试解决方案,可检测短路、开路和逻辑错误等静态故障。

就软件调试而言,设计工程师采用内电路仿真器来访问片上调试模块,其通过JTAG接口集成到CPU中。这种调试模块使软件开发人员能实现CPU的加载、运行、暂停与步进。

IEEE1149.7

目前看来,IEEE 1149.7标准将于今年晚些时候得到批准。开发这种新标准的IEEE工作组与其他两家标准机构合作,并从中获得借鉴。这两家标准机构是:移动行业处理器接口(MIPI)联盟与NEXUS(IEEE ISTO 5001)协会。

新标准的功能分为六类,每一类都建立在前一类开发的基础上。

前四类(class TO到T3)基本上是对IEEE 1149.1的扩展。第二组(T4与T5)实施并使用高级双引脚运行模式。通过采用这种步进式开发模式,可使设计人员更轻松地了解新标准的含意,并确保器件能实现必需的功能。

Class T0

Class T0可确保符合当前业界基于IEEE 1149.1的测试基础结构标准。对于TO而言,测试逻辑复位后,所有IEEE 1149.7多插头器件都必须符合IEEE 1149.1的强制指令行为要求,并就旁路指令实施一位DR扫描。

Class T1

Class T1定义的控制系统已成为各类高级功能的基础。

简而言之,这种创新型控制系统采用兼容于IEEE 1149.1的TAP状态序列和状态移动监视功能来创建控制系统,同时在确保符合IEEE1149.1标准的芯片完全不受影响的情况下,采用零位DR扫描(zBS)来设置符合IEEE 1149.7标准的芯片状态。

ZBS状态序列在IEEE 1149.1系统中几乎从不与BYPAss和IDCODE指令同时使用,也不执行真正的功能,如图2所示。这是由于带上述指令的ZBs比较弱,不能实际改变测试逻辑的状态。

图2中的黄线标出了ZBs状态序列的路径。结构图左侧的卡通图代表控制系统,它会对工程师启动的ZBS进行监控及计数。

zBs从选择DR扫描状态开始,经过退出到更新-DRTAP控制器状态,而不会对TAP控制器造成任何改变。对于IEEE 1149.1标准而言,不会产生任何影响。

不过,图2中的卡通图标所代表的逻辑会持续计算zBs状态序列启动的次数。当从捕获-DR状态转至转换-DR状态时,ZBs序列断开,这时逻辑就会锁定ZBS计数。

锁定zBS计数会激活等于ZBs计数(从1到7)的控制级。控制级2用于创建IEEE 1149.7系统的指令。控制级功能如表1所示。

当特定事件发生时就会退出控制级。这些事件包括Select-IR-Scan控制器状态、Test-Logic-Reset状态 以及某些旨在同步Class T4与T5控制器操作的控制器指令与事件。

此外,Class T1也有助于控制功率。IEEE 1149.7可定义四种降低功率的模式,专用于电路板测试、芯片测试以及应用调试等情况。为调试逻辑定义的功率下降模式有助于降低系统功耗,并为工具厂商开发可降低功率的器件提供一种标准的方式。

Class T2

通过实施芯片级的旁路机制,Class T2可通过大幅缩短扫描链来为芯片计数高的应用提升调试性能。

由于每个芯片中的TAP控制器均为串行链接,因此在IEEE 1149.7标准之前,采用多个器件的设计方案在扫描链的每个器件中都要包括TAP控制器。图3所示的示例系统包括带五个内核的三个器件,扫描链共有100位。如果开发人员希望探询链上的最后一个器件,就必须每次扫描100个位。这样做效率非常低,且会导致嵌入式软件开发人员访问器件的速度降低。

IEEE 1149.7的全新芯片级旁路功能可冻结器件中无关的TAP控制器,将扫描位从100个减少为8个,如图3所示。这就减少了需要在系统中移出的位数,从而大幅提高扫描链的性能。

此外,该机制还可发挥防火墙的作用。如果目标电路板在工作时采用热连接,防火墙就非常实用。在IEEE 1149.1系统中,连接至正在运行的目标可能导致不可预计的运行情况,这是因为这种连接可能会导致调试逻辑的混乱,从而产生电气问题。有了旁路机制作为防火墙,只有启动预确定的序列才能访问芯片TAP。这一步骤可确保调试测试系统只有在目标有了稳定的电气连接后才能建立连接。

Class T3

通过使用芯片选择机制和链路-ID分配,class T3使开发人员能创建星形配置,而不是IEEE1149.1标准的传统串联配置。T3采用四星形或宽星形配置方法,如图4所示。

为了创建星形配置,必须对相关芯片进行编号。不过在启动时,芯片在控制器中并未记录号码。Class T3定义了一种方法,可以为芯片分配编号,这基本上是一种基于IDCODE与唯一ID的排除法。

Class T3可创建星形配置,能够支持双引脚操作的重大革新,这种新技术在Class T4中实施。还应注意到,IEEE 1149.7系统加电启动与IEEE 1149.1兼容。通过zBs配置IEEE 1149.7逻辑,可提供IEEE1149.7的高级功能。

Class T4

虽然可将class T0至T3视为IEEE 1149.1标准的扩展,但ClassT4却在功能方面实现了质的飞跃。主要优势在于所需的引脚数量从四个减少到了两个,而且还采用了新式扫描格式,支持优化操作,在引脚数量减少的配置情况下维持与改进了性能。

在器件裸片叠层的情况下,应该尽可能减少连接器的数量,因为连接器越多,芯片叠层就越困难,连接器越少也就越简单,因为每个连接器都会增加额外的成本。

简而言之,双引脚配置的关键就是清除原来的数据线路(TDI/TDo),并通过TMsc线路实现串行数据的双向传输。

通过无缝星形配置减少引脚数可为采用叠层裸片与多芯片模块的系统设计人员提供重要特性,因为其可简化贴装点上调试引脚的布局,进而简化部件制造、贴装与存储,从而降低成本。

为了实现上述功能,我们采用Class T3中的无缝星形配置,这时不带有TDI与TDO。在采用双星形或窄星形配置的图5中显示了有关情况。

除了减少引脚数之外,ClassT4还定义了优化的下载专用扫描模式。在这些模式中,只有有用的信息才可下载。为了在引脚减少的情况下提高性能,可增加一倍的时钟速率。再配合上述的优化操作处理,就能保持性能,甚至在某些情况下还可提高性能。

Class T5

Class T5使测试端口能同时执行调试与仪表操作,从而减少了仪表专用的引脚数量。由于仪表数据可在闲置时传输,而且任务过程中闲置时候很多,因此可以有效减少引脚数。通常情况下,有两个引脚是仪表专用的。

此外,Class T5还支持自定义协议。该特性的很大部分都包括在标准中,因为工作组认识到,许多器件厂商都具有白定义协议。Class T5可将该进程标准化,从而在使用自定义协议的同时确保用于启用它们的业界标准方法得以实施。

实现

芯片设计人员如果希望在器件中实现IEEE 1149.7功能,可在器件中集成协议转换器。该转换器简化了添加基本IEEE 1149.7的工作,比如可减少与现有仅兼容于IEEE 1149.1的IP的连接引脚。例如,图6所示为一个支持IEEE1149.1的双核器件。如果芯片设计人员希望添加IEEE 1149.7支持,只需在器件中采用协议转换器即可。这样做的优势在于,无需修改内核A与内核B的调试逻辑。此外,由于IEEE 1149.7系统还能在后台传输仪表数据,因此还能从系统中减少两个引脚,从而实现如图7所示的只需要两个功能引脚的器件。

从图7中看到,还可通过协议转换器使现有的IEEE 1149.1系统与IEEE 1149.7器件协同工作,从而实现现有软硬件基础设施的重复使用,降低终端用户的入门成本。

双引脚优于四引脚

IEEE 1149.7标准在创建时就考虑到了要实现的一些目标,比如,特别要确保与IEEE 1149.1的向后兼容性,并提高调试性能IEEE 1149.7还降低了SoC的引脚数量要求,并可提供标准化的省电工作环境。此外,该新标准还旨在简化多芯片模块与叠层裸片器件的制造,同时满足与IEEE 1149.1标准相偏离的现有工作实践要求。

上一篇:小中见大 网吧事件40问 下一篇:天府网点简介