999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的存儲內建自測試的研究

2021-06-25 13:06:56侯榮彬
儀器儀表用戶 2021年6期
關鍵詞:故障

薛 凱,侯榮彬,李 勇

(中國核動力研究設計院 核反應堆系統設計技術重點實驗室,成都 610213)

0 引言

在現代數字控制系統中,儲存器是現代數字系統的重要組成部分之一。隨著半導體工藝技術的發展,以及各領域對儲存器件速度、容量的要求日益提高,在使系統性能變得更強的同時,系統也變得越來越復雜,對電路的故障診斷也提出了更高的要求。由于儲存器件硬件電路結構的復雜性,為了保證系統能夠穩定地運行,有必要對儲存器件進行有效的測試,及時發現錯誤,確保系統正確穩定地運行。

1 儲存器類型

儲存器的類型多種多樣,有易失性(如SRAM、SDRAM、DDR等)、非易失性(如FLASH、EEPROM等)、靜態性(如SRAM等)和動態性(SDRAM、DDR等)。它們都有自己的特點和結構,也有著與邏輯測試不同的測試和故障診斷的方法。盡管不同器件在儲存容量和硬件結構上有所不同,但它們在地址的硬件結構上非常相似[1],所以它們的測試方法也基本類似。

SRAM有高速和不用刷新等優點,故本文以SRAM(靜態隨機儲存器)[1]作為討論和研究類型。圖1顯示了一個內存數組的基本結構,內存的硬件包括單元數組、解碼行和列地址的解碼器、讀和寫邏輯,以及用于處理內存數組之間的輸入輸出的邏輯塊。SRAM中的每一位都儲存在由4個場效應管(A1、A2、A3、A4)構成的兩個交叉耦合的反相器中,另外兩個場效應管(A5、A6)是儲存基本單元,用于對讀寫位線(Bit Line)的控制開關。訪問SRAM的時候,字線(Word Line)拉高,使控制每個基本單元的兩個晶體管A5和A6導通,把基本單元與位線(Bit Line)連通。

圖1 儲存器基本結構圖Fig.1 Basic structure of memory

2 SRAM的測試方法

1)自動化測試

自動化測試是利用自動化測試設備(Auto Test Equipment,ATE)對SARM的儲存陣列進行訪問,通過封裝引腳直接對儲存器進行讀寫測試,經過多種測試算法進行故障診斷[2]。其缺點是:隨著自動化測試設備上算法復雜度的提升,對設備上儲存器容量的要求也越高[3],自動化測試設備對嵌入式儲存器進行測試也相對較難。

2)微處理器測試

通過嵌入式微處理器對儲存器進行寫讀測試,測試向量由微處理器內執行測試的程序生成[4],在需要對儲存器進行測試的時候,直接調用這部分代碼進行測試診斷。其優點是:不需要硬件上的改動,而且測試算法可在微處理器上靈活修改與實現。

3)儲存器內建自測試(MBIST)

儲存器內建自測試技術(Memory Build - In Self Test,MBIST)的工作原理是在儲存器外圍產生測試控制電路,包括數據生成、地址控制、讀寫控制以及測試結果比較等電路[5],實現儲存器測試向量的自動產生,以及測試結果的自動判斷。正常工作的時候旁路該部分控制電路需要進行測試的時候,可通過外部通信接口發送指令,自動進入儲存器測試模式[5]。

3 SRAM的故障類型

SRAM的故障類型主要有以下幾種:

1)固定故障(Stuck-At Faults,SAF)

固定故障是指一個儲存單元的值總是0或1,并且不能改變。

2)跳變故障(Transition Faults,TF)

儲存陣列中的一個儲存單元或多個儲存單元中的一位或多位不能從0到1進行跳變,或不能進行從1到0的跳變。存儲器單元能進行1到0的跳變,不能進行0到1的跳變,稱為向上跳變故障;存儲器單元能進行0到1的跳變,不能進行1到0的跳變,稱為向下跳變故障。

3)耦合故障(Coupling Faults,CF)

存儲單元中一些位在跳變的時候,導致相鄰其他位的值也發生變化。這種現象既存在于不同儲存單元之間,也存在于在同一儲存單元的不同位之間。同一單元中,字與字之間相互影響產生的故障稱為字間故障,同一字節內比特位之間相互影響產生的故障稱為字內故障。耦合故障中,包含翻轉耦合故障(CFin:inversion)、冪等耦合故障(CFid:idempotent)、狀態耦合故障(CFst:state)[6]。當某個儲存單元的值的跳變使其他某個儲存單元的值發生翻轉的現象,稱為翻轉耦合故障(如儲存單元M的狀態由1跳變為0時,儲存單元N的狀態發生翻轉);當某個儲存單元的值的跳變使其他某個儲存單元的值變為一個固定的值的現象,稱為冪等耦合故障(如當儲存單元M的狀態從0跳變為1或從1跳變為0,此時儲存單元N的狀態會變為某個特定的值);某個儲存單元的某個確定的狀態,使其他儲存單元發生跳變為某一狀態的現象,稱為狀態耦合(如當儲存單元M狀態為1時,儲存單元N跳變為一個隨機值)。

4)地址譯碼故障(Address Decoder Faults,ADF)

地址譯碼故障,其實就是地址譯碼器發生的故障,主要有以下4種類型:

◇ 對于給定的地址,不存在相對應的儲存單元。

◇ 對于一個儲存單元,沒有相對應的物理地址。

◇ 多個單元被一個地址訪問。

◇ 多個地址訪問一個單元。

5)橋連故障(Bridging Faults,BF)

指由兩個或多個位線(BL)一起短路引起的。短路的結果表現為兩個單元格的and或or邏輯,所產生的短路只影響其中一個單元,另一個單元的值不變[7]。

4 SRAM的測試方法

4.1 SRAM的測試原理

SRAM的測試原理非常簡單,通過內建自測試的方法,由電路自己生成針對每一種故障類型的測試向量,通過程序控制邏輯對每一個儲存單元進行反復讀寫,依靠自身邏輯來判斷所得到的測試結果是否正確,從而確定儲存器中是否存在故障[8]。

表1 March算法表Table 1 March algorithm table

4.2 常見的測試算法

由于March算法不僅實現方式簡單,而且測試方便,使其在儲存器測試方面得到廣泛應用。March算法也有很多不同的類型,主要有MATS、MATS+、MATS++、March X、March C、March A、March Y、March B[9]等類型,各種March算法的不同在于測試向量的不同(這里的測試向量又稱為March元素)。不同March算法的每個March元素對于地址的升降順序都有規定,具體每個March算法的讀寫規則見表1。

4.3 不同March算法的故障覆蓋率

4.4 優化的March算法

通過表2可以看出,各種March算法都不能把故障進行全面覆蓋,比如耦合故障中的狀態耦合故障和橋連故障,它們的發生與周圍某一個儲存單元的狀態有關。本文提出一種可以覆蓋全部故障的測試方法,通過增加測試向量的復雜度,使測試向量中相鄰兩比特位出現00、01、10、11這4種值來檢測這類故障。以16位位寬的SRAM為例,測試向量見表3。

對以上測試向量進行讀寫,w(n)表示向儲存中寫入第n個測試向量;r(n)表示從儲存中讀取的第n個測試向量。具體操作規則見表4。

5 系統設計及驗證

由于FPGA內塊RAM與SRAM的控制接口類似,所以本文以FPGA內部16位塊RAM代替SRAM,每次操作128個地址長度,通過故障注入的方式進行仿真驗證。

表2 各March算法故障覆蓋率Table 2 Fault coverage of each March algorithm

表3 測試向量表Table 3 Test vector table

表4 測試向量操作規則表Table 4 Test vector operation rules

圖3 數據產生模塊仿真波形圖Fig.3 Simulation waveform of data generation module

圖4 SRAM讀寫模塊仿真波形圖Fig.4 Simulation waveform of SRAM read / write module

圖2 軟件設計框圖Fig.2 Software design block diagram

5.1 軟件設計

軟件模塊主要由3個模塊組成。

1)測試向量產生模塊:用于產生所需的測試向量。

2)SRAM讀寫模塊:用于控制SRAM的讀寫。

3)數據對比模塊:將寫入的測試向量與從SRAM讀出的數據進行比對,當比對錯誤時報出故障。

5.2 軟件設計流程及框圖

如圖2所示,首先data_gen模塊產生開始寫SRAM的標志(start_wr_flag)以及測試向量(source_data),還有用于對讀寫地址升降順序的控制信號(addr_sel),當addr_sel為2'b00的時候表示寫地址和讀地址都為降序;為2'b01的時候表示寫地址為降序,讀地址為升序;為2'b10的時候表示寫地址為升序,讀地址為降序;2'b11的時候表示寫地址和讀地址都為升序。sram_control模塊根據指令進行寫讀操作,把從讀出來的數據送入data_compare模塊與source_data信號進行比對,當比對正確時data_compare模塊發出compare_done信號,當比對有錯誤時發出compare_error信號。

5.3 仿真驗證

1)數據產生模塊

產生測試向量source_data,地址讀寫升降順序控制信號addr_sel,開始寫SRAM信號start_wr_flag,每當compare_done信號為1(即全部比對正確)時,開始發送下一組測試向量,一共18個測試向量,若任意一組向量測試比對出錯停止發送。

2)SRAM讀寫模塊

圖5 數據比對模塊仿真波形圖Fig.5 Simulation waveform of data comparison module

圖6 插入故障的仿真波形圖Fig.6 Simulation waveform of insertion fault

根據data_gen模塊發出的數據及控制信號對SRAM進行讀寫。

3)數據比對模塊

將SRAM讀出的數據與data_gen模塊發出的寫入數據進行比對,比對成功拉高compare_done信號,比對出錯拉高compare_error信號。

4)插入故障的數據比對模塊

當插入故障時,可見圖6中的compare_error信號拉高。

6 結論

本文以SRAM為例,介紹了SRAM中幾種故障類型,以及針對不同故障的測試方法。在現有算法的基礎上,通過增加測試向量的復雜度,對原有算法進行優化,擁有了較高的故障覆蓋率,并通過搭建儲存器內建自測試模型對SRAM進行測試驗證。儲存器內建自測試的優點在于不需要使用專用的測試儀器,通過代碼編寫測試邏輯產生激勵信號以及對測試結果的特征分析來找出故障,實現自我診斷,使芯片在完成原有邏輯功能的前提下,還能根據外部測試命令進入自我測試并輸出結果,不僅能降低對測試設備的要求,還能及時發現故障,實現方式也相對簡單。缺點是:由于儲存器內建自測試技術需要占用額外的芯片資源,可能會對原有邏輯電路的時序特性產生影響[10]。

猜你喜歡
故障
故障一點通
奔馳R320車ABS、ESP故障燈異常點亮
WKT型可控停車器及其故障處理
基于OpenMP的電力系統并行故障計算實現
電測與儀表(2016年5期)2016-04-22 01:13:50
故障一點通
故障一點通
故障一點通
故障一點通
故障一點通
江淮車故障3例
主站蜘蛛池模板: 综合人妻久久一区二区精品 | 精品国产成人三级在线观看| 午夜日b视频| 婷婷99视频精品全部在线观看 | 国产成人禁片在线观看| 国产精选小视频在线观看| 中文字幕在线看视频一区二区三区| 97成人在线视频| 亚洲狼网站狼狼鲁亚洲下载| 亚洲AV免费一区二区三区| 国产精品极品美女自在线网站| a级毛片一区二区免费视频| 国产成人1024精品| 一级毛片免费高清视频| 国产精品一区二区久久精品无码| 高清久久精品亚洲日韩Av| 国产亚洲精品无码专| 中文字幕欧美日韩| 噜噜噜久久| 国产精品开放后亚洲| 老司机精品一区在线视频| 国产精品女熟高潮视频| 精品少妇三级亚洲| 中日韩欧亚无码视频| 97国产在线观看| 国产夜色视频| 欧美啪啪网| 青草视频网站在线观看| 国产在线观看99| 日本高清免费一本在线观看 | 亚洲精选无码久久久| 91人人妻人人做人人爽男同| 波多野结衣一二三| 亚洲AⅤ永久无码精品毛片| 国产精品大白天新婚身材| 亚洲免费人成影院| 日本一区高清| 免费播放毛片| 人妻中文久热无码丝袜| 日本伊人色综合网| 日本一本正道综合久久dvd | 91精品免费久久久| 99re在线免费视频| 91 九色视频丝袜| 3D动漫精品啪啪一区二区下载| 日韩小视频在线观看| 免费看久久精品99| 欧美在线观看不卡| 青草娱乐极品免费视频| 免费无码一区二区| 激情无码字幕综合| 真实国产乱子伦视频| 97视频免费看| 久久久久国色AV免费观看性色| 精品国产电影久久九九| 欧美人与性动交a欧美精品| 国产爽爽视频| 国产区在线看| 久久精品电影| 中国精品久久| 99r在线精品视频在线播放| 欧美色视频网站| 国产激爽大片在线播放| 日韩黄色精品| 热这里只有精品国产热门精品| 久久无码免费束人妻| 色噜噜综合网| 伊人国产无码高清视频| 毛片免费高清免费| 国产成人精品综合| 四虎精品国产AV二区| 亚洲高清国产拍精品26u| 久久精品午夜视频| 无码日韩精品91超碰| 亚洲香蕉久久| 色综合婷婷| 大陆国产精品视频| 最新国产精品第1页| 欧美精品亚洲精品日韩专区| 香蕉视频国产精品人| 国产91线观看| 国产成人精品免费av|