通过启用动态JTAG测试模式进入及所有JTAG引脚的共享来增加数据传输处理量的制作方法

文档序号:16595888发布日期:2019-01-14 19:38阅读:383来源:国知局
通过启用动态JTAG测试模式进入及所有JTAG引脚的共享来增加数据传输处理量的制作方法

背景技术
:已产生、修改以及演进各种技术以用于测试功能性核心,包含逻辑和存储器,以及集成电路(integratedcircuit;ic)上的其它电路,或印刷电路板(printedcircuitboard;pcb)上的多个ic。早期的“钉床”测试技术具有局限性,尤其由于ic中增加的更大规模、更高复杂度和不可接入节点,以及考虑到密集封装的多层pcb。因此,当代的测试通常更(或完全)自动化,且通常涉及输入数据到ic、在输入数据上执行一或多个时钟循环,且随后捕获和输出结果,其中可随后例如通过比较它们与预期结果来分析结果,其中这种比较因而用于验证适当操作,抑或检测不当操作。这种测试部分源于由各种硅制造商构成的联合测试行动组(jointtestactiongroup;jtag)的发现和建议,其随后用作ieee标准1149.1和其后续版本的基础。通过这种标准和这些发展,许多当代的ic包含一定程度的嵌入电路系统和输入/输出接口以有助于测试。根据1149.1,由于其起源还被称作jtag,ic上包含四个或五个引脚,每个引脚对应于相应的专用测试存取端口(testaccessport;tap)信号,以用于测试在ic抑或装配ic的pcb上的互连。具体来说,tap信号可用于确定ic是否适当地运行,其是否连接到pcb,并且还用于通过观测ic引脚状态测得的电压来调试。可以在制造时实现测试,例如通过自动化测试设备(automatedtestingequipment;ate)和现场后续测试(例如,装置已被出售或处于市场中之后)。在ieee1149和它的.x子标准中指定额外细节。作为进一步背景,图1说明具有常规的jtag架构的ic10的电气框图,且其进一步包含边界扫描,但特定设计可能包含jtag而没有边界扫描。出于简化的目的,ic10示出为包含测试存取端口tap控制器12以用于与tap信号介接,并且与jtag测试相关。ic10还包含功能性电路系统14,其有时被称作核心,它是除了jtag测试之外,包含alu、处理电路、逻辑、存储器和其类似者的ic10的各种电路功能的一般描述。ic10还包含多个i/o引脚(有时也被称为垫)p0到p15,其示出为处于装置周界周围的各种位置处。如下文表1所示,引脚p0到p4运载相应和已知的jtagtap相关信号。表1引脚jtag信号功能p0tdo测试数据输出p1trst测试复位p2tms选择测试模式p3tck测试时钟p4tdi测试数据输入如表1中指示,引脚p4允许输入jtag测试数据,且引脚p0输出所述测试数据,而剩余引脚p1到p3提供相应信号到tap控制器12。指令寄存器16存储当前jtag指令,其通常指示相对于接收的信号作出操作(例如,限定应传递哪些数据寄存器信号)。旁路寄存器18是单独位寄存器,其允许tdi绕过单个串联连接的寄存器的边界扫描链,其通常包括一或多个触发器,在本文中被称作单元c0到c15,以便直接从输入传递到输出。id寄存器20被用于存储ic10的id代码和修订号,从而允许ic10连接到存储ic10的边界扫描配置信息的档案。除了jtag相关引脚p0到p4,剩余ic引脚p5到p15中的每一个连接到相应边界扫描单元c5到c15,其中每个这种单元可能双向转移数据,首先能够经由单元将从其相应引脚接收的单元数据传递到功能性电路系统14,且其次沿单元c5到c15的链路。因此,在数据传输第一方式中,这种引脚表示ic10的双向i/o,与功能性电路系统14实现的预期操作结合,在此情况下单元是有效透明的。然而,在数据传输第二方式中(其同样与jtag测试结合),扫描单元c5到c15中的每一个连接到至少一个其它扫描单元,并且可操作以转移来自自身的数据到那一已连接单元,从而形成边界扫描链。出于jtag目的,数据可以由相应引脚输入到每个单元,或由每个单元从功能性电路系统14中捕获,且随后这种数据可以连续沿从低编号到高编号单元方向的链转换,使得测试数据最终从最后一个这种单元c15输出为tdo信息。因此,以所述方式,可以评估来自功能性电路系统14的i/o连接和数据状态,以确认ic10的适当操作。扫描测试不限于使用jtag的边界扫描。一些ic包含额外和非边界或内部单元链(寄存器),其有时被称作stumps(或stumps-使用misr(多输入签名寄存器)和平行srsg(移位寄存器序列产生器)的自测试,self-testingusingmisrandparallelsrsg)。在那种情形下,数据遍及许多引脚被输入到ic,且随后分配到一或多个内部扫描链,其中再次执行一或多个实行循环,且随后结果被捕获到扫描链中且从装置被输出。为实现这种测试,通常输入测试数据可以涉及表示相当大的测试时间和其它资源的相对大的量,因此这种测试组可以减小并且输入到ic,随后解压缩为更大数据组以用于测试;此外,在测试实行循环之后,在输出对应结果数据之前压缩结果。这种方法具有多种益处,但其同样受到限制(例如,在具有相对低引脚数的ic中,因为减小的引脚数目同时限定可以输入到ic的测试数据或从ic输出的测试数据的量)。因此,已出现其它常规的方法来解决这些约束条件,但它们在测试时间方面通常仍然存在一些损失。此外,部分此等方法仅适合与必要的扫描输入数目非常高的情况,但那一要求可能不是许多现代ic的情形,或可能更好地解决ic和测试需求赋予的需求。并且,在常规方法中,特定联合测试行动组引脚有时被用于除jtag数据或jtagtap控制外的目的。举例而言,在一个常规方法中,可以首先使用tms引脚为tap控制器12的控制(以便将jtag有限状态机(finitestatemachine;fsm)置入其16状态中的一个,即运行测试/空闲状态,其中fsm保持空闲,抑或在达到状态时,tms引脚被释放,而随后执行扫描测试)。然而,在那一方法中,在测试完成之后,如果期望替代性测试,那么先前释放的tms引脚不再可供用于控制tap控制器fsm。替代地,在那一方法中,需要上电复位(power-on-reset;por),其通常限定ic的至少一些功能性部分处于复位状态的时间,其例如可以由电阻器和电容器的rc常量限定。在任何情况下,在那一复位状态期间,ic功能性的至少部分不可操作用于输入/输出和其它操作,而替代地允许电源电压足够的时间,且装置的其余状态被恢复到已知启用状态。因此,用于每个这种释放tms引脚后跟着测试和por的重复实例,对于每个连续por事件消耗宝贵的时间且因而增加整体测试时间。在现代装置中,por循环可能导致每por事件100ms的开销,因此tms引脚的多个连续释放显著增加测试时间。作为替代方案,可以始终仅保留tms引脚以提供对于tap控制器的控制,但这种方法因此将tms引脚从提供测试数据的候选项中排除,在此情况下,在不使用那一引脚时,在减小可输入ic的测试数据量方面,存在显著更高的开销。因此,常规的技术具有多种复杂度和缺点。技术实现要素:在所描述实例中,集成电路包含功能性电路系统和测试电路系统。测试电路系统包含可在不同状态中操作的状态机。集成电路还包含引脚,其用于接收信号,其中所述状态机可操作以响应于所述信号的电平的变化而在状态之间转变。所述集成电路还包含电路系统,其用于在第一时间段从所述引脚将处于第一电平的所述信号耦合到所述状态机,以使得所述状态机进入预定状态。集成电路还包含电路系统,其用于在第二时间段使到所述状态机的所述信号维持在所述第一电平,以用于使所述状态机维持在所述预定状态。集成电路还包含电路系统,其用于在所述第二时间段期间将所述引脚处接收的数据耦合到除所述状态机外的目的地电路,其中所述目的地电路可操作以使用来自所述引脚的数据执行连续扫描测试,而无需对所述功能性电路系统进行上电复位。附图说明图1说明具有常规的边界扫描架构的ic10的电气框图。图2根据实例实施例说明ic100的电气框图。图3说明允许tms引脚被有限状态机和扫描电路数据共享的引脚共享电路的电气框图。图4说明操作图3的引脚共享电路的实例方法的流程图。图5说明允许tms引脚被有限状态机和扫描电路数据共享的替代实施例引脚共享电路的电气框图。图6说明允许trst引脚被有限状态机和扫描电路数据共享的替代实施例引脚共享电路的电气框图。具体实施方式图2根据实例实施例说明ic100的电气框图。ic100包含类似于上文结合图1描述的那些块的多种功能块,但在图2中的那些块被编号为图1的附图标记加上100。因此,结合处理jtag信号和ic功能性,ic100包含tap控制器112、功能性电路系统(或核心)114、指令寄存器116、旁路寄存器118和id寄存器120。ic100还包含扫描电路122。扫描电路122代表嵌入于ic中的,用于超出通过可由单元c5到c15组成的扫描链寄存器进行的边界测试的测试。举例而言,扫描电路122可能包含一或多个额外扫描链,其中每个这种链包括多个单元(例如,触发器),数据可以被转换到其中,这种数据随后被功能性电路系统114(其中包含逻辑、存储器或其它功能)实行,且随后结果被存储回相应单元,且被转换到ic100上或者外部,以用于关于结果是否代表被测试的功能性电路系统的适当操作的分析。进一步,就此而言,扫描电路122可能包含解压缩电路系统以用于解压缩输入测试数据(有时被称作测试向量),且随后写入经解压缩输入测试数据到扫描链,且同样到压缩电路系统以用于按压测试实行循环之后每个扫描链中的结果输出测试数据,其中经压缩数据随后被输出以用于分析。其它机载测试电路系统也可以包含在扫描电路122中。然而,在任何情况下,相对于实例实施例,扫描电路122可以接收对应于jtagtms和trst信号中的一个或两个的输入,即,可以经由引脚p1和p2中的任一个或两个提供测试数据以用于这种扫描测试。进一步,就此而言,ic100还包含引脚共享电路124,其连接到引脚p1和p2,以用于分别接收jtagtms和trst信号。如下文中进一步描述,引脚共享电路124可能将tms和trst信号中的任一个或两个传递到扫描电路122,从而允许那些信号在特定时段期间提供用于扫描测试的测试数据,而同时扫描电路122还将被示出为tms'和trst'的jtag副本信号提供到tap控制器112,其被代替实际tms和trst信号接收和处理,即,伴随被jtag状态机接收,这些tms'和trst'相应信号的状态提供jtag兼容(例如,通过ieee1194.1),而同时jtagtms和trst引脚可以输入测试数据到扫描电路120。最后ic100上的多种其它引脚也可以提供测试数据到扫描电路120,但这种连接在本文中未示出抑或描述,以便简化和聚焦于关于tms和trst信号,以及对应于那些信号的引脚的实例实施例方面描述。图3结合tms信号说明来自图2的引脚共享电路124的电气框图的更多细节。tms信号被连接到输入130。输入130被连接到多路复用器132的输入1320、多路复用器134的输入1340和多路复用器136的输入1361。对于本文描述的这些和其它多路复用器,输入上的下标是将选择相应输入的控制信号的陈述。举例来说,对于多路复用器132,其受到自动测试模式产生(automatictestpatterngeneration;atpg)信号控制,因而如果atpg=0,那么多路复用器132的输入1320被选择用于多路复用器输出,而如果atpg=1,那么多路复用器132的输入1321被选择用于多路复用器输出。现描述到多路复用器132、134和136的剩余连接。多路复用器132的输入1321被连接到多路复用器134的输出,且多路复用器132的输出提供tms'信号tap控制器112,并且,更确切地说,到控制器的有限状态机(fsm)112fsm。多路复用器134的输入1341被连接到接地,且多路复用器134的控制信号是scanen(即,扫描启用)信号,其可以相对于ic100在内部抑或外部提供,并且如同随后进一步描述,在特定测试步骤期间启用scanen。用于多路复用器136的控制信号也是scanen信号,并且多路复用器136的输出被连接成将来自引脚130的tms数据向前提供到扫描电路122。多路复用器136的输入1360被示出为接收逻辑“免关注”信号(示出为x),这是因为在这个实施例中,当scanen=0时,提供到扫描电路122的任何信息都不相关,如同在那一时间期间电路中的扫描未发生一样。现结合图4中的流程图示出的一种方法200的操作,描述图3的引脚共享电路124的操作。方法200被示出为以起始步骤202开始,后跟着por步骤204,这例如可能在ic100被首先启用时发生。在por步骤204,如果被起始,那么ic100开始jtag模式步骤206。举例来说,在具有专用jtag引脚的装置中,一个进入jtag模式的方式是保持tms为高且将tck脉冲五次。作为另一实例,在具有一些共享jtag引脚的装置中,装置可能包含额外引脚(例如,test)引脚,其可以进入步骤206的方式被断言。在任何情况下,步骤206之后是步骤208,其确定jtag模式是否执行扫描类型测试,这可以由可编程核心数据寄存器中的另外的位来指示。如果步骤208回答为肯定,那么方法200继续到步骤210,而如果步骤208回答为否定,那么方法200继续到步骤212。在步骤210中,为0的tms信号配置扫描模式类型,即,从已知的jtag状态机,以tms=0的值更新数据/指令寄存器将fsm配置为扫描模式的运行测试空闲状态。同样在步骤210期间,断言atpg模式。步骤214代表实例实施例额外步骤,其如同将示出的那样,促使tms引脚(例如,在图2中的引脚p2)的用途被共享,即,在一些情况下控制tap控制器fsm,在其它情况下用于提供扫描数据,其中这两个选项之间的额外选择率是通过额外信号实现,其在实例实施例中是scanen信号。具体来说,在实例实施例中,当期望共享tms引脚以在测试期间提供扫描数据时,scanen被设定成一,或在指定的预期测试模式性质下被用作已设定为一,作为引脚共享电路124中的控制以便允许这一结果。相反地,在tms引脚状态为管控fsm112fsm时,scanen被设定成零。因此,步骤214代表基于上文列出两个选项评估scanen值的条件步骤,其因此引导控制。因此,如果scanen=1,那么方法200从步骤214继续步骤216,而如果scan=0,那么方法200从步骤214回到步骤208。在因scanen=1而达到的步骤216中,图2的引脚共享电路124操作以提供信号tms',从而在引脚p2处维持紧接在前的信号值不等于tms的值,以此保持fsm112fsm处于其运行空闲/测试状态,同时并行地允许引脚p2处的tms的值被引导到ic200上fsm之外的目的地,即,使得引脚p2可在此时间期间提供数据以用于一些其它用途,例如扫描数据。确切地说,再次参考图3,scanen=1时,多路复用器134在其输入1341处选择接地(即,逻辑0),且输出那一逻辑0到多路复用器132的输入1321;进一步,由于atpg=1(如上所述),多路复用器132将这一相同的逻辑0作为tms'信号输出到tap控制器fsm112fsm。由于这一连接,接地的绑定值被呈现给tap控制器fsm112fsm,以便匹配紧接先前从引脚p2提供的低电平,并且从而在信号电平保持在那一值时,并且根据jtag阶段机的ieee规范,tap控制器fsm112fsm在运行测试/空闲状态期间接收的低值从而将其维持为运行测试/空闲状态。继续从步骤216到步骤218示出方法200。在此时间期间,步骤216连接逻辑0的绑定值到tap控制器fsm112fsm且从而将其维持为运行测试/空闲状态,而同时(在步骤218中)这一独立绑定值从而释放引脚p2处的tms输入为空闲可用于一些其它用途,这是因为随后不需要传达逻辑0到状态机。因此,在实例实施例中,在这一释放时间段期间,引脚p2处的tms输入被提供到除fsm外的目的地,并且优选地可用于为ic100提供扫描测试数据。就此而言,且再次参考图3,引脚p2处的tms输入被连接到多路复用器136的输入1361。此外,因为scanen=1(参见步骤214),所以多路复用器136的输入1361将来自引脚p2处的tms输入的数据传递到扫描电路122。因此,这种数据可被用作测试数据,例如除随后从ic100的其它引脚(包含其它jtag引脚)输入的数据以外的测试数据。因此,就此而言,相比于针对数据的引脚p2的额外应用不可用的情况,在步骤218扫描测试期间从引脚p2提供额外数据带宽。这种扫描测试可能随后继续,直到合乎希望地结束为止,在那一点方法200从步骤218继续到步骤220。步骤220确定是否期望不同测试模式。举例来说,可能适用于在步骤220(和步骤208)中的确定的多种测试模式包含pbist、直流参数测试、快闪测试、efuse测试、边界扫描测试,和其它已知或可确定测试。如果不需要不同测试模式,那么方法200继续到结束步骤222,从而终止方法流程。如果相反地期望不同测试模式,那么方法200从步骤220继续到步骤224。步骤224将scanen返回到0值,其中scanen到步骤214为止等于1值,这一值将流程推进到步骤224之前的其它步骤。再次参考图3,通过scanen=0,多路复用器134选择其输入1340,其为来自引脚p2的tms数据,并且那一数据被输出到多路复用器132。进一步相对于多路复用器132,因为atpg保持为1,所以多路复用器132将tms数据作为示出为tms'的信号输出到fsm112fsm。因此,在步骤224中,tms引脚p2被恢复以用于向tap控制器fsm提供控制,而不是如同在步骤218中的情况那样用于以提供额外测试数据。步骤224之后,方法200返回到步骤208,其中那一步骤的功能如上文所描述那样重复。因此,通过从步骤210到224的第一遍历,可以使用tms引脚(p2)进行第一扫描类型测试以用于传输额外测试数据,且随后流程可以再次回到步骤208以进行那些步骤的第二次或其它后续遍历,在此情况下tms引脚(p2)可再次用于传输额外测试数据。因此,对于步骤210到224的遍历组成的每一组步骤,使用tms引脚有助于额外测试数据带宽,并且可以这种方式使用每个连续扫描类型测试而不需要ic100的por。相反地,常规技术(如果期望tms引脚对于fms控制和扫描测试数据的双重共享)需要这种por,从而妨碍提供电力和/或时钟信号到集成电路的特定功能部分,并且增加整体测试时间。因此,实例实施例替代地允许动态回复tms引脚到其fsm控制功能性,而不需要集成电路的重启或其它por事件。完成方法200时,如果在步骤208中不期望扫描类型测试模式,那么方法200继续到步骤212,其中可能发生非扫描测试模式,例如存储器测试(通过pbist)、dmled、i/oefuse等。因此,步骤212根据待实现的测试配置非扫描测试模式,并且步骤226随后执行那一测试。随后,步骤228以与步骤220相同的方式操作,即,其确定是否期望不同测试模式,在那一情况下方法200返回到步骤208,或如果不需要,那么方法200在步骤222结束。同样,在完成图3的操作时,其中的结构同样在未断言atpg模式(即,当atpg=0时)有助于期望的连通性。在此情况下,多路复用器132在其输入1320处选择和输出数据,从而将引脚p2处的tms数据连接到fsm112fsm,且将其表示为tms'。因此,当atpg=0时,tms信号作为控制被连接到tap控制器fsm。替代实施例将其延伸到实施通道掩模载入启动(channelmaskloadenable;clme)的架构,例如步调扫描架构,其中cmle还控制tapfsm。在图5中示出这种方法,其类似于图3,且因此,在两个图示中使用类似的附图标记以用于类似元件。然而,图5的实例包含额外两个多路复用器138和140,它们都具有cmle作为控制输入,且如下文中所描述的那样连接。多路复用器138被连接成在其输入1380处接收tms引脚数据,其输入1381被连接到接地,且其输出被连接到多路复用器134的输入1340。多路复用器140被连接成在其输入1401处接收tms引脚数据,其输入1400被连接到接地,且其输出被连接到多路复用器136的输入1360。通过扩充已经描述的图3引脚共享电路124的操作,在下文描述图5的引脚共享电路124的操作。在非atpg模式期间,atpg=0,在此情况下多路复用器132选择其输入1320,从而直接将tms输入(例如,从引脚p2)连接到fsm112fsm。当设定atpg模式(即,atpg=1)时,可以设定scanen抑或cmle模式,在此情况下最终多路复用器134将直接绑定的0值作为tsm信号(示出为tsm')提供到fsm112fsm。因此,当atpg=1且cmle=1时,scanen=0,且多路复用器138将接地值从输入1381连接到输入1340,且多路复用器134将值传递到多路复用器132的输入1321,且将接地(即,数位0)连接到fsm112fsm,从而维持fsm处于运行测试/空闲状态。同时,多路复用器140将其输入1401处的tms数据连接到多路复用器136的输入1360,且多路复用器136传递那一数据到扫描电路122。或,当atpg=1且scanen=1时,cmle=0,且多路复用器134将接地值从输入1341连接到多路复用器132的输入1321,其将接地(即,数位0)连接到fsm112fsm,从而将fsm维持为运行测试/空闲状态。同时,多路复用器136将其输入1361处的tms数据连接到扫描电路122。因此,考虑到上文的描述,对于启用的scanen抑或cmle,fsm保持为其运行测试/空闲状态,而tms引脚能够提供额外测试数据到扫描电路122。图2说明引脚共享电路124可以传达rms抑或trst信号到扫描电路122,伴随将信号tms'和trst'提供到tap控制器112。因此,关于trst信号,图6说明替代实施例引脚共享电路124',其可以代替或与上文描述的说明引脚共享电路124的其它实例实施例的方面合并使用,且结合trst信号。因此,在图6中,信号输入和多路复用器路径涉及jtagtrst信号,而非tms信号。就此而言,在图2中结合引脚p1示出且描述trst信号。此外,trst信号使得0值重置fsm,而1值将不改变fsm状态。因此,在常规技术中,有时使用独立trst引脚,且那一引脚因此在其断言1值时被占据且不可用于替代性用途,以免改变fsm状态。在实例实施例中,相比于常规技术,引脚共享电路124'包含类似于多路复用器134和138的多路复用器,前者用于保持tms信号的fsm112fsm为0值,同时由此释放tms引脚以提供测试数据。但在电路124'中,这些多路复用器被示出为多路复用器134'和138',且用于保持trst信号的fsm112fsm为1值,同时由此释放trst引脚以提供测试数据。更确切地说,当设定atpg模式(即,atpg=1)时,可以设定scanen抑或cmle模式,在此情况下相关多路复用器134'将直接绑定的1值作为trst信号(示出为trst')提供到fsm112fsm。因此,当atpg=1且cmle=1时,scanen=0,且多路复用器138将对应于数位值一的相对较高电压(例如,vcc)从输入138'1连接到输入134'0,且多路复用器134'传递那一值到多路复用器132'的输入132'1,其将高电压(即,一)连接到fsm112fsm,从而不重置fsm。同时,多路复用器140将其输入1401处的trst数据连接到多路复用器136的输入1360,且那一多路复用器136传递那一数据到扫描电路122。或者,当atpg=1且scanen=1时,cmle=0,且多路复用器134'将相对较高电压从输入134'1连接到多路复用器132'的输入132'1,其将高电压(即,一)连接到fsm112fsm,从而不重设fsm。同时,多路复用器136将其输入1361处的trst数据连接到扫描电路122。因此,考虑到上文的描述,对于启用的scanen抑或cmle,在trst引脚能够提供额外测试数据时,fsm不被复位。考虑到上文的描述,实例实施例提供ic和印刷电路板(pcb)的数据扫描的数据吞吐量的改进。确切地说,实例实施例ic允许共享tms或trstjtag引脚中的任一个,其可以与其它方法组合来本身共享多种(或全部)jtag引脚来接收jtag信号抑或测试数据,以用于增加处理量。如果有更少的这种引脚可用,那么可以使用额外的引脚,从而可以更好地缩短测试时间。实际上,对于固定或tft测试(过渡故障测试/速度测试),通过将扫描输入和输出的数目从8增加到9,可以实现31%到38%范围内的测试时间节省。此外,已结合扫描操作描述实例实施例,但可以实施替代性实施例以允许tms抑或trst引脚提供其它数据,例如直接存储器加载执行转储(directmemoryloadexecuteddump;dmled),其中通过指定用于这种下载的额外引脚,可以高度地加速费时的固件下载。可以实现实例实施例优势,例如设计开销的相对最低改变(例如,添加几个多路复用器),而不损害数据的能观性或能控性,且不干扰内部测试架构。此外,无需对供应商测试工具作出必要改变即可改进测试,并且允许在任何阶段进行调试。实例实施例不限于扫描,且同样可在功能性操作期间使用,例如连同jtag介面的功能数据转移期间(例如spi转移等)。在所描述的实施例中可能进行修改,且其它实施例在权利要求的范围内为可能的。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1