運算器測試系統(tǒng)及測試方法
【專利摘要】本發(fā)明提供了一種運算器測試系統(tǒng)及測試方法,通過預期結果單元生成預期結果并將這一輪測試的預期結果提供給比較器,由此,所述預期結果單元至少僅需存儲一輪測試的預期結果即可,從而減少了所述預期結果單元對預期結果的存儲量。
【專利說明】運算器測試系統(tǒng)及測試方法
【技術領域】
[0001]本發(fā)明涉及器件測試【技術領域】,特別涉及一種運算器測試系統(tǒng)及測試方法。
【背景技術】
[0002]在產(chǎn)品的制造過程中,測試對于保證產(chǎn)品質量起著至關重要的作用,因此,現(xiàn)有很多產(chǎn)品都需要經(jīng)過測試這一環(huán)節(jié)。隨著技術的發(fā)展,運算器這一類產(chǎn)品越來越多地被使用,其幫助人們完成多種重復又繁雜的計算工作,從而將人們從重復又繁雜的計算工作中解放出來,進而提高人們的生活質量。
[0003]通常的,運算器包括加法器、乘法器、移位器、邏輯運算單元及存儲器這幾種運算工具?,F(xiàn)有技術中,主要通過如下方法對運算器進行測試:
[0004]控制測試過程的主控設備向待測運算器提供輸入數(shù)據(jù),同時向預期結果單元提供這些輸入數(shù)據(jù)經(jīng)過待測運算器之后預期得到的結果(稱之為預期結果);
[0005]接著,待測運算器經(jīng)過運算之后輸出運算結果,同時,預期結果單元輸出預期結果,所述運算結果及預期結果被提供給比較器,所述比較器經(jīng)過比較后便可得到比較結果,所述比較結果包括相同或者不相同,當比較結果相同時,即說明待測運算器的運算結果正確;而當比較結果不相同時,即說明待測運算器的運算結果錯誤,進一步說明待測運算器不合格或者說可靠性不高。
[0006]同時,為了保證測試結果的準確與可靠,對于同一待測運算器需要進行多輪測試(這一測試數(shù)量往往以千、萬記),此時,所述預期結果單元就需要將這多輪測試的預期結果都予以存儲,由此,將導致預期結果單元所需的存儲空間非常大、進而導致這一器件在尺寸上較大,在價格上較昂貴,也不利于其與其他測試器件(包括待測運算器、主控設備等)集成,由此,也不能享受器件集成帶來的小型化、價格低廉等優(yōu)點。
[0007]因此,如何在運算器的測試過程中,在滿足多輪測試的要求下,降低對于預期結果的存儲量成了本領域亟待解決的一個技術難題。
【發(fā)明內容】
[0008]本發(fā)明的目的在于提供一種運算器測試系統(tǒng)及測試方法,以解決現(xiàn)有技術中對運算器進行測試時,所需存儲的預期結果的數(shù)量非常大的問題。
[0009]為解決上述技術問題,本發(fā)明提供一種運算器測試系統(tǒng),包括:控制單元、數(shù)據(jù)提供單元、第一輸入單元、第二輸入單元、待測運算器、預期結果單元、比較器及測試結果存儲單元,其中,所述控制單元控制測試過程的進行;
[0010]當進行測試時:
[0011]所述數(shù)據(jù)提供單元向所述第一輸入單元、第二輸入單元及預期結果單元提供數(shù)據(jù);
[0012]所述第一輸入單元及第二輸入單元向所述待測運算器提供測試數(shù)據(jù);
[0013]所述待測運算器進行運算并將運算結果提供給比較器,所述預期結果單元生成預期結果并將這一輪測試的預期結果提供給比較器;
[0014]所述比較器比較運算結果及預期結果,并將比較結果提供給測試結果存儲單元。
[0015]可選的,在所述的運算器測試系統(tǒng)中,所述控制單元、數(shù)據(jù)提供單元、第一輸入單元、第二輸入單元、待測運算器、預期結果單元、比較器及測試結果存儲單元集成在同一塊芯片上。
[0016]可選的,在所述的運算器測試系統(tǒng)中,所述預期結果單元存儲當前一輪測試的預期結果。
[0017]可選的,在所述的運算器測試系統(tǒng)中,所述數(shù)據(jù)提供單元中所存儲的數(shù)據(jù)包括:全O二進制數(shù)、O和I間隔的二進制數(shù)及僅最低位為I的二進制數(shù)。
[0018]可選的,在所述的運算器測試系統(tǒng)中,所述預期結果單元提供的預期結果為:數(shù)據(jù)提供單元所提供的數(shù)據(jù)的函數(shù)。
[0019]可選的,在所述的運算器測試系統(tǒng)中,所述預期結果單元提供的預期結果為:數(shù)據(jù)提供單元提供的數(shù)據(jù)的移位或者反相。
[0020]可選的,在所述的運算器測試系統(tǒng)中,所述預期結果單元提供的預期結果為:常數(shù)。
[0021]可選的,在所述的運算器測試系統(tǒng)中,所述預期結果單元提供的預期結果為:全I二進制數(shù)或全O 二進制數(shù)。
[0022]可選的,在所述的運算器測試系統(tǒng)中,所述預期結果單元提供的預期結果為:第一輸入單元或者第二輸入單元向待測運算器提供的測試數(shù)據(jù)。
[0023]可選的,在所述的運算器測試系統(tǒng)中,當所述預期結果單元提供的預期結果為:第一輸入單元或者第二輸入單元向待測運算器提供的測試數(shù)據(jù)時,
[0024]所述待測運算器經(jīng)過正運算及逆運算之后將運算結果提供給比較器。
[0025]可選的,在所述的運算器測試系統(tǒng)中,所述第一輸入單元向所述第二輸入單元及預期結果單元提供數(shù)據(jù)。
[0026]可選的,在所述的運算器測試系統(tǒng)中,所述第二輸入單元向所述第一輸入單元及預期結果單元提供數(shù)據(jù)。
[0027]可選的,在所述的運算器測試系統(tǒng)中,所述預期結果單元向所述第一輸入單元及第二輸入單元提供數(shù)據(jù)。
[0028]可選的,在所述的運算器測試系統(tǒng)中,所述控制單元包括:
[0029]測試流程控制單元,用以控制測試進程;
[0030]步驟數(shù)記錄單元,用以記錄步驟數(shù);
[0031]器件選擇單元,用以選擇待測運算器及其工作方式;
[0032]第一數(shù)據(jù)選擇單元,用以選擇數(shù)據(jù)提供單元提供的數(shù)據(jù);
[0033]第二數(shù)據(jù)選擇單元,用以選擇第一輸入單元、第二輸入單元及預期結果單元各自接收的數(shù)據(jù) '及
[0034]數(shù)據(jù)轉換控制器,用以確定第一輸入單元、第二輸入單元及預期結果單元中的數(shù)據(jù)是否需要移位或者反相。
[0035]可選的,在所述的運算器測試系統(tǒng)中,所述測試流程控制單元根據(jù)一位二進制數(shù)控制測試進程,所述測試進程包括:[0036]根據(jù)步驟數(shù)記錄單元提供的計數(shù)nl,當nl次測試完成后,進行下一輪測試,所述nl為非負整數(shù);
[0037]根據(jù)步驟數(shù)記錄單元提供的計數(shù)n2,進行之前第n2輪測試,所述n2為自然數(shù)。
[0038]可選的,在所述的運算器測試系統(tǒng)中,所述待測運算器包括加法器、乘法器、移位器、邏輯運算單元及存儲器中的一種。
[0039]可選的,在所述的運算器測試系統(tǒng)中,當所述待測運算器為移位器時,
[0040]所述步驟數(shù)記錄單元向所述移位器提供移位的位數(shù)同時提供測試的計數(shù)。
[0041]可選的,在所述的運算器測試系統(tǒng)中,當所述待測運算器為存儲器時,
[0042]所述步驟數(shù)記錄單元向所述存儲器提供存儲器讀寫地址。
[0043]可選的,在所述的運算器測試系統(tǒng)中,當比較結果為運算結果與預期結果不相同時,所述測試結果存儲單元存儲該比較結果。
[0044]本發(fā)明還提供一種運算器測試方法,包括:
[0045]步驟1:控制單元控制測試開始;
[0046]步驟2:數(shù)據(jù)提供單元向所述第一輸入單元、第二輸入單元及預期結果單元提供數(shù)據(jù);
[0047]步驟3:所述第一輸入單元及第二輸入單元向待測運算器提供測試數(shù)據(jù);
[0048]步驟4:所述待測運算器進行運算并將運算結果提供給比較器,所述預期結果單元生成預期結果并將這一輪測試的預期結果提供給比較器;
[0049]步驟5:所述比較器比較運算結果及預期結果,并將比較結果提供給測試結果存儲單元;
[0050]步驟6:所述控制單元控制測試繼續(xù)或者測試結束。
[0051]可選的,在所述的運算器測試方法中,所述預期結果單元存儲當前一輪測試的預期結果。
[0052]可選的,在所述的運算器測試方法中,所述數(shù)據(jù)提供單元中所存儲的數(shù)據(jù)包括:全O二進制數(shù)、O和I間隔的二進制數(shù)及僅最低位為I的二進制數(shù)。
[0053]可選的,在所述的運算器測試方法中,所述預期結果單元提供的預期結果為:數(shù)據(jù)提供單元所提供的數(shù)據(jù)的函數(shù)。
[0054]可選的,在所述的運算器測試方法中,所述預期結果單元提供的預期結果為:數(shù)據(jù)提供單元提供的數(shù)據(jù)的移位或者反相。
[0055]可選的,在所述的運算器測試方法中,所述預期結果單元提供的預期結果為:常數(shù)。
[0056]可選的,在所述的運算器測試方法中,所述預期結果單元提供的預期結果為:全I二進制數(shù)或全O 二進制數(shù)。
[0057]可選的,在所述的運算器測試方法中,所述預期結果單元提供的預期結果為:第一輸入單元或者第二輸入單元向待測運算器提供的測試數(shù)據(jù)。
[0058]可選的,在所述的運算器測試方法中,當所述預期結果單元提供的預期結果為:第一輸入單元或者第二輸入單元向待測運算器提供的測試數(shù)據(jù)時,
[0059]所述待測運算器經(jīng)過正運算及逆運算之后將運算結果提供給比較器。
[0060]可選的,在所述的運算器測試方法中,在步驟2中還包括:所述第一輸入單元向所述第二輸入單元及預期結果單元提供數(shù)據(jù)。
[0061]可選的,在所述的運算器測試方法中,在步驟2中還包括:所述第二輸入單元向所述第一輸入單元及預期結果單元提供數(shù)據(jù)。
[0062]可選的,在所述的運算器測試方法中,在步驟2中還包括:所述預期結果單元向所述第一輸入單元及第二輸入單元提供數(shù)據(jù)。
[0063]可選的,在所述的運算器測試方法中,測試流程控制單元根據(jù)一位二進制數(shù)控制測試繼續(xù)的進程,所述測試繼續(xù)的進程包括:
[0064]根據(jù)步驟數(shù)記錄單元提供的計數(shù)nl,當nl次測試完成后,進行下一輪測試,所述nl為非負整數(shù);
[0065]根據(jù)步驟數(shù)記錄單元提供的計數(shù)n2,進行之前第n2輪測試,所述n2為自然數(shù)。
[0066]可選的,在所述的運算器測試方法中,當所述待測運算器為移位器時,
[0067]所述步驟數(shù)記錄單元向所述移位器提供移位的位數(shù)同時提供測試的計數(shù)。
[0068]可選的,在所述的運算器測試方法中,當所述待測運算器為存儲器時,
[0069]所述步驟數(shù)記錄單元向所述存儲器提供存儲器讀寫地址。
[0070]可選的,在所述的運算器測試方法中,在步驟5中,當比較結果為運算結果與預期結果不相同時,所述測試結果存儲單元存儲該比較結果。
[0071]在本發(fā)明提供的運算器測試系統(tǒng)及測試方法中,所述預期結果單元生成預期結果并將這一輪測試的預期結果提供給比較器,由此,所述預期結果單元至少僅需存儲一輪測試的預期結果即可,從而減少了所述預期結果單元對預期結果的存儲量。
【專利附圖】
【附圖說明】
[0072]圖1是本發(fā)明實施例的運算器測試系統(tǒng)的框結構示意圖;
[0073]圖2是本發(fā)明實施例的運算器測試系統(tǒng)的結構示意圖。
【具體實施方式】
[0074]以下結合附圖和具體實施例對本發(fā)明提出的運算器測試系統(tǒng)及測試方法作進一步詳細說明。根據(jù)下面說明和權利要求書,本發(fā)明的優(yōu)點和特征將更清楚。需說明的是,附圖均采用非常簡化的形式且均使用非精準的比例,僅用以方便、明晰地輔助說明本發(fā)明實施例的目的。
[0075]請參考圖1,其為本發(fā)明實施例的運算器測試系統(tǒng)的框結構示意圖。如圖1所示,所述運算器測試系統(tǒng)I包括:
[0076]控制單元10、數(shù)據(jù)提供單元11、第一輸入單元12、第二輸入單元13、待測運算器
14、預期結果單元15、比較器16及測試結果存儲單元17,其中,所述控制單元10控制測試過程的進行;
[0077]當進行測試時:
[0078]所述數(shù)據(jù)提供單元11向所述第一輸入單元12、第二輸入單元13及預期結果單元15提供數(shù)據(jù);
[0079]所述第一輸入單元12及第二輸入單元13向所述待測運算器14提供測試數(shù)據(jù);
[0080]所述待測運算器14進行運算并將運算結果提供給比較器16,所述預期結果單元15生成預期結果并將這一輪測試的預期結果提供給比較器16 ;
[0081]所述比較器16比較運算結果及預期結果,并將比較結果提供給測試結果存儲單元17。
[0082]在本實施例中,由于所述預期結果單元15生成預期結果并將這一輪測試的預期結果提供給比較器16,由此,所述預期結果單元15至少僅需存儲一輪測試的預期結果即可,從而減少了所述預期結果單元15對預期結果的存儲量。
[0083]優(yōu)選的,所述預期結果單元15僅存儲當前一輪測試的預期結果,由此,可極大地減小對預期結果的存儲量。當然,在本發(fā)明的其他實施例中,所述預期結果單元15可多存儲幾輪測試的預期結果,例如存儲包括當前一輪及前后三輪的預測結果等。
[0084]進一步的,所述控制單元10、數(shù)據(jù)提供單元11、第一輸入單元12、第二輸入單元
13、待測運算器14、預期結果單元15、比較器16及測試結果存儲單元17集成在同一塊芯片上。在此,由于所述預期結果單元15存儲的數(shù)據(jù)量較少,由此,其需要的存儲空間也相應變少,進而其在外觀上(空間結構上)也相應地變得非常小,從而使得所述運算器測試系統(tǒng)能夠集成在同一塊芯片上,享受集成帶來的小型化、價格低廉等優(yōu)點,同時,集成還能夠帶來數(shù)據(jù)傳遞速度快等優(yōu)點。
[0085]在本實施例中,不僅所述數(shù)據(jù)提供單元11可以向所述第一輸入單元12、第二輸入單元13及預期結果單元15提供數(shù)據(jù),同時,所述第一輸入單元12、第二輸入單元13及預期結果單元15各自之間也可以提供數(shù)據(jù),S卩,所述第一輸入單元12可以向所述第二輸入單元13及預期結果單元15提供數(shù)據(jù);所述第二輸入單元13可以向所述第一輸入單元12及預期結果單元15提供數(shù)據(jù);所述預期結果單元15可以向所述第一輸入單元12及第二輸入單元13提供數(shù)據(jù)。由此,更加豐富了測試數(shù)據(jù)。
[0086]考慮到對于運算器測試的覆蓋率以及數(shù)據(jù)提供單元11的存儲量需求,優(yōu)選的,所述數(shù)據(jù)提供單元11所存儲的數(shù)據(jù)為三個常數(shù),分別為全O 二進制數(shù)(用“A”表示)、0和I間隔的二進制數(shù)(用“B”表示)及僅最低位為I的二進制數(shù)(用“C”表示)。以四位二進制數(shù)為例,即分別可對應出“0000”、“0101”及“0001”;若以十六位二進制數(shù)為例,則分別可以對應出 “0000 0000 0000 0000,,、“0101 0101 0101 0101” 及“0000 0000 0000 0001”,當然,還可以是三十二位、六十四位等位數(shù)的二進制數(shù),本申請對此不再贅述。
[0087]同時,為了進一步滿足對于運算器測試的需求,提高運算器測試的覆蓋率,所述數(shù)據(jù)提供單元11還預設一數(shù)據(jù)產(chǎn)出位,該位可根據(jù)測試需要提供新的數(shù)據(jù)(用“G”表示),其中,所述新的數(shù)據(jù)可通過計數(shù)器予以產(chǎn)生。
[0088]在本實施例中,所述預期結果單元15中的預期結果可以是數(shù)據(jù)提供單元11、第一輸入單元12及第二輸入單元13提供的數(shù)據(jù)本身,也可以是數(shù)據(jù)提供單元11、第一輸入單元12及第二輸入單元13提供的數(shù)據(jù)的移位或者反相,即,所述預期結果單元15中的預期結果是預期結果單元15得到的數(shù)據(jù)(輸入數(shù)據(jù))的函數(shù)(在此指代根據(jù)一定的變化即可得到)。
[0089]進一步的,所述預期結果單元15中的預期結果還可以是常數(shù),優(yōu)選的為全O 二進制數(shù),若以四位二進制數(shù)為例,則是“0000”;若以十六位二進制數(shù)為例,則是“0000 00000000 0000”,此數(shù)可以是常數(shù)“A”;優(yōu)選的為全I 二進制數(shù),若以四位二進制數(shù)為例,則是“1111”;若以十六位二進制數(shù)為例,則是“1111 11111111 1111”,此數(shù)可為常數(shù)“A”的反相。本實施例特設計對此結果的測試,以提高測試的可靠性及覆蓋率。
[0090]在對預期結果為常數(shù)的情況予以測試時,將得到此種常數(shù)的各種情況均予以測試,例如,所述待測運算器14為加法器,所述常數(shù)為“1111”,則對于輸入分別為“0000”及“1111”;“0001”及“1110”;“0010”及“1101”……等各種能夠得出“1111”的情況均予以
測試,從而保證測試的覆蓋率。
[0091]進一步的,所述預期結果單元15中的預期結果還可以是一種逆運算結果,具體實現(xiàn)時,可以將第一輸入單元12或者第二輸入單元13所提供的數(shù)據(jù)作為預期結果。同時,待測運算器14將第一輸入單元12及第二輸入單元13提供的測試數(shù)據(jù)經(jīng)過正運算后的中間結果送回第一輸入單元12或者第二輸入單元13,接著,被送回的中間結果及得出該中間結果的測試數(shù)據(jù)之一(第一輸入單元12或者第二輸入單元13提供的數(shù)據(jù))送到該待測運算器14(即進行正運算的同一待測運算器14)進行逆運算,由此得出的運算結果(即經(jīng)過了正運算和逆運算之后的結果)提供給比較器16,該比較器16將待測運算器14提供的運算結果與預期結果(即第二輸入單元13或第一輸入單元12提供給預期結果單元15的數(shù)據(jù))進行比較。
[0092]其中,需說明的是,所述正運算指所述待測運算器通常執(zhí)行的運算,例如,若待測運算器為加法器,其正運算即指“加法”運算/操作,而其逆運算指相反的運算,即指“減法”運算/操作,所述正運算及逆運算通過同一待測運算器實現(xiàn)。
[0093]例如,第一輸入單元12的數(shù)據(jù)與第二輸入單元13的數(shù)據(jù)經(jīng)待測運算器14(該待測運算器14設為加法器)相加得到中間結果,同時將第二輸入單元13的數(shù)據(jù)提供給預期結果單元15作為預期結果。該中間結果沒有相應的預期結果;但中間結果被反饋回第二輸入單元13作為輸入數(shù)據(jù)由待測運算器14減去第一輸入單元12的數(shù)據(jù)(即進行逆運算),所得的最后運算結果應該與預期結果(原第二輸入單元13的數(shù)據(jù))通過比較器16進行比較。
[0094]在此,利用了運算器通常都能夠執(zhí)行正運算及逆運算的特性,同時,利用了這樣一個原理,若待測運算器是合格/正常的運算器,則經(jīng)過正運算及逆運算之后,其運算結果將是輸入數(shù)據(jù),即第一輸入單元12或者第二輸入單元13所提供的測試數(shù)據(jù),則將該運算結果與預期結果(此時預期結果為第一輸入單元12或者第二輸入單元13所提供的數(shù)據(jù))進行比較,若比較結果相同,便可得出待測運算器合格/正常(或者至少是通過本輪測試)的測試結果。
[0095]在本實施例所提供的多種預期結果中,均通過預期結果單元15根據(jù)其輸入的數(shù)據(jù)便可產(chǎn)生一定的預期結果,從而不需要存儲大量的預期結果,節(jié)省了存儲空間的開支。同時,這些預期結果考慮了測試的特性,能夠實現(xiàn)測試的效果。
[0096]請相應參考圖2,其為本發(fā)明實施例的運算器測試系統(tǒng)的結構示意圖,在此,將結合圖2對于所述運算器測試系統(tǒng)I作進一步介紹。
[0097]在本實施例中,所述控制單元10包括:
[0098]測試流程控制單元101,用以控制測試進程;
[0099]步驟數(shù)記錄單元102,用以記錄步驟數(shù);
[0100]器件選擇單元103,用以選擇待測運算器14及其工作方式;
[0101]第一數(shù)據(jù)選擇單元106,用以選擇數(shù)據(jù)提供單元11提供的數(shù)據(jù);[0102]第二數(shù)據(jù)選擇單元105,用以選擇第一輸入單元12、第二輸入單元13及預期結果單元14各自接收的數(shù)據(jù);及
[0103]數(shù)據(jù)轉換控制器104,用以確定第一輸入單元12、第二輸入單元13及預期結果單元14中的數(shù)據(jù)是否需要移位或者反相。
[0104]所述運算器測試系統(tǒng)I還包括步驟計數(shù)器20以及存儲器地址產(chǎn)生器21,所述步驟計數(shù)器20用以進行步驟計數(shù),所述存儲器地址產(chǎn)生器21用以產(chǎn)生地址。
[0105]優(yōu)選的,所述控制單元10可以由一個存有測試程序的存儲器實現(xiàn)。上述各單元為存儲器中的區(qū)域。其中,圖2中控制單元10的豎向可以用來表示測試程序的行,橫向是具體控制特定部件的位。其中測試流程控制單元101、步驟數(shù)記錄單元102以及步驟計數(shù)器20共同作用決定存儲器地址產(chǎn)生器21產(chǎn)生的地址210,從而決定測試程序的流向。
[0106]具體的,當測試流程控制單元101 (只使用一位二進制數(shù))為“0”,步驟數(shù)記錄單元102為“nl”時,此行測試程序被執(zhí)行nl次(比如每次預期結果單元15中的移位器151移I位),直到步驟計數(shù)器20從O計數(shù)到nl時,該步驟計數(shù)器20會通知存儲器地址產(chǎn)生器21指向下一行測試程序。當測試流程控制單元101 (只使用一位二進制數(shù))為“1”,步驟數(shù)記錄單元102為“n2”時,存儲器地址產(chǎn)生器21產(chǎn)生當前行地址之前n2行的地址(即回跳)。
[0107]也可取消測試流程控制單元101,測試程序在執(zhí)行當前行直到步驟數(shù)記錄單元102中所含nl次執(zhí)行完畢后,執(zhí)行下一行測試程序,直到全部測試程序執(zhí)行完畢。
[0108]器件選擇單元103可以使用待測運算器的操作碼。如此,在對待測運算器進行測試的同時也測試了運算器的譯碼器。
[0109]具體的,當所述運算器測試系統(tǒng)I進行測試時,包括如下步驟:
[0110]步驟1:控制單元10控制測試開始;
[0111]具體的,可通過測試流程控制單元101控制測試的進行,在此,先控制運算器測試系統(tǒng)I開始進行測試,在此,可通過一位二進制數(shù)予以實現(xiàn),例如,“I”表示測試開始,當然,相應的,可利用同一位二進制數(shù)表征測試結束,例如,該二進制位上的二進制數(shù)是“O”時,表征測試結束/結束狀態(tài)。
[0112]步驟2:數(shù)據(jù)提供單元11向所述第一輸入單元12、第二輸入單元13及預期結果單元15提供數(shù)據(jù);
[0113]具體的,首先,數(shù)據(jù)提供單元11中存儲有多個數(shù)據(jù)(即可以向第一輸入單元12、第二輸入單元13及預期結果單元14提供多個數(shù)據(jù)),因此,可先通過第一數(shù)據(jù)選擇單元106從該多個數(shù)據(jù)(圖2中通過標記“A”、“B”、“C”及“G”予以表示本實施例中數(shù)據(jù)提供單元11可提供的四個數(shù)據(jù),同時,可相應參考前文對該四個數(shù)據(jù)的描述)中選擇一個或者多個提供。
[0114]步驟3:所述第一輸入單元12及第二輸入單元13向待測運算器14提供測試數(shù)據(jù);
[0115]具體的,在本發(fā)明一實施例中,所述第一輸入單元12及第二輸入單元13接收了數(shù)據(jù)提供單元11提供的數(shù)據(jù)之后,將其得到的數(shù)據(jù)作為測試數(shù)據(jù)向待測運算器14提供。
[0116]在此,首先,所述第一輸入單元12中設置有移位/反相器121,所述第二輸入單元13中設置有移位/反相器131,對于從數(shù)據(jù)提供單元11中得到的數(shù)據(jù),在所述數(shù)據(jù)轉換控制器104的控制下,所述第一輸入單元12及第二輸入單元13均可選擇是輸出原數(shù)據(jù)作為測試數(shù)據(jù)還是輸出反相/移位數(shù)據(jù)(所述反相數(shù)據(jù)指原數(shù)據(jù)的相反數(shù)據(jù),例如,原數(shù)據(jù)為“0001”,則反相數(shù)據(jù)即為“1110”;所述移位數(shù)據(jù)指原數(shù)據(jù)經(jīng)過移位后的數(shù)據(jù),例如,原數(shù)據(jù)為“0001”,則移一位的數(shù)據(jù)即為“0010”,移兩位的數(shù)據(jù)即為“0100”。)作為測試數(shù)據(jù),由此,進一步增加了測試數(shù)據(jù)的數(shù)據(jù)源的容量,進而提高測試的覆蓋率。其中,優(yōu)選的,移位/反相器121與移位/反相器131可以是單純的反相器,移位功能全由預期結果單元15中的移位器151執(zhí)行,如此,可進一步節(jié)省器件的開支,降低運算器測試系統(tǒng)I的成本。
[0117]其次,在本發(fā)明的實施例中,所述第一輸入單元12及第二輸入單元13不僅可以得到來自數(shù)據(jù)提供單元11的數(shù)據(jù),其相互之間還可以提供數(shù)據(jù),同時,預期結果單元15還可以向所述第一輸入單元12及第二輸入單元13提供數(shù)據(jù)。同時,在如此多的數(shù)據(jù)提供源下,可通過第二數(shù)據(jù)選擇單元105選擇第一輸入單元12及第二輸入單元13各自接收的數(shù)據(jù),即第一輸入單元12是選擇數(shù)據(jù)提供單元11提供的數(shù)據(jù)、還是第二輸入單元13提供的數(shù)據(jù)、亦或預期結果單元15提供的數(shù)據(jù);對于第二輸入單元13,所述第二數(shù)據(jù)選擇單元105亦起到同樣的控制作用。
[0118]由此,既能滿足測試數(shù)據(jù)數(shù)據(jù)源的豐富性,又能滿足測試的有序性。
[0119]步驟4:所述待測運算器14進行運算并將運算結果提供給比較器16,所述預期結果單元15生成預期結果并將這一輪測試的預期結果提供給比較器16 ;
[0120]在本實施例中,所述待測運算器14所執(zhí)行的運算通常僅指正運算,即當待測運算器14是加法器時,執(zhí)行加法運算;當待測運算器14是乘法器時,執(zhí)行乘法運算。
[0121]特別的,在所述預期結果單元15提供的預期結果為:第一輸入單元或者第二輸入單元向待測運算器14提供的測試數(shù)據(jù)的情況下,所述待測運算器14經(jīng)過正運算及逆運算之后將運算結果提供給比較器,即所述待測運算器14執(zhí)行正運算及逆運算,關于此點的測試原理可相應參考前文,在此不再贅述。
[0122]關于所述預期結果單元15生成預期結果的情況,
[0123]首先,通過第二數(shù)據(jù)選擇單元105可選擇生成預期結果的源,即選擇數(shù)據(jù)提供單元11提供的數(shù)據(jù)生成預期結果、還是選擇第一輸入單元12提供的數(shù)據(jù)生成預期結果、亦或選擇第二輸入單元13提供的數(shù)據(jù)生成預期結果,即所述預期結果單元15可根據(jù)多種數(shù)據(jù)源生成預期結果;
[0124]其次,對于選擇的數(shù)據(jù)源,所述預期結果單元15還可在數(shù)據(jù)轉換控制器104的控制下,以確定是否需要進行移位或者反相,即最終生成的預期結果可以是反相/移位數(shù)據(jù),從而使得所述預期結果單元15能夠生成多個預期結果,滿足不同測試的要求。
[0125]步驟5:所述比較器16比較運算結果及預期結果,并將比較結果提供給測試結果存儲單兀17 ;
[0126]在此,所述比較器16對于運算結果與預期結果進行比較后,便可得出所述運算結果與所述預期結果是相同還是不相同的比較結果,將該比較結果提供給測試結果存儲單元
17。具體的,可通過一位二進制數(shù)表示比較結果,例如以“O”表示相同,以“I”表示不相同,則所述比較器16只需將“O”或者“I”提供給測試結果存儲單元17即可。
[0127]在此,可僅當比較結果為運算結果與預期結果不相同時,所述測試結果存儲單元17存儲該比較結果,從而減少所述測試結果存儲單元17的存儲量。
[0128]步驟6:所述控制單元10控制測試繼續(xù)或者測試結束。[0129]關于所述控制單元10控制測試結束的方式,可參考前文,本申請在此不再贅述。而關于控制單元10控制測試繼續(xù)的方式,可通過如下一些方法:
[0130]首先,考慮到對于待測運算器的測試可能出現(xiàn)如下兩種情況,
[0131]1、同一種測試需要執(zhí)行多次,此種情況下,可利用步驟數(shù)記錄單元102予以實現(xiàn),具體的,步驟數(shù)記錄單元102將需要執(zhí)行的(測試)次數(shù)nl (nl為非負整數(shù))提供給步驟計數(shù)器20,步驟計數(shù)器20予以具體計數(shù),當?shù)竭_預定的執(zhí)行次數(shù)時,步驟計數(shù)器20向存儲器地址產(chǎn)生器21提供觸發(fā),存儲器地址產(chǎn)生器21接收到觸發(fā)之后,可控制測試流程控制單元101執(zhí)行下一步驟;
[0132]2、執(zhí)行過的某一輪測試還需要再次予以執(zhí)行,此即為需要進行之前的第n2輪測試,所述n2為自然數(shù),此種情況下,同樣可利用步驟數(shù)記錄單元102予以實現(xiàn),在此,步驟數(shù)記錄單元102向測試流程控制單元101提供n2值,則所述測試流程控制單元101控制執(zhí)行該一輪測試。
[0133]在此,所述測試流程控制單元101對于測試繼續(xù)的不同形式,可通過一位二進制位加以區(qū)分,例如:
[0134]二進制位為“O”時,測試繼續(xù)的形式為:當步驟數(shù)記錄單元102提供的步驟記錄數(shù)被執(zhí)行完成后,進行下一輪測試;
[0135]此時,指代前面的第I種情況,但若是同一種測試不需要執(zhí)行多次,則可忽略步驟數(shù)記錄單元102提供的步驟記錄數(shù);或者,步驟數(shù)記錄單元102完成計數(shù)O (從“O”開始計數(shù))時,即進行下一輪測試。
[0136]二進制位為“I”時,測試繼續(xù)的形式為:根據(jù)步驟數(shù)記錄單元102提供的步驟記錄數(shù)n2,進行之前第n2輪測試,所述n2為自然數(shù)。
[0137]前文對于待測運算器14為通用運算器(即其可以是加法器、乘法器、移位器、邏輯運算單元及存儲器中的任一種)的情況予以了描述,接下去,將對待測運算器14分不同情況加以具體描述,以進一步體現(xiàn)本發(fā)明提供的運算器測試系統(tǒng)及測試方法的實現(xiàn)方式。
[0138]【實施例一、待測運算器為加法器】
[0139]首先,根據(jù)前文的描述,本領域技術人員將能夠利用運算器測試系統(tǒng)實現(xiàn)對于加法器的測試,即通過一系列測試數(shù)據(jù),進行多輪測試,得出加法器合格/不合格的測試結論。而其中,所述測試數(shù)據(jù)均可通過數(shù)據(jù)提供單元11提供的幾個數(shù)據(jù)予以形成。
[0140]為了更加直觀的體現(xiàn)通過數(shù)據(jù)提供單元11提供的幾個數(shù)據(jù),同時,又無需預期結果單元15存儲大量的預期結果而能夠實現(xiàn)對于加法器的測試(指進行多輪測試),在本實施例中,特舉幾個測試數(shù)據(jù)例予以說明。請參考下表1,表1列舉了第一輸入單元12、第二輸入單元13及預期結果單元15的輸出數(shù)據(jù)例:
[0141]
【權利要求】
1.一種運算器測試系統(tǒng),其特征在于,包括:控制單元、數(shù)據(jù)提供單元、第一輸入單元、第二輸入單元、待測運算器、預期結果單元、比較器及測試結果存儲單元,其中,所述控制單元控制測試過程的進行; 當進行測試時: 所述數(shù)據(jù)提供單元向所述第一輸入單元、第二輸入單元及預期結果單元提供數(shù)據(jù); 所述第一輸入單元及第二輸入單元向所述待測運算器提供測試數(shù)據(jù); 所述待測運算器進行運算并將運算結果提供給比較器,所述預期結果單元生成預期結果并將這一輪測試的預期結果提供給比較器; 所述比較器比較運算結果及預期結果,并將比較結果提供給測試結果存儲單元。
2.如權利要求1所述的運算器測試系統(tǒng),其特征在于,所述控制單元、數(shù)據(jù)提供單元、第一輸入單元、第二輸入單元、待測運算器、預期結果單元、比較器及測試結果存儲單元集成在同一塊芯片上。
3.如權利要求1所述的運算器測試系統(tǒng),其特征在于,所述預期結果單元存儲當前一輪測試的預期結果。
4.如權利要求1所述的運算器測試系統(tǒng),其特征在于,所述數(shù)據(jù)提供單元中所存儲的數(shù)據(jù)包括:全O 二進制數(shù)、O和I間隔的二進制數(shù)及僅最低位為I的二進制數(shù)。
5.如權利要求1至4中的任一項所述的運算器測試系統(tǒng),其特征在于,所述預期結果單元提供的預期結果為:數(shù)據(jù)提供單元所提供的數(shù)據(jù)的函數(shù)。
6.如權利要求5所述的運算器測試系統(tǒng),其特征在于,所述預期結果單元提供的預期結果為:數(shù)據(jù)提供單元提供的數(shù)據(jù)的移位或者反相。
7.如權利要求1至4中的任一項所述的運算器測試系統(tǒng),其特征在于,所述預期結果單元提供的預期結果為:常數(shù)。
8.如權利要求7所述的運算器測試系統(tǒng),其特征在于,所述預期結果單元提供的預期結果為:全I二進制數(shù)或全O 二進制數(shù)。
9.如權利要求1至4中的任一項所述的運算器測試系統(tǒng),其特征在于,所述預期結果單元提供的預期結果為:第一輸入單元或者第二輸入單元向待測運算器提供的測試數(shù)據(jù)。
10.如權利要求9所述的運算器測試系統(tǒng),其特征在于,當所述預期結果單元提供的預期結果為:第一輸入單元或者第二輸入單元向待測運算器提供的測試數(shù)據(jù)時, 所述待測運算器經(jīng)過正運算及逆運算之后將運算結果提供給比較器。
11.如權利要求1至4中的任一項所述的運算器測試系統(tǒng),其特征在于,所述第一輸入單元向所述第二輸入單元及預期結果單元提供數(shù)據(jù)。
12.如權利要求1至4中的任一項所述的運算器測試系統(tǒng),其特征在于,所述第二輸入單元向所述第一輸入單元及預期結果單元提供數(shù)據(jù)。
13.如權利要求1至4中的任一項所述的運算器測試系統(tǒng),其特征在于,所述預期結果單元向所述第一輸入單元及第二輸入單元提供數(shù)據(jù)。
14.如權利要求1至4中的任一項所述的運算器測試系統(tǒng),其特征在于,所述控制單元包括: 測試流程控制單元,用以控制測試進程; 步驟數(shù)記錄單元,用以記錄步驟數(shù);器件選擇單元,用以選擇待測運算器及其工作方式; 第一數(shù)據(jù)選擇單元,用以選擇數(shù)據(jù)提供單元提供的數(shù)據(jù); 第二數(shù)據(jù)選擇單元,用以選擇第一輸入單元、第二輸入單元及預期結果單元各自接收的數(shù)據(jù) ;及 數(shù)據(jù)轉換控制器,用以確定第一輸入單元、第二輸入單元及預期結果單元中的數(shù)據(jù)是否需要移位或者反相。
15.如權利要求14所述的運算器測試系統(tǒng),其特征在于,所述測試流程控制單元根據(jù)一位二進制數(shù)控制測試進程,所述測試進程包括: 根據(jù)步驟數(shù)記錄單元提供的計數(shù)nl,當nl次測試完成后,進行下一輪測試,所述nl為非負整數(shù); 根據(jù)步驟數(shù)記錄單元提供的計數(shù)n2,進行之前第n2輪測試,所述n2為自然數(shù)。
16.如權利要求14所述的運算器測試系統(tǒng),其特征在于,所述待測運算器包括加法器、乘法器、移位器、邏輯運算單元及存儲器中的一種。
17.如權利要求16所述的運算器測試系統(tǒng),其特征在于,當所述待測運算器為移位器時, 所述步驟數(shù)記錄單元向所述移位器提供移位的位數(shù)同時提供測試的計數(shù)。
18.如權利要求16所述的運算器測試系統(tǒng),其特征在于,當所述待測運算器為存儲器時, 所述步驟數(shù)記錄單元向所述存儲器提供存儲器讀寫地址。
19.如權利要求1至4中的任一項所述的運算器測試系統(tǒng),其特征在于, 當比較結果為運算結果與預期結果不相同時,所述測試結果存儲單元存儲該比較結果O
20.一種運算器測試方法,其特征在于,包括: 步驟1:控制單元控制測試開始; 步驟2:數(shù)據(jù)提供單元向所述第一輸入單元、第二輸入單元及預期結果單元提供數(shù)據(jù); 步驟3:所述第一輸入單元及第二輸入單元向待測運算器提供測試數(shù)據(jù); 步驟4:所述待測運算器進行運算并將運算結果提供給比較器,所述預期結果單元生成預期結果并將這一輪測試的預期結果提供給比較器; 步驟5:所述比較器比較運算結果及預期結果,并將比較結果提供給測試結果存儲單元; 步驟6:所述控制單元控制測試繼續(xù)或者測試結束。
21.如權利要求20所述的運算器測試方法,其特征在于,所述預期結果單元存儲當前一輪測試的預期結果。
22.如權利要求20所述的運算器測試方法,其特征在于,所述數(shù)據(jù)提供單元中所存儲的數(shù)據(jù)包括:全O 二進制數(shù)、O和I間隔的二進制數(shù)及僅最低位為I的二進制數(shù)。
23.如權利要求20至22中的任一項所述的運算器測試方法,其特征在于,所述預期結果單元提供的預期結果為:數(shù)據(jù)提供單元所提供的數(shù)據(jù)的函數(shù)。
24.如權利要求23所述的運算器測試方法,其特征在于,所述預期結果單元提供的預期結果為:數(shù)據(jù)提供單元提供的數(shù)據(jù)的移位或者反相。
25.如權利要求20至22中的任一項所述的運算器測試方法,其特征在于,所述預期結果單元提供的預期結果為:常數(shù)。
26.如權利要求25所述的運算器測試方法,其特征在于,所述預期結果單元提供的預期結果為:全I二進制數(shù)或全O 二進制數(shù)。
27.如權利要求20至22中的任一項所述的運算器測試方法,其特征在于,所述預期結果單元提供的預期結果為:第一輸入單元或者第二輸入單元向待測運算器提供的測試數(shù)據(jù)。
28.如權利要求27所述的運算器測試方法,其特征在于,當所述預期結果單元提供的預期結果為:第一輸入單元或者第二輸入單元向待測運算器提供的測試數(shù)據(jù)時, 所述待測運算器經(jīng)過正運算及逆運算之后將運算結果提供給比較器。
29.如權利要求20至22中的任一項所述的運算器測試方法,其特征在于,在步驟2中還包括:所述第一輸入單元向所述第二輸入單元及預期結果單元提供數(shù)據(jù)。
30.如權利要求20至22中的任一項所述的運算器測試方法,其特征在于,在步驟2中還包括:所述第二輸入單元向所述第一輸入單元及預期結果單元提供數(shù)據(jù)。
31.如權利要求20至22中的任一項所述的運算器測試方法,其特征在于,在步驟2中還包括:所述預期結果單元向所述第一輸入單元及第二輸入單元提供數(shù)據(jù)。
32.如權利要求20至22中的任一項所述的運算器測試方法,其特征在于,測試流程控制單元根據(jù)一位二進制數(shù)控制測試繼續(xù)的進程,所述測試繼續(xù)的進程包括: 根據(jù)步驟數(shù)記錄單元提供的計數(shù)nl,當nl次測試完成后,進行下一輪測試,所述nl為非負整數(shù); 根據(jù)步驟數(shù)記錄單元提供的計數(shù)n2,進行之前第n2輪測試,所述n2為自然數(shù)。
33.如權利要求20至22中的任一項所述的運算器測試方法,其特征在于,當所述待測運算器為移位器時,
所述步驟數(shù)記錄單元向所述移位器提供移位的位數(shù)同時提供測試的計數(shù)。
34.如權利要求20至22中的任一項所述的運算器測試方法,其特征在于,當所述待測運算器為存儲器時, 所述步驟數(shù)記錄單元向所述存儲器提供存儲器讀寫地址。
35.如權利要求20至22中的任一項所述的運算器測試方法,其特征在于,在步驟5中,當比較結果為運算結果與預期結果不相同時,所述測試結果存儲單元存儲該比較結果。
【文檔編號】G01R31/3177GK103513177SQ201210224191
【公開日】2014年1月15日 申請日期:2012年6月29日 優(yōu)先權日:2012年6月29日
【發(fā)明者】林正浩 申請人:上海芯豪微電子有限公司