《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > BIST在SoC片上嵌入式微處理器核上的應(yīng)用
BIST在SoC片上嵌入式微處理器核上的應(yīng)用
單片機與嵌入式系統(tǒng)
景德鎮(zhèn)陶瓷學(xué)院 江伴東 牛軍偉 汪志成
摘要: BIST在SoC片上嵌入式微處理器核上的應(yīng)用,介紹了SoC片上嵌入式微處理器核的一種測試技術(shù)——片內(nèi)測試(BIST),。講述了片上系統(tǒng)的由來以及兩個重要特點,。與傳統(tǒng)的測試方法比較后,討論了MereBIST,、LogicBIST等常用BIST測試技術(shù)的結(jié)構(gòu)和特點,分析了這幾種測試方法的優(yōu)缺點,。
Abstract:
Key words :

引 言
   
隨著科技的不斷發(fā)展,,集成電路的制造工藝和設(shè)計水平得到了飛速提高,設(shè)計者能夠?qū)⒎浅?fù)雜的功能集成到硅片上,。將PCB板上多塊芯片的系統(tǒng)集成到一塊芯片內(nèi)部,,這個芯片就是系統(tǒng)級芯片,即SoC(System on Chip),。SoC芯片的特點主要有兩方面:第一是其高度的復(fù)雜性,,第二是大量運用可重用的IP(Intellectual Property)模塊。以往的芯片設(shè)計往往只專注于某個特定功能的模塊設(shè)計,,例如壓縮/解壓,、無線模塊、網(wǎng)絡(luò)模塊等,。而一塊SoC芯片的功能可能是多個獨立模塊的總和,。另外,芯片的制造需要經(jīng)歷化學(xué),、冶金,、光學(xué)等工藝過程,在這些過程中可能引入物理缺陷導(dǎo)致其不能正常工作,。因此對芯片的測試成為必不可少的環(huán)節(jié),。可測性設(shè)計(Design ForTest,,DFT)是在芯片的設(shè)計階段就考慮以后測試的需要,,使芯片測試更加容易和充分,并降低測試成本。一個SoC包含各種可復(fù)用的功能IP核,,其中嵌入式微處理器核是其中的關(guān)鍵部分,,大部分都嵌有一個或多個微處理器核以獲得最好的性能。所以,,對微處理器核可測性問題的研究越來越迫在眉睫,。

1 傳統(tǒng)測試方法
    20世紀(jì)七八十年代之前,集成電路還都是小規(guī)模電路時,,測試大都通過加入激勵,,探測相應(yīng)的方式來完成。這種方式在電路規(guī)模不大并且頻率不快的情況下還是可行的,,但是隨著集成電路規(guī)模的增長,,功能驗證內(nèi)容增多,或者需要使用異步激勵信號時,,這樣的測試方式就存在局限性,。為了提高故障點的測試覆蓋率,出現(xiàn)了自動向量生成(ATPG)工具,。運用ATPG算法以及強大的計算機,,可以檢測到盡可能多的故障點。隨著芯片規(guī)模的增長,,芯片門數(shù)相對于引腳數(shù)目的比例變得太懸殊,,只通過輸入/輸出引腳進(jìn)行測試的方法幾乎不能再應(yīng)用了,于是出現(xiàn)了另外一種基于掃描的測試技術(shù)——DFT,。但當(dāng)掃描鏈很長而且數(shù)量很多時,,單芯片測試時間還是很長。同時高級測試儀器的價格急速攀升,,使得BIST(Built-In Self-Test)即片內(nèi)測試方法的產(chǎn)生成為必然,。

2 幾種常用的BIST方法及其優(yōu)缺點
    片內(nèi)測試是節(jié)省芯片測試時間和成本的有效手段,外部測試的測試速度以每年12%的幅度增長,,而片內(nèi)芯片的速度以每年30%的幅度增長,這一矛盾進(jìn)一步推動了BIST的應(yīng)用,。由于SoC芯片內(nèi)部的IP種類繁多,,對不同的IP核采用不同的BIST測試方法。采用BIST技術(shù)的優(yōu)點在于:降低測試成本,、提高錯誤覆蓋率,、縮短測試時間、方便客戶服務(wù)和獨立測試,。目前BIST測試方法主要有MemBIST和LogicBIST,。
2.1 MemBIST
    MemBIST是面向嵌入式芯片存儲器的測試方式,用于測試存儲器工作是否正常。芯片內(nèi)部有一個BISTController,,用于產(chǎn)生存儲器測試的各種模式和預(yù)期的結(jié)果,,并比較存儲器的讀出結(jié)果和預(yù)期結(jié)果。MemBIST可分為RAMBIST和ROMBIST,。目前較常用的存儲器BIST算法有March算法及其變種,。業(yè)界常用的工具有Mentor Graphics的MBIST Architecture。
2.1.1 RAMBIST測試結(jié)構(gòu)
    用RAM實現(xiàn)的數(shù)據(jù)Cache和指令Cache均使用普通的BIST方法,。因為這兩個RAM的結(jié)構(gòu)完全相同,,因此為了減少面積消耗,只使用一組測試電路,。在測試時有外部信號TE0,、TE1分別控制RAM1、RAM2是否處于測試狀態(tài),,TE0,、TE1不能同時有效。測試電路結(jié)構(gòu)如圖1所示,。

    控制器在外部輸入信號BIST的控制下,,產(chǎn)生讀寫控制信號、訪問地址和測試碼,,對RAM的相應(yīng)數(shù)據(jù)進(jìn)行壓縮分析,,并將得到的特征值與存放在芯片中的標(biāo)準(zhǔn)特征值比較。通過兩個I/O口報告測試結(jié)果,,還實現(xiàn)了初步的故障診斷功能,。當(dāng)發(fā)現(xiàn)有故障時,通過TAP控制器,,可以將出錯的地址移出芯片,,為進(jìn)一步的故障診斷和修復(fù)提供信息。
2.1.2 ROMBIST測試結(jié)構(gòu)
    通常使用循環(huán)冗余校驗(CRC)電路實現(xiàn)ROM的測試,,這種方法雖然測試結(jié)果很可靠,,但是需要逐位讀取信息,而對ROM的訪問是每次32位,,如果使用該方法則需要一個緩沖機制,,并且速度會很慢。在此仍使用RAM測試中并行的數(shù)據(jù)壓縮,,故障覆蓋率能夠達(dá)到要求,,測試電路也比CRC電路簡單。測試電路如圖2所示,。

    BIST測試信號由TAP控制器的TDT口輸入,,是整個測試電路的使能信號,,測試過程經(jīng)過觸發(fā)后,完全在電路內(nèi)部完成,,結(jié)束后通過一個I/O口報告測試結(jié)果,。多輸入寄存器(MISR)作為TAP控制器的數(shù)據(jù)寄存器,測試初始化時設(shè)置為初始狀態(tài),。
2.2 LogicBIST
    LogicBIST方法是利用內(nèi)部的向量產(chǎn)生器逐個地產(chǎn)生測試向量,,將它們施加到被測電路上,然后經(jīng)過數(shù)字壓縮和鑒別產(chǎn)生一個鑒別碼,,將這個鑒別碼同預(yù)期值進(jìn)行比較,。LogicBIST通常用于測試隨機邏輯電路,一般采用偽隨機測試圖形生成器來產(chǎn)生輸入測試圖形,,應(yīng)用于器件內(nèi)部機制,;采用MISR作為獲得輸出信號產(chǎn)生器。由于MI-SR的結(jié)構(gòu)和多輸入序列的鑒別碼的固有特點,,這是一個多對一的映射關(guān)系,。不同的輸入序列通過MISR之后可能產(chǎn)生相同的鑒別碼,這被稱之為alias,。
    LogicBIST測試只能得到芯片能否通過測試的結(jié)果,。一旦芯片不能通過測試,該如何確定芯片內(nèi)部的故障點在何處呢?這就是診斷工作,,不過LogicBIST對故障診斷的支持太弱,,如果一塊芯片未能通過,單單憑錯誤的鑒別碼是很難確定故障點在何處的,。有時會出現(xiàn)芯片內(nèi)部多個故障點的共同作用使得鑒別碼反而是正確的現(xiàn)象,,這被稱之為漏測試。它產(chǎn)生的概率非常小,,也有算法來盡量減小漏測試發(fā)生的概率,。其中一種方法是將正確的序列輸入,和正確的鑒別碼作單一映射,,其他的錯誤輸人一定得到錯誤的鑒別碼,。這種方法對MISR、PRRG以及CUT都需要具體分析,,以改變其結(jié)構(gòu)或者PRPG的生成順序,。

結(jié) 語
    本文介紹了SoC片上嵌入式微處理器核可測性技術(shù)的研究現(xiàn)狀;介紹了設(shè)計時在電路中植入相關(guān)功能電路,,用于提供自我測試功能的技術(shù),以降低器件測試對自動測試設(shè)備(ATE)的依賴程度,。BIST技術(shù)可以實現(xiàn)自我測試,,也可以解決很多電路無法直接測試的問題(因為它們沒有外部引腳)。
    可以預(yù)見,在不久的將來即使最先進(jìn)的ATE也無法完全測試最快的電路,,這也是采用BIST的原因之一,。但是BIST也存在一些缺點,如額外的電路會占用寶貴的面積,,會產(chǎn)生額外的引腳和可能出現(xiàn)測試盲點等,。BIST技術(shù)正成為高價ATE的替代方案,但是目前還無法完全取代ATE,,他們將在未來很長一段時間內(nèi)共存,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。