邏輯內(nèi)置自測(cè)試(LBIST)允許硬件測(cè)試自己的操作。無需任何外部硬件或測(cè)試設(shè)備。 LBIST是符合安全標(biāo)準(zhǔn)的SoC的“必備”功能。但是在復(fù)雜的SoC中使用LBIST時(shí)必須小心。
整個(gè)SoC被劃分為各種LBIST分區(qū)和LBIST控制器用于在每個(gè)分區(qū)上運(yùn)行LBIST。有一個(gè)中央控制器控制所有這些LBIST控制器,以便可以從整個(gè)SoC的一個(gè)點(diǎn)控制LBIST(否則每個(gè)LBIST控制器需要單獨(dú)編程)。上面提到的中央LBIST控制器具有針對(duì)LBIST可用的各種選項(xiàng)的位映射以及用于對(duì)LBIST進(jìn)行排序的寄存器。
上圖顯示了SoC中分區(qū)的基本概念。物理分區(qū)和LBIST分區(qū)的數(shù)量/大小可能因SoC而異。此外,單個(gè)物理分區(qū)內(nèi)可以存在多個(gè)LBIST分區(qū)。每個(gè)LBIST分區(qū)都有一個(gè)專用的LBIST控制器,它將被放置在物理分區(qū)內(nèi)(但在LBIST分區(qū)之外)。中央控制器位于頂部分區(qū)。
驗(yàn)證LBIST的主要挑戰(zhàn)是驗(yàn)證LBIST分區(qū)的不同排列和組合。假設(shè)一個(gè)SoC說“n”個(gè)LBIST分區(qū),那么你可以在所有分區(qū)上并行運(yùn)行LBIST,所有順序運(yùn)行,或者它們可以分組。例如,您可能希望并行運(yùn)行前5個(gè),然后依次運(yùn)行下3個(gè),依此類推。順序運(yùn)行所有LBIST將花費(fèi)大量時(shí)間。另一方面,并行運(yùn)行所有LBIST將導(dǎo)致SoC中的大量電流消耗。因此,要運(yùn)行的理想序列是在優(yōu)化電流消耗和最小化LBIST運(yùn)行時(shí)之間的權(quán)衡。對(duì)于具有“n”個(gè)LBIST分區(qū)的SoC,將會(huì)有n! LBIST組合可能 - 在有限的時(shí)間范圍內(nèi)驗(yàn)證所有這些組合是不可能的。因此,我們根據(jù)SoC的經(jīng)驗(yàn)和架構(gòu)巧妙地選擇一些選定的組合。
這會(huì)導(dǎo)致驗(yàn)證時(shí)遺漏一些問題。本文討論了這些問題,它們?cè)诠枭系恼{(diào)試,以及我們?nèi)绾卧谠O(shè)計(jì)周期中避免它們。
在LBIST期間,LBIST下的分區(qū)的所有輸出將隨機(jī)切換,可能影響整個(gè)SoC功能的重要信號(hào)需要“安全聲明”,這意味著它們需要在LBIST期間保持安全值這樣邏輯的其余部分就不會(huì)受到它們的影響。例如,如果在LBIST執(zhí)行期間(進(jìn)入SoC的復(fù)位控制器)在LBIST分區(qū)中的復(fù)位輸出上發(fā)生切換,則將導(dǎo)致整個(gè)邏輯的復(fù)位,這不是設(shè)計(jì)意圖。因此,為了避免這種情況,需要在LBIST期間將此復(fù)位信號(hào)安全地設(shè)置為安全值。 (在這種情況下,它將是重置的非活動(dòng)值)。
驗(yàn)證LBIST安全陳述的步驟
由于LBIST掃描鏈以網(wǎng)表級(jí)別插入,因此運(yùn)行門級(jí)仿真以驗(yàn)證SoC中LBIST的正確功能。通過此報(bào)告的主要功能問題是缺少對(duì)不同LBIST分區(qū)的關(guān)鍵輸出信號(hào)的“安全說明”。
由于在網(wǎng)表中引入了實(shí)際的LBIST邏輯,因此在RTL階段不會(huì)發(fā)生輸出信號(hào)的切換在LBIST執(zhí)行期間。因此,為了模仿實(shí)際情況,我們?cè)贚BIST執(zhí)行期間隨機(jī)切換LBIST分區(qū)的輸出,以便在RTL級(jí)別本身捕獲丟失的安全說明問題。然而,實(shí)際切換僅在門級(jí)仿真中發(fā)生,但對(duì)于“n”個(gè)LBIST分區(qū),不可能在門級(jí)仿真中運(yùn)行每個(gè)組合(因?yàn)镚LS運(yùn)行時(shí)間很大)。大多數(shù)情況下,我們運(yùn)行所選擇的組合來解決前面提到的安全陳述問題。但是,由于在模擬中未嘗試所有分區(qū)組合,因此仍可能存在一些可能影響SoC功能的看不見的安全說明問題。
缺少安全陳述的后硅調(diào)試策略 - 樣本調(diào)試
我們將解釋如何調(diào)試和根源導(dǎo)致LBIST安全陳述問題硅借助于一個(gè)例子:當(dāng)LBIST在特定配置(序列)中運(yùn)行時(shí),它失敗,狀態(tài)寄存器中的PLL丟失鎖定錯(cuò)誤。
調(diào)試步驟
首先,我們嘗試使用不同時(shí)鐘源的相同配置。以下是調(diào)查結(jié)果:
PLL鎖定內(nèi)部RC振蕩器時(shí)鐘 - 通過。
PLL鎖定在外部振蕩器上 - 出現(xiàn)了問題。
接下來,為了縮小調(diào)試范圍,我們嘗試了各種LBIST分區(qū)組合,以找出硅上的失敗組合。結(jié)果發(fā)現(xiàn),在20個(gè)LBIST分區(qū)中,當(dāng)?shù)?4和第15個(gè)LBIST分區(qū)以順序方式運(yùn)行時(shí),自檢失敗,狀態(tài)寄存器中報(bào)告了PLL丟失鎖定錯(cuò)誤。
第14和第15個(gè)LBIST分區(qū)單獨(dú)或并行運(yùn)行,未發(fā)現(xiàn)故障。這給了我們一個(gè)強(qiáng)烈的跡象,表明在第14個(gè)分區(qū)LBIST中有一些切換正在影響第15個(gè)分區(qū)的LBIST執(zhí)行。
下一步是找出看到失敗的最小模式數(shù)。 (在LBIST中,我們對(duì)特定數(shù)據(jù)進(jìn)行“移入”并期望一些已知的“移出”數(shù)據(jù)。一個(gè)這樣的步驟被認(rèn)為是一個(gè)“模式”并且將給我們一定的信號(hào)覆蓋。對(duì)于完整的覆蓋,我們運(yùn)行多個(gè)這樣的模式,總數(shù)被稱為“模式計(jì)數(shù)”)。這很重要,這樣我們就可以輕松地模擬驗(yàn)證環(huán)境中的故障。這是通過編程開始模式計(jì)數(shù)和結(jié)束模式計(jì)數(shù)以及應(yīng)用二進(jìn)制搜索來找出發(fā)現(xiàn)故障的最小模式計(jì)數(shù)窗口來完成的。
最后,在驗(yàn)證環(huán)境中模擬了這個(gè)最小的模式計(jì)數(shù)窗口(網(wǎng)表)。據(jù)觀察,有些情況受到影響,導(dǎo)致振蕩器在兩者之間斷電,導(dǎo)致PLL失鎖,最終導(dǎo)致自檢失敗,PLL失鎖失誤。
失敗的根本原因
外部振蕩器數(shù)字控制邏輯本身是14 th LBIST分區(qū)的一部分(而振蕩器的模擬模塊在外面)這個(gè)LBIST分區(qū))。據(jù)觀察,由于從數(shù)字控制模塊到模擬振蕩器模塊的斷電信號(hào)沒有安全說明,振蕩器正在斷電。然而,問題仍然存在,為什么只有在兩個(gè)分區(qū)按順序運(yùn)行而不是單獨(dú)或并行運(yùn)行時(shí)才能看到這種切換。
為了追蹤問題,振蕩器功率播放邏輯是在設(shè)計(jì)中追蹤。它看起來像這樣:
Oscillator_pwrdn = A& B
其中A是14 th 分區(qū)的輸出信號(hào),B是15 th 分區(qū)的輸出信號(hào)。默認(rèn)情況下,A和B均為0。 “A”在第11個(gè) th 分區(qū)的LBIST期間切換,最終穩(wěn)定為1.然而,此時(shí)“B”保持為0。這解釋了為什么兩個(gè)分區(qū)都單獨(dú)傳遞。當(dāng)LBIST在15 th 分區(qū)上運(yùn)行時(shí),“B”切換,因此在順序情況下,一旦“B”變?yōu)?,“Oscillator_pwrdn”信號(hào)變?yōu)椤?”并且故障發(fā)生。而在并行的情況下,當(dāng)“A”變?yōu)?時(shí),“B”已經(jīng)確定為0.由于這個(gè)原因,故障也從未在平行情況下看到過。
以下是用于解釋行為的波形快照(Xosc_clock - 外部振蕩器時(shí)鐘; Xosc_pwrdn - 外部振蕩器掉電信號(hào)):
波形在順序LBIST案例(看到失?。?/p>
波形并行LBIST案例(未見失?。?/p>
完成設(shè)計(jì)修復(fù)
使用鎖存器安全地聲明“Oscillator_pwrdn”信號(hào),以防止在LBIST執(zhí)行期間切換,以解決此問題設(shè)計(jì)。
如何避免LBIST安全陳述問題
應(yīng)注意以下幾點(diǎn)以避免此類情況:
需要通過功率估算技術(shù),LBIST運(yùn)行時(shí)分析等來選擇各種LBIST組合。在物理設(shè)計(jì)團(tuán)隊(duì)和DFT團(tuán)隊(duì)的反饋之后需要進(jìn)行驗(yàn)證。要提供給客戶的自測(cè)配置應(yīng)在設(shè)計(jì)階段基于上面的最終確定,以便使用最終配置運(yùn)行所有門級(jí)仿真。這將使我們能夠徹底驗(yàn)證客戶使用的配置;否則,如前所述,在有限的時(shí)間范圍內(nèi)嘗試模擬中的所有自測(cè)組合是不可能的。
-
自測(cè)試
+關(guān)注
關(guān)注
0文章
2瀏覽量
6123 -
PCB打樣
+關(guān)注
關(guān)注
17文章
2971瀏覽量
22264 -
華強(qiáng)PCB
+關(guān)注
關(guān)注
8文章
1831瀏覽量
28366 -
華強(qiáng)pcb線路板打樣
+關(guān)注
關(guān)注
5文章
14629瀏覽量
43661
發(fā)布評(píng)論請(qǐng)先 登錄
通過軟件觸發(fā)lbist的時(shí)候,application的代碼是否還會(huì)運(yùn)行一段時(shí)間直到被lbist結(jié)束后reset?
LBIST SMU警報(bào)在PORST之后觸發(fā)的原因?
SSW中LBIST觸發(fā)ESR0脈沖的原因?
在HCG中,為什么LBIST和PBIST都無法配置?請(qǐng)問這兩個(gè)模塊是如何執(zhí)行的?
有關(guān)LBIST的問題
請(qǐng)問LBIST對(duì)cortex做什么部分(或寄存器)做了診斷?
USB基本概念及從機(jī)編程方法介紹
嵌入式系統(tǒng)的概念及特點(diǎn)
嵌入式系統(tǒng)的概念及特點(diǎn)
如何利用LBIST進(jìn)行設(shè)計(jì)的故障檢測(cè)

使用非隨機(jī)故障分析法為LBIST設(shè)計(jì)提高故障檢測(cè)能力

邏輯數(shù)字部分的自檢功能之LBIST

評(píng)論