任璽悅,張曉敏,董玉龍,任相燁
(1.航空工業西安航空計算技術研究所,陜西 西安 710000;2.西安航空制動科技有限公司,陜西 西安 713106)
航空電子元器件是航空武器裝備的基石。隨著進口元器件的停產、斷檔、禁運,市場對國產元器件的需求越來越迫切[1]。存儲器作為航空電子元器件的一個重要組成部分,有著非常廣泛的應用。在當前國家戰略布局和市場需求的影響下,國內部分廠商如深圳國微、成都華微等,對標國外廠商的典型存儲器,完成了國產存儲器的設計生產。但是,從功能性能、封裝及器件成熟度等角度看,國產存儲器的可靠性和穩定性仍存在一定風險,使用前需要進一步評估。
航空電子元器件應用驗證是指電子元器件在航空武器裝備裝機使用前,開展一系列的試驗、分析以及評價等工作,以確定元器件的成熟度、可靠性和適用度[2]。航空武器裝備執行任務范圍廣、使用環境復雜嚴酷,相較于其他使用場景,對電子元器件的環境適用度提出更高的要求。而應用驗證則是對元器件的環境適用度、兼容性等方面情況的前序反饋。因此,應用驗證對提升國產元器件的技術成熟度、環境適用度以及可靠性起著十分重要的作用。
航空用存儲器的應用驗證既要滿足一般國產元器件應用驗證的基本流程和驗證要求,也要根據其自身特點和應用場景進行驗證項目的增補或刪減設計。當前,對存儲器應用驗證的研究更多地關注在如何提升存儲器故障模式測試的覆蓋率上[3],針對存儲器的應用驗證方法的研究較少,缺少對航空武器裝備使用場景下的存儲器應用驗證方法的研究。
存儲器是計算機結構的重要組成部分。航空用存儲器芯片正以高速、高帶寬、大容量、低功耗作為其今后的發展方向[4],同時也對存儲器的應用驗證提出了更高的要求。根據存儲介質特性,存儲器可以分為易失性存儲器和非易失性存儲器。易失性存儲器主要是指RAM存儲器,非易失性存儲器主要是指ROM存儲器、Flash、軟硬盤等。
存儲器的常見指標包括存儲容量、供電電壓、訪問時間、訪問速度、讀寫功耗等。其中,存儲器的主要指標一般是指存儲器能達到的讀寫帶寬(速率)和讀寫延遲。而讀寫速率與所采用的處理器、存儲控制器、使用的操作系統、驅動軟件、采用的邏輯器件和邏輯代碼之間存在著必然的聯系。因此,脫離具體的應用環境的讀寫速率是無意義的。存儲器只有在型號系統上使用時才會考慮具體讀寫速率的要求。一般來說,通過存儲器的讀寫時序參數值可以初步判斷存儲器是否滿足該型號系統的使用要求和指標要求。
應用驗證過程需要遍歷所有的存儲單元以便對存儲單元的好壞進行判斷,而存儲器內部的各存儲單元狀態可能隨時發生變化,從而導致測試量非常龐大[5]。除此之外,存儲器的應用驗證還需要考慮針對主要性能指標的應用驗證要求和方法。
一般來說,國產元器件的應用驗證采取五級驗證方法。各驗證項目需要根據分級策略,確定具體驗證級別。具體來說,五級驗證包括元器件級、模塊(部件級)、整機(設備)級、系統級、試飛級。
由于應用驗證本身不針對某個具體的產品,因此應用驗證方案的設計需要考慮應用驗證結論的普適性。一般來說,應用驗證等級的選擇應為該類器件能夠驗證的最高等級。航空用存儲器屬于功能復雜的集成電路元器件,是影響任務完成的關鍵產品。因此,其應用驗證的最高等級應為試飛級,試飛級驗證一般擇機進行。
航空用存儲器應用驗證項目包括資料審查、封裝及可焊性、靜態測試、二次篩選、補充及強化電氣特性測試、功能測試、性能測試、試驗驗證、存取可靠性以及存取穩定性。資料審查需針對書面資料完整性、真實性開展元器件級審查,審查資料應包括數據手冊、詳細規范、測試報告、試驗及檢驗報告、鑒定檢驗結論等;封裝及可焊性測試項目屬于元器件級驗證,測試具體項目包括管殼材料、引出端材料及涂覆材料、引出端厚度、器件標志、器件尺寸、共面性測試、抗拉能力測試、剪切能力測試、可焊性測試等;二次篩選項目按照集成電路的篩選項目、篩選程序開展元器件級驗證;補充及強化電氣特性測試項目屬于元器件級驗證,具體項目包括ESD試驗、電源拉偏試驗、電源拉偏極限試驗、AC參數測試、DC參數測試、V-I特性測試、靜態功耗測試、裝聯可靠性試驗、穩態壽命試驗等;功能測試項目屬于模塊級驗證,具體項目包括讀寫時序測試、時序極限測試、讀寫故障模式測試;性能測試項目屬于整機級驗證,測試具體項目包括功耗測試、讀寫帶寬測試、讀寫延遲測試等;試驗驗證項目包括開-關電應力、溫度循環、壽命試驗,其中開-關電應力測試屬于模塊級驗證,溫度循環、壽命試驗屬于整機級驗證。
3.1.1 存儲器驗證模塊設計
存儲器驗證模塊的設計,應首先依據存儲器類型,選擇相應的主控處理器。同時盡量考慮針對某一具體型號項目,設計與其功能性能保持一致的測試模塊。既可以借用現有測試設備完成整機級測試和環境試驗,同時也可以更好地進行系統級和試飛級的驗證。
由于存儲器功能相對單一,構建存儲器功能測試的完整模塊較為簡單。其中,驗證電路和模塊的設計應當做到原理正確,布局走線合理優化,為后續功能性能測試提供正確基礎。存儲器的驗證模塊電路設計主要包括以下幾類:①主控電路設計。選擇能夠完全驗證存儲器功能的處理器和可編程邏輯芯片作為存儲器的主控芯片,并采用成熟的電路設計。②供電設計。采用可調電壓輸出的電源芯片為存儲器芯片進行單獨供電,可以實現板級的電源拉偏試驗。③時鐘電路設計。完成同步存儲器的訪問需要提供訪問時鐘,時鐘輸入應盡量采用可編程時鐘發生器,用于驗證不同時鐘頻率下的訪問時序。④動態功耗測試電路設計。將供電電源串聯一個大功率、低阻值的電阻,電阻兩端作為一對差分信號引入滿足精度要求的AD采集芯片。通過采集到的電壓差計算出電源的電流消耗,評估芯片的動態消耗。⑤濾波電容和掉電電容。按照電源濾波要求放置濾波電容,有掉電電容要求的存儲器需要放置合適容量合適封裝的電容。
3.1.2 讀寫時序測試
讀寫時序測試一般按照元器件手冊要求,完成存儲器的時序配置或者通過可編程邏輯完成時序適配。選取手冊中的最小時序、最大時序以及若干個中間時序進行測試,來判斷讀寫時序是否正常。如果存在多種讀寫方式,如CE讀寫和地址模式讀寫,則需要依次驗證。
3.1.3 讀寫時序極限測試
讀寫時序極限測試一般按照元器件手冊的要求,完成存儲器的時序配置或者通過可編程邏輯完成時序適配。選取手冊要求的最小值以及最大值以外的若干個時序進行測試,來確定該存儲器讀寫時序的魯棒性。
3.1.4 讀寫故障模式測試
存儲器的基本故障類型包括固定故障(Stuck At Fault,SAF),開路故障 (Stuck Open Fault,SOF),跳變故障(Transition Fault,TF),耦合故障(Coupling Fault,CF)以及地址譯碼故障(Address decoder Fault,AF)[6]。任意一個存儲單元的改變都有可能影響存儲器內部其他單元的變化。這種相關性使得存儲器的故障測試量非常巨大,不能僅將存儲器內部每一個存儲單元依次遍歷一遍,測試方案的設計需要同時兼顧故障覆蓋率和測試效率。
3.1.5 讀寫故障測試的基本方法
讀寫故障測試的基本方法大多是針對位讀位寫的操作,而對于目前廣泛應用的存儲器來說,一般是按字節訪問。具體方法包括全0全1法、棋盤格法、地址奇偶法、地址互補法以及步進法。假設存儲器長度為N,存儲單元寬度為M,則從A0~An-1的讀/寫簡化為讀/寫N次。
全0全1法是將存儲陣列中的所有位分別都寫入“0”和“1”,并讀出判斷,復雜度為4N。棋盤格法是將存儲陣列中所有單元交替寫入“0”、“1”,并讀出判斷,復雜度為4N。地址奇偶法 是將行地址碼和列地址碼進行奇偶校驗。若為“0”寫入原碼,否則,寫入反碼,并讀出判斷,復雜度為2N+NM。地址互補法是將一定的數據圖形寫入全部存儲單元,讀出順序為A0,An-1,A1,An-2…,即后一位地址是前一位奇數位的補碼,復雜度為2N。步進法首先將全部位寫“0”,接著從A0開始依次讀出后寫“1”,再次從An-1到A0,讀“1”寫“0”,復雜度為4MN+N。
3.1.6 讀寫故障測試的綜合算法
存儲器讀寫故障測試基本方法的復雜度從N到N2不等。高復雜度的測試圖形會導致故障測試時間過長。盡管從理論上來說,讀寫故障測試基本方法的故障覆蓋率很高,但在實際生產中應用較少。目前實際應用主要采用的是復雜度為N的算法,其中研究和使用較多的是March算法及各種改進算法。
March算法的基本原理是對所有存儲單元逐一進行讀寫操作。對于面向字節的存儲器,需要將讀寫的數據寬度擴展至相應的單元字長,擴展后的數據稱為數據背景。對于同一地址的字內故障,如字內耦合故障等,需要引入多種數據背景,也就是多種測試數據。
地址碼檢測法主要是對相關地址總線的故障模式、部分數據總線的故障模式進行測試。測試具體方法是,首先對地址單元寫入地址碼,讀、寫數據并進行比較,接著對地址單元寫入地址碼的反碼,讀、寫數據并進行比較,基本可以覆蓋數據存儲器的所有地址位存在的問題。但由于地址位和數據位的差異,不能覆蓋數據線可能存在的所有故障模式。
3.1.7 其他測試
除上述存儲器通用驗證方法之外,在實際應用過程中,需要根據不同類型存儲器的特征,進行測試項目的改進和增減。
FLASH存儲器的擦寫機制只能完成存儲單元數據1到0的轉變。若要完成0到1的寫入,需要將整個扇區或存儲器數據擦除,往往會耗費大量時間,采用March算法測試會增加測試成本。因此,存儲器的耐久性測試主要采用JESD22-A117C以及GJB548中的試驗方法。測試樣本采用同批次Flash存儲器芯片,分別對該批次芯片的不同扇區同時進行耐久性測試,來提高測試效率。
3.2.1 功耗測試
將供電電源串聯一個大功率、低阻值的電阻,電阻兩端作為差分信號引入滿足精度要求的AD采集芯片。通過采集到的電壓差,計算出電源的電流功耗,可以評估存儲器芯片的動態消耗。
3.2.2 帶寬測試
帶寬測試一般不判定數據正確與否,只進行讀寫速度的測試。一般采用STREAM標準內存測試集進行內存帶寬測試。STREAM是一套綜合性能測試程序集,通過Fortran和C兩種高級語言編寫完成,測試得到的是可持續運行的內存帶寬最大值。
3.2.3 延遲測試
內存延遲指的是數據從處理單元傳送到存儲單元或者從存儲單元傳送到處理單元之間的持續時間。針對有無一級緩存影響的兩種情況,通過改變存儲塊大小和步長多次遍歷任一數組,從而獲得內存延遲的測試值。
系統級應用驗證主要包括存儲器的存儲穩定性和可靠性,可以通過真實系統或者仿真模擬系統完成。
試飛試驗是驗證元器件在應用狀態下的工作可靠性和空間環境適用性的有效方法,也是推動元器件成熟和應用的重要手段。我國目前尚未在航空領域開展元器件搭機驗證工作,僅在電子設備試飛過程中對元器件的功能、性能以及可靠性等進行定性評價,尚未形成系統性的試飛驗證評估方法。
相較于車載等其他應用領域,航空使用場景對元器件的性能度提出了更高的要求。航空用存儲器應用驗證對滿足高可靠性和環境適用性要求起著十分重要的作用。
在滿足國產元器件五級應用驗證結構要求的基礎上,系統闡述了航空用存儲器應用驗證具體測試項目及方法。根據存儲器典型特征和航空應用場景,進行驗證項目的增補與刪減設計,提出針對元器件級、模塊級、整機級以及系統級航空用存儲器應用驗證方法以及存儲器驗證模塊設計方案,為航空用存儲器應用驗證提供了一種參考方案。未來可以考慮針對航空用存儲器試飛級應用驗證方案展開進一步研究。