鄭 宇,方 嵐,李蘇蘇,謝玉巧
(華東光電集成器件研究所,吉林 吉林 132001)
數(shù)字集成電路芯片的設(shè)計(jì)、加工、系統(tǒng)整合方面的技術(shù)研究近來發(fā)展迅猛,但國(guó)內(nèi)相關(guān)工作平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)工作相對(duì)滯后。提供一個(gè)無需生產(chǎn)環(huán)境即可實(shí)現(xiàn)對(duì)數(shù)字集成電路進(jìn)行相關(guān)測(cè)試的微處理器嵌入平臺(tái),是本文的研究重點(diǎn)。相關(guān)研究中,基于布爾差分法在微處理器的嵌入式控制下,對(duì)針對(duì)測(cè)試碼集合對(duì)微處理器進(jìn)行激勵(lì)-反饋測(cè)試,是數(shù)字集成電路測(cè)試系統(tǒng)的主要實(shí)現(xiàn)模式。
代鵬(2020)等研究了一二次融合開關(guān)技術(shù)在數(shù)字集成電路測(cè)試系統(tǒng)中的應(yīng)用及相關(guān)的電氣細(xì)化設(shè)計(jì)[1]。王玉菡(2020)等研究了相變存儲(chǔ)器單元在高速電流脈沖條件下的數(shù)字集成電路測(cè)試系統(tǒng)中的應(yīng)用[2]。開關(guān)技術(shù)和寄存技術(shù)是高頻信號(hào)發(fā)生的關(guān)鍵技術(shù),在對(duì)高頻數(shù)字集成電路的測(cè)試中,測(cè)試系統(tǒng)本身的高頻性能必須超過待測(cè)試數(shù)字集成電路的高頻信號(hào)需求且保留一定冗余。田強(qiáng)(2020)等研究了一種基于V58300平臺(tái)的數(shù)字集成電路測(cè)試系統(tǒng)二次開發(fā)設(shè)計(jì)[3]。使用既有數(shù)字集成電路測(cè)試系統(tǒng)并通過二次開發(fā)過程使其潛在性能得到充分開發(fā),也是當(dāng)前數(shù)字集成電路測(cè)試平臺(tái)開發(fā)的重要方向。石君(2020)等及王金萍(2020)分別對(duì)數(shù)字集成電路測(cè)試系統(tǒng)的相關(guān)算法[4]和測(cè)試方法[5]進(jìn)行了研究。鄭永豐(2019)等研究了在數(shù)字集成電路測(cè)試平臺(tái)中融入射頻信號(hào)發(fā)生功能的工程實(shí)現(xiàn)方法[6]。
基于上述技術(shù)文獻(xiàn)的前期研究,本文基于TL5708-EVM-1000-64GE8GD-I開發(fā)板,設(shè)計(jì)一種可提供750MHz測(cè)試頻率環(huán)境的數(shù)字集成電路測(cè)試系統(tǒng)。設(shè)計(jì)過程介紹如下。
基于測(cè)試碼構(gòu)成的測(cè)試集,通過對(duì)數(shù)字集成電路的輸入激勵(lì)獲取其輸出響應(yīng),進(jìn)而判斷數(shù)字集成電路的不同故障模式。是當(dāng)前數(shù)字集成電路測(cè)試系統(tǒng)的基本測(cè)試策略。詳見圖1。
圖1 集成電路測(cè)試系統(tǒng)的基本構(gòu)成策略
圖1中,存儲(chǔ)器用來存儲(chǔ)相關(guān)策略和測(cè)試集,I/O模塊和外部接口用于連接外部控制設(shè)備,主要是桌面級(jí)工作站。以上模塊及測(cè)試控制模塊即核心開發(fā)板均屬于通用模塊,硬件開發(fā)壓力較小。測(cè)試系統(tǒng)的核心硬件開發(fā)任務(wù)來自測(cè)試引腳陣列及其控制器模塊的開發(fā)。詳見圖2。
圖2 集成電路測(cè)試系統(tǒng)引腳設(shè)計(jì)圖
圖2中,使用一個(gè)非門電路對(duì)數(shù)據(jù)回路的輸入輸出進(jìn)行晶閘管控制,形成一二次融合開關(guān)架構(gòu),從而進(jìn)一步實(shí)現(xiàn)引腳的多用途復(fù)用。引腳的排列按照ICCC電氣標(biāo)準(zhǔn)進(jìn)行布局,可以實(shí)現(xiàn)對(duì)大部分標(biāo)準(zhǔn)封裝數(shù)字集成電路的直接插入并進(jìn)行引腳定義。
對(duì)所有通過測(cè)試集可以測(cè)出的可測(cè)故障(Detectable Fault)編制測(cè)試集,且保持測(cè)試集的冗余度,分析所有可測(cè)故障的控制性,及所有測(cè)試集的相互包含和交集關(guān)系。最終構(gòu)建測(cè)試集F(x)。
如果F(x)=F(x1,x2,…,xn)屬于對(duì)所有變量有效的邏輯函數(shù),那么其布爾差分定義函數(shù)為:
(1)
即數(shù)據(jù)響應(yīng)錯(cuò)誤可以向錯(cuò)誤集傳導(dǎo),實(shí)現(xiàn)對(duì)所有可測(cè)故障的有效測(cè)量控制。
本文選擇TL5708-EVM-1000-64GE8GD-I開發(fā)板進(jìn)行系統(tǒng)開發(fā),該開發(fā)板提供8GByte的eMMC存儲(chǔ)空間,提供1GByte的DDRIII高速動(dòng)態(tài)存儲(chǔ)器,ARM總線頻率1 000 MHz,DSP總線頻率750 MHz,除ARM A15核心處理器(CPU)外,還提供一個(gè)SGX544 3D+GC320的浮點(diǎn)處理器(GPU),具有較強(qiáng)的大數(shù)據(jù)分析處理能力。外部接口方面,支持GPMC拓展鄔。可提供128 pix的DSP同步雙工并行接入。
其中,為了滿足一個(gè)32×32點(diǎn)陣的測(cè)試引腳陣列的DSP同步掃描,且支持至少32路輸入輸出控制,則應(yīng)占用至少64 pix的I/O引腳進(jìn)行掃描管理,至少占用16pix對(duì)引腳狀態(tài)鎖存器進(jìn)行管理。同時(shí),還應(yīng)提供一個(gè)4×4鍵盤狀態(tài)掃描模塊,需要占用8 pix控制引腳,提供一個(gè)對(duì)MAX7219八位管控制器的控制功能,需要4 pix控制引腳。系統(tǒng)的擴(kuò)展存儲(chǔ)通訊在DATA總線上,外部通訊接口通訊在USB3.0總線上。
其引腳定義如表1。
表1 TL5708引腳定義表
表1中,冗余引腳共36 pix,占全部引腳的28.1%。其中主控信號(hào)引腳80 pix,占全部引腳的62.5%。
如圖3,該數(shù)字基層電路測(cè)試系統(tǒng)的核心算法,來自其對(duì)測(cè)試集的順序遍歷和逐一判斷,當(dāng)發(fā)現(xiàn)基于布爾差分算法的正確響應(yīng)時(shí),直接跳轉(zhuǎn)下一時(shí)鐘循環(huán),順序遍歷下一條測(cè)試集數(shù)據(jù),而當(dāng)發(fā)現(xiàn)基于布爾差分算法的錯(cuò)誤響應(yīng)時(shí),根據(jù)其響應(yīng)結(jié)果判斷該可測(cè)故障的類型并計(jì)入到錯(cuò)誤信息匯總表中。最終系統(tǒng)會(huì)將時(shí)鐘循環(huán)過程中的錯(cuò)誤狀態(tài)進(jìn)行一次判斷,當(dāng)不存在錯(cuò)誤標(biāo)志信息時(shí),則直接顯示PASS結(jié)果,而當(dāng)存在錯(cuò)誤標(biāo)志信息時(shí),則輸出所有錯(cuò)誤標(biāo)志信息。
圖3 基于布爾差分算法的數(shù)字集成電路軟件設(shè)計(jì)流程圖
在基礎(chǔ)布爾差分算法的支持下,該軟件實(shí)現(xiàn)方式可以實(shí)現(xiàn)對(duì)大部分可測(cè)故障的有效控制測(cè)量,但仍存在諸多不足:
首先,對(duì)不可測(cè)故障的測(cè)試存在短板。在單純布爾差分算法下,存在可測(cè)故障(Detectable Fault)和不可測(cè)故障(Undetectable Fault)的差別,前者指可以通過固定的測(cè)試集反饋結(jié)果反映出被測(cè)試集成電路故障的測(cè)試結(jié)果,后者指無法通過固定的測(cè)試集反饋結(jié)果反映出被測(cè)試集成電路故障的測(cè)試結(jié)果。且電氣工程視角下,芯片存在固定故障(Stuck Fault)橋接故障(Bridging Fault)時(shí)滯故障(Delay Fault)等,固定故障指某一位輸出值保持電平不可控且不可變的電氣問題,橋接故障指某二位或二位以上的輸出值出現(xiàn)短路表現(xiàn)出電平的非邏輯性的同步變化問題,時(shí)滯故障指集成電路的高頻響應(yīng)能力低于預(yù)期使其在高頻狀態(tài)下不能做出正確響應(yīng)的問題。這些故障很難在單純使用布爾差分算法的前提下完成評(píng)價(jià)。
其次,無法對(duì)數(shù)字集成電路提出統(tǒng)觀性的評(píng)價(jià)。傳統(tǒng)測(cè)試條件下,較容易實(shí)現(xiàn)對(duì)出現(xiàn)可測(cè)故障的數(shù)字集成電路做出評(píng)價(jià),但假定該集成電路處于無故障狀態(tài)為狀態(tài)0,而出現(xiàn)可測(cè)故障的狀態(tài)為狀態(tài)1,那么會(huì)有相當(dāng)一部分集成電路模塊處于介于0與1之間的故障狀態(tài)。即該系統(tǒng)無法就不可測(cè)故障做出論斷的前提下,較容易出現(xiàn)測(cè)試敏感度低,無法發(fā)現(xiàn)不穩(wěn)定故障的系統(tǒng)設(shè)計(jì)問題。為判斷出系統(tǒng)故障狀態(tài)<1的統(tǒng)觀性評(píng)價(jià)結(jié)果,需要在測(cè)試軟件中引入機(jī)器學(xué)習(xí)模塊以提供相應(yīng)判斷功能。
針對(duì)特定目標(biāo)集成電路芯片的測(cè)試集,在單純布爾差分算法支持下,會(huì)輸出一組特定的判斷結(jié)果。該結(jié)果一般包含3 000~6 000條記錄不等。如果對(duì)這些記錄進(jìn)行統(tǒng)一輸入到模糊神經(jīng)元網(wǎng)絡(luò)中進(jìn)行判斷,則模糊神經(jīng)元網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)量將空前增多,特別是這些記錄的大部分?jǐn)?shù)據(jù)處于無故障的判斷結(jié)果條件下。所以,在實(shí)際構(gòu)建模糊神經(jīng)元網(wǎng)絡(luò)的過程中,需要引入模糊神經(jīng)元的概念,先對(duì)上述輸出結(jié)果進(jìn)行折疊和歸一化,即對(duì)數(shù)據(jù)進(jìn)行前置模糊,最終的輸出數(shù)據(jù),再進(jìn)行解模糊輸出,即可判斷出對(duì)應(yīng)的判斷結(jié)果。
以6 000條測(cè)試數(shù)據(jù)為例,如果對(duì)其進(jìn)行三維折疊,則可形成一組18×18×19的三維矩陣,對(duì)上述矩陣進(jìn)行歸一化處理后,可以得到一組18×18和一組18×19的歸一化二維矩陣,進(jìn)一步歸一化后,可得四列分別為18、18、18、19單元的歸一化評(píng)價(jià)結(jié)果,對(duì)這些結(jié)果進(jìn)行神經(jīng)元網(wǎng)絡(luò)分析,可以在深度卷積條件下實(shí)現(xiàn)對(duì)數(shù)據(jù)的二值化輸出,最終為判斷結(jié)果提供待解模糊計(jì)算的一組投影在(0,1)區(qū)間上的雙精度浮點(diǎn)結(jié)果(Double)。詳見圖4。
圖4 數(shù)據(jù)的模糊過程
圖4中,數(shù)據(jù)歸一化算法的計(jì)算過程是首先獲得該列數(shù)據(jù)的最大值和最小值,根據(jù)該列數(shù)據(jù)的最大值和最小值對(duì)每個(gè)單元數(shù)據(jù)求取線性投影,進(jìn)而將該線性投影值累加,從而得到該列數(shù)據(jù)的歸一化結(jié)果,即:
(2)
式中:數(shù)列A的min值與max值與相鄰數(shù)列無關(guān),如果該數(shù)列中最大值最小值均為0,則輸出值R的輸出值必為0。
鑒于該模糊矩陣,本文模糊神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)策略如圖5。
圖5 本文模糊神經(jīng)元網(wǎng)絡(luò)模塊設(shè)計(jì)示意圖
如圖5中,布爾差分算法模塊詳見圖3,前置模糊模塊詳見圖4,其他模塊將在下文中進(jìn)行分析。該設(shè)計(jì)中,當(dāng)使用布爾差分算法認(rèn)定為故障芯片時(shí),系統(tǒng)將不再啟動(dòng)模糊神經(jīng)元網(wǎng)絡(luò)的分析,可以節(jié)約大量的計(jì)算時(shí)間和計(jì)算資源。
本文設(shè)計(jì)的前置模糊策略對(duì)輸入數(shù)據(jù)進(jìn)行了大幅度壓縮,導(dǎo)致個(gè)案中約6 000條數(shù)據(jù)的數(shù)據(jù)輸入量被壓縮到A、B、C、D四個(gè)數(shù)列共73個(gè)雙精度浮點(diǎn)變量中,所以,其數(shù)據(jù)模糊過程屬于典型的熵增耗散過程。該過程使大部分?jǐn)?shù)據(jù)實(shí)現(xiàn)了歸一化和去量綱化,數(shù)據(jù)丟失量較大,所以需要對(duì)輸入數(shù)據(jù)進(jìn)行充分卷積,才可以實(shí)現(xiàn)對(duì)數(shù)據(jù)細(xì)節(jié)的深度挖掘。詳見圖6。
圖6 神經(jīng)元網(wǎng)絡(luò)的卷積模式設(shè)計(jì)示意圖
圖6中設(shè)計(jì)了兩個(gè)卷積循環(huán),其中神經(jīng)元網(wǎng)絡(luò)模塊IP1-IP6構(gòu)成第一重卷積循環(huán),IP1負(fù)責(zé)采集數(shù)列A信息,IP2負(fù)責(zé)采集數(shù)列B信息,IP3負(fù)責(zé)采集數(shù)列C信息,IP4負(fù)責(zé)采集數(shù)列D信息,在數(shù)據(jù)卷積過程中完成信息采集,而在神經(jīng)元網(wǎng)絡(luò)模塊IP5-IP8中進(jìn)行第二重卷積循環(huán),其中IP7負(fù)責(zé)整合IP6及IP1的輸出量,IP8負(fù)責(zé)采集IP7與IP4的輸出量,與IP5和IP6構(gòu)成卷積循環(huán)后,整合IP7與IP8的輸出信息,構(gòu)建數(shù)據(jù)輸出模塊IP9,輸出一個(gè)二值化數(shù)值。
文中,IP1至IP8的神經(jīng)元模塊隱藏層結(jié)構(gòu)相同,僅輸入層結(jié)構(gòu)因?yàn)檩斎胄枨蟮牟煌饔胁煌?,其中IP1至IP4的輸入節(jié)點(diǎn)數(shù)較多,分別為待輸入的18~19個(gè)歸一化結(jié)果值,均為雙精度變量,外1個(gè)卷積值,同樣為雙精度變量。而IP5~I(xiàn)P8均為兩個(gè)內(nèi)部卷積數(shù)據(jù)的輸入,均為雙精度變量。所有神經(jīng)元網(wǎng)絡(luò)的輸出變量均為1個(gè)雙精度變量,需要同步向多個(gè)模塊提供數(shù)據(jù)支持的,將同一個(gè)輸出變量值同時(shí)分發(fā)到對(duì)應(yīng)的模塊中。
該8個(gè)神經(jīng)元模塊的中間層均按照4層設(shè)計(jì),分別為23節(jié)點(diǎn)、17節(jié)點(diǎn)、7節(jié)點(diǎn)、3節(jié)點(diǎn),輸出層均為1節(jié)點(diǎn)。而IP9神經(jīng)元模塊采用5層中間層設(shè)計(jì),分別為3節(jié)點(diǎn)、11節(jié)點(diǎn)、23節(jié)點(diǎn)、7節(jié)點(diǎn)、3節(jié)點(diǎn)。
首選分析神經(jīng)元模塊IP1-IP8的節(jié)點(diǎn)設(shè)計(jì)方式。在統(tǒng)計(jì)學(xué)意義上,該8個(gè)神經(jīng)元網(wǎng)絡(luò)模塊的統(tǒng)計(jì)學(xué)意義均為充分挖掘數(shù)據(jù)細(xì)節(jié),使數(shù)據(jù)細(xì)節(jié)得到充分展現(xiàn),故其所有節(jié)點(diǎn)均可采用多項(xiàng)式函數(shù)進(jìn)行迭代回歸管理。其節(jié)點(diǎn)函數(shù)為:
(3)
式中,Xi為輸入序列的第i個(gè)輸入結(jié)果;j為多項(xiàng)式階數(shù);Aj為第j階多項(xiàng)式的待回歸變量;Y為該節(jié)點(diǎn)的輸出值;
神經(jīng)元模塊IP9的統(tǒng)計(jì)學(xué)意義在于將接近于0值的判斷結(jié)果盡可能后移,但不能打破所以數(shù)據(jù)點(diǎn)投影的位置相對(duì)序列關(guān)系。在其輸出層需要構(gòu)建一個(gè)二值化層,確保最終數(shù)據(jù)投影在(0,1)區(qū)間上。故IP9的隱藏層節(jié)點(diǎn)函數(shù)應(yīng)為對(duì)數(shù)函數(shù):
Y=∑(A·logeXi+B)
(4)
式中:A為該對(duì)數(shù)函數(shù)的斜率校正值的回歸結(jié)果;B為該對(duì)數(shù)函數(shù)的截距校正值的回歸結(jié)果;e為自然常數(shù),用作對(duì)數(shù)底值,此處取近似值2.718 281 8;Xi為輸入序列的第i個(gè)輸入結(jié)果;Y為該節(jié)點(diǎn)的輸出值;
IP9模塊的輸出層應(yīng)采用二值化函數(shù)進(jìn)行管理,其節(jié)點(diǎn)函數(shù)為:
(5)
式中,A、B為該函數(shù)的待回歸變量;e為自然常數(shù),用作冪底值,此處取近似值2.718 281 8;Xi為輸入序列的第i個(gè)輸入結(jié)果;Y為該節(jié)點(diǎn)的輸出值;
對(duì)上述節(jié)點(diǎn)設(shè)計(jì)進(jìn)行統(tǒng)計(jì),整合模塊設(shè)計(jì)的結(jié)果,可以得到該神經(jīng)元網(wǎng)絡(luò)模塊的總設(shè)計(jì)架構(gòu),詳見表2。
表2 神經(jīng)元網(wǎng)絡(luò)各模塊的設(shè)計(jì)參數(shù)匯總
選擇40片MC6821集成電路與40片MAX7219芯片作為測(cè)試芯片,經(jīng)過前期全面工程測(cè)試,每組芯片均為20片故障芯片與20片正常芯片,分別使用升級(jí)前算法RC1算法與升級(jí)后的RC2算法進(jìn)行芯片故障測(cè)試。其測(cè)試結(jié)果如表3所示。
表3 算法升級(jí)前后的測(cè)試效果統(tǒng)計(jì)表
表3中可以看到,算法升級(jí)后的模糊神經(jīng)元網(wǎng)絡(luò)算法合并布爾差分算法的RC2算法,相比較單純使用布爾差分算法,其測(cè)試敏感度從84.2%提升到95.2%,其測(cè)試特異度從81.0%提升到100%,所有測(cè)試結(jié)果經(jīng)過SPSS信度分析,P<0.01,具有顯著統(tǒng)計(jì)學(xué)意義。故可認(rèn)為,升級(jí)后的算法測(cè)試能力顯著優(yōu)于升級(jí)前算法。
但是,該算法仍存在一些不足,這一不足體現(xiàn)在升級(jí)后算法不能完全排除將正常芯片認(rèn)定為故障芯片的可能,即使用新算法的系統(tǒng)仍可能對(duì)無故障芯片發(fā)生誤報(bào)。此時(shí),建議對(duì)同一芯片進(jìn)行2次以上的測(cè)試,最終2次以上測(cè)試解決均相同時(shí),認(rèn)為測(cè)試結(jié)果有效。
傳統(tǒng)的基于工程分析的芯片測(cè)試工作往往需要耗費(fèi)大量的時(shí)間成本和人力成本,特別是大規(guī)模硬件開發(fā)工作中,因?yàn)槭褂眯酒^多,很難在整體硬件功能出現(xiàn)問題時(shí)找到問題原因。這也是類似航空航天等高復(fù)雜度系統(tǒng)出現(xiàn)問題后,故障排查周期可能長(zhǎng)達(dá)數(shù)月甚至數(shù)年的主要原因。開發(fā)一種高可靠高可用高效率的集成電路故障分析系統(tǒng),將是解決這一問題的關(guān)鍵。本文升級(jí)算法設(shè)計(jì)后,使得集成電路測(cè)試系統(tǒng)的分析效果得到了顯著提升,將使高精密高復(fù)雜度設(shè)備的故障排查工作效率得到顯著提升。
本文在傳統(tǒng)的數(shù)字集成電路故障測(cè)試系統(tǒng)中進(jìn)行深度開發(fā)設(shè)計(jì),通過選擇更高配置的嵌入系統(tǒng),同時(shí)在傳統(tǒng)的布爾差分算法的基礎(chǔ)上,引入模糊神經(jīng)網(wǎng)絡(luò)算法的機(jī)器學(xué)習(xí)功能對(duì)不可測(cè)故障進(jìn)行更加精密的捕捉,升級(jí)后的算法使該測(cè)試系統(tǒng)獲得了更精確的測(cè)試結(jié)果。較以往通過升級(jí)優(yōu)化布爾差分算法測(cè)試集以提升測(cè)試結(jié)果精確度的技術(shù)升級(jí)方案不同,該方案充分利用系統(tǒng)測(cè)試大數(shù)據(jù)資源,使用機(jī)器學(xué)習(xí)和人工智能概念,讓測(cè)試過程的諸多不可控性得到了有效控制。