嵌入式存儲(chǔ)器的測(cè)試及可測(cè)性設(shè)計(jì)研究
引言
本文引用地址:http://butianyuan.cn/article/265388.htm近年來(lái),消費(fèi)者對(duì)電子產(chǎn)品的更高性能和更小尺寸的要求持續(xù)推動(dòng)著SoC(系統(tǒng)級(jí)芯片)產(chǎn)品集成水平的提高,并促使其具有更多的功能和更好的性能。要繼續(xù)推動(dòng)這種無(wú)止境的需求以及繼續(xù)解決器件集成領(lǐng)域的挑戰(zhàn),最關(guān)鍵的是要在深亞微米半導(dǎo)體的設(shè)計(jì)、工藝、封裝和測(cè)試領(lǐng)域獲得持續(xù)的進(jìn)步。
SoC是采用IP復(fù)用技術(shù)的一種標(biāo)準(zhǔn)設(shè)計(jì)結(jié)構(gòu),在多功能電子產(chǎn)品中得到了廣泛的應(yīng)用。SoC的典型結(jié)構(gòu)包括CPU、存儲(chǔ)器、外圍邏輯電路、多媒體數(shù)字信號(hào)編解碼器和接口模塊等?,F(xiàn)在的SoC中,存儲(chǔ)器通常占據(jù)整個(gè)芯片的大部分面積,并且可能包括各種類(lèi)型的嵌入式存儲(chǔ)器,如DRAM、SRAM及Flash存儲(chǔ)器等,可滿足不同的應(yīng)用需要。目前SoC設(shè)計(jì)要求存儲(chǔ)器的容量不斷地增大,嵌入式存儲(chǔ)器在SoC中所占的面積百分比也隨之不斷增加。另外,SoC的復(fù)雜度不斷地提高而集成電路工藝尺寸在不斷減小,這就導(dǎo)致嵌入式存儲(chǔ)器的制造缺陷比例也不斷地增加。因此嵌入式存儲(chǔ)器的故障率對(duì)于SoC的總成品率的影響越來(lái)越大,而保證低故障率的關(guān)鍵是高效率和高故障覆蓋率的嵌入式存儲(chǔ)器測(cè)試方案。
在我國(guó),集成電路測(cè)試及可測(cè)性設(shè)計(jì),特別是存儲(chǔ)器的測(cè)試研究相對(duì)國(guó)際上的研究比較落后。目前,我國(guó)自主研究的測(cè)試算法以及開(kāi)發(fā)的測(cè)試設(shè)備還沒(méi)有形成產(chǎn)業(yè)化,還不能與國(guó)際上先進(jìn)的集成電路測(cè)試設(shè)備相抗衡。而近幾年來(lái),我國(guó)在集成電路領(lǐng)域加大了投入,集成電路產(chǎn)業(yè)也得到了長(zhǎng)足的進(jìn)步。
集成電路測(cè)試也是一個(gè)知識(shí)密集型的高投入領(lǐng)域,一直是我國(guó)集成電路產(chǎn)業(yè)發(fā)展的制約因素。半導(dǎo)體工業(yè)成本發(fā)展的特點(diǎn)就是它的單位功能制造成本以每年平均25%~30%的比例下降,而測(cè)試成本卻以每年平均10.5%的比例提高。隨著集成電路復(fù)雜度的不斷提高,為其設(shè)計(jì)的測(cè)試電路也越來(lái)越復(fù)雜,測(cè)試電路占用的芯片面積及設(shè)計(jì)制造成本也變得更高。
本文對(duì)嵌入式存儲(chǔ)器的測(cè)試及可測(cè)性設(shè)計(jì)進(jìn)行研究總結(jié),為我國(guó)存儲(chǔ)器測(cè)試的研究以及集成電路測(cè)試產(chǎn)業(yè)的發(fā)展奠定堅(jiān)實(shí)的技術(shù)基礎(chǔ)。
嵌入式存儲(chǔ)器測(cè)試方法
半導(dǎo)體存儲(chǔ)器自20世紀(jì)60年代開(kāi)始設(shè)計(jì)生產(chǎn)以來(lái),在設(shè)計(jì)結(jié)構(gòu)、產(chǎn)品的性能和存儲(chǔ)的密度等各方面發(fā)生了巨大的變化,現(xiàn)在嵌入式存儲(chǔ)器技術(shù)的發(fā)展已經(jīng)取得了很大的成就,并被廣泛應(yīng)用于各類(lèi)基于SoC芯片設(shè)計(jì)的電子產(chǎn)品中,已經(jīng)成為大多數(shù)電子系統(tǒng)中必不可少的組成部分,在人們的生產(chǎn)生活中起到了舉足輕重的作用。嵌入式存儲(chǔ)器的測(cè)試方法主要包括以下三類(lèi):
存儲(chǔ)器直接存取測(cè)試
此類(lèi)測(cè)試方法把嵌入式存儲(chǔ)器部分從整個(gè)系統(tǒng)中分離出來(lái),由專(zhuān)用的存儲(chǔ)器測(cè)試電路連接到存儲(chǔ)器接口上對(duì)嵌入式存儲(chǔ)器進(jìn)行測(cè)試,系統(tǒng)框圖如圖1所示。
圖1 存儲(chǔ)器直接存取測(cè)試
專(zhuān)門(mén)設(shè)計(jì)的存儲(chǔ)器接口電路僅在需要對(duì)存儲(chǔ)器進(jìn)行測(cè)試時(shí)才通過(guò)I/O多路選擇器選擇使用,并利用測(cè)試儀產(chǎn)生的存儲(chǔ)器測(cè)試向量對(duì)存儲(chǔ)器進(jìn)行測(cè)試。因此這種測(cè)試方法可以從芯片的封裝引腳直接對(duì)嵌入式存儲(chǔ)器進(jìn)行測(cè)試,也可以直接對(duì)存儲(chǔ)器測(cè)試的邏輯狀態(tài)和存儲(chǔ)器運(yùn)行的過(guò)程進(jìn)行監(jiān)控和測(cè)試,可以方便地實(shí)現(xiàn)嵌入式存儲(chǔ)器的多種測(cè)試算法。但這種測(cè)試方法也存在不足之處,對(duì)存儲(chǔ)器進(jìn)行測(cè)試的測(cè)試向量需要串行化后才能通過(guò)I/O端口的多路選擇器送入存儲(chǔ)器接口電路,這樣不僅增加了測(cè)試的復(fù)雜度,而且還增加了測(cè)試的時(shí)間。
片上微處理器測(cè)試
這種測(cè)試方法利用SoC上的微處理器構(gòu)造測(cè)試系統(tǒng)對(duì)嵌入式存儲(chǔ)器進(jìn)行測(cè)試。首先,選擇對(duì)嵌入式存儲(chǔ)器進(jìn)行測(cè)試的測(cè)試算法,利用微處理器的匯編語(yǔ)言編寫(xiě)相應(yīng)的測(cè)試算法程序;然后,通過(guò)微處理器匯編語(yǔ)言的編譯器得到可執(zhí)行代碼;接下來(lái),將可執(zhí)行代碼下載到系統(tǒng)中,通過(guò)微處理器的運(yùn)行產(chǎn)生相應(yīng)的測(cè)試向量,并按照測(cè)試算法對(duì)嵌入式存儲(chǔ)器進(jìn)行測(cè)試。測(cè)試的結(jié)果由微處理器進(jìn)行比較評(píng)估,也可以由專(zhuān)門(mén)設(shè)計(jì)的結(jié)果處理電路進(jìn)行結(jié)果判定。
這種測(cè)試方法的優(yōu)點(diǎn)是利用SoC現(xiàn)有資源,而不需要設(shè)計(jì)額外的測(cè)試電路,也不需要對(duì)現(xiàn)有電路進(jìn)行任何修改,因此不會(huì)增加額外的面積開(kāi)銷(xiāo),也不會(huì)降低性能。這種測(cè)試方法可以采用任何一種測(cè)試算法對(duì)嵌入式存儲(chǔ)器進(jìn)行測(cè)試,可以提供全故障診斷和進(jìn)行全速測(cè)試。但是這種測(cè)試方法也有一定的缺點(diǎn),首先芯片中的嵌入式存儲(chǔ)器部分或者全部與微處理器不相連,需要有專(zhuān)用的接口電路對(duì)測(cè)試算法的二進(jìn)制代碼進(jìn)行處理,其次不同測(cè)試算法的編程和程序修改需要大量的時(shí)間和人力,還有這種測(cè)試方法不能測(cè)試存儲(chǔ)測(cè)試程序的存儲(chǔ)器。
存儲(chǔ)器內(nèi)建自測(cè)試
存儲(chǔ)器內(nèi)建自測(cè)試(Build-in Self Test, BIST)是近幾年里大量應(yīng)用于存儲(chǔ)器測(cè)試領(lǐng)域里的一種非常重要的技術(shù)。這種技術(shù)利用芯片內(nèi)部專(zhuān)門(mén)設(shè)計(jì)的BIST電路進(jìn)行自行測(cè)試,能夠?qū)η度胧酱鎯?chǔ)器、組合和時(shí)序邏輯電路等具有復(fù)雜電路結(jié)構(gòu)的嵌入式模塊進(jìn)行全面的測(cè)試。存儲(chǔ)器BIST電路將產(chǎn)生測(cè)試向量的電路模塊以及檢測(cè)測(cè)試結(jié)果的比較模塊都置于芯片的內(nèi)部,在測(cè)試完成后,將測(cè)試的結(jié)果通過(guò)芯片的測(cè)試管腳送出到芯片的外部,從而增加了很少的管腳用于進(jìn)行測(cè)試。存儲(chǔ)器BIST電路的結(jié)構(gòu)包含三類(lèi):與系統(tǒng)正常運(yùn)行并發(fā)的存儲(chǔ)器BIST電路結(jié)構(gòu);與系統(tǒng)正常運(yùn)行不能并發(fā)的存儲(chǔ)器BIST電路結(jié)構(gòu),在存儲(chǔ)器BIST電路運(yùn)行期間,必須中斷系統(tǒng)的正常運(yùn)行,同時(shí)存儲(chǔ)器內(nèi)不能保存系統(tǒng)運(yùn)行的任何信息;與系統(tǒng)正常運(yùn)行不能并發(fā),但是在存儲(chǔ)器BIST電路運(yùn)行期間,可以保存系統(tǒng)運(yùn)行時(shí)的內(nèi)容,并在系統(tǒng)測(cè)試結(jié)束后恢復(fù)運(yùn)行。
針對(duì)不同的嵌入式存儲(chǔ)器,需要專(zhuān)門(mén)針對(duì)可能產(chǎn)生的各種缺陷類(lèi)型,采用一種或多種測(cè)試算法來(lái)設(shè)計(jì)專(zhuān)用BIST電路。通常嵌入式存儲(chǔ)器的BIST電路包括測(cè)試向量產(chǎn)生模塊、測(cè)試算法控制模塊和結(jié)果分析模塊。結(jié)構(gòu)框圖如圖2所示。
圖2 存儲(chǔ)器BIST電路結(jié)構(gòu)
存儲(chǔ)器的測(cè)試算法
存儲(chǔ)器測(cè)試需要根據(jù)測(cè)試算法的要求產(chǎn)生大量的測(cè)試向量,要反復(fù)對(duì)所有的存儲(chǔ)器單元進(jìn)行讀/寫(xiě)操作,并與預(yù)期值進(jìn)行比較。測(cè)試算法設(shè)計(jì)的目標(biāo)是能夠盡可能多地檢測(cè)出存儲(chǔ)器的各種故障。為了在盡可能短的測(cè)試時(shí)間和測(cè)試費(fèi)用限制下測(cè)試出最多的存儲(chǔ)器故障,選擇高效的測(cè)試算法是至關(guān)重要的。目前應(yīng)用比較廣泛的存儲(chǔ)器測(cè)試算法主要包括偽隨機(jī)存儲(chǔ)器測(cè)試算法、確定性存儲(chǔ)器測(cè)試算法,以及March系列存儲(chǔ)器測(cè)試算法三類(lèi)。
偽隨機(jī)存儲(chǔ)器測(cè)試算法
這類(lèi)算法利用n位反饋移位寄存器產(chǎn)生偽隨機(jī)序列對(duì)嵌入式存儲(chǔ)器進(jìn)行測(cè)試。反饋移位寄存器可以通過(guò)如式(1)所示的n元反饋函數(shù)的多項(xiàng)式來(lái)進(jìn)行構(gòu)造。如果移位寄存器以
作為反饋函數(shù),則稱(chēng)之為反饋移位寄存器。
如果n級(jí)反饋移位寄存器呈線性結(jié)構(gòu),則稱(chēng)之為線性反饋移位寄存器,可構(gòu)造為如式(2)所示的多項(xiàng)式形式,共包含2n個(gè)移位寄存器。
不滿足公式(2)的反饋移位寄存器稱(chēng)為非線性反饋移位寄存器,其共包含
個(gè)移位寄存器。與線性反饋移位寄存器包含的移位寄存器總個(gè)數(shù)比較發(fā)現(xiàn),非線性反饋移位寄存器具有的移位寄存器總數(shù)更多,結(jié)構(gòu)更復(fù)雜。
確定性存儲(chǔ)器測(cè)試算法
這類(lèi)算法的形式很多,需要根據(jù)被測(cè)存儲(chǔ)器的結(jié)構(gòu)特征和關(guān)注的故障選擇適合的測(cè)試算法,產(chǎn)生測(cè)試向量,以便提高測(cè)試故障覆蓋率,主要用于存儲(chǔ)器結(jié)構(gòu)相對(duì)規(guī)則,并與關(guān)注的故障類(lèi)型相關(guān)度高的存儲(chǔ)器測(cè)試。下面介紹三種比較典型的確定性存儲(chǔ)器測(cè)試算法。
(1)MSCAN(Memory SCAN)算法
這種算法就是簡(jiǎn)單地對(duì)存儲(chǔ)器的每個(gè)單元寫(xiě)0,然后讀出每個(gè)單元的內(nèi)容驗(yàn)證是否為0;再對(duì)每個(gè)單元寫(xiě)1,然后讀出驗(yàn)證。算法公式如式3所示。
MSCAN測(cè)試算法的復(fù)雜度與存儲(chǔ)單元數(shù)量N成正比,其測(cè)試復(fù)雜度為
從測(cè)試復(fù)雜度可以看出此算法花費(fèi)的測(cè)試時(shí)間較短,另外此算法能夠測(cè)試SAF故障,也能測(cè)試存儲(chǔ)器在最差情況下所消耗的功耗,還可以作為進(jìn)行其它較復(fù)雜測(cè)試算法之前對(duì)存儲(chǔ)器的初始化操作,但是此算法的測(cè)試故障覆蓋率較低。
(2)Checkerboard算法
這種測(cè)試算法在向存儲(chǔ)單元賦值時(shí)要求0和1交替賦值,也就是每個(gè)存儲(chǔ)器單元與周?chē)乃膫€(gè)單元的值都不同。然后再讀取每個(gè)存儲(chǔ)器單元的數(shù)值,并檢驗(yàn)其正確性。算法公式如式5所示。
Checkerboard測(cè)試算法的復(fù)雜度同樣與存儲(chǔ)單元數(shù)量N成正比,其測(cè)試復(fù)雜度為
在如上的測(cè)試完成后,還需要交換0和1的位置再按照算法的要求交替寫(xiě)入和讀取并驗(yàn)證。這種算法執(zhí)行速度較快,能夠測(cè)試數(shù)據(jù)保留故障、固定故障和一半的轉(zhuǎn)換故障。
(3)GALPAT(Galloping Pattern)算法
這種算法也稱(chēng)為漫游或者乒乓測(cè)試。首先需要初始化存儲(chǔ)器的所有單元為0(或1),然后按照地址從小到大的順序?qū)δ潮粶y(cè)單元寫(xiě)1(或0)的操作,接下來(lái)讀取被測(cè)單元的數(shù)值進(jìn)行驗(yàn)證。算法公式如式7所示。
GALPAT測(cè)試算法的復(fù)雜度為
這種測(cè)試算法的測(cè)試故障覆蓋率較高,能夠測(cè)試固定故障、狀態(tài)傳輸故障、圖形敏感故障以及大部分耦合故障。但根據(jù)公式8可知,該測(cè)試算法需要花費(fèi)的測(cè)試時(shí)間較長(zhǎng),對(duì)于大容量存儲(chǔ)器來(lái)說(shuō)并不適合。
March系列算法
March系列算法是在存儲(chǔ)器測(cè)試領(lǐng)域得到廣泛研究和應(yīng)用的測(cè)試算法,原因在于其具有較高的故障覆蓋率,并花費(fèi)較少的測(cè)試時(shí)間。此系列算法已經(jīng)成功運(yùn)用到大容量的SRAM測(cè)試,SDRAM測(cè)試等存儲(chǔ)器測(cè)試領(lǐng)域,并出現(xiàn)了大量的改進(jìn)算法。
March系列算法通過(guò)有限狀態(tài)機(jī)的控制,對(duì)存儲(chǔ)器的每個(gè)單元進(jìn)行讀寫(xiě)操作,讀寫(xiě)的順序會(huì)按照算法的要求,分為地址升序和降序等方式。這樣,通過(guò)算法設(shè)計(jì)的對(duì)存儲(chǔ)單元的各種讀寫(xiě)過(guò)程,能夠測(cè)試出絕大部分存儲(chǔ)器故障。
常見(jiàn)的March系列算法包含MATS算法、March X算法、March C-算法等。各種算法的不同之處就是包含的March元素各不相同。每種March算法包含多個(gè)March元素,每個(gè)March元素都由地址變化順序、讀寫(xiě)的操作和操作的數(shù)據(jù)三部分組成。用
表示讀寫(xiě)的順序可以是升序,也可以是降序;
表示讀寫(xiě)的順序?yàn)樯?
表示讀寫(xiě)的順序?yàn)榻敌?
表示從存儲(chǔ)器單元中讀取的向量應(yīng)該為第n個(gè)向量;
表示向存儲(chǔ)器單元中寫(xiě)入第n個(gè)向量。
結(jié)束語(yǔ)
嵌入式存儲(chǔ)器的測(cè)試及可測(cè)性設(shè)計(jì)是隨著SoC的發(fā)展而逐步發(fā)展的研究領(lǐng)域,近些年的研究成果取得長(zhǎng)足的進(jìn)步,但是其測(cè)試難度也是相當(dāng)大的,主要問(wèn)題如下:無(wú)法通過(guò)芯片的封裝引腳直接訪問(wèn)嵌入式存儲(chǔ)器,造成對(duì)嵌入式存儲(chǔ)器的可控制性以及可觀測(cè)性較低;任何一種測(cè)試算法都不能測(cè)試所有的故障類(lèi)型,增加了測(cè)試的難度;隨著嵌入式存儲(chǔ)器容量的不斷增加,所花費(fèi)的測(cè)試時(shí)間也不斷地增加,測(cè)試向量也越來(lái)越多,超過(guò)了目前的ATE處理能力??傊度胧酱鎯?chǔ)器測(cè)試及可測(cè)性設(shè)計(jì)仍需要廣大學(xué)者繼續(xù)努力研究。
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理
網(wǎng)線測(cè)試儀相關(guān)文章:網(wǎng)線測(cè)試儀原理
評(píng)論