本发明涉及PNoC(PhotonicNetwork-on-Chip,光片上网络)测试技术领域,具体涉及一种PNoC中MRR(MicroRingResonator,微环谐振器)故障检测装置及方法。
背景技术:
随着现代半导体制造工艺的发展与纳米技术的应用,在系统级芯片SoC上的IP核迅速增加,IP核之间的通信带宽与功耗成为新的瓶颈。为了增大带宽和减少功耗,PNOC是最有希望替代传统的电NOC。通过高速开关MRR和低功耗的光波导互联,实现更大的带宽和更低的功耗,PNOC是下一代片上网络互联的趋势和典范。MRR是PNOC中的关键器件,然而由于制造缺陷,且MRR对温度高度波动敏感,MRR容易发生故障,因此迫切需要一种PNOC中MRR故障检测装置。
技术实现要素:
本发明针对PNOC中MRR因制造缺陷及对温度高度波动敏感,MRR容易发生故障的问题,提供一种PNoC中MRR故障检测装置及方法。
为解决上述问题,本发明是通过以下技术方案实现的:
PNoC中MRR故障检测装置,包括激光器阵列、测试矢量发生器、控制矢量发生器、数据耦合器、待测的MRR和方形盒;激光器阵列中所包含的激光器个数与待测的MRR的总数相同;每个激光器产生1个波长的激光光波,且所有激光器所产生的激光光波的波长各不相同,整个激光器阵列产生波分复用的激光光波;测试矢量发生器产生测试矢量,该测试矢量的各个分量用于控制相应激光器的开闭;数据耦合器的输入端分别连接激光器阵列和测试矢量发生器;数据耦合器将测试矢量发生器所产生的测试矢量耦合到激光器阵列所产生的激光光波的光路中;方形盒的个数为PNoC中待测的MRR的总数的1/2;每个方形盒由4个IP核、1个电路由器和1个光电转换接口组成;4个IP核由1个电路由器相互连接,光电转换接口将电路由器与数据耦合器的输出端相连;每个方形盒通过光电转换接口与2个待测的MRR相连,其中一个待测的MRR被IP核用作发送MRR,另一个待测的MRR被作为被IP核用作发送MRR;控制矢量发生器与PNoC中所有待测的MRR的控制端连接;控制矢量发生器产生控制矢量,该控制矢量的各个分量用于控制相应MRR的开闭。
上述方案中,每个激光器所产生的激光光波的波长各与1个MRR的谐振光波波长相同。
上述方案中,每个激光器所产生的激光光波的波长等间隔依次递增或递减。
上述方案中,通过测试矢量发生器产生的测试矢量去控制激光器的开闭具体为:当测试矢量的分量为1时,代表产生相应波长的光波,即开启相应的激光器;当测试矢量的分量为0时,代表不产生相应波长的光波,即关闭相应的激光器。
上述方案中,通过控制矢量发生器产生的测试矢量去控制MRR的开闭具体为:当控制矢量的分量为1时,代表MRR处于开启状态;当控制矢量的分量为0时,代表MRR处于关闭状态。
上述装置所实现的PNoC中MRR故障检测方法,包括如下步骤:
激光器阵列的激光器产生不同波长的激光光波,且每个激光器所产生的激光光波波长对应1个MRR的谐振光波波长;
通过测试矢量发生器和控制矢量发生器加载测试矢量和控制矢量,并获得测试响应,并据此判断PNoC中的MRR是否出现故障及故障类型;
(Ⅰ)若加载全为1的测试矢量和全为0的控制矢量,所获得的测试响应全为0,并且加载全为1的测试矢量和全为1的控制矢量,所获得的测试响应全为1时,则表示所有MRR均没有出现故障;
(Ⅱ)若加载全为1测试矢量和全为0控制矢量,所获得的测试响应的第i位为1时,则表示第i个MRR出现滞1故障;
(Ⅲ)若加载全为1测试矢量和全为1控制矢量,所获得的测试响应的第i位为0时,则需要进一步加载全为1的测试矢量,以及第1~i-1位为0、第i~n位为1的控制矢量;
如果所获得的测试响应的第1~i位为0,第i+1~n位为1,则表示第i个MRR出现滞0故障;
如果所获得的测试响应的第1~i-1位当中出现有且只有一位为1,第i位为0和i+1~n位为1,则表示第i个MRR出现桥接故障;
上述i=1,2,……,n;n为PNoC中MRR的总数。
上述方案中,PNoC中的包含n个MRR,这n个MRR分别为MRR1,MRR2,……,MRRn,其对应的谐振光波波长分别为W1,W2,……,Wn,且W1<W2<……<Wn;激光器阵列的n个激光器所产生的激光波长为W1,W2,……,Wn,且W1<W2<……<Wn;上述n为PNoC中MRR的总数。
上述方案中,在确定MRR的故障类型时,是基于PNoC中当且仅有一个MRR有故障的前提下进行的。
与现有技术相比,本发明针对由于制造缺陷以及MRR对温度高度波动敏感而造成的故障,首先建立故障模型,并且设计一种PNOC的架构,通过数据耦合器将测试数据耦合到光路当中,通过控制MRR的ON和OFF状态,对采集到的测试响应分析,进行故障分析和诊断。
附图说明
图1为PNOC中MRR故障检测原理图;
图2为滞1故障模型;
图3为滞0故障模型;
图4为桥接故障模型;其中(a)为发送Bit1,Bit0为(10)接收为Bit1,Bit0为(01)的情况,(b)为发送Bit1,Bit0为(01)接收为Bit1,Bit0为(10)的情况。
具体实施方式
一种PNoC中MRR故障检测装置,如图1所示,主要由激光器阵列、测试矢量发生器、控制矢量发生器、数据耦合器、待测的MRR和方形盒组成。
所有待测的MRR被均分为两类,一类MRR为发送MRR,另一类MRR为接收MRR。在本发明优选实施例中,PNoC中待测的MRR总共有16个,这16个MRR被分成两类,一类8个MRR被IP核用作发送的MRR,另一类8个MRR被IP核用作接收的MRR。
激光器阵列中所包含的激光器个数与PNoC中待测的MRR的总数相同。每个激光器产生1个波长的激光光波,且所有激光器所产生的激光光波的波长各不相同,整个激光器阵列产生波分复用的激光光路。在本发明优选实施例中,由于PNoC中待测的MRR的总数为16个,因此需要获得的波分复用的路数为16,激光器阵列中有16个激光器,分别产生16路波分复用的激光光波。
测试矢量发生器产生测试矢量,测试矢量的分量用于控制对应激光器的开闭。在本发明优选实施例中,由于PNoC中待测的MRR的总数为16个,因此控制矢量发生器所产生控制矢量的数据宽带为16位。当测试矢量的分量为1时,代表产生相应波长的光波,即开启相应的激光器;当测试矢量的分量为0时,代表不产生相应波长的光波,即关闭相应的激光器。
数据耦合器的输入端分别连接激光器阵列和测试矢量发生器;数据耦合器将测试矢量发生器所产生的测试矢量耦合到激光器阵列所产生的激光光路中。通过数据耦合器将测试矢量耦合到激光光路中。
方形盒的个数为PNoC中待测的MRR的总数的1/2。每个方形盒内部由4个IP核、1个电路由器和1个光电转换接口组成。电路由器具有5个端口,其中1个端口接光电转换接口,另外4个端口接4个IP核。
每个方形盒通过光电转换接口与2个待测的MRR相连,这2个待测的MRR连接在电光模块出来的光波导和平行的主光路之间;其中一个待测的MRR被IP核用作发送MRR,另一个待测的MRR被作为被IP核用作发送MRR。
控制矢量发生器与PNoC中所有待测的MRR的控制端连接。控制矢量发生器产生控制矢量,控制矢量的分量用于控制对应MRR的开闭。在本发明优选实施例中,由于每个MRR都有一个ON和OFF的控制信号,因此通过控制矢量发生器产生控制矢量,控制16个MRR的ON和OFF状态,控制矢量的分量为1代表MRR处于ON状态,控制矢量的分量为0代表MRR处于OFF状态。
根据故障模型,通过分析测试响应数据,对MRR的故障进行检测与分析。
由于本发明只针对由于制造缺陷以及MRR对温度高度波动敏感而造成的故障进行检测,因此首先对MRR建立故障模型。建立了三种故障模型:
(1)滞1故障(Stuck-at-one Fault):
Stuck-at-oneFault指的是由于制造缺陷呆滞于1。如中,通过控制MRR处于OFF状态,此时接收端应该收到“0”,由于制造缺陷导致“呆滞于1”而实际上接收到“1”。参见图2。
(2)滞0故障(Stuck-at-zero Fault):
Stuck-at-zero Fault指的是由于制造缺陷呆滞于0。如图2中,通过控制MRR处于ON状态,此时接收端应该收到“1”,由于制造缺陷导致“呆滞于0”而实际上接收到“0”。参见图3。
(3)桥接故障:
桥接故障故障指的是由于MRR对温度高度波动敏感而造成桥接故障。
如图4(a)中,无故障情况下,MRR1谐振光波波长为λ1;MRR2谐振光波波长为λ2。此时无故障出现,接收到的Bit1,Bit0为(10)。MRR1无故障,谐振光波波长为λ1;MRR2由于对温度高度波动敏感而造成谐振光波波长偏移,谐振光波波长变为λ1;此时出现桥接故障,接收到的Bit1,Bit0为(01)。
如图4(b)中,无故障情况下,MRR1谐振光波波长为λ1;MRR2谐振光波波长为λ2。此时无故障出现,接收到的Bit1,Bit0为(01)。MRR1无故障,谐振光波波长为λ1,MRR2由于对温度高度波动敏感而造成谐振光波波长偏移,谐振光波波长变为λ1;此时出现桥接故障,接收到的Bit1,Bit0为(10)。
上述装置所实现的一种PNoC中MRR故障检测方法,具体包括如下步骤:
已知PNoC中的包含n个MRR,这n个MRR分别为MRR1,MRR2,……,MRRn,其对应的谐振光波波长分别为W1,W2,……,Wn,且W1<W2<……<Wn。则,激光器阵列中的n个激光器所产生的激光波长为W1,W2,……,Wn,且W1<W2<……<Wn;激光器阵列所产生的波分复用的激光光波W1W2……Wn。
通过测试矢量发生器和控制矢量发生器加载测试矢量和控制矢量,并获得测试响应,并据此判断PNoC中的MRR是否出现故障及故障类型:
加载全为1测试矢量和全为0控制矢量,若所获得的测试响应全为0,并且加载全为1测试矢量和全为1控制矢量,若所获得的测试响应全为1,则表示所有MRR均没有出现故障;
已知PNoC中当且仅有一个MRR有故障时,MRR单故障检测方法步骤如下:输入测试矢量和控制矢量,对测试响应进行相应的分析,判断故障属于之前建模中的三种故障类型:
加载全为1测试矢量和全为0控制矢量,若所获得的测试响应的某i位为1时,则表示该位所对应的MRR出现滞1故障。
加载全为1测试矢量和全为1控制矢量,若所获得的测试响应的某i位为0时,则判断第i个MRR出现故障,此时需要进一步加载测试矢量和控制矢量来判断故障是滞0故障或桥接故障;此时,让测试矢量全为1,控制矢量的第1~i-1位为0,第i~n位为1;
若所获得的测试响应的第1~i位为0,第i+1~n位为1时,则判断第i个MRR出现滞0故障;
若所获得的测试响应的第1~i-1位当中出现有且只有一位为1,第i位为0和i+1~n位为1时,则判断第i个MRR出现桥接故障;
上述i=1,2,……,n;n为大于等于1的正整数。
在本发明优选实施例中,假设波分复用WDM(Wave)通道的数目为16,这意味着16路波长能够同时传输。假设16个MRR中,当且仅有一个MRR有故障,16个MRR分别为MRR1,MRR2,……,MRR16,它们对应的谐振光波波长分别为W1,W2,……,W16,且W1<W2<W3……<W16。1W1:表示波长W1加载1,0W1表示波长W1加载0,其它的依此类推。
在当且仅有一个MRR有故障的前提下,输入不同的测试矢量和控制矢量,根据得到的测试响应,首先判断出是否有故障,然后如果有故障,判断具体为那种故障,即具体判断故障是滞0故障、滞1故障或桥接故障。
加载全为1测试矢量和全为0控制矢量,并获得测试响应;若所获得的测试响应的某i位为1时,则表示该位所对应的MRR出现滞1故障。
加载全为1测试矢量和全为1控制矢量,并获得测试响应;若所获得的测试响应全为1时,则表示所有MRR均没有出现故障;若所获得的测试响应的某i位为0时,则表示该位所对应的MRR出现故障。输入测试矢量1W1-1W2-1W3-1W4-1W5-1W6-1W7-1W8-……-1W16,输入控制矢量全为1(1111,1111,1111,1111),假如得到的测试响应为(1111,1101,1111,1111)。由于只有一个MRR有故障,很明显,从测试响应很快就可以判断出MRR7有故障,但具体为何种故障还不能够确定。因为MRR7可能是桥接故障或者是滞0故障。当MRR7谐振光波波长发生左移时,它的谐振光波波长变小,即小于W7,可能是W1,W2,W3,W4,W5,或者W6;当发生滞0故障,也具有相同的测试响应。
为了具体判断故障类型,需要进一步加载测试矢量和控制矢量,即加载输入测试矢量1W1-1W2-1W3-1W4-1W5-1W6-1W7-1W8-……-1W16,输入控制矢量(0000,0011,1111,1111)。假如得到的测试响应为(0000,0001,1111,1111),则可以判断MRR7为滞0故障,因为通过控制矢量,MRR1,MRR2,……,MRR6全部处于OFF状态,此时由于测试响应中MRR1,MRR2,……,MRR6全为0,表示MRR7没有发生谐振光波波长左移现象,即表示此时的故障为滞0故障;如果得到的测试响应为(1000,0001,1111,1111),则可以判断MRR7为桥接故障,而且可以判断MRR7谐振光波波长左移,MRR7发生故障后的谐振光波波长为W1(只要测试响应的第1到第6位中有且只有一个1出现,就可以判断MRR7为桥接故障)。
上述实施例,仅为对本发明的目的、技术方案和有益效果进一步详细说明的具体个例,本发明并非限定于此。凡在本发明的公开的范围之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。