• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA測(cè)試電路的SRAM自測(cè)試研究

      2012-06-28 06:19:28陳亞坤
      關(guān)鍵詞:存儲(chǔ)器耦合電路

      陳亞坤

      (電子科技大學(xué),成都 610017)

      陳亞坤(碩士研究生),研究方向?yàn)闄z測(cè)技術(shù)與自動(dòng)化裝置。

      引 言

      SRAM有高速和不用刷新等優(yōu)點(diǎn),被廣泛用于高性能的計(jì)算機(jī)系統(tǒng)。由于半導(dǎo)體工藝技術(shù)的提高以及存儲(chǔ)系統(tǒng)多方面的需要,存儲(chǔ)器件日益向高速、高集成方向發(fā)展,在使系統(tǒng)功能強(qiáng)大的同時(shí),也增加了系統(tǒng)的復(fù)雜性,給電路的故障診斷帶來(lái)了不小的困難[1-2]。由于存儲(chǔ)器功能和結(jié)構(gòu)的復(fù)雜性,設(shè)計(jì)者為了正確地處理數(shù)據(jù)和正常地運(yùn)行用戶(hù)的程序,必須保證SRAM單元的尋址、取指令以及計(jì)算正確,對(duì)程序或數(shù)據(jù)存儲(chǔ)單元的正確操作是很重要的方面,因此保證存儲(chǔ)器的正常、穩(wěn)定工作是系統(tǒng)穩(wěn)定工作的前提。本文主要是通過(guò)對(duì)常見(jiàn)的SRAM故障問(wèn)題的分析,運(yùn)用March C-算法,以FPGA構(gòu)建成的SRAM自檢測(cè)試電路對(duì)SRAM系統(tǒng)進(jìn)行故障檢測(cè)與修復(fù)。

      1 故障模型

      所謂故障模型,是指為了研究故障對(duì)電路或系統(tǒng)的影響,診斷(定位)故障的位置,對(duì)故障作一些分類(lèi)并選擇最典型故障的過(guò)程。SRAM系統(tǒng)可抽象為一組互聯(lián)的功能模塊,故障在各個(gè)模塊均可發(fā)生。Van de Goor等人[3]將其簡(jiǎn)化為地址譯碼器、讀寫(xiě)邏輯、存儲(chǔ)器單元陣列3部分,并證明前兩者與后者的故障在功能上是等價(jià)的,所以只需要檢測(cè)存儲(chǔ)單元陣列故障。常見(jiàn)的SRAM故障模型主要分為以下幾個(gè)類(lèi)型[4]:

      ① 固定故障(Stuck-At Faults,SAF)。陣列中的一個(gè)或多個(gè)單元的一位或多位固定為0或固定為1。

      ② 開(kāi)路故障(Open Faults,OF)。陣列中的一個(gè)或多個(gè)單元開(kāi)路到0或開(kāi)路到1。

      ③ 耦合故障(Coupling Faults,CF)。存儲(chǔ)單元中某些位的跳變導(dǎo)致其他位的邏輯值發(fā)生非預(yù)期的變化,既可以發(fā)生在不同單元之間。也可以發(fā)生在同一單元的不同位之間。將發(fā)生在兩個(gè)不同單元之間的耦合故障記為第一類(lèi)耦合故障,將發(fā)生在同一單元不同位之間的耦合故障記為第二類(lèi)耦合故障。

      第一類(lèi)耦合故障又可分為翻轉(zhuǎn)耦合故障、冪等耦合故障以及狀態(tài)耦合故障等。翻轉(zhuǎn)耦合故障是存儲(chǔ)器Ci單元(稱(chēng)耦合單元)中的跳變引起被耦合單元Cj中的邏輯值發(fā)生翻轉(zhuǎn)的故障。若用“?”表示邏輯值(0→1)的跳變,用“?”表示邏輯值(1→0)的跳變,而用“?”表示邏輯值的翻轉(zhuǎn),則這類(lèi)故障可描述為<?;?>或<?;?>;冪等耦合故障是指在Ci中的值跳變時(shí)將Cj中的值固定為0或1,可描述為<?;0>、<?;1>或<?;0>、<?;1>[5];而狀態(tài)耦合故障則是在耦合單元處于一特定狀態(tài)時(shí),被耦合單元被迫處于0或1,即<0;0>、<0;1>或<1;0>、<1;1>狀態(tài)。

      第二類(lèi)耦合故障即同一單元不同位間的耦合也有類(lèi)似的情況,但當(dāng)寫(xiě)信號(hào)很強(qiáng)時(shí),同一單元不同位間的耦合就可能被淹沒(méi),只呈現(xiàn)出寫(xiě)入的信息。

      ④ 跳變故障(Transition Faults,TF)。陣列中的一個(gè)或多個(gè)單元的一位或多位無(wú)法在預(yù)期的時(shí)間內(nèi)完成數(shù)據(jù)從0到1或從1到0的跳變,記為<?;0>或<?;1>。這種故障看似可歸為固定故障,實(shí)質(zhì)則有所不同。它的狀態(tài)并非任何時(shí)刻都不跳變,當(dāng)有翻轉(zhuǎn)耦合故障影響它時(shí)就會(huì)完成原本不能完成的跳變。

      ⑤由地址譯碼錯(cuò)誤引起的單元陣列故障(Address Decoder Fault,AF)。它包括某地址不能訪問(wèn)任何單元、某單元不能被任何地址訪問(wèn)、某個(gè)地址可以訪問(wèn)多個(gè)單元、某個(gè)單元可被多個(gè)地址訪問(wèn)。

      2 SRAM測(cè)試方法

      SRAM的測(cè)試方法主要有以下3種。

      (1)直接存取測(cè)試

      直接存取測(cè)試是產(chǎn)生一種測(cè)試結(jié)構(gòu)來(lái)允許對(duì)SRAM陣列的直接訪問(wèn)。它通常利用自動(dòng)測(cè)試設(shè)備進(jìn)行測(cè)試,可以從封裝引腳直接對(duì)嵌入式存儲(chǔ)器進(jìn)行訪問(wèn),或者可以從封裝引腳對(duì)測(cè)試狀態(tài)邏輯以及對(duì)一些為存儲(chǔ)器提供數(shù)據(jù)的流水線結(jié)構(gòu)中的串行狀態(tài)進(jìn)行訪問(wèn),能夠輕易實(shí)現(xiàn)多種高質(zhì)量測(cè)試算法。其缺點(diǎn)是:在ATE機(jī)上實(shí)現(xiàn)的算法越復(fù)雜,對(duì)ATE機(jī)存儲(chǔ)器的容量要求越高;在ATE機(jī)上不易實(shí)現(xiàn)對(duì)嵌入式存儲(chǔ)器的“全速”測(cè)試,測(cè)試時(shí)鐘的工作頻率越高,測(cè)試成本越高;由于芯片外圍引腳的限制,對(duì)芯片內(nèi)大容量SRAM進(jìn)行直接測(cè)試往往不大現(xiàn)實(shí)。

      (2)利用嵌入微處理器來(lái)間接測(cè)試存儲(chǔ)器

      在這種測(cè)試方法中,通過(guò)嵌入式微處理器對(duì)存儲(chǔ)器進(jìn)行讀/寫(xiě)操作,測(cè)試向量是一系列微處理器的程序代碼。這些代碼可以放在程序存儲(chǔ)器中,在嵌入式芯片接口處施加代碼,測(cè)試存儲(chǔ)器的過(guò)程就是微處理器執(zhí)行測(cè)試程序的過(guò)程。其優(yōu)點(diǎn)是不需要對(duì)硬件設(shè)計(jì)做任何修改,而且測(cè)試算法的修改與實(shí)現(xiàn)可以通過(guò)靈活修改微處理器代碼予以完成。

      (3)存儲(chǔ)器內(nèi)建自測(cè)試(MBIST)

      存儲(chǔ)器內(nèi)建自測(cè)試技術(shù)(Memory Build-In Self Test,MBIST)的工作原理是在存儲(chǔ)器外圍產(chǎn)生一整套控制電路,包括數(shù)據(jù)發(fā)生、地址發(fā)生、控制產(chǎn)生以及結(jié)果比較等電路,實(shí)現(xiàn)芯片內(nèi)置存儲(chǔ)器測(cè)試模式的自動(dòng)產(chǎn)生以及測(cè)試結(jié)果的自動(dòng)判別。芯片外部的控制可以讓芯片自動(dòng)進(jìn)入內(nèi)部存儲(chǔ)器測(cè)試模式,MBIST不僅可以自動(dòng)產(chǎn)生內(nèi)部測(cè)試模式,而且也可以實(shí)現(xiàn)并行測(cè)試。由于需要增加額外的邏輯電路,所以MBIST技術(shù)的缺點(diǎn)在于增加了芯片面積,并有可能影響芯片的時(shí)序特性。對(duì)于不同容量的存儲(chǔ)器,MBIST電路的規(guī)模基本相同。因此,隨著存儲(chǔ)器容量的增加,這種方法所增加的芯片面積所占的比例相對(duì)較小,而且這種測(cè)試技術(shù)還有很多其他技術(shù)優(yōu)勢(shì)。

      本文研究的是計(jì)算機(jī)內(nèi)的SRAM測(cè)試方法,由于待測(cè)SRAM位于計(jì)算機(jī)系統(tǒng)內(nèi)部,是該系統(tǒng)的關(guān)鍵部分,因此本文采用FPGA作為計(jì)算機(jī)系統(tǒng)與SRAM之間通信的橋梁,通過(guò)接收計(jì)算機(jī)發(fā)出的控制信號(hào),自動(dòng)產(chǎn)生一套SRAM自測(cè)試電路。

      3 March C-算法

      針對(duì)存儲(chǔ)器中的各種故障模型開(kāi)發(fā)了多種存儲(chǔ)器測(cè)試算法,如March算法、Walking算法、Galloping算法等。其中March算法是較簡(jiǎn)單的測(cè)試算法之一,具有較高的故障覆蓋率和較小的時(shí)間復(fù)雜度,所以 March算法是最常用的存儲(chǔ)器測(cè)試算法。該算法經(jīng)過(guò)多次改進(jìn),出現(xiàn)了很多變種,如 MATS、MATS+、March X、March C、March C-等算法[6]。

      March C-算法是由March元素構(gòu)成的序列,其基本原理是利用有限狀態(tài)機(jī),反復(fù)對(duì)每一個(gè)地址進(jìn)行讀/寫(xiě)0或1操作,保證每?jī)蓚€(gè)字節(jié)之間的測(cè)試碼出現(xiàn)00、01、10、11四種情況,至少各一次;并且為了檢查高低地址讀/寫(xiě)順序故障,分別進(jìn)行地址遞增和地址遞減兩種操作。通過(guò)對(duì)存儲(chǔ)器不斷地讀寫(xiě),能夠檢測(cè)幾乎所有的存儲(chǔ)器故障。

      在諸多的March C-算法中,綜合考慮算法的故障覆蓋率及測(cè)試成本等因素,本文選用能夠有效檢測(cè)大多數(shù)存儲(chǔ)器簡(jiǎn)化故障的March C-算法。March C-算法的具體描述如下[7]:

      其中,“?”表示地址的升序,“?”表示地址的降序,“?”表示兩種順序都可以;r0、w0、r1和w1分別表示讀0、寫(xiě)0、讀1和寫(xiě)1。M0~M5分別表示一個(gè)March單元,March C-算法能夠有效檢測(cè)出SAF、TF、CF、AF等故障。其中,SAF故障可由 M0、M1單元和 M1、M2單元檢測(cè)出;TF故障中0→1故障可由 M3、M4單元檢測(cè)出,1→0故障可由M2、M3單元檢測(cè)出;在CF故障中,1→0故障可由M2、M3單元和M4、M5單元檢測(cè)出,0→1故障可由M1、M2單元和M3、M4單元檢測(cè)出,置1故障可由M2、M3單元和M4、M5單元檢測(cè)出,置0故障可由M1、M2單元和M2、M3單元檢測(cè)出;AF故障可以在March單元的連續(xù)升序/降序中得到檢測(cè)。

      4 SRAM自測(cè)試電路的實(shí)現(xiàn)

      SRAM自測(cè)試電路是為了檢測(cè)存儲(chǔ)器的好壞和修復(fù)錯(cuò)誤存儲(chǔ)單元而對(duì)其進(jìn)行自檢的。文中自測(cè)試電路是由FPGA構(gòu)成,通過(guò)響應(yīng)計(jì)算機(jī)系統(tǒng)的控制信號(hào),由其產(chǎn)生一套完整的自檢測(cè)試電路。

      4.1 硬件描述語(yǔ)言

      測(cè)試電路的產(chǎn)生可以通過(guò)硬件描述語(yǔ)言Verilog編程實(shí)現(xiàn)。用Verilog來(lái)進(jìn)行電路設(shè)計(jì),設(shè)計(jì)者可以進(jìn)行各種級(jí)別的邏輯設(shè)計(jì),以及數(shù)字邏輯系統(tǒng)的仿真驗(yàn)證、時(shí)序分析、邏輯綜合。它是目前應(yīng)用最廣泛的一種硬件描述語(yǔ)言。

      采用硬件描述語(yǔ)言進(jìn)行設(shè)計(jì)時(shí),由于硬件描述語(yǔ)言的標(biāo)準(zhǔn)化,可以很容易地把完成的設(shè)計(jì)移植到不同廠家的不同芯片中去,并在不同規(guī)模應(yīng)用時(shí)較容易地作修改。它的信號(hào)位數(shù)是很容易改變的,可以很容易地對(duì)它進(jìn)行修改,來(lái)適應(yīng)不同規(guī)模的應(yīng)用。在仿真驗(yàn)證時(shí),仿真測(cè)試矢量還可以用同一種描述語(yǔ)言來(lái)完成,因?yàn)椴捎糜布枋稣Z(yǔ)言綜合器生成的數(shù)字邏輯是一種標(biāo)準(zhǔn)的電子設(shè)計(jì)互換格式(EDIF)文件,獨(dú)立于所采用的實(shí)現(xiàn)工藝。有關(guān)工藝參數(shù)的描述可以通過(guò)硬件描述語(yǔ)言提供的屬性表達(dá),然后利用不同廠家的布局布線工具,在不同工藝的芯片上實(shí)現(xiàn)。

      4.2 系統(tǒng)硬件

      計(jì)算機(jī)系統(tǒng)包含有多個(gè)外圍設(shè)備,在本系統(tǒng)中計(jì)算機(jī)與SRAM之間的通信通過(guò)FPGA來(lái)傳遞,計(jì)算機(jī)對(duì)FPGA的操作也就是對(duì)SRAM的操作。系統(tǒng)硬件電路結(jié)構(gòu)框圖如圖1所示。

      圖1 系統(tǒng)硬件電路結(jié)構(gòu)框圖

      圖中的start信號(hào)線是測(cè)試啟動(dòng)信號(hào),上升沿有效;end信號(hào)線是測(cè)試結(jié)束信號(hào)線,上升沿有效;error是SRAM故障信號(hào),高電平有效;addr為地址總線;data為數(shù)據(jù)總線;r/w為讀/寫(xiě)信號(hào)線。系統(tǒng)時(shí)序圖如圖2所示,其中陰影部分為未知區(qū)域。

      圖2 系統(tǒng)時(shí)序圖

      在系統(tǒng)正常工作時(shí),計(jì)算機(jī)系統(tǒng)首先將地址信號(hào)、數(shù)據(jù)信號(hào)和讀寫(xiě)控制信號(hào)傳至FPGA,通過(guò)FPGA內(nèi)部電路進(jìn)行處理后將信號(hào)傳遞到SRAM端;當(dāng)start信號(hào)線有效時(shí),F(xiàn)PGA啟動(dòng)自檢電路對(duì)SRAM進(jìn)行故障檢測(cè),并進(jìn)行故障自校正;測(cè)試結(jié)束后輸出end有效信號(hào),對(duì)于無(wú)法修復(fù)的故障則使error信號(hào)線有效。

      4.3 自檢電路硬件設(shè)計(jì)

      由FPGA構(gòu)成的自檢電路主要包括檢測(cè)控制電路、數(shù)據(jù)分析器和地址自校正器等部分[8],是對(duì)SRAM進(jìn)行檢測(cè)的關(guān)鍵。SRAM自檢電路系統(tǒng)結(jié)構(gòu)框圖如圖3所示[9-10]。

      圖3 SRAM自檢電路系統(tǒng)結(jié)構(gòu)框圖

      測(cè)試電路工作機(jī)制為在start信號(hào)有效時(shí),自檢電路進(jìn)入自檢狀態(tài)[11],自檢模塊的控制器部分首先通過(guò)使能信號(hào)cs1啟動(dòng)地址校正器內(nèi)的自檢電路,屏蔽MCU_addr信號(hào)使test_addr、test_end和clk2工作;同時(shí)通過(guò)cs2啟動(dòng)數(shù)據(jù)分析器,控制器具有產(chǎn)生地址和測(cè)試向量的電路,測(cè)試地址通過(guò)地址校正器輸出,測(cè)試向量通過(guò)SRAM_data數(shù)據(jù)線輸出,通過(guò)控制線r/w進(jìn)行SRAM的讀寫(xiě),并通過(guò)數(shù)據(jù)分析器將讀到的數(shù)據(jù)進(jìn)行分析;若有故障,則通過(guò)addr_error信號(hào)線通知地址校正器進(jìn)行校正。在控制器按照March C-算法進(jìn)行測(cè)試完畢后,通過(guò)test_end信號(hào)線通知地址校正器,并使使能信號(hào)cs1和cs2無(wú)效。地址校正器接收到結(jié)束信號(hào)后,將故障單元映射到備用的SRAM存儲(chǔ)單元,若出現(xiàn)故障單元超出備用部分個(gè)數(shù)或其他無(wú)法完成映射的情況,則地址校正器輸出error信號(hào)。自檢模塊故障檢測(cè)完畢后進(jìn)入正常工作狀態(tài)。

      5 結(jié) 論

      本文簡(jiǎn)要地介紹了在SRAM中常見(jiàn)的若干故障模型,以及常用的測(cè)試方法,最后提出了一種運(yùn)用由FPGA構(gòu)成的存儲(chǔ)器自測(cè)試電路對(duì)SRAM進(jìn)行檢測(cè)的方法。該檢測(cè)模塊不僅具有對(duì)存儲(chǔ)器故障檢測(cè)的功能,而且還能將產(chǎn)生故障的單元進(jìn)行自校正,保證系統(tǒng)的穩(wěn)定運(yùn)行。當(dāng)系統(tǒng)有無(wú)法修復(fù)的故障時(shí),該模塊會(huì)發(fā)出故障信號(hào)。通過(guò)SRAM自檢測(cè)電路的設(shè)計(jì)既提高了系統(tǒng)的穩(wěn)定性,又大大地降低了系統(tǒng)的故障率。該系統(tǒng)測(cè)試電路由硬件描述語(yǔ)言編程而來(lái),所以測(cè)試電路具有很強(qiáng)的靈活性,便于以后的進(jìn)一步設(shè)計(jì)。

      [1]陳衛(wèi)兵,陳鍵.一種RAM自檢的新方法[J].工業(yè)控制計(jì)算機(jī),2006,19(9):69.

      [2]須自明,蘇彥鵬,于宗光,等.基于 March C-算法的SRAM BIST電路的設(shè)計(jì)[J].集成電路設(shè)計(jì)與開(kāi)發(fā),2007,32(3):245-247.

      [3]VAN de G.Using march test to test SRAMs[J].IEEE Design & Test of Computers,1993,10(1):8214.

      [4]郝延紅,王家禮,方葛豐,等.存儲(chǔ)器故障診斷算法的研究與改進(jìn)[J].現(xiàn)代電子技術(shù),2005,10(201):85-88.

      [5]Yarmolik,V N Klimets ru V.Institute of Electric and Electronic Engineer[C]∥Memory Techonology,Design and Testing,1996.Records of the 1996IEEE International Workshop on.Singapore,1996.

      [6]宋毅,陽(yáng)輝,方葛豐,等.嵌入式存儲(chǔ)器內(nèi)建自測(cè)試方法[J].微計(jì)算機(jī)信息,2008,24(11):263-265.

      [7]于文考,高成,張棟,等.基于 March C-算法的單片機(jī)存儲(chǔ)器測(cè)試[J].現(xiàn)代電子技術(shù),2010,6(317):19-21.

      [8]何蓉暉,李華偉,李曉維,等.一款通用CPU的存儲(chǔ)器內(nèi)建自測(cè)試設(shè)計(jì)[J].同濟(jì)大學(xué)學(xué)報(bào),2002,30(10):1204-1208.

      [9]翟明靜.基于March C+算法的存儲(chǔ)器內(nèi)建自測(cè)試設(shè)計(jì)與仿真[D].哈爾濱:哈爾濱理工大學(xué),2009.

      [10]陳則王,蘇建華,王友仁,等.嵌入式SRAM測(cè)試算法及其診斷實(shí)現(xiàn)[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2010,2(5):865-870.

      [11]閆曉燕.基于采編存儲(chǔ)器的檢測(cè)系統(tǒng)的研究[D].太原:中北大學(xué),2006.

      猜你喜歡
      存儲(chǔ)器耦合電路
      電路的保護(hù)
      非Lipschitz條件下超前帶跳倒向耦合隨機(jī)微分方程的Wong-Zakai逼近
      靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
      解讀電路
      巧用立創(chuàng)EDA軟件和Altium Designer軟件設(shè)計(jì)電路
      電子制作(2019年24期)2019-02-23 13:22:20
      基于MATLAB模擬混沌電路
      電子制作(2018年17期)2018-09-28 01:56:44
      基于“殼-固”耦合方法模擬焊接裝配
      大型鑄鍛件(2015年5期)2015-12-16 11:43:20
      存儲(chǔ)器——安格爾(墨西哥)▲
      求解奇異攝動(dòng)Volterra積分微分方程的LDG-CFEM耦合方法
      非線性耦合KdV方程組的精確解
      石景山区| 赣州市| 大关县| 阿拉尔市| 宽甸| 任丘市| 铁岭市| 安西县| 泗洪县| 新安县| 那曲县| 洮南市| 广元市| 广水市| 镇雄县| 鹤庆县| 宜兰市| 和林格尔县| 恩平市| 卢湾区| 翁牛特旗| 怀宁县| 铅山县| 海原县| 乐昌市| 兴化市| 海原县| 潞城市| 陆良县| 孙吴县| 买车| 西安市| 永康市| 丰城市| 穆棱市| 建德市| 平乡县| 延吉市| 顺昌县| 莱州市| 九龙城区|