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