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