本申請(qǐng)涉及芯片的設(shè)計(jì)和測(cè)試領(lǐng)域,特別涉及一種芯片的測(cè)試方法及芯片。
背景技術(shù):
1、芯片中包括了多個(gè)具有各自功能的邏輯電路模塊,如矢量運(yùn)算單元、浮點(diǎn)運(yùn)算單元、譯碼單元、內(nèi)存訪問(wèn)單元等。為了保證芯片的高安全高可靠性,需要對(duì)芯片進(jìn)行測(cè)試,包括對(duì)其內(nèi)部的各個(gè)邏輯電路模塊進(jìn)行測(cè)試。甚至在芯片的系統(tǒng)處于運(yùn)行狀態(tài)時(shí)還需要實(shí)時(shí)或者周期性地對(duì)相關(guān)邏輯電路模塊進(jìn)行監(jiān)控以及測(cè)試,以確保執(zhí)行功能的正確性。但是目前對(duì)芯片的測(cè)試方法使用不靈活,往往需要周期性的運(yùn)行測(cè)試程序,占用了芯片正常功能運(yùn)行的時(shí)間,對(duì)芯片的性能有較大影響。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供了一種芯片的測(cè)試方法及芯片,所述芯片包括多個(gè)邏輯電路模塊,各個(gè)所述邏輯電路模塊上設(shè)置有對(duì)應(yīng)的內(nèi)建自測(cè)試單元,所述芯片還包括用于控制各個(gè)所述內(nèi)建自測(cè)試單元的測(cè)試控制單元,所述芯片對(duì)應(yīng)有測(cè)試程序,所述測(cè)試程序中具有測(cè)試指令,所述測(cè)試指令包括針對(duì)各個(gè)所述邏輯電路模塊而對(duì)應(yīng)設(shè)置的測(cè)試微指令和功能性微指令,所述測(cè)試微指令用于對(duì)相對(duì)應(yīng)的所述邏輯電路模塊進(jìn)行功能測(cè)試,所述功能性微指令用于控制對(duì)應(yīng)的所述邏輯電路模塊進(jìn)行特定操作和/或功能實(shí)現(xiàn),所述測(cè)試方法,包括:
2、確定各個(gè)所述邏輯電路模塊不對(duì)所述功能性微指令響應(yīng)的空閑期;
3、在所述邏輯電路模塊的空閑期內(nèi),通過(guò)相對(duì)應(yīng)的所述內(nèi)建自測(cè)試單元運(yùn)行相關(guān)聯(lián)的所述測(cè)試微指令,并獲取相應(yīng)的測(cè)試數(shù)據(jù);
4、將測(cè)試數(shù)據(jù)與存儲(chǔ)的標(biāo)準(zhǔn)數(shù)據(jù)進(jìn)行對(duì)比,以確定所述邏輯電路模塊對(duì)應(yīng)的目標(biāo)測(cè)試結(jié)果。
5、作為可選,所述方法還包括:
6、將所述測(cè)試微指令編譯到所述功能性微指令的序列中,其中包括:將所述測(cè)試微指令嵌入到所述功能性微指令的源代碼中;將所述源代碼進(jìn)行編譯。
7、作為可選,所述確定各個(gè)所述邏輯電路模塊不對(duì)所述功能性微指令響應(yīng)的空閑期,包括:
8、確定所述功能性微指令的執(zhí)行順序,并基于在所述功能性微指令的執(zhí)行順序中所述功能性微指令對(duì)各個(gè)所述邏輯電路模塊的需求統(tǒng)計(jì)數(shù)據(jù),確定所述邏輯電路模塊的空閑期。
9、作為可選,所述確定所述功能性微指令的執(zhí)行順序,并基于在所述功能性微指令的執(zhí)行順序中所述功能性微指令對(duì)各個(gè)所述邏輯電路模塊的需求統(tǒng)計(jì)數(shù)據(jù),確定所述邏輯電路模塊的空閑期,包括:
10、確定所述測(cè)試程序的程序執(zhí)行軌跡,其中,所述程序執(zhí)行軌跡能夠表征所述功能性微指令的執(zhí)行順序;
11、基于在所述測(cè)試程序的程序執(zhí)行軌跡中所述功能性微指令對(duì)各個(gè)所述邏輯電路模塊的需求統(tǒng)計(jì)數(shù)據(jù),以及對(duì)應(yīng)的所述測(cè)試微指令的需求時(shí)間,確定所述邏輯電路模塊的當(dāng)前的空閑期。
12、作為可選,所述基于在所述測(cè)試程序的程序執(zhí)行軌跡中所述功能性微指令對(duì)各個(gè)所述邏輯電路模塊的需求統(tǒng)計(jì)數(shù)據(jù),以及對(duì)應(yīng)的所述測(cè)試微指令的需求時(shí)間,確定所述邏輯電路模塊的當(dāng)前的空閑期,包括:
13、針對(duì)所述程序執(zhí)行軌跡,確定不需響應(yīng)所述功能性微指令的所述邏輯電路模塊;
14、基于不需響應(yīng)所述功能性微指令的所述邏輯電路模塊的連續(xù)的空閑單元,確定所述邏輯電路模塊的當(dāng)前的空閑期,其中所述空閑單元為如果運(yùn)行一所述功能性微指令,不需響應(yīng)該功能性微指令的所述邏輯電路模塊對(duì)應(yīng)的空閑時(shí)間。
15、作為可選,所述在所述邏輯電路模塊的空閑期內(nèi),通過(guò)相對(duì)應(yīng)的所述內(nèi)建自測(cè)試單元運(yùn)行相關(guān)聯(lián)的所述測(cè)試微指令,并獲取相應(yīng)的測(cè)試數(shù)據(jù),包括:
16、通過(guò)所述內(nèi)建自測(cè)試單元,將與其相對(duì)應(yīng)的所述邏輯電路模塊的接口信號(hào)進(jìn)行隔離;
17、根據(jù)所述邏輯電路模塊的空閑期,并基于所述測(cè)試控制單元的請(qǐng)求,確定所述測(cè)試微指令的測(cè)試向量以及測(cè)試向量長(zhǎng)度;
18、基于所述測(cè)試向量以及測(cè)試向量長(zhǎng)度,對(duì)所述邏輯電路模塊進(jìn)行測(cè)試,并獲取相應(yīng)的測(cè)試數(shù)據(jù);
19、取消所述邏輯電路模塊的接口信號(hào)的隔離狀態(tài)。
20、作為可選,所述芯片還包括狀態(tài)保持單元,所述基于所述測(cè)試向量以及測(cè)試向量長(zhǎng)度,對(duì)所述邏輯電路模塊進(jìn)行測(cè)試,并獲取相應(yīng)的測(cè)試數(shù)據(jù),包括:
21、通過(guò)所述狀態(tài)保持單元,存儲(chǔ)測(cè)試前的所述邏輯電路模塊的第一狀態(tài)數(shù)據(jù);
22、將所述測(cè)試向量輸入到所述邏輯電路模塊中以對(duì)所述邏輯電路模塊進(jìn)行測(cè)試并獲取相應(yīng)的測(cè)試數(shù)據(jù);
23、利用所述狀態(tài)保持單元存儲(chǔ)的所述第一狀態(tài)數(shù)據(jù)對(duì)所述邏輯電路模塊的狀態(tài)進(jìn)行恢復(fù)。
24、作為可選,所述基于所述測(cè)試向量以及測(cè)試向量長(zhǎng)度,對(duì)所述邏輯電路模塊進(jìn)行測(cè)試,并獲取相應(yīng)的測(cè)試數(shù)據(jù),包括:
25、基于所述測(cè)試微指令中的目標(biāo)測(cè)試模塊信息,利用所述測(cè)試控制單元將相應(yīng)的測(cè)試需求發(fā)送到相對(duì)應(yīng)的所述邏輯電路模塊;
26、根據(jù)所述邏輯電路模塊的故障容忍時(shí)間間隔,利用所述測(cè)試控制單元向所述邏輯電路模塊派發(fā)或強(qiáng)制派發(fā)測(cè)試請(qǐng)求;
27、在所述邏輯電路模塊執(zhí)行了至少一次測(cè)試進(jìn)程的情況下,取消或強(qiáng)制取消所述測(cè)試請(qǐng)求。
28、作為可選,所述基于所述測(cè)試向量以及測(cè)試向量長(zhǎng)度,對(duì)所述邏輯電路模塊進(jìn)行測(cè)試,并獲取相應(yīng)的測(cè)試數(shù)據(jù),包括:
29、在所述邏輯電路模塊沒(méi)有進(jìn)行完整的測(cè)試流程的情況下,調(diào)整所述測(cè)試向量長(zhǎng)度,在所述邏輯電路模塊的空閑期內(nèi),利用所述測(cè)試向量繼續(xù)對(duì)所述邏輯電路模塊進(jìn)行測(cè)試。
30、本申請(qǐng)實(shí)施例還提供了一種芯片,能夠運(yùn)行測(cè)試程序,所述測(cè)試程序中具有測(cè)試指令,所述測(cè)試指令包括測(cè)試微指令和功能性微指令,所述芯片包括:
31、多個(gè)邏輯電路模塊,其分別對(duì)應(yīng)有所述測(cè)試微指令和所述功能性微指令,所述測(cè)試微指令用于對(duì)相對(duì)應(yīng)的所述邏輯電路模塊進(jìn)行功能測(cè)試,所述功能性微指令用于控制對(duì)應(yīng)的所述邏輯電路模塊進(jìn)行特定操作和/或功能實(shí)現(xiàn);
32、內(nèi)建自測(cè)試單元,分別設(shè)置在各個(gè)對(duì)應(yīng)的所述邏輯電路模塊上;
33、測(cè)試控制單元,用于控制各個(gè)所述內(nèi)建自測(cè)試單元,確定各個(gè)所述邏輯電路模塊不對(duì)所述功能性微指令響應(yīng)的空閑期;其中,
34、所述內(nèi)建自測(cè)試單元還用于在所述邏輯電路模塊的空閑期內(nèi),運(yùn)行相關(guān)聯(lián)的所述測(cè)試微指令,并獲取相應(yīng)的測(cè)試數(shù)據(jù);將測(cè)試數(shù)據(jù)與存儲(chǔ)的標(biāo)準(zhǔn)數(shù)據(jù)進(jìn)行對(duì)比,以確定所述邏輯電路模塊對(duì)應(yīng)的目標(biāo)測(cè)試結(jié)果。
35、本申請(qǐng)實(shí)施例的該芯片的測(cè)試方法,通過(guò)在芯片的邏輯電路模塊上設(shè)置內(nèi)建自測(cè)試單元,并利用測(cè)試微指令和功能性微指令分別對(duì)每個(gè)邏輯電路模塊進(jìn)行測(cè)試,提高了測(cè)試靈活性降低了測(cè)試峰值功耗。并且在測(cè)試過(guò)程中利用了每個(gè)邏輯電路模塊的空閑期對(duì)其進(jìn)行測(cè)試,不影響各個(gè)邏輯電路模塊做其他處理事物,提高了測(cè)試效率。
1.一種芯片的測(cè)試方法,其特征在于,所述芯片包括多個(gè)邏輯電路模塊,各個(gè)所述邏輯電路模塊上設(shè)置有對(duì)應(yīng)的內(nèi)建自測(cè)試單元,所述芯片還包括用于控制各個(gè)所述內(nèi)建自測(cè)試單元的測(cè)試控制單元,所述芯片對(duì)應(yīng)有測(cè)試程序,所述測(cè)試程序中具有測(cè)試指令,所述測(cè)試指令包括針對(duì)各個(gè)所述邏輯電路模塊而對(duì)應(yīng)設(shè)置的測(cè)試微指令和功能性微指令,所述測(cè)試微指令用于對(duì)相對(duì)應(yīng)的所述邏輯電路模塊進(jìn)行功能測(cè)試,所述功能性微指令用于控制對(duì)應(yīng)的所述邏輯電路模塊進(jìn)行特定操作和/或功能實(shí)現(xiàn),所述測(cè)試方法,包括:
2.根據(jù)權(quán)利要求1所述的芯片的測(cè)試方法,其特征在于,所述方法還包括:
3.根據(jù)權(quán)利要求1所述的芯片的測(cè)試方法,其特征在于,所述確定各個(gè)所述邏輯電路模塊不對(duì)所述功能性微指令響應(yīng)的空閑期,包括:
4.根據(jù)權(quán)利要求3所述的芯片的測(cè)試方法,其特征在于,所述確定所述功能性微指令的執(zhí)行順序,并基于在所述功能性微指令的執(zhí)行順序中所述功能性微指令對(duì)各個(gè)所述邏輯電路模塊的需求統(tǒng)計(jì)數(shù)據(jù),確定所述邏輯電路模塊的空閑期,包括:
5.根據(jù)權(quán)利要求4所述的芯片的測(cè)試方法,其特征在于,所述基于在所述測(cè)試程序的程序執(zhí)行軌跡中所述功能性微指令對(duì)各個(gè)所述邏輯電路模塊的需求統(tǒng)計(jì)數(shù)據(jù),以及對(duì)應(yīng)的所述測(cè)試微指令的需求時(shí)間,確定所述邏輯電路模塊的當(dāng)前的空閑期,包括:
6.根據(jù)權(quán)利要求1所述的芯片的測(cè)試方法,其特征在于,所述在所述邏輯電路模塊的空閑期內(nèi),通過(guò)相對(duì)應(yīng)的所述內(nèi)建自測(cè)試單元運(yùn)行相關(guān)聯(lián)的所述測(cè)試微指令,并獲取相應(yīng)的測(cè)試數(shù)據(jù),包括:
7.根據(jù)權(quán)利要求6所述的芯片的測(cè)試方法,其特征在于,所述芯片還包括狀態(tài)保持單元,所述基于所述測(cè)試向量以及測(cè)試向量長(zhǎng)度,對(duì)所述邏輯電路模塊進(jìn)行測(cè)試,并獲取相應(yīng)的測(cè)試數(shù)據(jù),包括:
8.根據(jù)權(quán)利要求6所述的芯片的測(cè)試方法,其特征在于,所述基于所述測(cè)試向量以及測(cè)試向量長(zhǎng)度,對(duì)所述邏輯電路模塊進(jìn)行測(cè)試,并獲取相應(yīng)的測(cè)試數(shù)據(jù),包括:
9.根據(jù)權(quán)利要求6所述的芯片的測(cè)試方法,其特征在于,所述基于所述測(cè)試向量以及測(cè)試向量長(zhǎng)度,對(duì)所述邏輯電路模塊進(jìn)行測(cè)試,并獲取相應(yīng)的測(cè)試數(shù)據(jù),包括:
10.一種芯片,其特征在于,能夠運(yùn)行測(cè)試程序,所述測(cè)試程序中具有測(cè)試指令,所述測(cè)試指令包括測(cè)試微指令和功能性微指令,所述芯片包括: