CN103036737B - 一种大规模微***芯片的片上多节点***的自测试方法 - Google Patents

一种大规模微***芯片的片上多节点***的自测试方法 Download PDF

Info

Publication number
CN103036737B
CN103036737B CN201210522345.4A CN201210522345A CN103036737B CN 103036737 B CN103036737 B CN 103036737B CN 201210522345 A CN201210522345 A CN 201210522345A CN 103036737 B CN103036737 B CN 103036737B
Authority
CN
China
Prior art keywords
router
label
test
output channel
information
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
Application number
CN201210522345.4A
Other languages
English (en)
Other versions
CN103036737A (zh
Inventor
惠志达
阿克塞尔·詹奇
鲁中海
朱红雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Memcomsoc Microelectronics Co Ltd
Original Assignee
Memcomsoc Microelectronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Memcomsoc Microelectronics Co Ltd filed Critical Memcomsoc Microelectronics Co Ltd
Priority to CN201210522345.4A priority Critical patent/CN103036737B/zh
Publication of CN103036737A publication Critical patent/CN103036737A/zh
Application granted granted Critical
Publication of CN103036737B publication Critical patent/CN103036737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种大规模微***芯片的片上多节点***的自测试方法,主要包括:对片上多节点***中的路由器Router进行初始化设置,并设定测试源Test Source;该测试源Test Source,能够在片上多节点***启动时,启动路由器的并行自测试流程,统计并行自测试流程的测试信息。本发明所述大规模微***芯片的片上多节点***的自测试方法,可以克服现有技术中无法测试片上多节点***中路由器之间的互连线路等缺陷,以实现测试结果准确和总体测试时间少的优点。

Description

一种大规模微***芯片的片上多节点***的自测试方法
技术领域
本发明涉及芯片测试领域,具体地,涉及一种大规模微***芯片的片上多节点***的自测试方法。
背景技术
由于具有良好的可扩展性以及在芯片性能和硬件开销以及功耗方面的优势,片上网络(Network-on-Chip,NoC)互连结构正逐渐成为大规模微***芯片(System-on-Chip,SoC)设计的趋势。
NoC按拓扑结构规则性可以分成两种:一,同构互连网络,即适用于相同IP核互连的规则架构,如Mesh架构,fat trees架构等;二,异构互连网络,即适用于不同IP核互连的不规则架构,如集成了CPU、DSP、RAM、Co-process等不同IP核的互连架构。然而,NoC的广泛使用依赖于对它的测试方法的不断完善。
参考文献[1]介绍了对采用NoC作为互连结构的SoC的测试的各个方面,包括对IP核的测试,以及对网络互连本身的测试。对网络互连的测试也包括两个方面:一,对路由器Router(在参考文献[1]称为交换开关Switch)的测试;二,对Router之间的互连线路的测试。参考文献[1]还具体地提出了对Router(或称Switch)的测试方法。参考文献[2]对参考文献[1]中提出的方法提出了一些改进,但并未对Router之间的互连线路提出具体的测试方法。
参考文献
[1]Grecu C,Pande P,Baosheng Wang;Methodologies and Algorithms for Testing Switch-Based NoC Interconnects;International Symposium on Defect and Fault Tolerance in VLSI Systems,Washington,2005:238-246。
[2]欧阳一鸣,齐芸,梁华国;一种片上网络路由器的测试方法;电信科学,2010年03期。
实际上,在对NoC芯片的Router以及IP核等其他部件进行测试之前,如何通过对互连线路快速有效的内建自测试来确保其畅通,是整个NoC芯片的测试中的第一步。所以,如何控制对互连线路的测试流程以及统计其测试信息并判断测试是否结束,是一个关键的问题,而目前并无该技术。
发明内容
本发明的目的在于,针对上述问题,提出一种大规模微***芯片的片上多节点***的自测试方法,以实现测试结果准确和总体测试时间少的优点。
为实现上述目的,本发明采用的技术方案是:一种大规模微***芯片的片上多节点***的自测试方法,主要包括:
对片上多节点***中的路由器(Router)进行初始化设置,并设定测试源(Test Source);
该测试源(Test Source),能够在片上多节点***启动时,启动路由器的并行自测试流程,统计并行自测试流程的测试信息。
进一步地,所述对片上多节点***中的路由器进行初始化设置的操作,具体包括:
对片上多节点***中的每个路由器,增加并行测试功能和发送测试信息功能;
对片上多节点***中多个路由器之间的互连线路进行分类。
进一步地,所述对片上多节点***中多个路由器之间的互连线路进行分类的操作,具体包括:
将片上多节点***中多个路由器之间的互连线路,分为数据输入通道DIC、数据输出通道DOC、触发输入通道TIC、触发输出通道TOC、反馈输入通道FIC和反馈输出通道FOC。
进一步地,上述路由器的并行测试流程,具体包括:
标号为X的路由器Router(X)对其所有的数据输出通道(DOC)同时执行测试流程,设Z为与标号为X的路由器Router(X)直接连接的任意路由器的标号,Y为成功触发标号为X的路由器Router(X)的路由器标号,0为测试源(Test Source)的标号,则该测试流程如下:
⑴经标号为X的路由器至标号为Z的路由器的数据输出通道DOC(X→Z)发送一系列测试向量(Test Vector);
⑵若在限定时间内未从相应的标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)接收到测试反馈信息,则认为此次测试超时,并经标号为X的路由器至标号为Z的路由器的数据输出通道DOC(X→Z)重新发送一系列测试向量(Test Vector);
若测试超时的次数达到预先设置的上限值,则判定标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)不通,再经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送不通(Fail)(ID=FIC(X←Z),NS=Y,FS=0)信号;然后,跳转到第⑺步;
在该不通(Fail)信号中,包含标号为Z的路由器至标号为X的路由器Router(X)的反馈输入通道的标号ID=FIC(X←Z)、下一站路由器(NS)的标号Y和标号0的终点站(FS)的标号即测试源(Test Source)的标号0;
⑶如果从标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)接收到测试反馈信息是通畅/不通 Pass/Fail,则说明标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)通畅,并判断出标号为X的路由器至标号为Z的路由器的数据输出通道DOC(X→Z)是通畅/不通,于是经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送相应的通畅/不通(Pass/Fail)(ID=DOC(X→Z),NS=Y,FS=0)信号;
在该通畅/不通信号中,包含标号为X的路由器至标号为Z的路由器的数据输出通道的标号ID=DOC(X→Z)、下一站路由器(NS)的标号Y和标号为0的终点站(FS)的标号即测试源Test Source的标号0;
⑷向标号为Z的路由器Router(Z),经标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z),发送内建自测试触发(BIST_Trigger)信号;
⑸若在预先设置的限定时间内,未从标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)接收到触发反馈信息,则认为此次触发超时,并经标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z)重新发送内建自测试触发(BIST_Trigger)信号;
若触发超时次数达到预先设置的上限值,则判定标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z)不通,然后经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送不通(Fail)(ID=TOC(X→Z),NS=Y,FS=0)信号;然后,跳转到第⑺步;
在该不通(Fail)信号中,包含标号为X的路由器至标号为Z的路由器的触发输出通道的标号ID=TOC(X→Z)、下一站路由器(NS)的标号Y和标号为0的终点站(FS)的标号即测试源Test Source的标号0;
⑹如果从标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)接收到标号为Z的路由器Router(Z)发送的测试完成Tested信号,则经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送相应的测试状态标识,即已测试标识Tested;
如果从标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)接收到标号为Z的路由器Router(Z)发送的触发成功信号Triggered,则经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送相应的测试状态标识,即已触发标识Triggered;
在该已测试状态标识测试Tested信号Tested和该已触发测试状态标识触发Triggered信号标识Triggered中,均包含标号为X的路由器至标号为Z的路由器的触发输出通道的地址ID=TOC(X→Z)、标号为Y的路由器的下一站路由器(NS)=Y下一站路由器(NS)的标号Y和标号为0的测试源的终点站(FS)=0终点站(FS)的标号即测试源Test Source的标号0;
⑺将标号为X的路由器至标号为Z的路由器的数据输入通道DOC(X→Z)对应的端口Port_Done(X→Z)置1。
进一步地,上述路由器的并行测试流程,具体还包括:
任意一个标号为X的路由器Router(X)在接收到另一个标号为Y的路由器Router(Y)发来的内建自测试触发(BIST_Trigger)信号后,能根据测试完成标识BIST_Done是否为0或者1来分别执行如下操作:
a、若标号为X的路由器Router(X)自测试完成标识BIST_Done为0时,则标号为X的路由器Router(X)依次执行:
①将测试完成标识BIST_Done置1,使标号为X的路由器Router(X)不会因为其他触发输入通道接收到新的内建自测试触发(BIST_Trigger)信号而再次被触发,同时将标号Y记录为标号为X的路由器Router(X)的触发源路由器标号Source Router ID(简称SR(X));
②经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)向标号为Y的路由器Router(Y)发送触发反馈信息,即为发送触发成功信号Triggered;
③按照步骤⑴~⑺执行相应的并行测试流程,并行地测试的标号为X的路由器Router(X)的所有数据输出通道;
④当所有数据输入通道DOC对应的端口Port_Done都已置1,则经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送相应的测试状态标识,即节点测试完成标识Done;
在该节点测试完成标识中,包含标号X、下一站路由器(NS)的标号Y和终点站(FS)的标号即测试源Test Source的标号0;
b、若标号为X的路由器Router(X)自测试完成标识BIST_Done为1时,则经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y) 向标号为Y的路由器Router(Y)发送触发反馈信息,即为发送测试完成信号(Tested)。
进一步地,上述路由器的并行测试流程,具体还包括:
任意一个标号为X的路由器Router(X)从标号为Y的路由器至标号为X的路由器的反馈输入通道FIC(X←Y) 接收到测试信息(Testing Information),则顺序地执行下列两步:
将下一站路由器(NS)更新为标号为X的路由器Router(X)中的触发源路由器标号SR(X)的值;
若标号为X的路由器至它的触发源路由器的反馈输出通道FOC(X→SR(X))对应的先入先出(FIFO)队列为空,则直接向测试源(Test Source)发送更新后的测试信息(Testing Information),否则,将更新后的测试信息(Test Information)加入该先入先出FIFO队列中。
进一步地,上述路由器的并行测试流程,具体还包括:
测试源(Test Source)的信息统计功能,即在信息统计(Test_Summary)模式时,根据与测试源直接相连的路由器Router(1)发送来的不同信息,在测试源统计模块(Summary Block)中作出信息记录工作,并判断整个测试是否完成,其操作流程具体如下:
1)如果是包含标号为Z的路由器至标号为X的路由器的反馈输入通道标号ID=FIC(X←Z)不通信号(Fail),则在测试源统计模块(Summary Block)中记录:标号为X的路由器Router(X)信息栏中将标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)置为不通(Fail);标号为Z的路由器Router(Z)信息栏中将标号为Z的路由器至标号为X的路由器的反馈输出通道FOC(Z→X)置为不通(Fail);
2)如果是包含标号为X的路由器至标号为Z的路由器的数据输出通道的标号ID=DOC(X→Z)的通畅/不通信号(Pass/Fail),则在测试源统计模块(Summary Block)中记录:标号为X的路由器Router(X)信息栏中将标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)置为通畅(Pass),将标号为X的路由器至标号为Z的路由器的数据输出通道DOC(X→Z)置为通畅/不通(Pass/Fail);将标号为Z的路由器Router(Z)信息栏中标号为X的路由器至标号为Z的路由器的反馈输出通道FOC(Z→X)置为通畅(Pass),将标号为X的路由器至标号为Z的路由器的数据输入通道DIC(Z←X)相应地置为通畅/不通(Pass/Fail);
3)如果是包含标号为X的路由器至标号为Z的路由器的触发输出通道的标号ID=TOC(X→Z)的不通信号(Fail),则在测试源统计模块(Summary Block)中记录:标号为X的路由器Router(X)信息栏中将标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z)置为不通(Fail);标号为Z的路由器Router(Z)信息栏中将标号为X的路由器至标号为Z的路由器的触发输入通道TIC(Z←X)置为不通(Fail);
4)如果是包含标号为X的路由器至标号为Z的路由器的触发输出通道的标号ID=TOC(X→Z)的已测试标识Tested,则在测试源统计模块(Summary Block)中记录:标号为X的路由器Router(X)信息栏中将标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z)置通畅Pass;标号为Z的路由器Router(Z)信息栏中将标号为X的路由器至标号为Z的路由器的触发输入通道TIC(Z←X)置通畅Pass;
5)如果是包含标号为X的路由器至标号为Z的路由器的触发输出通道的标号ID=TOC(X→Z)的已触发标识Triggered,则在测试源统计模块(Summary Block)中记录:标号为X的路由器Router(X)信息栏中将标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z)置为通畅Pass;标号为Z的路由器Router(Z)信息栏中将标号为X的路由器至标号为Z的路由器的触发输入通道TIC(Z←X)置为通畅Pass,测试状态标识更新为路由器已触发状态Router_Triggered;
6)如果是包含标号X的节点测试完成标识Done,则在测试源统计模块(Summary Block)中记录:标号为X的路由器Router(X)信息栏中将测试状态标识更新为路由器测试完成状态Router_Done;然后在测试源统计模块(Summary Block)中查询所有路由器Router的测试状态标识,并依据以下不同可能作出不同操作:
(a) 有路由器已触发标识(Router_Triggered),则表示测试尚未完成,于是使测试源(Test Source)保持在测试统计模式(Test_Summary Mode)并等待下一个测试信息(Testing Information);
(b) 没有路由器已触发标识(Router_Triggered)但有路由器未测试标识(Router_UnTested),则表示测试遇到故障而停止;于是使测试源(Test Source)退出测试统计模式(Test_Summary Mode),并将测试源(Test Source)设置为测试失败(Test_Fail)模式;
(c) 只有节点测试完成标识(Router_Done),则表示测试完成;于是使测试源(Test Source)退出测试统计模式(Test_Summary Mode),并将测试源(Test Source)设置为测试成功(Test_Pass)模式。
本发明各实施例的大规模微***芯片的片上多节点***的自测试方法,由于主要包括:对片上多节点***中的路由器(Router)进行初始化设置,并设定测试源(Test Source);该测试源(Test Source),能够在片上多节点***启动时,启动路由器的并行自测试流程,统计并行自测试流程的测试信息;可以使得各个路由器之间的互连线路可以实现并行测试,并可以与对片上网络其他模块的测试相融合;从而可以克服现有技术中无法测试片上多节点***中路由器之间的互连线路的缺陷,以实现测试结果准确和总体测试时间少的优点。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为一个分布式异构互连网络示意图,其中测试源Test Source标号为0,与测试源直接连接的路由器Router的标号为1;
图2为路由器X对通道X→Z的测试流程图,其中Y为成功触发路由器X的路由器标号;
图3为路由器X接收到触发通道X←Y后的操作流程图;
图4为测试源统计测试信息的操作流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
根据本发明实施例,如图1-图4所示,提供了一种大规模微***芯片的片上多节点***的自测试方法,属于大规模的微***芯片(System-on-Chip,SoC)的一种测试方法,具体地说是一种对采用片上网络(Network-on-Chip,NoC)作为互连结构的SoC内各路由器(Router)间的互连线路进行的内建自测试(Build-In Self Test,BIST)方法。可以对采用片上网络作为互连结构的微***芯片内路由器间的互连线路的内建自测试技术,可以对片上网络的测试控制流程,适用于对同构互连网络和异构互连网络中的互连线路的测试。
本实施例的大规模微***芯片的片上多节点***的自测试方法,主要包括:对片上多节点***中的路由器(Router)进行初始化设置,具体包括:对片上多节点***中的每个路由器,增加并行测试功能和发送测试信息功能;对片上多节点***中多个路由器之间的互连线路进行分类;其中,对片上多节点***中多个路由器之间的互连线路进行分类的操作,具体包括:
将片上多节点***中多个路由器之间的互连线路分类为:数据输入通道(Data Input Channel,简称DIC),数据输出通道(Data Output Channel,简称DOC),触发输入通道(Trigger Input Channel,简称TIC),触发输出通道(Trigger Output Channel,简称TOC),反馈输入通道(Feedback Input Channel,简称FIC),反馈输出通道(Feedback Output Channel,简称FOC);
设定测试源(Test Source);该测试源(Test Source),能够在片上多节点***启动时,启动路由器的并行自测试流程,统计并行自测试流程的测试信息。
在上述实施例中,上述路由器的并行测试流程,具体包括:
标号为X的路由器Router(X)对其所有的数据输出通道(DOC)同时执行测试流程,设Z为与标号为X的路由器Router(X)直接连接的任意路由器的标号,Y为成功触发标号为X的路由器Router(X)的路由器标号,0为测试源(Test Source)的标号,则该测试流程如下:
⑴经标号为X的路由器至标号为Z的路由器的数据输出通道DOC(X→Z)发送一系列测试向量(Test Vector);
⑵若在限定时间内未从相应的标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)接收到测试反馈信息,则认为此次测试超时,并经标号为X的路由器至标号为Z的路由器的数据输出通道DOC(X→Z)重新发送一系列测试向量(Test Vector);
若测试超时的次数达到预先设置的上限值,则判定标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)不通,再经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送不通(Fail)(ID=FIC(X←Z),NS=Y,FS=0)信号;然后,跳转到第⑺步;
在该不通(Fail)信号中,包含标号为Z的路由器至标号为X的路由器Router(X)的反馈输入通道的标号ID=FIC(X←Z)、下一站(Next Stop,简称NS)的标号Y和标号为0的终点站(Final Stop,简称FS)终点站(FS)的标号即测试源Test Source的标号0;
⑶如果从标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)接收到测试反馈信息是通畅/不通 Pass/Fail,则说明标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)通畅,并判断出标号为X的路由器至标号为Z的路由器的数据输出通道DOC(X→Z)是通畅/不通,于是经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送相应的通畅/不通(Pass/Fail)(ID=DOC(X→Z),NS=Y,FS=0)信号;
在该通畅/不通信号中,包含标号为X的路由器至标号为Z的路由器的数据输出通道的标号ID=DOC(X→Z)、下一站路由器(NS)的标号Y和标号为0的终点站(FS)的标号即测试源Test Source的标号0;
⑷向标号为Z的路由器Router(Z),经标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z),发送内建自测试触发(BIST_Trigger)信号;
⑸若在预先设置的限定时间内,未从标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)接收到触发反馈信息,则认为此次触发超时,并经标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z)重新发送内建自测试触发(BIST_Trigger)信号;
若触发超时次数达到预先设置的上限值,则判定标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z)不通,然后经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送不通(Fail)(ID=TOC(X→Z),NS=Y,FS=0)信号;然后,跳转到第⑺步;
在该不通(Fail)信号中,包含标号为X的路由器至标号为Z的路由器的触发输出通道的标号ID=TOC(X→Z)、下一站路由器(NS)的标号Y和标号为0的终点站(FS)的标号即测试源Test Source的标号0;
⑹如果从标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)接收到标号为Z的路由器Router(Z)发送的测试完成信号Tested,则经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送相应的测试状态标识,即已测试标识Tested;
如果从标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)接收到标号为Z的路由器Router(Z)发送的触发成功信号Triggered,则经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送相应的测试状态标识,即已触发标识Triggered;
在该已测试状态标识测试完成信号Tested和该测试状已触发标识触发成功信号Triggered中,均包含标号为X的路由器至标号为Z的路由器的触发输出通道的地址ID=TOC(X→Z)、下一站路由器(NS)的标号Y和终点站(FS)的标号即测试源Test Source的标号0;
⑺将标号为X的路由器至标号为Z的路由器的数据输入通道DOC(X→Z)对应的端口Port_Done(X→Z)置1。
在上述实施例中,任意一个标号为X的路由器Router(X)在接收到另一个标号为Y的路由器Router(Y)发来的内建自测试触发(BIST_Trigger)信号后,能根据测试完成标识BIST_Done是否为0或者1来分别执行如下操作:
a、若标号为X的路由器Router(X)自测试完成标识BIST_Done为0时,则标号为X的路由器Router(X)依次执行:
①将测试完成标识BIST_Done置1,使标号为X的路由器Router(X)不会因为其他触发输入通道接收到新的内建自测试触发(BIST_Trigger)信号而再次被触发,同时将标号Y记录为标号为X的路由器Router(X)的触发源路由器标号Source Router ID(简称SR(X));
②经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)向标号为Y的路由器Router(Y)发送触发反馈信息,即为发送触发成功信号Triggered;
③按照步骤⑴~⑺执行相应的并行测试流程,并行地测试的标号为X的路由器Router(X)的所有数据输出通道;
④当所有数据输入通道DOC对应的端口Port_Done都已置1,则经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送相应的测试状态标识,即节点测试完成标识Done;
在该节点测试完成标识中,包含标号X、下一站路由器(NS)的标号Y、标号为0的终点站(FS)的标号即测试源Test Source的标号0;
b、若标号为X的路由器Router(X)自测试完成标识BIST_Done为1时,则经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y) 向标号为Y的路由器Router(Y)发送触发反馈信息,即为发送测试完成信号(Tested)。
在上述实施例中,任意一个标号为X的路由器Router(X)从标号为Y的路由器至标号为X的路由器的反馈输入通道FIC(X←Y) 接收到测试信息(Testing Information),则顺序地执行下列两步:
将下一站路由器(NS)更新为标号为X的路由器Router(X)中的触发源路由器标号SR(X)的值;
若标号为X的路由器至它的触发源路由器的反馈输出通道FOC(X→SR(X))对应的先入先出(FIFO)队列为空,则直接向测试源(Test Source)发送更新后的测试信息(Testing Information),否则,将更新后的测试信息(Test Information)加入该先入先出FIFO队列中。
在上述实施例中,测试源(Test Source)的信息统计功能,即在信息统计(Test_Summary)模式时,根据与测试源直接相连的路由器Router(1)发送来的不同信息,在测试源统计模块(Summary Block)中作出信息记录工作,并判断整个测试是否完成,其操作流程具体如下:
1)如果是包含标号为Z的路由器至标号为X的路由器的反馈输入通道标号ID=FIC(X←Z)不通信号Fail,则在测试源统计模块(Summary Block)中记录:标号为X的路由器Router(X)信息栏中将标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)置为不通(Fail);标号为Z的路由器Router(Z)信息栏中将标号为Z的路由器至标号为X的路由器的反馈输出通道FOC(Z→X)置为不通(Fail);
2)如果是包含标号为X的路由器至标号为Z的路由器的数据输出通道的标号ID=DOC(X→Z)的通畅/不通(Pass/Fail),则在测试源统计模块Summary Block中记录:标号为X的路由器Router(X)信息栏中将标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)置为通畅Pass,将标号为X的路由器至标号为Z的路由器的数据输出通道DOC(X→Z)相应地置为通畅/不通Pass/Fail;将标号为Z的路由器Router(Z)信息栏中标号为X的路由器至标号为Z的路由器的反馈输出通道FOC(Z→X)置为通畅Pass,将标号为X的路由器至标号为Z的路由器的数据输入通道DIC(Z←X)相应地置为通畅/不通Pass/Fail;
3)如果是包含标号为X的路由器至标号为Z的路由器的触发输出通道的标号ID=TOC(X→Z)的不通信号Fail,则在测试源统计模块Summary Block中记录:标号为X的路由器Router(X)信息栏中将标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z)置为不通Fail;标号为Z的路由器Router(Z)信息栏中将标号为X的路由器至标号为Z的路由器的触发输入通道TIC(Z←X)置为不通Fail;
4)如果是包含标号为X的路由器至标号为Z的路由器的触发输出通道的标号ID=TOC(X→Z)的已测试标识Tested,则在测试源统计模块Summary Block中记录:标号为X的路由器Router(X)信息栏中将标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z)置为通畅Pass;标号为Z的路由器Router(Z)信息栏中将标号为X的路由器至标号为Z的路由器的触发输入通道TIC(Z←X)置为通畅Pass;
5)如果是包含标号为X的路由器至标号为Z的路由器的触发输出通道的标号ID=TOC(X→Z)的已触发标识Triggered,则在测试源统计模块Summary Block中记录:标号为X的路由器Router(X)信息栏中将标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z)置为通畅Pass;标号为Z的路由器Router(Z)信息栏中将标号为X的路由器至标号为Z的路由器的触发输入通道TIC(Z←X)置为通畅Pass,测试状态标识更新为路由器已触发状态Router_Triggered;
6)如果是包含标号X的节点测试完成标识Done,则在测试源统计模块Summary Block中记录:标号为X的路由器Router(X)信息栏中将测试状态标识更新为路由器测试完成状态Router_Done;然后在测试源统计模块Summary Block中查询所有路由器Router的测试状态标识,并依据以下不同可能作出不同操作:
(a)有路由器已触发标识Router_Triggered,则表示测试尚未完成,于是使测试源Test Source保持在测试统计模式Test_Summary Mode并等待下一个测试信息Testing Information;
(b)没有路由器已触发标识Router_Triggered但有路由器未测试标识Router_UnTested,则表示测试遇到故障而停止;于是使测试源Test Source退出测试统计模式Test_Summary Mode,并将测试源Test Source设置为测试失败Test_Fail模式;
(c)只有节点测试完成标识Router_Done,则表示测试完成;于是使测试源Test Source退出测试统计模式Test_Summary Mode,并将测试源Test Source设置为测试成功Test_Pass模式。
上述实施例的片上多节点***的自测试方法,是一种对Router之间的Data Channel进行内建自测试的方法,并通过一种渐进式通道并行自测试方法来实现NoC芯片的Router之间Data Channel的测试,从而避免在对Router本身和连接在Router上的IP核进行测试时因Data Channel的不畅通而给出误导的结果以及浪费总体测试时间和测试成本。
在上述实施例的大规模微***芯片的片上多节点***的自测试方法中,所提出的Data Channel的内建自测试架构,主要包括:⑴在Router中增加的一部分测试相关逻辑,用来实现Router对本身各Data Output Channel的测试控制以及对测试信息的发送控制;⑵测试所需的触发输入通道(Trigger Input Channel,简称TIC),触发输出通道(Trigger Output Channel,简称TOC),反馈输入通道(Feedback Input Channel,简称FIC),反馈输出通道(Feedback Output Channel,简称FOC)等;⑶能够在测试一开始初始化,并在测试中统计测试信息并判断测试是否结束的控制单元,即测试源Test Source。
在上述实施例的大规模微***芯片的片上多节点***的自测试方法中,所提出的Data Channel的内建自测试方法适用于同构网络互连网络和异构互连网络,不失一般性,本实施例以图1所示的异构互连网络测试架构为示意图进行说明。
具体地,为了方便描述,本实施例不失一般性地将Test Source的标号记为0,并且将与Test Source相连的Router记为Router(1),而Router(1)的选择需要看NoC网络的具体情况,一般而言,为了减少总体测试时间,可以选择与较多Router有直接连接关系的某个Router,例如在图1中,Router(1)与其他三个Router有直接连接关系。
首先,介绍本实施例中Router所增加的测试功能以及在测试中各种通道的作用。对于一个给定标号为X的路由器Router(X)来说,而与之有直接连接关系的Router的数量(Joined Counter)为JC(X),其标号分别为J(X)[1],J(X)[2],…,J(X)[JC(X)]。假设Router(X)是NoC网络中任意一个的路由器,于是:
路由器测试功能算法描述如下:
A、若Router(X)接收到标号为Y的路由器Router(Y),Y∈{ J(X)[1], J(X)[2], …, J(X)[JC(X)] }从TIC(X←Y)发来的触发信号BIST_Trigger,则顺序地执行下列步骤:
1、若Router(X)自测试完成标识BIST_Done为0时,则Router(X)依次执行:
(a)将BIST_Done置1,使Router(X)不会因为其他TIC接收到新的BIST_Trigger信号而再次被触发,同时将标号Y记录为Router(X)的Source Router ID(简称SR(X))。
(b)经FOC(X→Y)向Router(Y)发送触发反馈信息,在这里即触发成功信号(Triggered)。
(c)并行地测试的所有Data Output Channel(简称DOC)。具体地说,是对与Router(X)有直接连接关系的所有Router并行地执行下列1)-7)步骤:
⑴经DOC(X→Z) 发送一系列测试向量(Test Vector),其中Z∈{ J(X)[1], J(X)[2],…,J(X)[JC(X)] }。
⑵若在限定时间内未从相应的FIC(X←Z)接收到测试反馈信息,则认为此次测试超时,并经DOC(X→Z) 重新发送Test Vector;若测试超时的次数达到事先设置的上限(最终测试超时),则判定FIC(X←Z)不通,然后经FOC(X→Y)发送包含该FIC标号、下一站Next Stop(简称NS)、终点站Final Stop(简称FS)的Fail(ID=FIC(X←Z),NS=Y,FS=0)信号。然后,跳转到第7)步。
⑶如果从FIC(X←Z)接收到测试反馈信息 Pass/Fail,则说明FIC(X←Z)通畅,并判断出DOC(X→Z)是通畅/不通,于是经FOC(X→Y)发送Pass/Fail(ID=DOC(X→Z),NS=Y,FS=0)信号。
⑷向Router(Z)经TOC(X→Z)发送BIST_Trigger信号。
⑸若在限定时间内未从FIC(X←Z)接收到触发反馈信息,则认为此次触发超时,并经TOC(X→Z) 重新发送BIST_Trigger信号;若触发超时次数达到事先设置的上限(最终触发超时),则判定TOC(X→Z)不通,然后经FOC(X→Y)发送Fail(ID=TOC(X→Z),NS=Y,FS=0)。然后,跳转到第7)步。
⑹如果从FIC(X←Z)接收到Router(Z)发送的Tested信号,则经FOC(X→Y)发送测试状态标识Tested(ID=TOC(X→Z),NS=Y,FS=0);如果从FIC(X←Z)接收到Router(Z)发送的Triggered信号,则经FOC(X→Y)发送测试状态标识Triggered(ID=TOC(X→Z),NS=Y,FS=0)。
⑺将DOC(X→Z)对应的端口测试标识Port_Done(X→Z)置1。
(d)当所有DOC对应的端口Port_Done都已置1,则经FOC(X→Y)发送包含Router(X)标号、NS、FS的测试状态标识Done(ID=X,NS=Y,FS=0)。
2、若Router(X)的BIST_Done为1时,则经FOC(X→Y) 向Router(Y)发送触发反馈信息,在这里即测试完成信号(Tested)。
B、若Router(X)从FIC(X←Y),Y∈{ J(X)[1],J(X)[2],…,J(X)[JC(X)] }接收到测试信息(Testing Information),则顺序地执行下列两步:
⑴将NS更新为Router(X)中的SR(X)的值;
⑵若FOC(X→SR(X))对应的FIFO队列为空,则直接向Test Source发送更新后的Testing Information,否则,将更新后的Test Information加入该队列中。
在上述对于Router测试功能的描述中,有几点需要说明,首先假设Router(X)和Router(Y)是一对有直接连接关系的相邻Router,那么:
⑴任意一对有直接连接关系的两个相邻Router之间的数据传输都是双向的(Bidirectional),于是,DOC(X→Y)与DIC(Y←X),FOC(X→Y)与FIC(Y←X),TOC(X→Y)与TIC(Y←X),分别表示同一个通道;
⑵如果Router(1)被成功触发后,其Source Router ID即SR(1)就是Test Source的标号,于是,当测试信息传递到Router(1)时,NS就会被更新为Test Source的标号,即0;
⑶在本实施例中,将经DOC(X→Y)发送Test Vector后最终未从FIC(X←Y)接收到测试反馈信息称为最终测试超时(Finally Test Timeout),将经TOC(X→Y)发送BIST_Trigger后最终未从FIC(X←Y)接收到触发反馈信息称为最终触发超时(Finally Trigger Timeout);
⑷在本实施例中,Router的FOC不仅需要发送自身的测试信息,也需要发送其他Router或通道的测试信息,所以本实施例在FOC设立一个FIFO的队列结构,并且该队列能够自动地依次发送其中的信息,每发送成功一个信息,则在队列中删除该信息。所以,在本实施例中所说的经FOC的send命令是指:如果该FOC对应的FIFO队列是空闲的,则立即发送,否则,加入到该FIFO队列中;
⑸所有Router中初始的Source Router ID为None,BIST_Done为0,Port_Done为0。
例如,上述路由器测试功能算法具体可以为下面的算法2:
 其次,介绍本实施例提出的Test Source的测试启动以及测试信息统计等功能,具体来说:
测试源功能算法描述如下:
A. a、在Test Source处于Test_Unstarted模式时,若接收到BIST_Start信号后,顺序的执行下列步骤:
⑴初始化Test Source中统计Testing Information的模块Summary Block。主要包括:将所有Router的测试状态标识初始化为未测试状态Router_UnTested;将所有Channel的测试状态标识初始化为Channel_UnTested。
⑵经DOC(0→1) 向Router(1)发送Test Vector。
⑶如果测试DOC(0→1)最终测试超时,则在Summary Block中分别记录:Test Source信息栏中FIC(0←1)置Fail;Router(1)信息栏中FOC(1→0)置Fail。然后跳转到第8步。
⑷如果从FIC(0←1)接收到Pass/Fail的信息,则在Summary Block中记录:Test Source信息栏中FIC(0←1)置Pass,DOC(0→1)置Pass/Fail;Router(1)信息栏中FOC(1→0)置Pass,DIC(1←0)置Pass/Fail。然后向 Router(1)经TOC(0→1)发送BIST_Trigger。
⑸如果触发Router(1)最终触发超时,则在Summary Block中记录:Test Source信息栏中TOC(0→1)置Fail;Router(1)信息栏中TIC(1←0)置Fail。然后跳转到第8步。
⑹如果触发Router(1)成功,即从FIC(1←0)中接收到Triggered信息,则在Summary Block中记录:Test Source信息栏中TOC(0→1)置Pass;Router(1)信息栏中TIC(1←0)置Pass,测试状态标识更新为Router_Triggered。
⑺使Test Source进入测试信息统计模式Test_Summary,除非测试完成(Test_Pass)或因故障而停止测试(Test_Fail),才退出测试信息统计模式。
⑻结束所有测试(Terminate Testing)。
B. b、在Test Source处于Test_Summary模式时,若接收到由Router(1)直接发送或转发而来的Testing Information,则按照不同信息分别执行以下步骤:
⑴如果是Fail(ID=FIC(X←Z),NS=0,FS=0),则在Summary Block中记录:Router(X)信息栏中FIC(X←Z)置Fail;Router(Z)信息栏中FOC(Z→X)置Fail。
⑵如果是Pass/Fail(ID=DOC(X→Z),NS=0,FS=0),则在Summary Block中记录:Router(X)信息栏中FIC(X←Z)置Pass,DOC(X→Z)置Pass/Fail;Router(Z)信息栏中FOC(Z→X)置Pass,DIC(Z←X)置Pass/Fail。
⑶如果是Fail(ID=TOC(X→Z),NS=0,FS=0),则在Summary Block中记录:Router(X)信息栏中TOC(X→Z)置Fail;Router(Z)信息栏中TIC(Z←X)置Fail。
⑷如果是Tested(ID=TOC(X→Z),NS=0,FS=0),则在Summary Block中记录:Router(X)信息栏中TOC(X→Z)置Pass;Router(Z)信息栏中TIC(Z←X)置Pass。
⑸如果是Triggered(ID=TOC(X→Z),NS=0,FS=0),则在Summary Block中记录:Router(X)信息栏中TOC(X→Z)置Pass;Router(Z)信息栏中TIC(Z←X)置Pass,测试状态标识更新为Router_Triggered。
⑹如果是Done(ID=X,NS=0,FS=0),则在Summary Block中记录:Router(X)信息栏中的测试状态标识更新为Router_Done。然后在Summary Block中查询所有Router的测试状态标识,并依据以下不同可能作出不同操作:
有Router_Triggered,则表示测试尚未完成,于是使Test Source保持在Test_Summary Mode并等待下一个Testing Information。
没有Router_Triggered但有Router_UnTested,则表示测试遇到故障而停止,于是使Test Source退出Test_Summary Mode,并将Test Source设置为Test_Fail模式。
只有Router_Done,则表示测试完成,于是使Test Source退出Test_Summary Mode,并将Test Source设置为Test_Pass模式。
例如,上述测试源功能算法具体可以为下面的算法1:
根据以上对Test Source以及Router测试功能的算法描述,本实施例提供几个关键步骤的操作流程图,如图2,图3,图4所示,以及相应的伪代码(例如算法1和算法2)。如图2为Test Source的功能算法描述,如图3为Router测试功能的算法描述。从本实施例提出的算法的本质上看,并不对片上网络的拓扑结构是否规则有要求,所以该算法也使用与同构互连网络。
本实施例中所涉及的测试技术的优点主要在于:
⑴本实施例提出的对互连线路的测试技术本质上是一种测试控制流程,适用于对同构互连网络和异构互联网络中的互连线路的测试,并可以与对片上网络其他模块的测试流程相融合,例如,可将对路由器本身的测试安排在路由器测试功能算法描述的A.1.(d)之后即可。
⑵本实施例提出的算法中,一旦某个路由器输出到另一个路由器的互连线路测试完成,就立即经相应反馈输出通道向测试源发送相应通道测试结果,这样提高了反馈通道的使用率,从而更快地将信息发送到测试源。
⑶本实施例提出的算法使得路由器向测试源不仅发送了本就存在于片上网络路由器间的互连线路的测试信息,还发送了包括反馈通道、触发通道等传递测试信息的通道本身的测试信息,于是,如果测试遇到故障而停止,可以据此判断出具体是由于哪个通道不通引起。
⑷通过使用本实施例提出的算法,标号为X的路由器可以对其所有输出通道同时进行测试,且一旦其中由X→Y的互连线路测试完成,就可以立即由Router(X)触发Rouer(Y),而不必等待Router(X)输出到其他路由器的互连线路测试完成,这样就能加快整体的测试速度。
例如,以图1所示的异构互连网络为例,在Test Source中Summary Block中存储有Router信息栏和Channel信息栏,如表1所示,其中,每个Router所拥有的具有直接连接关系的Router数目并不相同。在Test Source处于Test_Summary Mode时,每接收到由Router(1)直接发送或转发而来的Testing Information,就按照前面所述的方法在表1的相应位置更新。
表1:
由于每个路由器所需要直接发送或转发的信息数量不同,越是靠近测试源,所需转发的信息就越多,所以每个路由器的先进先出队列的容量不同,其具体的容量需要根据一条信息的大小、发送信息所用时钟频率、整个NoC网络的规模和拓扑结构等条件确定。
上述实施例的大规模微***芯片的片上多节点***的自测试方法,提出了一种通道并行自测试的方法来实现对互连线路的流程控制,并通过统计某些测试标识来判断测试是否结束,属于大规模的微***芯片的一种测试方法,具体地说是一种对采用片上网络作为互连结构的微***芯片内各路由器间的互连线路进行的内建自测试方法。目前对以片上网络作为互连结构的微***芯片的测试的主要是对路由器以及连接在路由器上的IP核的测试,但对路由器之间的互连线路的测试并不成熟。本实施例提出了一种对互连线路的自测试的技术,使得各个路由器之间的互连线路可以实现并行测试,并可以与对片上网络其他模块的测试相融合。
在本实施例中,将Router之间的互连线路称为Data Channel,其中包括了控制信号、地址信号以及数据信号等。Data Channel是NoC芯片中各Router之间的连接桥梁;对一个Router而言,Data Channel有输出通道(Data Output Channel)和输入通道(Data Input Channel)之分。对互相连接的Router A和Router B之间的Data Channel来说,测试了Router A的Data Output Channel就意味着测试了Router B的Data Input Channel,反之亦然,所以只需测试每个Router的Data Output Channel。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种片上多节点***的自测试方法,其特征在于,主要包括:
对片上多节点***中的路由器Router进行初始化设置,并设定测试源Test Source;
该测试源Test Source,能够在片上多节点***启动时,启动路由器的并行自测试流程,统计并行自测试流程的测试信息;
所述路由器的并行测试流程,具体包括:
标号为X的路由器Router(X)对其所有的数据输出通道DOC同时执行测试流程,设Z为与标号为X的路由器Router(X)直接连接的任意路由器的标号,Y为成功触发标号为X的路由器Router(X)的路由器标号,0为测试源Test Source的标号,则该测试流程如下:
⑴经标号为X的路由器至标号为Z的路由器的数据输出通道DOC(X→Z)发送一系列测试向量Test Vector;
⑵若在限定时间内未从相应的标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)接收到测试反馈信息,则认为此次测试超时,并经标号为X的路由器至标号为Z的路由器的数据输出通道DOC(X→Z)重新发送一系列测试向量Test Vector;
若测试超时的次数达到预先设置的上限值,则判定标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)不通,再经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送不通Fail信号;然后,跳转到第⑺步;
在该不通Fail信号中,包含标号为Z的路由器至标号为X的路由器Router(X)的反馈输入通道的标号ID=FIC(X←Z)、下一站路由器(NS)的标号Y和标号0的终点站(FS)的标号即测试源Test Source的标号0;
⑶如果从标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)接收到测试反馈信息是通畅/不通 Pass/Fail,则说明标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)通畅,并判断出标号为X的路由器至标号为Z的路由器的数据输出通道DOC(X→Z)是通畅/不通,于是经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送相应的通畅/不通Pass/Fail信号;
在该通畅/不通信号中,包含标号为X的路由器至标号为Z的路由器的数据输出通道的标号ID=DOC(X→Z)、下一站路由器(NS)的标号Y和标号为0的终点站(FS)的标号即测试源Test Source的标号0;
⑷向标号为Z的路由器Router(Z),经标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z),发送内建自测试触发BIST_Trigger信号;
⑸若在预先设置的限定时间内,未从标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)接收到触发反馈信息,则认为此次触发超时,并经标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z)重新发送内建自测试触发BIST_Trigger信号;
若触发超时次数达到预先设置的上限值,则判定标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z)不通,然后经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送不通Fail信号;然后,跳转到第⑺步;
在该不通Fail信号中,包含标号为X的路由器至标号为Z的路由器的触发输出通道的标号ID=TOC(X→Z)、下一站路由器(NS)的标号Y和终点站(FS)的标号即测试源Test Source的标号0;
⑹如果从标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)接收到标号为Z的路由器Router (Z)发送的测试完成信号Tested,则经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送相应的测试状态标识,即已测试标识Tested;如果从标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)接收到标号为Z的路由器Router(Z)发送的触发成功信号Triggered,则经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送相应的测试状态标识,即已触发标识Triggered;
在该已测试标识Tested和该已触发标识Triggered中,均包含标号为X的路由器至标号为Z的路由器的触发输出通道的地址ID=TOC(X→Z)、下一站路由器(NS)的标号Y和终点站(FS)的标号即测试源Test Source的标号0;
⑺将标号为X的路由器至标号为Z的路由器的数据输入通道DOC(X→Z)对应的端口Port_Done(X→Z)置1。
2.根据权利要求1所述的片上多节点***的自测试方法,其特征在于,所述对片上多节点***中的路由器进行初始化设置的操作,具体包括:
对片上多节点***中的每个路由器,增加并行测试功能和发送测试信息功能;
对片上多节点***中多个路由器之间的互连线路进行分类。
3.根据权利要求2所述的片上多节点***的自测试方法,其特征在于,所述对片上多节点***中多个路由器之间的互连线路进行分类的操作,具体包括:
将片上多节点***中多个路由器之间的互连线路,分为数据输入通道DIC、数据输出通道DOC、触发输入通道TIC、触发输出通道TOC、反馈输入通道FIC和反馈输出通道FOC。
4.根据权利要求1所述的片上多节点***的自测试方法,其特征在于,所述路由器的并行测试流程,具体还包括:
任意一个标号为X的路由器Router(X)在接收到另一个标号为Y的路由器Router(Y)发来的内建自测试触发BIST_Trigger信号后,能根据测试完成标识BIST_Done是否为0或者1来分别执行如下操作:
a、若标号为X的路由器Router(X)自测试完成标识BIST_Done为0时,则标号为X的路由器Router(X)依次执行:
①将测试完成标识BIST_Done置1,使标号为X的路由器Router(X)不会因为其他触发输入通道接收到新的内建自测试触发BIST_Trigger信号而再次被触发,同时将标号Y记录为标号为X的路由器Router(X)的触发源路由器标号 SR(X);
②经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)向标号为Y的路由器Router(Y)发送触发反馈信息,即为发送触发成功信号Triggered;
③按照步骤⑴~⑺执行相应的并行测试流程,并行地测试的标号为X的路由器Router(X)的所有数据输出通道;
④当所有数据输入通道DOC对应的端口Port_Done都已置1,则经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y)发送相应的测试状态标识,即节点测试完成标识Done;
在该节点测试完成标识中,包含标号X、下一站路由器(NS)的标号Y和终点站(FS)的标号即测试源Test Source的标号0;
b、若标号为X的路由器Router(X)自测试完成标识BIST_Done为1时,则经标号为X的路由器至标号为Y的路由器的反馈输出通道FOC(X→Y) 向标号为Y的路由器Router(Y)发送触发反馈信息,即为发送测试完成信号Tested。
5.根据权利要求4所述的片上多节点***的自测试方法,其特征在于,所述路由器的并行测试流程,具体还包括:
任意一个标号为X的路由器Router(X)从标号为Y的路由器至标号为X的路由器的反馈输入通道FIC(X←Y) 接收到测试信息Testing Information,则顺序地执行下列两步:
将下一站路由器(NS)更新为标号为X的路由器Router(X)中的触发源路由器标号SR(X)的值;
若标号为X的路由器至它的触发源路由器的反馈输出通道FOC(X→SR(X))对应的先入先出FIFO队列为空,则直接向测试源Test Source发送更新后的测试信息Testing Information,否则,将更新后的测试信息Test Information加入该先入先出FIFO队列中。
6.根据权利要求5所述的片上多节点***的自测试方法,其特征在于,所述路由器的并行测试流程,具体还包括:
测试源Test Source的信息统计功能,即在信息统计Test_Summary模式时,根据与测试源直接相连的路由器Router(1)发送来的不同信息,在测试源统计模块Summary Block中作出信息记录工作,并判断整个测试是否完成,其操作流程具体如下:
1)如果是包含标号为Z的路由器至标号为X的路由器的反馈输入通道标号ID=FIC(X←Z)不通信号Fail,则在测试源统计模块Summary Block中记录:标号为X的路由器Router(X)信息栏中将标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)置为不通Fail;标号为Z的路由器Router(Z)信息栏中将标号为Z的路由器至标号为X的路由器的反馈输出通道FOC(Z→X)置为不通Fail;
2)如果是包含标号为X的路由器至标号为Z的路由器的数据输出通道的标号ID=DOC(X→Z)的通畅/不通信号Pass/Fail,则在测试源统计模块Summary Block中记录:标号为X的路由器Router(X)信息栏中将标号为Z的路由器至标号为X的路由器的反馈输入通道FIC(X←Z)置为通畅Pass,将标号为X的路由器至标号为Z的路由器的数据输出通道DOC(X→Z)相应地置为通畅/不通Pass/Fail;将标号为Z的路由器Router(Z)信息栏中标号为X的路由器至标号为Z的路由器的反馈输出通道FOC(Z→X)置为通畅Pass,将标号为X的路由器至标号为Z的路由器的数据输入通道DIC(Z←X)相应地置为通畅/不通Pass/Fail;
3)如果是包含标号为X的路由器至标号为Z的路由器的触发输出通道的标号ID=TOC(X→Z)的不通信号Fail,则在测试源统计模块Summary Block中记录:标号为X的路由器Router(X)信息栏中将标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z)置为不通Fail;标号为Z的路由器Router(Z)信息栏中将标号为X的路由器至标号为Z的路由器的触发输入通道TIC(Z←X)置为不通Fail;
4)如果是包含标号为X的路由器至标号为Z的路由器的触发输出通道的标号ID=TOC(X→Z)的已测试标识Tested,则在测试源统计模块Summary Block中记录:标号为X的路由器Router(X)信息栏中将标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z)置为通畅Pass;标号为Z的路由器Router(Z)信息栏中将标号为X的路由器至标号为Z的路由器的触发输入通道TIC(Z←X)置为通畅Pass;
5)如果是包含标号为X的路由器至标号为Z的路由器的触发输出通道的标号ID=TOC(X→Z)的已触发标识Triggered,则在测试源统计模块Summary Block中记录:标号为X的路由器Router(X)信息栏中将标号为X的路由器至标号为Z的路由器的触发输出通道TOC(X→Z)置为通畅Pass;标号为Z的路由器Router(Z)信息栏中将标号为X的路由器至标号为Z的路由器的触发输入通道TIC(Z←X)置为通畅Pass,测试状态标识更新为路由器已触发状态Router_Triggered;
6)如果是包含标号X的节点测试完成标识Done,则在测试源统计模块Summary Block中记录:标号为X的路由器Router(X)信息栏中将测试状态标识更新为路由器测试完成状态Router_Done;然后在测试源统计模块Summary Block中查询所有路由器Router的测试状态标识,并依据以下不同可能作出不同操作:
(a)有路由器已触发标识Router_Triggered,则表示测试尚未完成,于是使测试源Test Source保持在测试统计模式Test_Summary Mode并等待下一个测试信息Testing Information;
(b)没有路由器已触发标识Router_Triggered但有路由器未测试标识Router_UnTested,则表示测试遇到故障而停止;于是使测试源Test Source退出测试统计模式Test_Summary Mode,并将测试源Test Source设置为测试失败Test_Fail模式;
(c)只有节点测试完成标识Router_Done,则表示测试完成;于是使测试源Test Source退出测试统计模式Test_Summary Mode,并将测试源Test Source设置为测试成功Test_Pass模式。
CN201210522345.4A 2012-12-07 2012-12-07 一种大规模微***芯片的片上多节点***的自测试方法 Active CN103036737B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210522345.4A CN103036737B (zh) 2012-12-07 2012-12-07 一种大规模微***芯片的片上多节点***的自测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210522345.4A CN103036737B (zh) 2012-12-07 2012-12-07 一种大规模微***芯片的片上多节点***的自测试方法

Publications (2)

Publication Number Publication Date
CN103036737A CN103036737A (zh) 2013-04-10
CN103036737B true CN103036737B (zh) 2015-08-12

Family

ID=48023247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210522345.4A Active CN103036737B (zh) 2012-12-07 2012-12-07 一种大规模微***芯片的片上多节点***的自测试方法

Country Status (1)

Country Link
CN (1) CN103036737B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103259698B (zh) * 2013-04-27 2016-03-30 复旦大学 一种适用于片上网络的测试***和方法
CN107294814A (zh) * 2017-08-04 2017-10-24 郑州云海信息技术有限公司 一种片上网络的测试方法及装置
CN110912765B (zh) * 2019-09-12 2021-08-10 无锡江南计算技术研究所 一种面向高阶路由器芯片的嵌入式功能自测试方法及装置
CN111314167B (zh) * 2020-01-15 2021-10-22 桂林电子科技大学 片上网络中基于超立方体拓扑结构的测试规划***及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881051A (en) * 1995-07-10 1999-03-09 International Business Machines Management of route testing in packet communications networks
CN1564532A (zh) * 2004-04-09 2005-01-12 中兴通讯股份有限公司 一种测试交换芯片及相关高速链路的方法
CN1878098A (zh) * 2006-07-05 2006-12-13 华为技术有限公司 一种级联设备可靠性测试的方法及***
CN101588273A (zh) * 2008-05-21 2009-11-25 中国科学院计算技术研究所 针对片上网络***的虚拟测试总线电路及其测试方法
CN102447590A (zh) * 2010-10-13 2012-05-09 无锡江南计算技术研究所 一种交换机的线路测试方法、装置和***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881051A (en) * 1995-07-10 1999-03-09 International Business Machines Management of route testing in packet communications networks
CN1564532A (zh) * 2004-04-09 2005-01-12 中兴通讯股份有限公司 一种测试交换芯片及相关高速链路的方法
CN1878098A (zh) * 2006-07-05 2006-12-13 华为技术有限公司 一种级联设备可靠性测试的方法及***
CN101588273A (zh) * 2008-05-21 2009-11-25 中国科学院计算技术研究所 针对片上网络***的虚拟测试总线电路及其测试方法
CN102447590A (zh) * 2010-10-13 2012-05-09 无锡江南计算技术研究所 一种交换机的线路测试方法、装置和***

Also Published As

Publication number Publication date
CN103036737A (zh) 2013-04-10

Similar Documents

Publication Publication Date Title
EP0840220B1 (en) An integrated circuit device and method of communication therewith
EP0840219B1 (en) An integrated circuit device and method of communication therewith
US7965624B2 (en) Data link fault tolerance
KR101695328B1 (ko) 모듈러 온-다이 코히어런트 인터커넥트 방법, 장치 및 시스템
Cota et al. Reusing an on-chip network for the test of core-based systems
Chiang et al. Architectures of increased availability wireless sensor network nodes
CN103036737B (zh) 一种大规模微***芯片的片上多节点***的自测试方法
JPH04328926A (ja) 地域的に分散したパケット・スイッチング・ネットワークの動的な機能動作を試験及び評価するための方法
US9781043B2 (en) Identification of internal dependencies within system components for evaluating potential protocol level deadlocks
CN112463243B (zh) 基于边界扫描的在线级联加载固件***及其方法
US10896476B2 (en) Repository of integration description of hardware intellectual property for NoC construction and SoC integration
CN103376340A (zh) 一种转接板、多平台串行测试***及方法
EP0840218B1 (en) An integrated circuit device and method of communication therewith
US8248073B2 (en) Semiconductor integrated circuit and testing method therefor
EP0840235B1 (en) Message protocol
CN101667953B (zh) 一种快速环网物理链路状态的上报方法及装置
CN117421122A (zh) 一种数据传输方法、一种网卡和一种cpu
Borrione et al. A formal approach to the verification of networks on chip
CN112162879A (zh) 一种实时多核dsp软件的日志***
US6862647B1 (en) System and method for analyzing bus transactions
US11520725B2 (en) Performance monitor for interconnection network in an integrated circuit
Jiang et al. Optimizing dynamic mapping techniques for on-line NoC test
CN104038365B (zh) 用于电、光及远程环回模式下交换机间链路和节点链路测试的诊断端口
Neishaburi et al. Debug aware AXI-based network interface
Le Beux et al. Optimizing configuration and application mapping for MPSoC architectures

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