一种测试交换芯片及相关高速链路的方法

文档序号:7590911阅读:192来源:国知局
专利名称:一种测试交换芯片及相关高速链路的方法
技术领域
本发明涉及交换芯片及相关高速链路的测试技术,更具体的说,是一种用来对交换芯片及电路板上相关高速链路进行连续自动测试的方法。
背景技术
内建自测试技术(Built-In Self-Test,BIST)是一种嵌入到芯片内部并对芯片功能进行自测的技术,目前已广泛应用于集成电路设计与生产。例如,VSC882是VITESSE公司的一种16×16的crossbar(纵横式交换矩阵)芯片10,其内部框图如图1所示,包括交换矩阵11、16个高速收发通道上的高速收发逻辑模块12、CPU接口13、内建自测试逻辑14及锁相环15等模块,高速收发逻辑模块12之间相互交换数据和控制信号,完成自路由功能。可以看出,高速链路和交换矩阵对数据交换的性能是至关重要的,因此VSC882内部集成了BIST逻辑模块,用来测试高速链路和交换矩阵全速运行状态下的性能。
VSC882芯片10内部自测试原理的示意图如图2所示,其中自测试模式(BIST MODE)由VSC882内部偏移地址为2的寄存器的第4位控制,其它如使能(BSTEN)、复位(BSTRST)、通过(BSTPASS)、环回(BSTLPBK)、0通道接收(HSRx0)、0通道发送(HSTx0)、15通道接收(HSRx15)、15通道发送(HSTx15)等等都是VSC882芯片的引脚。
当BSTEN脚为高电平并且BSTRST脚为低电平时,伪随机码发生及数据比较器(PRBS)模块141输出伪随机码到交换矩阵11的0号输入端口(InputPort 0),这时若BIST MODE设置为1,则伪随机码直接回到PRBS模块141的接收端,对PRBS模块141作自检;若BIST MODE设置为0,伪随机码经过交换矩阵11和高速链路回到PRBS模块141的接收端,PRBS模块141将接收到的码与发送的码作比较,相同则BSTPASS脚输出高电平,表示BIST测试通过,不同则BSTPASS脚输出低电平,表示出错。
BSTLPBK脚是用来选择内环测试还或外环测试的。当BSTLPBK为1时为内环测试,如图2所示,若伪随机码从交换矩阵11的15号输出端口发出,则会由15通道收发模块12直接环回到交换矩阵11的15号输入端口,其它如1到14通道都和15通道一样,只有0通道是把从交换矩阵11的0号输出端口发出的数据直接转发到PRBS模块141的接收端。这样,在内环测试模式下,伪随机码只经过芯片内部的交换矩阵11和高速链路回到PRBS模块141的接收端,所以只能测试芯片内部的交换矩阵和高速链路。
当BSTLPBK为0时为外环测试,这种模式下各通道的收发模块12都关闭了发送端直接回到芯片内部的通道,数据只能从各个通道的发送端发到芯片外部的高速链路,如电路板上的高速线、同轴电缆等,数据只有通过各个通道的接收端回到芯片10内部(0通道接收端将数据发回到PRBS模块141的接收端,1到15通道接收端将数据发回到交换矩阵11的相应的输入端口)。这样,在外环测试模式下,伪随机码经过芯片内部的交换矩阵11和高速链路以及芯片外部的高速链路最终回到PRBS模块141的接收端,所以不但可以测试芯片内部的交换矩阵11和高速链路,还可以测试电路板上的高速线的布线质量。
交换矩阵11的输入通道和输出通道的连通关系可以通过VSC882芯片内部的输出配置(Output Configuration)寄存器(偏移地址为0x0c~0x13)来设置。例如0/8号输出端口配置(Output 0/Output 8 Configuration)寄存器(偏移地址为0x0c),其高4位表示与0号输出端口连通的输入端口号,低4位表示与8号输出端口连通的输入端口号。偏移地址为0x0d~0x13的寄存器的含义以此类推。通过配置这些寄存器可以使得伪随机码经过希望测试的通道,例如可以使伪随机码经过0号输入端口到0号输出端口再回到PRBS模块的接收端,也可以配置这些寄存器使得伪随机码从0号输入端口->3号输出端口->3号输入端口->8号输出端口->8号输入端口->0号输出端口,再回到PRBS模块的接收端。这样就可以选择不同的通道进行测试。(有关内容可参考VITESSE公司的《G52371-newdatasheet》)但是,仅仅依靠VSC882芯片提供的上述BIST测试功能并不能满足实际测试的需要。因为交换矩阵和高速链路的测试是一种性能测试,需要在长时间高速运转的情况下统计发生错误的次数来评价其性能。而VSC882芯片的PRBS模块一旦检测到错误就停下来,必须给BSTRST脚一个大于250μs的高电平脉冲信号使PRBS模块复位后才重新开始BIST测试;而且VSC882内部内建自测试错误计数(BIST Error Count)寄存器(偏移地址0x03)的值在BSTRST复位后归零不能累加。实际上,我们在测试中发现BIST ErrorCount寄存器的值在BIST出错后仍为0,并非如其手册描述的那样等于出错的位数。
所以,象VSC882这种芯片,其内部自测试功能比较简单,不能连续自动测试,也不能累积统计错误次数,因而不能满足实际设计和生产中的测试需要。

发明内容
本发明要解决的技术问题是提供一种测试交换芯片及相关高速链路的方法,可以基于芯片内部的自测试功能,连续自动地对交换芯片及其相关高速链路进行测试,并统计测试次数和出错次数。
为了解决上述技术问题,本发明提供了一种测试交换芯片及相关高速链路的方法,应用于内部的自测试模块不能长时间连续进行自测试的交换芯片,包括以下步骤(a)启动交换芯片内部的自测试模块;(b)间隔所述交换芯片规定的测试时间,判断本次自测试是否出错,如果出错,执行下一步,否则,执行步骤(d);(c)错误次数加1,并重新启动自测试;(d)测试次数加1;(e)返回步骤(b)。
需要及时报告测试信息时,可在所述步骤(d)和(e)之间增加步骤(d1)判断测试次数是否已达到约定值,如果是,执行下一步,否则执行步骤(e);(d2)测试轮数加1,测试次数复零,并输出轮次数、测试次数和错误次数。
所述步骤(d2)之后还可以进一步包括步骤判断测试轮数是否达到约定值,如果是,结束测试,否则,执行步骤(e)。
上述方法可具有以下特点在所述步骤(a)之前,先设置测试次数计数器和错误次数计数器并分配存储单元,并将所述测试次数计数器和错误次数计数器初始化为零。
上述方法可具有以下特点在所述步骤(a)之前,先将自测试模式设置为对所述交换芯片的自测试模块作自检的模式。
上述方法可具有以下特点在所述步骤(a)之前,先将自测试模式设置为对所述交换芯片的交换矩阵和高速链路作测试的模式,这时,还可以进行测试通道和环回模式的设置。
上述方法可具有以下特点在所述步骤(a)和(c)中,启动自测试是通过向所述交换芯片上的伪随机码发生及数据比较器的使能引脚输出一个高电平,并且向所述交换芯片上的伪随机码发生及数据比较器的复位引脚输出一个规定宽度的高脉冲来实现的,所述步骤(b)中,判断本次自测试是否出错是通过检测所述交换芯片的相应管脚电平来实现的。
由上可知,本发明方法不是由交换芯片内部功能独立完成,而是通过交换芯片所在的电路板上的电路和程序控制交换芯片内部的自测试模块来完成。具体在VSC882等芯片内部BIST功能的基础上作了如下改进在BIST出错后重新启动BIST模块的测试,使得BIST测试能够连续自动地进行,同时统计了测试次数和错误次数,并且可以实时输出测试信息,克服了VSC882等芯片内部BIST模块不能连续自动地测试和累积统计错误次数的缺点,为评价VSC882等交换芯片及电路板上相关高速链路的性能提供了一种实用的测试手段。


图1是VSC882芯片的内部结构示意图;图2是VSC882芯片的内部自测试原理的示意图;图3是本发明实施例VSC882芯片测试装置的硬件结构图;图4是本发明实施例测试VSC882芯片及相关高速链路的处理流程图。
具体实施例方式
下面仍以VSC882交换芯片为例,结合附图对本发明实施例的测试方法进行说明。
图3是本发明实施例测试装置的硬件结构图,VSC882芯片一般是用来设计和制作交换板的,如图所示,其所在的电路板20上一般包括电源21、时钟22、CPU 23、存储器24、外围逻辑电路25、VSC882芯片26及其高速链路等部分,CPU 23可以通过VSC882芯片26的CPU接口读写其内部的寄存器,CPU 23还可以直接或通过外围逻辑电路25读写VSC882芯片26的有关引脚的电平信号,如图中的使能(BSTEN)、复位(BSTRST)、通过(BISTPASS)、环回(BSTLPBK)等引脚。在存储器24或外围逻辑电路25中可以分配存储单元给有关的计数器,本实施例分别为测试次数计数器、错误次数计数器和轮数计数器分配存储单元,并将其数据类型设为32位整型。这样,实施本实施例测试方法所需的硬件资源就已经完备了。
软件方面可以用汇编或C语言写出相应的测试程序,在测试时执行该测试程序即可。具体的处理流程如图4所示,包括以下步骤步骤100,将测试次数计数器、错误次数计数器和测试轮数计数器初始化为0;步骤110,设置自测试模式(偏移地址为2的寄存器的第4位),如果设为1,执行步骤140,如果设为0,执行下一步;步骤120,设置输出配置寄存器(偏移地址为0x0c到0x13),选择希望测试的通道;步骤130,设置环回(BSTLPBK)引脚的电平,选择测试的环回模式;步骤140,给复位(BSTRST)引脚一个250μs高脉冲,复位PRBS模块,启动自测试模块进行测试,250μs是VSC882芯片要求的最小脉冲宽度;步骤150,等待规定的时间,VSC882芯片要求至少等待10μs,这里取10μs;步骤160,检测通过(BSTPASS)引脚的电平,高电平表示测试通过,低电平表示出错,如果本次自测试出错,执行下一步,否则执行步骤190;步骤170,错误次数计数器加1;步骤180,给复位(BSTRST)引脚一个250μs高脉冲,重新启动自测试模块进行测试;步骤190,测试次数计数器加1;
步骤200,判断测试次数计数器的值是否小于约定值(如100000),如果是,返回到步骤150,否则执行下一步;步骤210,测试轮数计数器加1,将测试次数计数器的值复零,并输出此时测试轮数计数器、测试次数计数器和错误次数计数器的值,返回步骤150。
上述实施例的测试流程根据需要可以有多种的变换,例如,上述测试流程是通过外部来中断的,但也可以预先设置一个测试轮数的约定值,在上述步骤210之后,再增加一个判断测试轮数计数器的计数值是否达到该约定值的步骤,如果达到,停止测试,否则再执行步骤150。这相当于设定一个测试过程的总测试次数。
又如,测试轮数计数器是可选的,其功能也可以通过对测试次数计数器的值的判断来实现,效果是等同的。或者在只需要总的测试次数和出错次数的统计结果的情况下,可以不设置测试轮数计数器,在测试次数达到约定次数后一次性输出统计结果即可。
另外,本发明方法并不只限于对VSC882芯片的测试,对于本身具有自测试功能,但每次测试后必须复位,不能够自动连续测试和累积出错次数的其它交换芯片也适用。值得注意的是,这些芯片的自测试功能在引脚的设置和测试通道、自测试模式、环回模式的选择上,与VSC882芯片可能并不完全相同。
综上所述,本发明方法在VSC882等交换芯片内部BIST功能的基础上作了如下改进在BIST出错后自动复位BIST模块,使得BIST测试能够继续进行,同时统计了测试次数和错误次数,并且可以实时输出测试信息,从而可以满足了实际测试的需要。
权利要求
1.一种测试交换芯片及相关高速链路的方法,包括以下步骤(a)启动交换芯片内部的自测试模块;(b)间隔所述交换芯片规定的测试时间,判断本次自测试是否出错,如果出错,执行下一步,否则,执行步骤(d);(c)错误次数加1,并重新启动自测试;(d)测试次数加1;(e)返回步骤(b)。
2.如权利要求1所述的方法,其特征在于,所述步骤(d)和(e)之间还包括步骤(d1)判断测试次数是否已达到约定值,如果是,执行下一步,否则执行步骤(e);(d2)测试轮数加1,测试次数复零,并输出轮次数、测试次数和错误次数。
3.如权利要求2所述的方法,其特征在于,所述步骤(d2)之后还包括步骤判断测试轮数是否达到约定值,如果是,结束测试,否则,执行步骤(e)。
4.如权利要求1或2所述的方法,其特征在于,在所述步骤(a)之前,先设置测试次数计数器和错误次数计数器并分配存储单元,并将所述测试次数计数器和错误次数计数器初始化为零。
5.如权利要求1或2所述的方法,其特征在于,在所述步骤(a)之前,先将自测试模式设置为对所述交换芯片的自测试模块作自检的模式。
6.如权利要求1或2所述的方法,其特征在于,在所述步骤(a)之前,先将自测试模式设置为对所述交换芯片的交换矩阵和高速链路作测试的模式。
7.如权利要求6所述的方法,其特征在于,在所述步骤(a)之前,先进行测试通道的设置。
8.如权利要求6所述的方法,其特征在于,在所述步骤(a)之前,先将环回模式设置为内环测试模式或者外环测试模式。
9.如权利要求1所述的方法,其特征在于,在所述步骤(a)和(c)中,启动自测试是通过向所述交换芯片上的伪随机码发生及数据比较器的使能引脚输出一个高电平,并且向所述交换芯片上的伪随机码发生及数据比较器的复位引脚输出一个规定宽度的高脉冲来实现的,所述步骤(b)中,判断本次自测试是否出错是通过检测所述交换芯片的相应管脚电平来实现的。
全文摘要
本发明公开了一种测试交换芯片及相关高速链路的方法,应用于内部的自测试模块不能长时间连续进行自测试的交换芯片,包括以下步骤启动交换芯片内部的自测试模块进行自测试;间隔所述交换芯片规定的测试时间,判断本次自测试是否出错,如果出错,将错误次数和测试次数加1,并重新启动自测试,否则,只将测试次数加1,反复进行以上步骤,并在测试达到预定次数时报告一次测试次数和错误次数的统计信息。本发明方法在交换芯片原有的自测试功能的基础上作了改进,可以连续自动地对VSC882等交换芯片及其所在电路板上的相关高速链路进行测试,并且及时报告统计信息,从而满足实际设计和生产中的测试需要。
文档编号H04L12/26GK1564532SQ20041003088
公开日2005年1月12日 申请日期2004年4月9日 优先权日2004年4月9日
发明者牧原 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1