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

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

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

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

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

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

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

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