本發(fā)明涉及ai加速器芯片電路結(jié)構(gòu)設(shè)計(jì)的,尤其涉及一種ai加速器芯片pe矩陣的內(nèi)建自測試修復(fù)方法。
背景技術(shù):
1、乘累加器構(gòu)成的脈動矩陣可以極大提高深度學(xué)習(xí)算法效率,被廣泛應(yīng)用于張量處理器、神經(jīng)網(wǎng)絡(luò)處理器等ai加速器芯片。針對此類新興高性能ai加速器芯片的可測性及容錯(cuò)性設(shè)計(jì)技術(shù)開始得到廣泛關(guān)注。
2、乘累加運(yùn)算單元pe構(gòu)成的脈動矩陣單元結(jié)構(gòu)示意見圖1,pe運(yùn)算單元結(jié)構(gòu)示意見圖2,每一個(gè)pe運(yùn)算單元包括一個(gè)權(quán)重寄存器、數(shù)據(jù)寄存器以及累加寄存器,權(quán)重及激活數(shù)據(jù)分別以串行掃描的形式加載到每一行及每一列pe運(yùn)算單元中的權(quán)重寄存器及數(shù)據(jù)寄存器。被寄存器鎖存的權(quán)重和激活數(shù)據(jù)通過一個(gè)乘法器相乘,乘法結(jié)果與上一個(gè)pe運(yùn)算單元內(nèi)的累加寄存器鎖存的累加結(jié)果通過一個(gè)加法器相加,其加法結(jié)果保存在累加寄存器中并傳輸至下一個(gè)pe運(yùn)算單元。每一列pe運(yùn)算單元乘加運(yùn)算的最終結(jié)果保存到累加結(jié)果存儲器。測試時(shí)需要將累加寄存器通過二路選擇器配置成移位寄存器,乘法器和加法器的輸出響應(yīng)方可由移位寄存器構(gòu)成的掃描鏈電路串行導(dǎo)出以供比較。
3、但由于每一個(gè)pe運(yùn)算單元含有多位數(shù)寄存器,將累加寄存器配置成面積更大的掃描寄存器,即每一位寄存器都需添加一個(gè)二路選擇器,才能組成掃描鏈,其結(jié)構(gòu)示意如圖2,這樣將造成整個(gè)脈動矩陣模塊的面積占比大大增加,最終導(dǎo)致整個(gè)ai芯片的面積顯著增大;且當(dāng)前的測試方法只能通過外部軟件對故障pe運(yùn)算單元進(jìn)行診斷,而其診斷出的故障單元只能被屏蔽而舍棄,如果被舍棄pe運(yùn)算單元數(shù)量過多或權(quán)重過大,將會顯著降低ai芯片的運(yùn)算精度,使得該ai芯片成為廢片,造成芯片良品率降低,致使芯片制造成本升高。
技術(shù)實(shí)現(xiàn)思路
1、為了克服現(xiàn)有電路結(jié)構(gòu)設(shè)計(jì)技術(shù)存在電路設(shè)計(jì)中測試電路模塊的面積占比較大,導(dǎo)致整個(gè)ai加速芯片的面積顯著增大,且需通過外部軟件對故障pe運(yùn)算單元進(jìn)行診斷,故障pe運(yùn)算單元導(dǎo)致芯片良品率降低,致使芯片制造成本升高的問題,本發(fā)明提出一種ai加速器芯片pe矩陣的內(nèi)建自測試修復(fù)方法,能夠有效降低電路模塊的面積占比較大,進(jìn)而減小ai加速芯片的面積,且無需通過外部軟件對故障pe運(yùn)算單元進(jìn)行診斷,提高芯片良品率,降低芯片制造成本。
2、為實(shí)現(xiàn)本發(fā)明的目的,本發(fā)明采用如下技術(shù)方案實(shí)現(xiàn):
3、本發(fā)明的目的之一在于:
4、一種ai加速器芯片pe矩陣的內(nèi)建自測試方法,所述方法包括以下步驟:
5、s11:掃描測試生成器將掃描測試激勵(lì)串行數(shù)據(jù)導(dǎo)入可配置可配置pe運(yùn)算單元中的pe權(quán)重寄存器及pe激活寄存器;
6、s12:將測試激勵(lì)經(jīng)過乘加運(yùn)算之后輸出響應(yīng)鎖存至可配置pe運(yùn)算單元中的pe累加寄存器;
7、s13:將可配置pe運(yùn)算單元的pe累加寄存器配置為掃描寄存器,串行導(dǎo)出輸出響應(yīng);
8、s14:輸出響應(yīng)比較器將輸出響應(yīng)與存儲的正確響應(yīng)進(jìn)行比較,若輸出響應(yīng)與存儲的正確響應(yīng)一致,則檢查是否所有測試激勵(lì)串行數(shù)據(jù)已施加完成,若未完成,則返回步驟s11,若完成,則測試結(jié)束;若輸出響應(yīng)與存儲的正確響應(yīng)不一致,則執(zhí)行步驟s15;
9、s15:故障pe診斷器依據(jù)輸出響應(yīng)比較器的比較結(jié)果,診斷出故障的可配置pe運(yùn)算單元所在行列地址,并將地址信息保存至故障pe地址存儲器,檢查是否所有測試激勵(lì)已施加完成,若未完成,則返回步驟s11,若完成,則測試結(jié)束。
10、根據(jù)上述技術(shù)方案,輸出響應(yīng)比較器最低幾位輸出端的與門電路可被外部信號控制,依據(jù)ai芯片的運(yùn)算精度要求,決定是否將輸出響應(yīng)的最低幾位納入比較范圍。若運(yùn)算精度要求不高,則導(dǎo)致輸出響應(yīng)最低幾位發(fā)生錯(cuò)誤的故障可以被忽略,此時(shí)與門電路會將此幾位的輸出響應(yīng)比較結(jié)果屏蔽以保證pe運(yùn)算矩陣通過測試。
11、本發(fā)明的目的之二在于:
12、一種ai加速器芯片pe矩陣的內(nèi)建自修復(fù)方法,所述方法包括以下步驟:
13、s21:從故障pe地址存儲器讀取存在故障的可配置pe運(yùn)算單元行列地址信息;
14、s22:根據(jù)列地址信息檢查rpe冗余運(yùn)算單元行中處于該列的rpe冗余運(yùn)算單元是否未被使用,若未被使用,則將對應(yīng)的激活數(shù)據(jù)總線分配給該rpe冗余運(yùn)算單元并執(zhí)行步驟s25,若已被使用,則執(zhí)行步驟s23;
15、s23:根據(jù)行地址信息檢查rpe冗余運(yùn)算單元列中處于該行的rpe冗余運(yùn)算單元是否未被使用,若未被使用,則將對應(yīng)的權(quán)重?cái)?shù)據(jù)總線分配給該rpe冗余運(yùn)算單元并執(zhí)行步驟s25,若已被使用,則執(zhí)行步驟s24;
16、s24:檢查是否存在額外的rpe冗余運(yùn)算單元行,若存在,則執(zhí)行步驟s22,否則執(zhí)行步驟s25;
17、s25:檢查是否遍歷所有存在故障的可配置pe運(yùn)算單元地址,若是,則執(zhí)行步驟s26,否則執(zhí)行步驟s21;
18、s26:通過寄存器配置與門電路,屏蔽所有存在故障的可配置pe運(yùn)算單元;
19、s27:rpe冗余運(yùn)算單元預(yù)加載權(quán)重?cái)?shù)據(jù)流,使用rpe冗余運(yùn)算單元內(nèi)的計(jì)數(shù)器根據(jù)列地址將對應(yīng)的權(quán)重?cái)?shù)據(jù)鎖存至rpe冗余運(yùn)算單元的rpe權(quán)重寄存器,修復(fù)結(jié)束。
20、根據(jù)上述技術(shù)方案,修復(fù)后的pe單元矩陣在進(jìn)行實(shí)際運(yùn)算的過程中,rpe單元行和rpe單元列中參與替換修復(fù)的rpe運(yùn)算單元和其他正常的pe運(yùn)算單元同步進(jìn)行乘法運(yùn)算,但rpe單元列中的rpe單元將運(yùn)算結(jié)果在其內(nèi)部鎖存并與下一個(gè)時(shí)鐘周期產(chǎn)生的乘法結(jié)果不斷進(jìn)行自我累加,即整個(gè)運(yùn)算周期內(nèi)的乘累加結(jié)果始終存儲于單個(gè)rpe單元內(nèi)。
21、待運(yùn)算周期完成后,由多個(gè)rpe運(yùn)算結(jié)果掃描累加器以串行掃描的方式讀取rpe單元列中每個(gè)rpe的運(yùn)算結(jié)果及其對應(yīng)的列地址,將與rpe運(yùn)算結(jié)果掃描累加器列地址相同的rpe單元運(yùn)算結(jié)果不斷進(jìn)行累加,并將最終累加結(jié)果分配給pe運(yùn)算單元矩陣下方的累加器完成最后的累加操作。
22、對于多個(gè)rpe單元行及rpe單元列,倘若當(dāng)前rpe單元行及rpe單元列中相應(yīng)的rpe單元已被使用,可以調(diào)用其余rpe單元行或rpe單元列中的rpe單元進(jìn)行替換,這樣在略微增加電路面積的前提下可以極大提高芯片pe矩陣的修復(fù)概率。
23、測試及修復(fù)結(jié)束后,故障pe的數(shù)目及其行列地址數(shù)據(jù)還可隨掃描鏈被導(dǎo)出至外部測試設(shè)備軟件,進(jìn)行芯片設(shè)計(jì)及制造工藝成熟度分析與優(yōu)化,確定優(yōu)化后的rpe單元數(shù)目及行列排布。
24、相比現(xiàn)有技術(shù),本發(fā)明的有益效果在于:
25、本發(fā)明提出一種ai加速器芯片pe矩陣的內(nèi)建自測試修復(fù)電路,通過內(nèi)建自測試電路中的掃描測試生成器、可配置pe運(yùn)算單元、輸出響應(yīng)比較器、故障pe診斷器,以及內(nèi)建自修復(fù)電路中的激活數(shù)據(jù)總線分配器與rpe冗余運(yùn)算單元,并結(jié)合測試修復(fù)控制器及累加存儲器,能夠有效降低電路模塊的面積占比較大,進(jìn)而減小ai加速芯片的面積,且無需通過外部軟件對故障pe運(yùn)算單元進(jìn)行診斷,便可通過內(nèi)建自測試電路進(jìn)行電路自測試,以及通過內(nèi)建自修復(fù)電路進(jìn)行電路自修復(fù),減少pe運(yùn)算單元的在測試過程中的舍棄數(shù)量,提高pe運(yùn)算單元的運(yùn)算精度,進(jìn)而提高芯片良品率,降低芯片制造成本。