运算器测试系统及测试方法

文档序号:6160049阅读:220来源:国知局
运算器测试系统及测试方法
【专利摘要】本发明提供了一种运算器测试系统及测试方法,通过预期结果单元生成预期结果并将这一轮测试的预期结果提供给比较器,由此,所述预期结果单元至少仅需存储一轮测试的预期结果即可,从而减少了所述预期结果单元对预期结果的存储量。
【专利说明】运算器测试系统及测试方法
【技术领域】
[0001]本发明涉及器件测试【技术领域】,特别涉及一种运算器测试系统及测试方法。
【背景技术】
[0002]在产品的制造过程中,测试对于保证产品质量起着至关重要的作用,因此,现有很多产品都需要经过测试这一环节。随着技术的发展,运算器这一类产品越来越多地被使用,其帮助人们完成多种重复又繁杂的计算工作,从而将人们从重复又繁杂的计算工作中解放出来,进而提高人们的生活质量。
[0003]通常的,运算器包括加法器、乘法器、移位器、逻辑运算单元及存储器这几种运算工具。现有技术中,主要通过如下方法对运算器进行测试:
[0004]控制测试过程的主控设备向待测运算器提供输入数据,同时向预期结果单元提供这些输入数据经过待测运算器之后预期得到的结果(称之为预期结果);
[0005]接着,待测运算器经过运算之后输出运算结果,同时,预期结果单元输出预期结果,所述运算结果及预期结果被提供给比较器,所述比较器经过比较后便可得到比较结果,所述比较结果包括相同或者不相同,当比较结果相同时,即说明待测运算器的运算结果正确;而当比较结果不相同时,即说明待测运算器的运算结果错误,进一步说明待测运算器不合格或者说可靠性不高。
[0006]同时,为了保证测试结果的准确与可靠,对于同一待测运算器需要进行多轮测试(这一测试数量往往以千、万记),此时,所述预期结果单元就需要将这多轮测试的预期结果都予以存储,由此,将导致预期结果单元所需的存储空间非常大、进而导致这一器件在尺寸上较大,在价格上较昂贵,也不利于其与其他测试器件(包括待测运算器、主控设备等)集成,由此,也不能享受器件集成带来的小型化、价格低廉等优点。
[0007]因此,如何在运算器的测试过程中,在满足多轮测试的要求下,降低对于预期结果的存储量成了本领域亟待解决的一个技术难题。

【发明内容】

[0008]本发明的目的在于提供一种运算器测试系统及测试方法,以解决现有技术中对运算器进行测试时,所需存储的预期结果的数量非常大的问题。
[0009]为解决上述技术问题,本发明提供一种运算器测试系统,包括:控制单元、数据提供单元、第一输入单元、第二输入单元、待测运算器、预期结果单元、比较器及测试结果存储单元,其中,所述控制单元控制测试过程的进行;
[0010]当进行测试时:
[0011]所述数据提供单元向所述第一输入单元、第二输入单元及预期结果单元提供数据;
[0012]所述第一输入单元及第二输入单元向所述待测运算器提供测试数据;
[0013]所述待测运算器进行运算并将运算结果提供给比较器,所述预期结果单元生成预期结果并将这一轮测试的预期结果提供给比较器;
[0014]所述比较器比较运算结果及预期结果,并将比较结果提供给测试结果存储单元。
[0015]可选的,在所述的运算器测试系统中,所述控制单元、数据提供单元、第一输入单元、第二输入单元、待测运算器、预期结果单元、比较器及测试结果存储单元集成在同一块芯片上。
[0016]可选的,在所述的运算器测试系统中,所述预期结果单元存储当前一轮测试的预期结果。
[0017]可选的,在所述的运算器测试系统中,所述数据提供单元中所存储的数据包括:全O二进制数、O和I间隔的二进制数及仅最低位为I的二进制数。
[0018]可选的,在所述的运算器测试系统中,所述预期结果单元提供的预期结果为:数据提供单元所提供的数据的函数。
[0019]可选的,在所述的运算器测试系统中,所述预期结果单元提供的预期结果为:数据提供单元提供的数据的移位或者反相。
[0020]可选的,在所述的运算器测试系统中,所述预期结果单元提供的预期结果为:常数。
[0021]可选的,在所述的运算器测试系统中,所述预期结果单元提供的预期结果为:全I二进制数或全O 二进制数。
[0022]可选的,在所述的运算器测试系统中,所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据。
[0023]可选的,在所述的运算器测试系统中,当所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据时,
[0024]所述待测运算器经过正运算及逆运算之后将运算结果提供给比较器。
[0025]可选的,在所述的运算器测试系统中,所述第一输入单元向所述第二输入单元及预期结果单元提供数据。
[0026]可选的,在所述的运算器测试系统中,所述第二输入单元向所述第一输入单元及预期结果单元提供数据。
[0027]可选的,在所述的运算器测试系统中,所述预期结果单元向所述第一输入单元及第二输入单元提供数据。
[0028]可选的,在所述的运算器测试系统中,所述控制单元包括:
[0029]测试流程控制单元,用以控制测试进程;
[0030]步骤数记录单元,用以记录步骤数;
[0031]器件选择单元,用以选择待测运算器及其工作方式;
[0032]第一数据选择单元,用以选择数据提供单元提供的数据;
[0033]第二数据选择单元,用以选择第一输入单元、第二输入单元及预期结果单元各自接收的数据 '及
[0034]数据转换控制器,用以确定第一输入单元、第二输入单元及预期结果单元中的数据是否需要移位或者反相。
[0035]可选的,在所述的运算器测试系统中,所述测试流程控制单元根据一位二进制数控制测试进程,所述测试进程包括:[0036]根据步骤数记录单元提供的计数nl,当nl次测试完成后,进行下一轮测试,所述nl为非负整数;
[0037]根据步骤数记录单元提供的计数n2,进行之前第n2轮测试,所述n2为自然数。
[0038]可选的,在所述的运算器测试系统中,所述待测运算器包括加法器、乘法器、移位器、逻辑运算单元及存储器中的一种。
[0039]可选的,在所述的运算器测试系统中,当所述待测运算器为移位器时,
[0040]所述步骤数记录单元向所述移位器提供移位的位数同时提供测试的计数。
[0041]可选的,在所述的运算器测试系统中,当所述待测运算器为存储器时,
[0042]所述步骤数记录单元向所述存储器提供存储器读写地址。
[0043]可选的,在所述的运算器测试系统中,当比较结果为运算结果与预期结果不相同时,所述测试结果存储单元存储该比较结果。
[0044]本发明还提供一种运算器测试方法,包括:
[0045]步骤1:控制单元控制测试开始;
[0046]步骤2:数据提供单元向所述第一输入单元、第二输入单元及预期结果单元提供数据;
[0047]步骤3:所述第一输入单元及第二输入单元向待测运算器提供测试数据;
[0048]步骤4:所述待测运算器进行运算并将运算结果提供给比较器,所述预期结果单元生成预期结果并将这一轮测试的预期结果提供给比较器;
[0049]步骤5:所述比较器比较运算结果及预期结果,并将比较结果提供给测试结果存储单元;
[0050]步骤6:所述控制单元控制测试继续或者测试结束。
[0051]可选的,在所述的运算器测试方法中,所述预期结果单元存储当前一轮测试的预期结果。
[0052]可选的,在所述的运算器测试方法中,所述数据提供单元中所存储的数据包括:全O二进制数、O和I间隔的二进制数及仅最低位为I的二进制数。
[0053]可选的,在所述的运算器测试方法中,所述预期结果单元提供的预期结果为:数据提供单元所提供的数据的函数。
[0054]可选的,在所述的运算器测试方法中,所述预期结果单元提供的预期结果为:数据提供单元提供的数据的移位或者反相。
[0055]可选的,在所述的运算器测试方法中,所述预期结果单元提供的预期结果为:常数。
[0056]可选的,在所述的运算器测试方法中,所述预期结果单元提供的预期结果为:全I二进制数或全O 二进制数。
[0057]可选的,在所述的运算器测试方法中,所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据。
[0058]可选的,在所述的运算器测试方法中,当所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据时,
[0059]所述待测运算器经过正运算及逆运算之后将运算结果提供给比较器。
[0060]可选的,在所述的运算器测试方法中,在步骤2中还包括:所述第一输入单元向所述第二输入单元及预期结果单元提供数据。
[0061]可选的,在所述的运算器测试方法中,在步骤2中还包括:所述第二输入单元向所述第一输入单元及预期结果单元提供数据。
[0062]可选的,在所述的运算器测试方法中,在步骤2中还包括:所述预期结果单元向所述第一输入单元及第二输入单元提供数据。
[0063]可选的,在所述的运算器测试方法中,测试流程控制单元根据一位二进制数控制测试继续的进程,所述测试继续的进程包括:
[0064]根据步骤数记录单元提供的计数nl,当nl次测试完成后,进行下一轮测试,所述nl为非负整数;
[0065]根据步骤数记录单元提供的计数n2,进行之前第n2轮测试,所述n2为自然数。
[0066]可选的,在所述的运算器测试方法中,当所述待测运算器为移位器时,
[0067]所述步骤数记录单元向所述移位器提供移位的位数同时提供测试的计数。
[0068]可选的,在所述的运算器测试方法中,当所述待测运算器为存储器时,
[0069]所述步骤数记录单元向所述存储器提供存储器读写地址。
[0070]可选的,在所述的运算器测试方法中,在步骤5中,当比较结果为运算结果与预期结果不相同时,所述测试结果存储单元存储该比较结果。
[0071]在本发明提供的运算器测试系统及测试方法中,所述预期结果单元生成预期结果并将这一轮测试的预期结果提供给比较器,由此,所述预期结果单元至少仅需存储一轮测试的预期结果即可,从而减少了所述预期结果单元对预期结果的存储量。
【专利附图】

【附图说明】
[0072]图1是本发明实施例的运算器测试系统的框结构示意图;
[0073]图2是本发明实施例的运算器测试系统的结构示意图。
【具体实施方式】
[0074]以下结合附图和具体实施例对本发明提出的运算器测试系统及测试方法作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
[0075]请参考图1,其为本发明实施例的运算器测试系统的框结构示意图。如图1所示,所述运算器测试系统I包括:
[0076]控制单元10、数据提供单元11、第一输入单元12、第二输入单元13、待测运算器
14、预期结果单元15、比较器16及测试结果存储单元17,其中,所述控制单元10控制测试过程的进行;
[0077]当进行测试时:
[0078]所述数据提供单元11向所述第一输入单元12、第二输入单元13及预期结果单元15提供数据;
[0079]所述第一输入单元12及第二输入单元13向所述待测运算器14提供测试数据;
[0080]所述待测运算器14进行运算并将运算结果提供给比较器16,所述预期结果单元15生成预期结果并将这一轮测试的预期结果提供给比较器16 ;
[0081]所述比较器16比较运算结果及预期结果,并将比较结果提供给测试结果存储单元17。
[0082]在本实施例中,由于所述预期结果单元15生成预期结果并将这一轮测试的预期结果提供给比较器16,由此,所述预期结果单元15至少仅需存储一轮测试的预期结果即可,从而减少了所述预期结果单元15对预期结果的存储量。
[0083]优选的,所述预期结果单元15仅存储当前一轮测试的预期结果,由此,可极大地减小对预期结果的存储量。当然,在本发明的其他实施例中,所述预期结果单元15可多存储几轮测试的预期结果,例如存储包括当前一轮及前后三轮的预测结果等。
[0084]进一步的,所述控制单元10、数据提供单元11、第一输入单元12、第二输入单元
13、待测运算器14、预期结果单元15、比较器16及测试结果存储单元17集成在同一块芯片上。在此,由于所述预期结果单元15存储的数据量较少,由此,其需要的存储空间也相应变少,进而其在外观上(空间结构上)也相应地变得非常小,从而使得所述运算器测试系统能够集成在同一块芯片上,享受集成带来的小型化、价格低廉等优点,同时,集成还能够带来数据传递速度快等优点。
[0085]在本实施例中,不仅所述数据提供单元11可以向所述第一输入单元12、第二输入单元13及预期结果单元15提供数据,同时,所述第一输入单元12、第二输入单元13及预期结果单元15各自之间也可以提供数据,S卩,所述第一输入单元12可以向所述第二输入单元13及预期结果单元15提供数据;所述第二输入单元13可以向所述第一输入单元12及预期结果单元15提供数据;所述预期结果单元15可以向所述第一输入单元12及第二输入单元13提供数据。由此,更加丰富了测试数据。
[0086]考虑到对于运算器测试的覆盖率以及数据提供单元11的存储量需求,优选的,所述数据提供单元11所存储的数据为三个常数,分别为全O 二进制数(用“A”表示)、0和I间隔的二进制数(用“B”表示)及仅最低位为I的二进制数(用“C”表示)。以四位二进制数为例,即分别可对应出“0000”、“0101”及“0001”;若以十六位二进制数为例,则分别可以对应出 “0000 0000 0000 0000,,、“0101 0101 0101 0101” 及“0000 0000 0000 0001”,当然,还可以是三十二位、六十四位等位数的二进制数,本申请对此不再赘述。
[0087]同时,为了进一步满足对于运算器测试的需求,提高运算器测试的覆盖率,所述数据提供单元11还预设一数据产出位,该位可根据测试需要提供新的数据(用“G”表示),其中,所述新的数据可通过计数器予以产生。
[0088]在本实施例中,所述预期结果单元15中的预期结果可以是数据提供单元11、第一输入单元12及第二输入单元13提供的数据本身,也可以是数据提供单元11、第一输入单元12及第二输入单元13提供的数据的移位或者反相,即,所述预期结果单元15中的预期结果是预期结果单元15得到的数据(输入数据)的函数(在此指代根据一定的变化即可得到)。
[0089]进一步的,所述预期结果单元15中的预期结果还可以是常数,优选的为全O 二进制数,若以四位二进制数为例,则是“0000”;若以十六位二进制数为例,则是“0000 00000000 0000”,此数可以是常数“A”;优选的为全I 二进制数,若以四位二进制数为例,则是“1111”;若以十六位二进制数为例,则是“1111 11111111 1111”,此数可为常数“A”的反相。本实施例特设计对此结果的测试,以提高测试的可靠性及覆盖率。
[0090]在对预期结果为常数的情况予以测试时,将得到此种常数的各种情况均予以测试,例如,所述待测运算器14为加法器,所述常数为“1111”,则对于输入分别为“0000”及“1111”;“0001”及“1110”;“0010”及“1101”……等各种能够得出“1111”的情况均予以
测试,从而保证测试的覆盖率。
[0091]进一步的,所述预期结果单元15中的预期结果还可以是一种逆运算结果,具体实现时,可以将第一输入单元12或者第二输入单元13所提供的数据作为预期结果。同时,待测运算器14将第一输入单元12及第二输入单元13提供的测试数据经过正运算后的中间结果送回第一输入单元12或者第二输入单元13,接着,被送回的中间结果及得出该中间结果的测试数据之一(第一输入单元12或者第二输入单元13提供的数据)送到该待测运算器14(即进行正运算的同一待测运算器14)进行逆运算,由此得出的运算结果(即经过了正运算和逆运算之后的结果)提供给比较器16,该比较器16将待测运算器14提供的运算结果与预期结果(即第二输入单元13或第一输入单元12提供给预期结果单元15的数据)进行比较。
[0092]其中,需说明的是,所述正运算指所述待测运算器通常执行的运算,例如,若待测运算器为加法器,其正运算即指“加法”运算/操作,而其逆运算指相反的运算,即指“减法”运算/操作,所述正运算及逆运算通过同一待测运算器实现。
[0093]例如,第一输入单元12的数据与第二输入单元13的数据经待测运算器14(该待测运算器14设为加法器)相加得到中间结果,同时将第二输入单元13的数据提供给预期结果单元15作为预期结果。该中间结果没有相应的预期结果;但中间结果被反馈回第二输入单元13作为输入数据由待测运算器14减去第一输入单元12的数据(即进行逆运算),所得的最后运算结果应该与预期结果(原第二输入单元13的数据)通过比较器16进行比较。
[0094]在此,利用了运算器通常都能够执行正运算及逆运算的特性,同时,利用了这样一个原理,若待测运算器是合格/正常的运算器,则经过正运算及逆运算之后,其运算结果将是输入数据,即第一输入单元12或者第二输入单元13所提供的测试数据,则将该运算结果与预期结果(此时预期结果为第一输入单元12或者第二输入单元13所提供的数据)进行比较,若比较结果相同,便可得出待测运算器合格/正常(或者至少是通过本轮测试)的测试结果。
[0095]在本实施例所提供的多种预期结果中,均通过预期结果单元15根据其输入的数据便可产生一定的预期结果,从而不需要存储大量的预期结果,节省了存储空间的开支。同时,这些预期结果考虑了测试的特性,能够实现测试的效果。
[0096]请相应参考图2,其为本发明实施例的运算器测试系统的结构示意图,在此,将结合图2对于所述运算器测试系统I作进一步介绍。
[0097]在本实施例中,所述控制单元10包括:
[0098]测试流程控制单元101,用以控制测试进程;
[0099]步骤数记录单元102,用以记录步骤数;
[0100]器件选择单元103,用以选择待测运算器14及其工作方式;
[0101]第一数据选择单元106,用以选择数据提供单元11提供的数据;[0102]第二数据选择单元105,用以选择第一输入单元12、第二输入单元13及预期结果单元14各自接收的数据;及
[0103]数据转换控制器104,用以确定第一输入单元12、第二输入单元13及预期结果单元14中的数据是否需要移位或者反相。
[0104]所述运算器测试系统I还包括步骤计数器20以及存储器地址产生器21,所述步骤计数器20用以进行步骤计数,所述存储器地址产生器21用以产生地址。
[0105]优选的,所述控制单元10可以由一个存有测试程序的存储器实现。上述各单元为存储器中的区域。其中,图2中控制单元10的竖向可以用来表示测试程序的行,横向是具体控制特定部件的位。其中测试流程控制单元101、步骤数记录单元102以及步骤计数器20共同作用决定存储器地址产生器21产生的地址210,从而决定测试程序的流向。
[0106]具体的,当测试流程控制单元101 (只使用一位二进制数)为“0”,步骤数记录单元102为“nl”时,此行测试程序被执行nl次(比如每次预期结果单元15中的移位器151移I位),直到步骤计数器20从O计数到nl时,该步骤计数器20会通知存储器地址产生器21指向下一行测试程序。当测试流程控制单元101 (只使用一位二进制数)为“1”,步骤数记录单元102为“n2”时,存储器地址产生器21产生当前行地址之前n2行的地址(即回跳)。
[0107]也可取消测试流程控制单元101,测试程序在执行当前行直到步骤数记录单元102中所含nl次执行完毕后,执行下一行测试程序,直到全部测试程序执行完毕。
[0108]器件选择单元103可以使用待测运算器的操作码。如此,在对待测运算器进行测试的同时也测试了运算器的译码器。
[0109]具体的,当所述运算器测试系统I进行测试时,包括如下步骤:
[0110]步骤1:控制单元10控制测试开始;
[0111]具体的,可通过测试流程控制单元101控制测试的进行,在此,先控制运算器测试系统I开始进行测试,在此,可通过一位二进制数予以实现,例如,“I”表示测试开始,当然,相应的,可利用同一位二进制数表征测试结束,例如,该二进制位上的二进制数是“O”时,表征测试结束/结束状态。
[0112]步骤2:数据提供单元11向所述第一输入单元12、第二输入单元13及预期结果单元15提供数据;
[0113]具体的,首先,数据提供单元11中存储有多个数据(即可以向第一输入单元12、第二输入单元13及预期结果单元14提供多个数据),因此,可先通过第一数据选择单元106从该多个数据(图2中通过标记“A”、“B”、“C”及“G”予以表示本实施例中数据提供单元11可提供的四个数据,同时,可相应参考前文对该四个数据的描述)中选择一个或者多个提供。
[0114]步骤3:所述第一输入单元12及第二输入单元13向待测运算器14提供测试数据;
[0115]具体的,在本发明一实施例中,所述第一输入单元12及第二输入单元13接收了数据提供单元11提供的数据之后,将其得到的数据作为测试数据向待测运算器14提供。
[0116]在此,首先,所述第一输入单元12中设置有移位/反相器121,所述第二输入单元13中设置有移位/反相器131,对于从数据提供单元11中得到的数据,在所述数据转换控制器104的控制下,所述第一输入单元12及第二输入单元13均可选择是输出原数据作为测试数据还是输出反相/移位数据(所述反相数据指原数据的相反数据,例如,原数据为“0001”,则反相数据即为“1110”;所述移位数据指原数据经过移位后的数据,例如,原数据为“0001”,则移一位的数据即为“0010”,移两位的数据即为“0100”。)作为测试数据,由此,进一步增加了测试数据的数据源的容量,进而提高测试的覆盖率。其中,优选的,移位/反相器121与移位/反相器131可以是单纯的反相器,移位功能全由预期结果单元15中的移位器151执行,如此,可进一步节省器件的开支,降低运算器测试系统I的成本。
[0117]其次,在本发明的实施例中,所述第一输入单元12及第二输入单元13不仅可以得到来自数据提供单元11的数据,其相互之间还可以提供数据,同时,预期结果单元15还可以向所述第一输入单元12及第二输入单元13提供数据。同时,在如此多的数据提供源下,可通过第二数据选择单元105选择第一输入单元12及第二输入单元13各自接收的数据,即第一输入单元12是选择数据提供单元11提供的数据、还是第二输入单元13提供的数据、亦或预期结果单元15提供的数据;对于第二输入单元13,所述第二数据选择单元105亦起到同样的控制作用。
[0118]由此,既能满足测试数据数据源的丰富性,又能满足测试的有序性。
[0119]步骤4:所述待测运算器14进行运算并将运算结果提供给比较器16,所述预期结果单元15生成预期结果并将这一轮测试的预期结果提供给比较器16 ;
[0120]在本实施例中,所述待测运算器14所执行的运算通常仅指正运算,即当待测运算器14是加法器时,执行加法运算;当待测运算器14是乘法器时,执行乘法运算。
[0121]特别的,在所述预期结果单元15提供的预期结果为:第一输入单元或者第二输入单元向待测运算器14提供的测试数据的情况下,所述待测运算器14经过正运算及逆运算之后将运算结果提供给比较器,即所述待测运算器14执行正运算及逆运算,关于此点的测试原理可相应参考前文,在此不再赘述。
[0122]关于所述预期结果单元15生成预期结果的情况,
[0123]首先,通过第二数据选择单元105可选择生成预期结果的源,即选择数据提供单元11提供的数据生成预期结果、还是选择第一输入单元12提供的数据生成预期结果、亦或选择第二输入单元13提供的数据生成预期结果,即所述预期结果单元15可根据多种数据源生成预期结果;
[0124]其次,对于选择的数据源,所述预期结果单元15还可在数据转换控制器104的控制下,以确定是否需要进行移位或者反相,即最终生成的预期结果可以是反相/移位数据,从而使得所述预期结果单元15能够生成多个预期结果,满足不同测试的要求。
[0125]步骤5:所述比较器16比较运算结果及预期结果,并将比较结果提供给测试结果存储单兀17 ;
[0126]在此,所述比较器16对于运算结果与预期结果进行比较后,便可得出所述运算结果与所述预期结果是相同还是不相同的比较结果,将该比较结果提供给测试结果存储单元
17。具体的,可通过一位二进制数表示比较结果,例如以“O”表示相同,以“I”表示不相同,则所述比较器16只需将“O”或者“I”提供给测试结果存储单元17即可。
[0127]在此,可仅当比较结果为运算结果与预期结果不相同时,所述测试结果存储单元17存储该比较结果,从而减少所述测试结果存储单元17的存储量。
[0128]步骤6:所述控制单元10控制测试继续或者测试结束。[0129]关于所述控制单元10控制测试结束的方式,可参考前文,本申请在此不再赘述。而关于控制单元10控制测试继续的方式,可通过如下一些方法:
[0130]首先,考虑到对于待测运算器的测试可能出现如下两种情况,
[0131]1、同一种测试需要执行多次,此种情况下,可利用步骤数记录单元102予以实现,具体的,步骤数记录单元102将需要执行的(测试)次数nl (nl为非负整数)提供给步骤计数器20,步骤计数器20予以具体计数,当到达预定的执行次数时,步骤计数器20向存储器地址产生器21提供触发,存储器地址产生器21接收到触发之后,可控制测试流程控制单元101执行下一步骤;
[0132]2、执行过的某一轮测试还需要再次予以执行,此即为需要进行之前的第n2轮测试,所述n2为自然数,此种情况下,同样可利用步骤数记录单元102予以实现,在此,步骤数记录单元102向测试流程控制单元101提供n2值,则所述测试流程控制单元101控制执行该一轮测试。
[0133]在此,所述测试流程控制单元101对于测试继续的不同形式,可通过一位二进制位加以区分,例如:
[0134]二进制位为“O”时,测试继续的形式为:当步骤数记录单元102提供的步骤记录数被执行完成后,进行下一轮测试;
[0135]此时,指代前面的第I种情况,但若是同一种测试不需要执行多次,则可忽略步骤数记录单元102提供的步骤记录数;或者,步骤数记录单元102完成计数O (从“O”开始计数)时,即进行下一轮测试。
[0136]二进制位为“I”时,测试继续的形式为:根据步骤数记录单元102提供的步骤记录数n2,进行之前第n2轮测试,所述n2为自然数。
[0137]前文对于待测运算器14为通用运算器(即其可以是加法器、乘法器、移位器、逻辑运算单元及存储器中的任一种)的情况予以了描述,接下去,将对待测运算器14分不同情况加以具体描述,以进一步体现本发明提供的运算器测试系统及测试方法的实现方式。
[0138]【实施例一、待测运算器为加法器】
[0139]首先,根据前文的描述,本领域技术人员将能够利用运算器测试系统实现对于加法器的测试,即通过一系列测试数据,进行多轮测试,得出加法器合格/不合格的测试结论。而其中,所述测试数据均可通过数据提供单元11提供的几个数据予以形成。
[0140]为了更加直观的体现通过数据提供单元11提供的几个数据,同时,又无需预期结果单元15存储大量的预期结果而能够实现对于加法器的测试(指进行多轮测试),在本实施例中,特举几个测试数据例予以说明。请参考下表1,表1列举了第一输入单元12、第二输入单元13及预期结果单元15的输出数据例:
[0141]
【权利要求】
1.一种运算器测试系统,其特征在于,包括:控制单元、数据提供单元、第一输入单元、第二输入单元、待测运算器、预期结果单元、比较器及测试结果存储单元,其中,所述控制单元控制测试过程的进行; 当进行测试时: 所述数据提供单元向所述第一输入单元、第二输入单元及预期结果单元提供数据; 所述第一输入单元及第二输入单元向所述待测运算器提供测试数据; 所述待测运算器进行运算并将运算结果提供给比较器,所述预期结果单元生成预期结果并将这一轮测试的预期结果提供给比较器; 所述比较器比较运算结果及预期结果,并将比较结果提供给测试结果存储单元。
2.如权利要求1所述的运算器测试系统,其特征在于,所述控制单元、数据提供单元、第一输入单元、第二输入单元、待测运算器、预期结果单元、比较器及测试结果存储单元集成在同一块芯片上。
3.如权利要求1所述的运算器测试系统,其特征在于,所述预期结果单元存储当前一轮测试的预期结果。
4.如权利要求1所述的运算器测试系统,其特征在于,所述数据提供单元中所存储的数据包括:全O 二进制数、O和I间隔的二进制数及仅最低位为I的二进制数。
5.如权利要求1至4中的任一项所述的运算器测试系统,其特征在于,所述预期结果单元提供的预期结果为:数据提供单元所提供的数据的函数。
6.如权利要求5所述的运算器测试系统,其特征在于,所述预期结果单元提供的预期结果为:数据提供单元提供的数据的移位或者反相。
7.如权利要求1至4中的任一项所述的运算器测试系统,其特征在于,所述预期结果单元提供的预期结果为:常数。
8.如权利要求7所述的运算器测试系统,其特征在于,所述预期结果单元提供的预期结果为:全I二进制数或全O 二进制数。
9.如权利要求1至4中的任一项所述的运算器测试系统,其特征在于,所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据。
10.如权利要求9所述的运算器测试系统,其特征在于,当所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据时, 所述待测运算器经过正运算及逆运算之后将运算结果提供给比较器。
11.如权利要求1至4中的任一项所述的运算器测试系统,其特征在于,所述第一输入单元向所述第二输入单元及预期结果单元提供数据。
12.如权利要求1至4中的任一项所述的运算器测试系统,其特征在于,所述第二输入单元向所述第一输入单元及预期结果单元提供数据。
13.如权利要求1至4中的任一项所述的运算器测试系统,其特征在于,所述预期结果单元向所述第一输入单元及第二输入单元提供数据。
14.如权利要求1至4中的任一项所述的运算器测试系统,其特征在于,所述控制单元包括: 测试流程控制单元,用以控制测试进程; 步骤数记录单元,用以记录步骤数;器件选择单元,用以选择待测运算器及其工作方式; 第一数据选择单元,用以选择数据提供单元提供的数据; 第二数据选择单元,用以选择第一输入单元、第二输入单元及预期结果单元各自接收的数据 ;及 数据转换控制器,用以确定第一输入单元、第二输入单元及预期结果单元中的数据是否需要移位或者反相。
15.如权利要求14所述的运算器测试系统,其特征在于,所述测试流程控制单元根据一位二进制数控制测试进程,所述测试进程包括: 根据步骤数记录单元提供的计数nl,当nl次测试完成后,进行下一轮测试,所述nl为非负整数; 根据步骤数记录单元提供的计数n2,进行之前第n2轮测试,所述n2为自然数。
16.如权利要求14所述的运算器测试系统,其特征在于,所述待测运算器包括加法器、乘法器、移位器、逻辑运算单元及存储器中的一种。
17.如权利要求16所述的运算器测试系统,其特征在于,当所述待测运算器为移位器时, 所述步骤数记录单元向所述移位器提供移位的位数同时提供测试的计数。
18.如权利要求16所述的运算器测试系统,其特征在于,当所述待测运算器为存储器时, 所述步骤数记录单元向所述存储器提供存储器读写地址。
19.如权利要求1至4中的任一项所述的运算器测试系统,其特征在于, 当比较结果为运算结果与预期结果不相同时,所述测试结果存储单元存储该比较结果O
20.一种运算器测试方法,其特征在于,包括: 步骤1:控制单元控制测试开始; 步骤2:数据提供单元向所述第一输入单元、第二输入单元及预期结果单元提供数据; 步骤3:所述第一输入单元及第二输入单元向待测运算器提供测试数据; 步骤4:所述待测运算器进行运算并将运算结果提供给比较器,所述预期结果单元生成预期结果并将这一轮测试的预期结果提供给比较器; 步骤5:所述比较器比较运算结果及预期结果,并将比较结果提供给测试结果存储单元; 步骤6:所述控制单元控制测试继续或者测试结束。
21.如权利要求20所述的运算器测试方法,其特征在于,所述预期结果单元存储当前一轮测试的预期结果。
22.如权利要求20所述的运算器测试方法,其特征在于,所述数据提供单元中所存储的数据包括:全O 二进制数、O和I间隔的二进制数及仅最低位为I的二进制数。
23.如权利要求20至22中的任一项所述的运算器测试方法,其特征在于,所述预期结果单元提供的预期结果为:数据提供单元所提供的数据的函数。
24.如权利要求23所述的运算器测试方法,其特征在于,所述预期结果单元提供的预期结果为:数据提供单元提供的数据的移位或者反相。
25.如权利要求20至22中的任一项所述的运算器测试方法,其特征在于,所述预期结果单元提供的预期结果为:常数。
26.如权利要求25所述的运算器测试方法,其特征在于,所述预期结果单元提供的预期结果为:全I二进制数或全O 二进制数。
27.如权利要求20至22中的任一项所述的运算器测试方法,其特征在于,所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据。
28.如权利要求27所述的运算器测试方法,其特征在于,当所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据时, 所述待测运算器经过正运算及逆运算之后将运算结果提供给比较器。
29.如权利要求20至22中的任一项所述的运算器测试方法,其特征在于,在步骤2中还包括:所述第一输入单元向所述第二输入单元及预期结果单元提供数据。
30.如权利要求20至22中的任一项所述的运算器测试方法,其特征在于,在步骤2中还包括:所述第二输入单元向所述第一输入单元及预期结果单元提供数据。
31.如权利要求20至22中的任一项所述的运算器测试方法,其特征在于,在步骤2中还包括:所述预期结果单元向所述第一输入单元及第二输入单元提供数据。
32.如权利要求20至22中的任一项所述的运算器测试方法,其特征在于,测试流程控制单元根据一位二进制数控制测试继续的进程,所述测试继续的进程包括: 根据步骤数记录单元提供的计数nl,当nl次测试完成后,进行下一轮测试,所述nl为非负整数; 根据步骤数记录单元提供的计数n2,进行之前第n2轮测试,所述n2为自然数。
33.如权利要求20至22中的任一项所述的运算器测试方法,其特征在于,当所述待测运算器为移位器时,
所述步骤数记录单元向所述移位器提供移位的位数同时提供测试的计数。
34.如权利要求20至22中的任一项所述的运算器测试方法,其特征在于,当所述待测运算器为存储器时, 所述步骤数记录单元向所述存储器提供存储器读写地址。
35.如权利要求20至22中的任一项所述的运算器测试方法,其特征在于,在步骤5中,当比较结果为运算结果与预期结果不相同时,所述测试结果存储单元存储该比较结果。
【文档编号】G01R31/3177GK103513177SQ201210224191
【公开日】2014年1月15日 申请日期:2012年6月29日 优先权日:2012年6月29日
【发明者】林正浩 申请人:上海芯豪微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1