CN103513177B - 运算器测试系统及测试方法 - Google Patents
运算器测试系统及测试方法 Download PDFInfo
- Publication number
- CN103513177B CN103513177B CN201210224191.0A CN201210224191A CN103513177B CN 103513177 B CN103513177 B CN 103513177B CN 201210224191 A CN201210224191 A CN 201210224191A CN 103513177 B CN103513177 B CN 103513177B
- Authority
- CN
- China
- Prior art keywords
- unit
- test
- expected results
- data
- arithmetic unit
- 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
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3177—Testing of logic operation, e.g. by logic analysers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31703—Comparison aspects, e.g. signature analysis, comparators
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31712—Input or output aspects
- G01R31/31713—Input or output interfaces for test, e.g. test pins, buffers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/31813—Test pattern generators
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2226—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test ALU
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明提供了一种运算器测试系统及测试方法,通过预期结果单元生成预期结果并将这一轮测试的预期结果提供给比较器,由此,所述预期结果单元至少仅需存储一轮测试的预期结果即可,从而减少了所述预期结果单元对预期结果的存储量。
Description
技术领域
本发明涉及器件测试技术领域,特别涉及一种运算器测试系统及测试方法。
背景技术
在产品的制造过程中,测试对于保证产品质量起着至关重要的作用,因此,现有很多产品都需要经过测试这一环节。随着技术的发展,运算器这一类产品越来越多地被使用,其帮助人们完成多种重复又繁杂的计算工作,从而将人们从重复又繁杂的计算工作中解放出来,进而提高人们的生活质量。
通常的,运算器包括加法器、乘法器、移位器、逻辑运算单元及存储器这几种运算工具。现有技术中,主要通过如下方法对运算器进行测试:
控制测试过程的主控设备向待测运算器提供输入数据,同时向预期结果单元提供这些输入数据经过待测运算器之后预期得到的结果(称之为预期结果);
接着,待测运算器经过运算之后输出运算结果,同时,预期结果单元输出预期结果,所述运算结果及预期结果被提供给比较器,所述比较器经过比较后便可得到比较结果,所述比较结果包括相同或者不相同,当比较结果相同时,即说明待测运算器的运算结果正确;而当比较结果不相同时,即说明待测运算器的运算结果错误,进一步说明待测运算器不合格或者说可靠性不高。
同时,为了保证测试结果的准确与可靠,对于同一待测运算器需要进行多轮测试(这一测试数量往往以千、万记),此时,所述预期结果单元就需要将这多轮测试的预期结果都予以存储,由此,将导致预期结果单元所需的存储空间非常大、进而导致这一器件在尺寸上较大,在价格上较昂贵,也不利于其与其他测试器件(包括待测运算器、主控设备等)集成,由此,也不能享受器件集成带来的小型化、价格低廉等优点。
因此,如何在运算器的测试过程中,在满足多轮测试的要求下,降低对于预期结果的存储量成了本领域亟待解决的一个技术难题。
发明内容
本发明的目的在于提供一种运算器测试系统及测试方法,以解决现有技术中对运算器进行测试时,所需存储的预期结果的数量非常大的问题。
为解决上述技术问题,本发明提供一种运算器测试系统,包括:控制单元、数据提供单元、第一输入单元、第二输入单元、待测运算器、预期结果单元、比较器及测试结果存储单元,其中,所述控制单元控制测试过程的进行;
当进行测试时:
所述数据提供单元向所述第一输入单元、第二输入单元及预期结果单元提供数据;
所述第一输入单元及第二输入单元向所述待测运算器提供测试数据;
所述待测运算器进行运算并将运算结果提供给比较器,所述预期结果单元生成预期结果并将这一轮测试的预期结果提供给比较器;
所述比较器比较运算结果及预期结果,并将比较结果提供给测试结果存储单元。
可选的,在所述的运算器测试系统中,所述控制单元、数据提供单元、第一输入单元、第二输入单元、待测运算器、预期结果单元、比较器及测试结果存储单元集成在同一块芯片上。
可选的,在所述的运算器测试系统中,所述预期结果单元存储当前一轮测试的预期结果。
可选的,在所述的运算器测试系统中,所述数据提供单元中所存储的数据包括:全0二进制数、0和1间隔的二进制数及仅最低位为1的二进制数。
可选的,在所述的运算器测试系统中,所述预期结果单元提供的预期结果为:数据提供单元所提供的数据的函数。
可选的,在所述的运算器测试系统中,所述预期结果单元提供的预期结果为:数据提供单元提供的数据的移位或者反相。
可选的,在所述的运算器测试系统中,所述预期结果单元提供的预期结果为:常数。
可选的,在所述的运算器测试系统中,所述预期结果单元提供的预期结果为:全1二进制数或全0二进制数。
可选的,在所述的运算器测试系统中,所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据。
可选的,在所述的运算器测试系统中,当所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据时,
所述待测运算器经过正运算及逆运算之后将运算结果提供给比较器。
可选的,在所述的运算器测试系统中,所述第一输入单元向所述第二输入单元及预期结果单元提供数据。
可选的,在所述的运算器测试系统中,所述第二输入单元向所述第一输入单元及预期结果单元提供数据。
可选的,在所述的运算器测试系统中,所述预期结果单元向所述第一输入单元及第二输入单元提供数据。
可选的,在所述的运算器测试系统中,所述控制单元包括:
测试流程控制单元,用以控制测试进程;
步骤数记录单元,用以记录步骤数;
器件选择单元,用以选择待测运算器及其工作方式;
第一数据选择单元,用以选择数据提供单元提供的数据;
第二数据选择单元,用以选择第一输入单元、第二输入单元及预期结果单元各自接收的数据;及
数据转换控制器,用以确定第一输入单元、第二输入单元及预期结果单元中的数据是否需要移位或者反相。
可选的,在所述的运算器测试系统中,所述测试流程控制单元根据一位二进制数控制测试进程,所述测试进程包括:
根据步骤数记录单元提供的计数n1,当n1次测试完成后,进行下一轮测试,所述n1为非负整数;
根据步骤数记录单元提供的计数n2,进行之前第n2轮测试,所述n2为自然数。
可选的,在所述的运算器测试系统中,所述待测运算器包括加法器、乘法器、移位器、逻辑运算单元及存储器中的一种。
可选的,在所述的运算器测试系统中,当所述待测运算器为移位器时,
所述步骤数记录单元向所述移位器提供移位的位数同时提供测试的计数。
可选的,在所述的运算器测试系统中,当所述待测运算器为存储器时,
所述步骤数记录单元向所述存储器提供存储器读写地址。
可选的,在所述的运算器测试系统中,当比较结果为运算结果与预期结果不相同时,所述测试结果存储单元存储该比较结果。
本发明还提供一种运算器测试方法,包括:
步骤1:控制单元控制测试开始;
步骤2:数据提供单元向所述第一输入单元、第二输入单元及预期结果单元提供数据;
步骤3:所述第一输入单元及第二输入单元向待测运算器提供测试数据;
步骤4:所述待测运算器进行运算并将运算结果提供给比较器,所述预期结果单元生成预期结果并将这一轮测试的预期结果提供给比较器;
步骤5:所述比较器比较运算结果及预期结果,并将比较结果提供给测试结果存储单元;
步骤6:所述控制单元控制测试继续或者测试结束。
可选的,在所述的运算器测试方法中,所述预期结果单元存储当前一轮测试的预期结果。
可选的,在所述的运算器测试方法中,所述数据提供单元中所存储的数据包括:全0二进制数、0和1间隔的二进制数及仅最低位为1的二进制数。
可选的,在所述的运算器测试方法中,所述预期结果单元提供的预期结果为:数据提供单元所提供的数据的函数。
可选的,在所述的运算器测试方法中,所述预期结果单元提供的预期结果为:数据提供单元提供的数据的移位或者反相。
可选的,在所述的运算器测试方法中,所述预期结果单元提供的预期结果为:常数。
可选的,在所述的运算器测试方法中,所述预期结果单元提供的预期结果为:全1二进制数或全0二进制数。
可选的,在所述的运算器测试方法中,所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据。
可选的,在所述的运算器测试方法中,当所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据时,
所述待测运算器经过正运算及逆运算之后将运算结果提供给比较器。
可选的,在所述的运算器测试方法中,在步骤2中还包括:所述第一输入单元向所述第二输入单元及预期结果单元提供数据。
可选的,在所述的运算器测试方法中,在步骤2中还包括:所述第二输入单元向所述第一输入单元及预期结果单元提供数据。
可选的,在所述的运算器测试方法中,在步骤2中还包括:所述预期结果单元向所述第一输入单元及第二输入单元提供数据。
可选的,在所述的运算器测试方法中,测试流程控制单元根据一位二进制数控制测试继续的进程,所述测试继续的进程包括:
根据步骤数记录单元提供的计数n1,当n1次测试完成后,进行下一轮测试,所述n1为非负整数;
根据步骤数记录单元提供的计数n2,进行之前第n2轮测试,所述n2为自然数。
可选的,在所述的运算器测试方法中,当所述待测运算器为移位器时,
所述步骤数记录单元向所述移位器提供移位的位数同时提供测试的计数。
可选的,在所述的运算器测试方法中,当所述待测运算器为存储器时,
所述步骤数记录单元向所述存储器提供存储器读写地址。
可选的,在所述的运算器测试方法中,在步骤5中,当比较结果为运算结果与预期结果不相同时,所述测试结果存储单元存储该比较结果。
在本发明提供的运算器测试系统及测试方法中,所述预期结果单元生成预期结果并将这一轮测试的预期结果提供给比较器,由此,所述预期结果单元至少仅需存储一轮测试的预期结果即可,从而减少了所述预期结果单元对预期结果的存储量。
附图说明
图1是本发明实施例的运算器测试系统的框结构示意图;
图2是本发明实施例的运算器测试系统的结构示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的运算器测试系统及测试方法作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
请参考图1,其为本发明实施例的运算器测试系统的框结构示意图。如图1所示,所述运算器测试系统1包括:
控制单元10、数据提供单元11、第一输入单元12、第二输入单元13、待测运算器14、预期结果单元15、比较器16及测试结果存储单元17,其中,所述控制单元10控制测试过程的进行;
当进行测试时:
所述数据提供单元11向所述第一输入单元12、第二输入单元13及预期结果单元15提供数据;
所述第一输入单元12及第二输入单元13向所述待测运算器14提供测试数据;
所述待测运算器14进行运算并将运算结果提供给比较器16,所述预期结果单元15生成预期结果并将这一轮测试的预期结果提供给比较器16;
所述比较器16比较运算结果及预期结果,并将比较结果提供给测试结果存储单元17。
在本实施例中,由于所述预期结果单元15生成预期结果并将这一轮测试的预期结果提供给比较器16,由此,所述预期结果单元15至少仅需存储一轮测试的预期结果即可,从而减少了所述预期结果单元15对预期结果的存储量。
优选的,所述预期结果单元15仅存储当前一轮测试的预期结果,由此,可极大地减小对预期结果的存储量。当然,在本发明的其他实施例中,所述预期结果单元15可多存储几轮测试的预期结果,例如存储包括当前一轮及前后三轮的预测结果等。
进一步的,所述控制单元10、数据提供单元11、第一输入单元12、第二输入单元13、待测运算器14、预期结果单元15、比较器16及测试结果存储单元17集成在同一块芯片上。在此,由于所述预期结果单元15存储的数据量较少,由此,其需要的存储空间也相应变少,进而其在外观上(空间结构上)也相应地变得非常小,从而使得所述运算器测试系统能够集成在同一块芯片上,享受集成带来的小型化、价格低廉等优点,同时,集成还能够带来数据传递速度快等优点。
在本实施例中,不仅所述数据提供单元11可以向所述第一输入单元12、第二输入单元13及预期结果单元15提供数据,同时,所述第一输入单元12、第二输入单元13及预期结果单元15各自之间也可以提供数据,即,所述第一输入单元12可以向所述第二输入单元13及预期结果单元15提供数据;所述第二输入单元13可以向所述第一输入单元12及预期结果单元15提供数据;所述预期结果单元15可以向所述第一输入单元12及第二输入单元13提供数据。由此,更加丰富了测试数据。
考虑到对于运算器测试的覆盖率以及数据提供单元11的存储量需求,优选的,所述数据提供单元11所存储的数据为三个常数,分别为全0二进制数(用“A”表示)、0和1间隔的二进制数(用“B”表示)及仅最低位为1的二进制数(用“C”表示)。以四位二进制数为例,即分别可对应出“0000”、“0101”及“0001”;若以十六位二进制数为例,则分别可以对应出“0000 0000 0000 0000”、“0101 0101 0101 0101”及“0000 0000 0000 0001”,当然,还可以是三十二位、六十四位等位数的二进制数,本申请对此不再赘述。
同时,为了进一步满足对于运算器测试的需求,提高运算器测试的覆盖率,所述数据提供单元11还预设一数据产出位,该位可根据测试需要提供新的数据(用“G”表示),其中,所述新的数据可通过计数器予以产生。
在本实施例中,所述预期结果单元15中的预期结果可以是数据提供单元11、第一输入单元12及第二输入单元13提供的数据本身,也可以是数据提供单元11、第一输入单元12及第二输入单元13提供的数据的移位或者反相,即,所述预期结果单元15中的预期结果是预期结果单元15得到的数据(输入数据)的函数(在此指代根据一定的变化即可得到)。
进一步的,所述预期结果单元15中的预期结果还可以是常数,优选的为全0二进制数,若以四位二进制数为例,则是“0000”;若以十六位二进制数为例,则是“0000 0000 00000000”,此数可以是常数“A”;优选的为全1二进制数,若以四位二进制数为例,则是“1111”;若以十六位二进制数为例,则是“1111 11111111 1111”,此数可为常数“A”的反相。本实施例特设计对此结果的测试,以提高测试的可靠性及覆盖率。
在对预期结果为常数的情况予以测试时,将得到此种常数的各种情况均予以测试,例如,所述待测运算器14为加法器,所述常数为“1111”,则对于输入分别为“0000”及“1111”;“0001”及“1110”;“0010”及“1101”……等各种能够得出“1111”的情况均予以测试,从而保证测试的覆盖率。
进一步的,所述预期结果单元15中的预期结果还可以是一种逆运算结果,具体实现时,可以将第一输入单元12或者第二输入单元13所提供的数据作为预期结果。同时,待测运算器14将第一输入单元12及第二输入单元13提供的测试数据经过正运算后的中间结果送回第一输入单元12或者第二输入单元13,接着,被送回的中间结果及得出该中间结果的测试数据之一(第一输入单元12或者第二输入单元13提供的数据)送到该待测运算器14(即进行正运算的同一待测运算器14)进行逆运算,由此得出的运算结果(即经过了正运算和逆运算之后的结果)提供给比较器16,该比较器16将待测运算器14提供的运算结果与预期结果(即第二输入单元13或第一输入单元12提供给预期结果单元15的数据)进行比较。
其中,需说明的是,所述正运算指所述待测运算器通常执行的运算,例如,若待测运算器为加法器,其正运算即指“加法”运算/操作,而其逆运算指相反的运算,即指“减法”运算/操作,所述正运算及逆运算通过同一待测运算器实现。
例如,第一输入单元12的数据与第二输入单元13的数据经待测运算器14(该待测运算器14设为加法器)相加得到中间结果,同时将第二输入单元13的数据提供给预期结果单元15作为预期结果。该中间结果没有相应的预期结果;但中间结果被反馈回第二输入单元13作为输入数据由待测运算器14减去第一输入单元12的数据(即进行逆运算),所得的最后运算结果应该与预期结果(原第二输入单元13的数据)通过比较器16进行比较。
在此,利用了运算器通常都能够执行正运算及逆运算的特性,同时,利用了这样一个原理,若待测运算器是合格/正常的运算器,则经过正运算及逆运算之后,其运算结果将是输入数据,即第一输入单元12或者第二输入单元13所提供的测试数据,则将该运算结果与预期结果(此时预期结果为第一输入单元12或者第二输入单元13所提供的数据)进行比较,若比较结果相同,便可得出待测运算器合格/正常(或者至少是通过本轮测试)的测试结果。
在本实施例所提供的多种预期结果中,均通过预期结果单元15根据其输入的数据便可产生一定的预期结果,从而不需要存储大量的预期结果,节省了存储空间的开支。同时,这些预期结果考虑了测试的特性,能够实现测试的效果。
请相应参考图2,其为本发明实施例的运算器测试系统的结构示意图,在此,将结合图2对于所述运算器测试系统1作进一步介绍。
在本实施例中,所述控制单元10包括:
测试流程控制单元101,用以控制测试进程;
步骤数记录单元102,用以记录步骤数;
器件选择单元103,用以选择待测运算器14及其工作方式;
第一数据选择单元106,用以选择数据提供单元11提供的数据;
第二数据选择单元105,用以选择第一输入单元12、第二输入单元13及预期结果单元14各自接收的数据;及
数据转换控制器104,用以确定第一输入单元12、第二输入单元13及预期结果单元14中的数据是否需要移位或者反相。
所述运算器测试系统1还包括步骤计数器20以及存储器地址产生器21,所述步骤计数器20用以进行步骤计数,所述存储器地址产生器21用以产生地址。
优选的,所述控制单元10可以由一个存有测试程序的存储器实现。上述各单元为存储器中的区域。其中,图2中控制单元10的竖向可以用来表示测试程序的行,横向是具体控制特定部件的位。其中测试流程控制单元101、步骤数记录单元102以及步骤计数器20共同作用决定存储器地址产生器21产生的地址210,从而决定测试程序的流向。
具体的,当测试流程控制单元101(只使用一位二进制数)为“0”,步骤数记录单元102为“n1”时,此行测试程序被执行n1次(比如每次预期结果单元15中的移位器151移1位),直到步骤计数器20从0计数到n1时,该步骤计数器20会通知存储器地址产生器21指向下一行测试程序。当测试流程控制单元101(只使用一位二进制数)为“1”,步骤数记录单元102为“n2”时,存储器地址产生器21产生当前行地址之前n2行的地址(即回跳)。
也可取消测试流程控制单元101,测试程序在执行当前行直到步骤数记录单元102中所含n1次执行完毕后,执行下一行测试程序,直到全部测试程序执行完毕。
器件选择单元103可以使用待测运算器的操作码。如此,在对待测运算器进行测试的同时也测试了运算器的译码器。
具体的,当所述运算器测试系统1进行测试时,包括如下步骤:
步骤1:控制单元10控制测试开始;
具体的,可通过测试流程控制单元101控制测试的进行,在此,先控制运算器测试系统1开始进行测试,在此,可通过一位二进制数予以实现,例如,“1”表示测试开始,当然,相应的,可利用同一位二进制数表征测试结束,例如,该二进制位上的二进制数是“0”时,表征测试结束/结束状态。
步骤2:数据提供单元11向所述第一输入单元12、第二输入单元13及预期结果单元15提供数据;
具体的,首先,数据提供单元11中存储有多个数据(即可以向第一输入单元12、第二输入单元13及预期结果单元14提供多个数据),因此,可先通过第一数据选择单元106从该多个数据(图2中通过标记“A”、“B”、“C”及“G”予以表示本实施例中数据提供单元11可提供的四个数据,同时,可相应参考前文对该四个数据的描述)中选择一个或者多个提供。
步骤3:所述第一输入单元12及第二输入单元13向待测运算器14提供测试数据;
具体的,在本发明一实施例中,所述第一输入单元12及第二输入单元13接收了数据提供单元11提供的数据之后,将其得到的数据作为测试数据向待测运算器14提供。
在此,首先,所述第一输入单元12中设置有移位/反相器121,所述第二输入单元13中设置有移位/反相器131,对于从数据提供单元11中得到的数据,在所述数据转换控制器104的控制下,所述第一输入单元12及第二输入单元13均可选择是输出原数据作为测试数据还是输出反相/移位数据(所述反相数据指原数据的相反数据,例如,原数据为“0001”,则反相数据即为“1110”;所述移位数据指原数据经过移位后的数据,例如,原数据为“0001”,则移一位的数据即为“0010”,移两位的数据即为“0100”。)作为测试数据,由此,进一步增加了测试数据的数据源的容量,进而提高测试的覆盖率。其中,优选的,移位/反相器121与移位/反相器131可以是单纯的反相器,移位功能全由预期结果单元15中的移位器151执行,如此,可进一步节省器件的开支,降低运算器测试系统1的成本。
其次,在本发明的实施例中,所述第一输入单元12及第二输入单元13不仅可以得到来自数据提供单元11的数据,其相互之间还可以提供数据,同时,预期结果单元15还可以向所述第一输入单元12及第二输入单元13提供数据。同时,在如此多的数据提供源下,可通过第二数据选择单元105选择第一输入单元12及第二输入单元13各自接收的数据,即第一输入单元12是选择数据提供单元11提供的数据、还是第二输入单元13提供的数据、亦或预期结果单元15提供的数据;对于第二输入单元13,所述第二数据选择单元105亦起到同样的控制作用。
由此,既能满足测试数据数据源的丰富性,又能满足测试的有序性。
步骤4:所述待测运算器14进行运算并将运算结果提供给比较器16,所述预期结果单元15生成预期结果并将这一轮测试的预期结果提供给比较器16;
在本实施例中,所述待测运算器14所执行的运算通常仅指正运算,即当待测运算器14是加法器时,执行加法运算;当待测运算器14是乘法器时,执行乘法运算。
特别的,在所述预期结果单元15提供的预期结果为:第一输入单元或者第二输入单元向待测运算器14提供的测试数据的情况下,所述待测运算器14经过正运算及逆运算之后将运算结果提供给比较器,即所述待测运算器14执行正运算及逆运算,关于此点的测试原理可相应参考前文,在此不再赘述。
关于所述预期结果单元15生成预期结果的情况,
首先,通过第二数据选择单元105可选择生成预期结果的源,即选择数据提供单元11提供的数据生成预期结果、还是选择第一输入单元12提供的数据生成预期结果、亦或选择第二输入单元13提供的数据生成预期结果,即所述预期结果单元15可根据多种数据源生成预期结果;
其次,对于选择的数据源,所述预期结果单元15还可在数据转换控制器104的控制下,以确定是否需要进行移位或者反相,即最终生成的预期结果可以是反相/移位数据,从而使得所述预期结果单元15能够生成多个预期结果,满足不同测试的要求。
步骤5:所述比较器16比较运算结果及预期结果,并将比较结果提供给测试结果存储单元17;
在此,所述比较器16对于运算结果与预期结果进行比较后,便可得出所述运算结果与所述预期结果是相同还是不相同的比较结果,将该比较结果提供给测试结果存储单元17。具体的,可通过一位二进制数表示比较结果,例如以“0”表示相同,以“1”表示不相同,则所述比较器16只需将“0”或者“1”提供给测试结果存储单元17即可。
在此,可仅当比较结果为运算结果与预期结果不相同时,所述测试结果存储单元17存储该比较结果,从而减少所述测试结果存储单元17的存储量。
步骤6:所述控制单元10控制测试继续或者测试结束。
关于所述控制单元10控制测试结束的方式,可参考前文,本申请在此不再赘述。而关于控制单元10控制测试继续的方式,可通过如下一些方法:
首先,考虑到对于待测运算器的测试可能出现如下两种情况,
1、同一种测试需要执行多次,此种情况下,可利用步骤数记录单元102予以实现,具体的,步骤数记录单元102将需要执行的(测试)次数n1(n1为非负整数)提供给步骤计数器20,步骤计数器20予以具体计数,当到达预定的执行次数时,步骤计数器20向存储器地址产生器21提供触发,存储器地址产生器21接收到触发之后,可控制测试流程控制单元101执行下一步骤;
2、执行过的某一轮测试还需要再次予以执行,此即为需要进行之前的第n2轮测试,所述n2为自然数,此种情况下,同样可利用步骤数记录单元102予以实现,在此,步骤数记录单元102向测试流程控制单元101提供n2值,则所述测试流程控制单元101控制执行该一轮测试。
在此,所述测试流程控制单元101对于测试继续的不同形式,可通过一位二进制位加以区分,例如:
二进制位为“0”时,测试继续的形式为:当步骤数记录单元102提供的步骤记录数被执行完成后,进行下一轮测试;
此时,指代前面的第1种情况,但若是同一种测试不需要执行多次,则可忽略步骤数记录单元102提供的步骤记录数;或者,步骤数记录单元102完成计数0(从“0”开始计数)时,即进行下一轮测试。
二进制位为“1”时,测试继续的形式为:根据步骤数记录单元102提供的步骤记录数n2,进行之前第n2轮测试,所述n2为自然数。
前文对于待测运算器14为通用运算器(即其可以是加法器、乘法器、移位器、逻辑运算单元及存储器中的任一种)的情况予以了描述,接下去,将对待测运算器14分不同情况加以具体描述,以进一步体现本发明提供的运算器测试系统及测试方法的实现方式。
【实施例一、待测运算器为加法器】
首先,根据前文的描述,本领域技术人员将能够利用运算器测试系统实现对于加法器的测试,即通过一系列测试数据,进行多轮测试,得出加法器合格/不合格的测试结论。而其中,所述测试数据均可通过数据提供单元11提供的几个数据予以形成。
为了更加直观的体现通过数据提供单元11提供的几个数据,同时,又无需预期结果单元15存储大量的预期结果而能够实现对于加法器的测试(指进行多轮测试),在本实施例中,特举几个测试数据例予以说明。请参考下表1,表1列举了第一输入单元12、第二输入单元13及预期结果单元15的输出数据例:
CO | CI | CO | CI | CO | CI | CO | CI | ||||||||
I1 | 0001 | 0 | I1 | 0010 | 0 | I1 | 0100 | 0 | I1 | 1000 | 0 | ||||
I2 | 1110 | I2 | 1101 | I2 | 1011 | I2 | 0111 | ||||||||
R | 0 | 1111 | R | 0 | 1111 | R | 0 | 1111 | R | 0 | 1111 |
表1
其中,在上表1中,“I1”表示第一输入单元12输出的测试数据,“I2”表示第二输入单元13输出的测试数据,“R”表示预期结果单元15输出的预期结果,“CI”表示加法器的进位输入,“CO”表示加法器的进位输出。
首先,表1提供了预期结果为常数的情况,特别的,为全1二进制数的情况。其中,该预期结果可由数据提供单元11提供全0二进制数,对数据提供单元11提供的原数据取反即可得到。
表1所列举的测试例可具体通过如下方式予以实现:
第一输入单元12输出的测试数据I1可通过数据提供单元11提供仅最低位为1的二进制数的数据予以实现,具体的,“0001”即为数据提供单元11提供的原数据,而“0010”、“0100”及“1000”可通过该原数据进行移位而方便地得到。
第二输入单元13输出的测试数据I2可通过第一输入单元12输出的测试数据I1进行简单的取反操作即可获取。
具体的,先将预期结果“1111”存进预期结果单元15中的寄存器154,以提供预期结果R。此后将“0001”经预期结果单元15中的移位器151及寄存器152执行反馈每周移一位操作(即每一次的移位都是在前一次的结果的基础上)。寄存器152的输出送进第一输入单元12以提供I1,及送进第二输入单元13反相后以提供I2。
即通过表1所提供的测试数据及预期结果便可实现4种不同的测试,同时,若将I1及I2的数据互换,则又可方便地实现另4种不同的测试。在此,仅简单的举一种实现方式,便可方便地实现8种不同的测试。
此外,若保持上述I1及I2的数据不变,改变输入进位CI,又可实现另外4种不同的测试,具体请参见下表2:
CO | CI | CO | CI | CO | CI | CO | CI | ||||||||
I1 | 0001 | 1 | I1 | 0010 | 1 | I1 | 0100 | 1 | I1 | 1000 | 1 | ||||
I2 | 1110 | I2 | 1101 | I2 | 1011 | I2 | 0111 | ||||||||
R | 1 | 0000 | R | 1 | 0000 | R | 1 | 0000 | R | 1 | 0000 |
表2
在表2所列举的测试情况中,由于输入进位CI予以了改变,所得到的预期结果也发生了改变,变成了常数“0000”,其中,该常数“0000”可由数据提供单元11提供的数据得到,即通过数据提供单元11提供全0二进制数即可。由此,便可实现另4种不同的测试,同样的,若将I1及I2的数据互换,则又可方便地实现另4种不同的测试。
通过上述表1及表2的简单举例,即可很方便的实现16种不同的测试。根据本申请文件所公开的内容,本领域技术人员可十分方便地实现更多种不同的测试。接下去,将提供表2A及2B以提供更多示例。
CO | CI | CO | CI | CO | CI | CO | CI | ||||||||
I1 | 0001 | I1 | 0010 | I1 | 0100 | I1 | 1000 | ||||||||
I2 | 0000 | I2 | 0000 | I2 | 0000 | I2 | 0000 | ||||||||
R | 0001 | R | 0 | 0010 | R | 0 | 0100 | R | 1000 |
表2A
在表2A的示例中,具体的,第二输入单元13固定取“0000”。此后将“0001”经移位器151及寄存器152执行反馈每周移一位操作。寄存器152的输出送进第一输入单元12以提供I1,也送回预期结果单元15,经其中旁路了移位器151的一支(移位器151与反相器153之间的选择器选择移位器151的输入端),再经寄存器154提供预期结果R。
CO | CI | CO | CI | CO | CI | CO | CI | ||||||||
I1 | 0000 | 0 | I1 | 0000 | 0 | I1 | 0000 | 0 | I1 | 0000 | 0 | ||||
I2 | 1110 | I2 | 1101 | I2 | 1011 | I2 | 0111 | ||||||||
R | 0 | 1110 | R | 0 | 1101 | R | 0 | 1011 | R | 0 | 0111 |
表2B
在表2B的示例中,具体的,第一输入单元12固定取“0000”。此后将“1110”经移位器151及寄存器152执行反馈每周移一位操作,右方补“1”。寄存器152的输出送进第二输入单元13以提供I2,也送回预期结果单元15,经其中旁路了移位器151的一支(移位器151与反相器153之间的选择器选择移位器151的输入端),再经寄存器154提供预期结果R。
为了进一步说明通过数据提供单元11提供的数据,同时又无需预期结果单元15存储大量的预期结果,便能够很方便地实现多轮不同测试,接下去,进一步提供下述三个表格予以说明,其中,同样的,表格中“I1”表示第一输入单元12输出的测试数据,“I2”表示第二输入单元13输出的测试数据,“R”表示预期结果单元15输出的预期结果,“CI”表示加法器的进位输入,“CO”表示加法器的进位输出。同时,这些表格中的数据均可以通过数据提供单元11提供的数据得到,当然,也可方便的根据第一输入单元12、第二输入单元13或者预期结果单元15中所提供的数据予以获取,以结果数据(即第一输入单元12、第二输入单元13或者预期结果单元15输出的数据)与原数据(即第一输入单元12、第二输入单元13或者预期结果单元15接收的数据)之间的变化最少为优。
CO | CI | CO | CI | CO | CI | ||||||
I1 | 0000 | 0 | I1 | 1111 | 0 | I1 | 1111 | 0 | |||
I2 | 0000 | I2 | 0000 | I2 | 1111 | ||||||
R | 0 | 0000 | R | 0 | 1111 | R | 1 | 1110 | |||
CO | CI | CO | CI | CO | CI | ||||||
I1 | 0000 | 1 | I1 | 1111 | 1 | I1 | 1111 | 1 | |||
I2 | 0000 | I2 | 0000 | I2 | 1111 | ||||||
R | 0 | 0001 | R | 1 | 0000 | R | 1 | 1111 | |||
CO | CI | CO | CI | CO | CI | ||||||
I1 | 0000 | 0 | I1 | 0000 | 0 | I1 | 1111 | 0 | |||
I2 | 0000 | I2 | 1111 | I2 | 1111 | ||||||
R | 0 | 0000 | R | 0 | 1111 | R | 1 | 1110 | |||
CO | CI | CO | CI | CO | CI | ||||||
I1 | 0000 | 1 | I1 | 0000 | 1 | I1 | 1111 | 1 | |||
I2 | 0000 | I2 | 1111 | I2 | 1111 | ||||||
R | 0 | 0001 | R | 1 | 0000 | R | 1 | 1111 |
表3
CO | CI | CO | CI | CO | CI | ||||||
I1 | 0001 | 0 | I1 | 1110 | 0 | I1 | 0011 | 0 | |||
I2 | 0000 | I2 | 1111 | I2 | 1100 | ||||||
R | 0 | 0001 | R | 1 | 1101 | R | 0 | 1111 | |||
I1 | 0001 | 1 | I1 | 1110 | 1 | I1 | 0011 | 1 | |||
I2 | 0000 | I2 | 1111 | I2 | 1100 | ||||||
R | 0 | 0010 | R | 1 | 1110 | R | 1 | 0000 | |||
I1 | 0000 | 0 | I1 | 1111 | 0 | I1 | 1100 | 0 | |||
I2 | 0001 | I2 | 1110 | I2 | 0011 | ||||||
R | 0 | 0001 | R | 1 | 1101 | R | 0 | 1111 | |||
I1 | 0000 | 1 | I1 | 1111 | 1 | I1 | 1100 | 1 | |||
I2 | 0001 | I2 | 1110 | I2 | 0011 | ||||||
R | 0 | 0010 | R | 1 | 1110 | R | 1 | 0000 |
表4
CO | CI | CO | CI | CO | CI | ||||||
I1 | 1101 | 0 | I1 | 0101 | 0 | I1 | 0101 | 0 | |||
I2 | 1111 | I2 | 1010 | I2 | 0000 | ||||||
R | 1 | 1100 | R | 0 | 1111 | R | 0 | 0101 | |||
I1 | 1101 | 1 | I1 | 0101 | 1 | I1 | 0101 | 1 | |||
I2 | 1111 | I2 | 1010 | I2 | 0000 | ||||||
R | 1 | 1101 | R | 1 | 0000 | R | 0 | 0110 | |||
I1 | 1111 | 0 | I1 | 1010 | 0 | I1 | 0000 | 0 | |||
I2 | 1101 | I2 | 0101 | I2 | 0101 | ||||||
R | 1 | 1100 | R | 0 | 1111 | R | 0 | 0101 | |||
I1 | 1111 | 1 | I1 | 1010 | 1 | I1 | 0000 | 1 | |||
I2 | 1101 | I2 | 0101 | I2 | 0101 | ||||||
R | 1 | 1101 | R | 1 | 0000 | R | 0 | 0110 |
表5
对于上述数据的获取,均可通过数据提供单元11提供的数据进行变化而得到,本申请对此不再赘述。但是,对于一种情况本身在此予以说明一下,即数据“0011”的获取,此数据可通过数据提供单元11提供的数据“0001”进行左移一位在右方补“1”后得到,在本申请没有强调的其他移位方式中,通常都是左移一位在右方补“0”。在解决了数据“0011”的获取方式之后,则数据“0110”、“1100”均可方便得到了,即在数据“0011”的基础上进行简单的补“0”移位即可。
在上述具体数据的列举下,相信本领域技术人员对于加法器的测试将获得更加直观的认识,同时,在上述具体数据的列举下,本领域技术人员还可很方便地获取其他测试数据。
接下去,将对其他几类待测运算器的测试数据进行列举,同时,其他几类待测运算器的测试数据也可一定程度上参考本实施例中测试数据的列举。
【实施例二、待测运算器为乘法器】
请参考下表6,表6列举了在乘法器下,第一输入单元12、第二输入单元13及预期结果单元15的输出数据例:
CO | CO | ||||||||||
I1 | 0000 | I1 | 0001 | I1 | 0101 | ||||||
I2 | SC | I2 | SC | I2 | SC | ||||||
R | I1 | R | X | SR | R | X | SR | ||||
CO | CO | ||||||||||
I1 | SC | I1 | SC | I1 | SC | ||||||
I2 | 0000 | I2 | 0001 | I2 | 0101 | ||||||
R | I2 | R | X | SR | R | X | SR |
表6
其中,在上表6中,“I1”表示第一输入单元12输出的测试数据,“I2”表示第二输入单元13输出的测试数据,“R”表示预期结果单元15输出的预期结果。为了更多的体现可用的测试数据,在表6中,除了列举具体的数据之外,还使用了一种“通式”,其中,“SC”表示数据提供单元11提供的数据C(即仅最低位为1的二进制数)的移位,“SR”表示预期结果R的移位。
例如,第一轮测试时,I1的数据为“0001”,I2的数据为C,预期结果为“R”,在此也就是C,可通过第一输入单元12向预期结果单元15提供的数据而得到;接着,第二轮测试时,I1的数据为“0001”,I2的数据为SC,预期结果为“SR”,可均左移一位,具体可通过预期结果单元15中的寄存器152存储结果预期结果R,移位器151对该预期结果R进行移位,最终预期结果单元15输出SR而予以实现。
在此需说明的是,两个四位的二进制数执行乘法以后得到的是一个八位的二进制数,在此仅示意性的列出来低四位。当利用比较器16对于运算结果及预期结果进行比较时,既可以仅比较低四位,也可以全部比较,本申请对此不作限定。
【实施例三、待测运算器为逻辑运算单元】
请参考下表7,表7列举了在逻辑与运算器下,第一输入单元12、第二输入单元13及预期结果单元15的输出数据例:
I1 | 0000 | I1 | 1111 | I1 | 1111 | ||||||
I2 | 0000 | I2 | 0000 | I2 | 1111 | ||||||
R | 0000 | R | 0000 | R | 1111 | ||||||
I1 | 0001 | I1 | 1110 | I1 | 0011 | ||||||
I2 | 0000 | I2 | 1111 | I2 | 1100 | ||||||
R | 0000 | R | 1110 | R | 0000 | ||||||
I1 | 1101 | I1 | 0101 | I1 | 0101 | ||||||
I2 | 1111 | I2 | 1010 | I2 | 0101 | ||||||
R | 1101 | R | 0000 | R | 0101 |
表7
其中,在上表7中,“I1”表示第一输入单元12输出的测试数据,“I2”表示第二输入单元13输出的测试数据,“R”表示预期结果单元15输出的预期结果。
表7中的数据均可以通过数据提供单元11提供的数据予以得到,当然,也可方便的根据第一输入单元12、第二输入单元13或者预期结果单元15中所提供的数据予以获取,以结果数据(即第一输入单元12、第二输入单元13或者预期结果单元15输出的数据)与原数据(即第一输入单元12、第二输入单元13或者预期结果单元15接收的数据)之间的变化最少为优。
请参考下表8,表8列举了在逻辑或运算器下,第一输入单元12、第二输入单元13及预期结果单元15的输出数据例:
CO | CI | CO | CI | CO | CI | ||||||
I1 | 0000 | X | I1 | 1111 | X | I1 | 1111 | X | |||
I2 | 0000 | I2 | 0000 | I2 | 1111 | ||||||
R | X | 0000 | R | X | 1111 | R | X | 1111 | |||
CO | CO | CO | |||||||||
I1 | 0001 | I1 | 1110 | I1 | 0011 | ||||||
I2 | 0000 | I2 | 1111 | I2 | 1100 | ||||||
R | X | 0001 | R | X | 1110 | R | X | 1111 | |||
CO | CO | CO | |||||||||
I1 | 1101 | I1 | 0101 | I1 | 0101 | ||||||
I2 | 1111 | I2 | 1010 | I2 | 0101 | ||||||
R | X | 1111 | R | X | 1111 | R | X | 0101 |
表8
其中,在上表8中,“I1”表示第一输入单元12输出的测试数据,“I2”表示第二输入单元13输出的测试数据,“R”表示预期结果单元15输出的预期结果。
表8中的数据均可以通过数据提供单元11提供的数据予以得到,当然,也可方便的根据第一输入单元12、第二输入单元13或者预期结果单元15中所提供的数据予以获取,以结果数据(即第一输入单元12、第二输入单元13或者预期结果单元15输出的数据)与原数据(即第一输入单元12、第二输入单元13或者预期结果单元15接收的数据)之间的变化最少为优。
请参考下表9,表9列举了在逻辑异或运算器下,第一输入单元12、第二输入单元13及预期结果单元15的输出数据例:
CO | CI | CO | CI | CO | CI | ||||||
I1 | 0000 | X | I1 | 1111 | X | I1 | 1111 | X | |||
I2 | 0000 | I2 | 0000 | I2 | 1111 | ||||||
R | X | 0000 | R | X | 1111 | R | X | 0000 | |||
CO | CI | CO | CI | CO | CI | ||||||
I1 | 0001 | X | I1 | 1110 | X | I1 | 0011 | X | |||
I2 | 0000 | I2 | 1111 | I2 | 1100 | ||||||
R | X | 0001 | R | X | 0001 | R | X | 1111 | |||
CO | CI | CO | CI | CO | CI | ||||||
I1 | 1101 | X | I1 | 0101 | X | I1 | 0101 | X | |||
I2 | 1111 | I2 | 1010 | I2 | 0101 | ||||||
R | X | 0010 | R | X | 1111 | R | X | 0000 |
表9
其中,在上表9中,“I1”表示第一输入单元12输出的测试数据,“I2”表示第二输入单元13输出的测试数据,“R”表示预期结果单元15输出的预期结果。
表9中的数据均可以通过数据提供单元11提供的数据予以得到,当然,也可方便的根据第一输入单元12、第二输入单元13或者预期结果单元15中所提供的数据予以获取,以结果数据(即第一输入单元12、第二输入单元13或者预期结果单元15输出的数据)与原数据(即第一输入单元12、第二输入单元13或者预期结果单元15接收的数据)之间的变化最少为优。
关于待测运算器为存储器及移位器的情况,预期结果单元15将更加易于生成预期结果,当待测运算器为存储器时,预期结果单元15可获取第一输入单元12或者第二输入单元13输出的数据作为预期结果即可;当待测运算器为移位器时,预期结果单元15可获取第一输入单元12或者第二输入单元13输出的数据做相应的移位即可,因此,本申请对于这两种情况的测试数据不再赘述。
此外,在本申请中,针对待测运算器为存储器的情况,还提供一种优选的测试方式,由步骤数记录单元20提供存储器地址。
此外,在本申请中,针对待测运算器为移位器的情况,特别提供一种优选的测试方式。
在此,设器件选择单元103选择待测运算器14为移位器,同时,步骤数记录单元102给出移位位数为20位(当然,也可以通过第一输入单元12或者第二输入单元13中的一个给出移位位数),第一输入单元12或者第二输入单元13提供需要进行移位测试的测试数据,例如是“0000 0000 0000 0000 0000 00000000 0001”。
在本实施例提供的测试方法中,移位器进行20次操作,每次由步骤数记录单元20分别提供移1位、移2位、移3位……移20位的移位量,同时,预期结果单元15提供的第一轮预期结果是第一输入单元12或者第二输入单元13提供的数据移一位后的结果,以后每一轮预期结果都是在上一轮预期结果上再移一位,由此,便可进行20轮测试,从而提高测试的覆盖率。其中,预期结果单元15中的移位方式可通过每次仅能移动数据一个位置的移位器151及寄存器152予以实现,即将数据整体移一位,寄存起来;将寄存的数据反馈到移位器的输入,在此基础上整体再移一位,再寄存,直至完成19位的移位。
具体的,第一轮,待测的移位器以数据“0000 0000 0000 0000 0000 000000000001”执行一位移位,得到数据“0000 0000 0000 0000 0000 0000 0000 0010”;而预期结果单元15也以“0000 0000 0000 0000 0000 0000 0000 0001”执行一位移位,得到数据“0000 0000 0000 0000 0000 0000 0000 0010”。
第二轮,待测的移位器以数据“0000 0000 0000 0000 0000 0000 0000 0001”执行两位移位,得到数据“0000 0000 0000 0000 0000 0000 0000 0100”;而预期结果单元15以“0000 0000 0000 0000 0000 0000 0000 0010”执行一位移位,得到数据“0000 00000000 0000 0000 0000 0000 0100”。
依此类推。
当然,每一轮中,待测的移位器及预期结果单元15都将向比较器16输出运算结果及预期结果进行比较,对此本申请不再赘述。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (27)
1.一种运算器测试系统,其特征在于,包括:控制单元、数据提供单元、第一输入单元、第二输入单元、待测运算器、预期结果单元、比较器及测试结果存储单元,其中,所述控制单元控制测试过程的进行;
当进行测试时:
所述数据提供单元向所述第一输入单元、第二输入单元及预期结果单元提供数据;
所述第一输入单元及第二输入单元向所述待测运算器提供测试数据;
所述待测运算器进行运算并将运算结果提供给比较器,所述预期结果单元生成预期结果并将这一轮测试的预期结果提供给比较器;
所述比较器比较运算结果及预期结果,并将比较结果提供给测试结果存储单元;
所述运算器测试系统进一步包括下列特征中的至少一项:
所述第一输入单元向所述第二输入单元及预期结果单元提供数据;或
所述第二输入单元向所述第一输入单元及预期结果单元提供数据;或
所述预期结果单元向所述第一输入单元及第二输入单元提供数据;
当比较结果为运算结果与预期结果不相同时,所述测试结果存储单元存储该比较结果。
2.如权利要求1所述的运算器测试系统,其特征在于,所述控制单元、数据提供单元、第一输入单元、第二输入单元、待测运算器、预期结果单元、比较器及测试结果存储单元集成在同一块芯片上。
3.如权利要求1所述的运算器测试系统,其特征在于,所述预期结果单元存储当前一轮测试的预期结果。
4.如权利要求1所述的运算器测试系统,其特征在于,所述数据提供单元中所存储的数据包括:全0二进制数、0和1间隔的二进制数及仅最低位为1的二进制数。
5.如权利要求1至4中的任一项所述的运算器测试系统,其特征在于,所述预期结果单元提供的预期结果为:数据提供单元所提供的数据的函数。
6.如权利要求5所述的运算器测试系统,其特征在于,所述预期结果单元提供的预期结果为:数据提供单元提供的数据的移位或者反相。
7.如权利要求1至4中的任一项所述的运算器测试系统,其特征在于,所述预期结果单元提供的预期结果为:常数。
8.如权利要求7所述的运算器测试系统,其特征在于,所述预期结果单元提供的预期结果为:全1二进制数或全0二进制数。
9.如权利要求1至4中的任一项所述的运算器测试系统,其特征在于,所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据。
10.如权利要求9所述的运算器测试系统,其特征在于,当所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据时,
所述待测运算器经过正运算及逆运算之后将运算结果提供给比较器。
11.如权利要求1至4中的任一项所述的运算器测试系统,其特征在于,所述控制单元包括:
测试流程控制单元,用以控制测试进程;
步骤数记录单元,用以记录步骤数;
器件选择单元,用以选择待测运算器及其工作方式;
第一数据选择单元,用以选择数据提供单元提供的数据;
第二数据选择单元,用以选择第一输入单元、第二输入单元及预期结果单元各自接收的数据;及
数据转换控制器,用以确定第一输入单元、第二输入单元及预期结果单元中的数据是否需要移位或者反相。
12.如权利要求11所述的运算器测试系统,其特征在于,所述测试流程控制单元根据一位二进制数控制测试进程,所述测试进程包括:
根据步骤数记录单元提供的计数n1,当n1次测试完成后,进行下一轮测试,所述n1为非负整数;
根据步骤数记录单元提供的计数n2,进行之前第n2轮测试,所述n2为自然数。
13.如权利要求11所述的运算器测试系统,其特征在于,所述待测运算器包括加法器、乘法器、移位器、逻辑运算单元及存储器中的一种。
14.如权利要求13所述的运算器测试系统,其特征在于,当所述待测运算器为移位器时,
所述步骤数记录单元向所述移位器提供移位的位数同时提供测试的计数。
15.如权利要求13所述的运算器测试系统,其特征在于,当所述待测运算器为存储器时,
所述步骤数记录单元向所述存储器提供存储器读写地址。
16.一种运算器测试方法,其特征在于,包括:
步骤1:控制单元控制测试开始;
步骤2:数据提供单元向第一输入单元、第二输入单元及预期结果单元提供数据;
步骤3:所述第一输入单元及第二输入单元向待测运算器提供测试数据;
步骤4:所述待测运算器进行运算并将运算结果提供给比较器,所述预期结果单元生成预期结果并将这一轮测试的预期结果提供给比较器;
步骤5:所述比较器比较运算结果及预期结果,并将比较结果提供给测试结果存储单元;
步骤6:所述控制单元控制测试继续或者测试结束;
当比较结果为运算结果与预期结果不相同时,所述测试结果存储单元存储该比较结果。
17.如权利要求16所述的运算器测试方法,其特征在于,所述预期结果单元存储当前一轮测试的预期结果。
18.如权利要求16所述的运算器测试方法,其特征在于,所述数据提供单元中所存储的数据包括:全0二进制数、0和1间隔的二进制数及仅最低位为1的二进制数。
19.如权利要求16至18中的任一项所述的运算器测试方法,其特征在于,所述预期结果单元提供的预期结果为:数据提供单元所提供的数据的函数。
20.如权利要求19所述的运算器测试方法,其特征在于,所述预期结果单元提供的预期结果为:数据提供单元提供的数据的移位或者反相。
21.如权利要求16至18中的任一项所述的运算器测试方法,其特征在于,所述预期结果单元提供的预期结果为:常数。
22.如权利要求21所述的运算器测试方法,其特征在于,所述预期结果单元提供的预期结果为:全1二进制数或全0二进制数。
23.如权利要求16至18中的任一项所述的运算器测试方法,其特征在于,所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据。
24.如权利要求23所述的运算器测试方法,其特征在于,当所述预期结果单元提供的预期结果为:第一输入单元或者第二输入单元向待测运算器提供的测试数据时,
所述待测运算器经过正运算及逆运算之后将运算结果提供给比较器。
25.如权利要求16至18中的任一项所述的运算器测试方法,其特征在于,测试流程控制单元根据一位二进制数控制测试继续的进程,所述测试继续的进程包括:
根据步骤数记录单元提供的计数n1,当n1次测试完成后,进行下一轮测试,所述n1为非负整数;
根据步骤数记录单元提供的计数n2,进行之前第n2轮测试,所述n2为自然数。
26.如权利要求16至18中的任一项所述的运算器测试方法,其特征在于,当所述待测运算器为移位器时,
步骤数记录单元向所述移位器提供移位的位数同时提供测试的计数。
27.如权利要求16至18中的任一项所述的运算器测试方法,其特征在于,当所述待测运算器为存储器时,
步骤数记录单元向所述存储器提供存储器读写地址。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210224191.0A CN103513177B (zh) | 2012-06-29 | 2012-06-29 | 运算器测试系统及测试方法 |
PCT/CN2013/078402 WO2014000693A1 (en) | 2012-06-29 | 2013-06-28 | Arithmetic logic unit testing system and method |
US14/411,095 US9702932B2 (en) | 2012-06-29 | 2013-06-28 | Arithmetic logic unit testing system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210224191.0A CN103513177B (zh) | 2012-06-29 | 2012-06-29 | 运算器测试系统及测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103513177A CN103513177A (zh) | 2014-01-15 |
CN103513177B true CN103513177B (zh) | 2018-05-01 |
Family
ID=49782275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210224191.0A Active CN103513177B (zh) | 2012-06-29 | 2012-06-29 | 运算器测试系统及测试方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9702932B2 (zh) |
CN (1) | CN103513177B (zh) |
WO (1) | WO2014000693A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038110A (zh) * | 2016-02-03 | 2017-08-11 | 北京京东尚科信息技术有限公司 | 白盒测试的方法和系统 |
JP2018180999A (ja) * | 2017-04-14 | 2018-11-15 | ルネサスエレクトロニクス株式会社 | 検査システム、検査装置、及び検査方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6901542B2 (en) * | 2001-08-09 | 2005-05-31 | International Business Machines Corporation | Internal cache for on chip test data storage |
CN101004437A (zh) * | 2007-01-17 | 2007-07-25 | 威盛电子股份有限公司 | 芯片测试系统及测试方法 |
CN101995546A (zh) * | 2010-11-16 | 2011-03-30 | 复旦大学 | 基于边界扫描的可编程逻辑器件自动测试系统与方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4618956A (en) * | 1983-09-29 | 1986-10-21 | Tandem Computers Incorporated | Method of operating enhanced alu test hardware |
US8099642B2 (en) * | 2008-11-03 | 2012-01-17 | Texas Instruments Incorporated | Formatter selectively outputting scan stimulus data from scan response data |
CN101111776A (zh) * | 2005-01-27 | 2008-01-23 | 松下电器产业株式会社 | 半导体集成电路和系统lsi |
US7519884B2 (en) * | 2006-06-16 | 2009-04-14 | Texas Instruments Incorporated | TAM controller for plural test access mechanisms |
JP5124019B2 (ja) * | 2008-06-09 | 2013-01-23 | 株式会社アドバンテスト | 試験装置 |
CN102150056B (zh) * | 2008-09-12 | 2013-08-14 | 爱德万测试株式会社 | 测试模块及测试方法 |
CN201392274Y (zh) * | 2009-04-17 | 2010-01-27 | 东莞虎门泰达电子有限公司 | 一种计算器按键寿命测试仪 |
US8745447B2 (en) * | 2009-08-18 | 2014-06-03 | Lexmark International, Inc. | System and method for analyzing an electronics device including a logic analyzer |
US20120159274A1 (en) * | 2010-12-21 | 2012-06-21 | Balakrishnan Kedarnath J | Apparatus to facilitate built-in self-test data collection |
JP2013250250A (ja) * | 2012-06-04 | 2013-12-12 | Advantest Corp | テスターハードウェアおよびそれを用いた試験システム |
JP6191124B2 (ja) * | 2012-11-08 | 2017-09-06 | 株式会社ソシオネクスト | 半導体集積回路 |
-
2012
- 2012-06-29 CN CN201210224191.0A patent/CN103513177B/zh active Active
-
2013
- 2013-06-28 WO PCT/CN2013/078402 patent/WO2014000693A1/en active Application Filing
- 2013-06-28 US US14/411,095 patent/US9702932B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6901542B2 (en) * | 2001-08-09 | 2005-05-31 | International Business Machines Corporation | Internal cache for on chip test data storage |
CN101004437A (zh) * | 2007-01-17 | 2007-07-25 | 威盛电子股份有限公司 | 芯片测试系统及测试方法 |
CN101995546A (zh) * | 2010-11-16 | 2011-03-30 | 复旦大学 | 基于边界扫描的可编程逻辑器件自动测试系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
US9702932B2 (en) | 2017-07-11 |
CN103513177A (zh) | 2014-01-15 |
WO2014000693A1 (en) | 2014-01-03 |
US20150192640A1 (en) | 2015-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10556343B2 (en) | Simulation device and simulation method for robot system | |
CN103377104B (zh) | 测试方法及装置 | |
CN111832272B (zh) | 一种基于element-ui实现表格嵌套表单功能的方法 | |
US20070229526A1 (en) | Vector based object property variations | |
US11010141B2 (en) | Graphical interface to generate instructions to control a representation by an output interface of one or more objects | |
JP2015525394A5 (zh) | ||
CN103530030B (zh) | 一种页面切换系统、方法及窗帘特效页面切换方法 | |
US20160034617A1 (en) | Prototyping an Image Processing Algorithm and Emulating or Simulating Execution on a Hardware Accelerator to Estimate Resource Usage or Performance | |
CN103513177B (zh) | 运算器测试系统及测试方法 | |
CN106652008A (zh) | 一种自动生成网格与着色器多层次细节的方法 | |
CN109934507A (zh) | 一种业务流程调度的方法及装置 | |
CN102998553B (zh) | 用于确定电子元件的操作参数值的测试集的方法和装置 | |
CN109597687A (zh) | 数据同步的资源分配方法、装置、存储介质和电子设备 | |
CN108958611A (zh) | 一种信息编辑方法及装置 | |
US20160062750A1 (en) | Program Variable Convergence Analysis | |
CN102150056B (zh) | 测试模块及测试方法 | |
CN111475402A (zh) | 程序功能的测试方法及相关装置 | |
CN107808394A (zh) | 一种基于卷积神经网络的图像处理方法及移动终端 | |
CN109063665A (zh) | 一种遥感图像的解混方法、系统及相关组件 | |
CN117331530A (zh) | 长伪随机序列快速跳转方法、装置、电子设备及存储介质 | |
CN111341374B (zh) | 存储器的测试方法、装置及可读存储器 | |
CN105408826B (zh) | 系统构建辅助装置以及方法 | |
CN105515551A (zh) | 一种具有任意波编辑功能的信号发生器 | |
CN108154313A (zh) | 一种用于评估包装箱推荐算法的方法、设备和计算机程序产品 | |
CN104199635B (zh) | 集成crc校验电路的伪随机数发生器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |