專利名稱:使用內部實速邏輯-bist的邏輯模塊的自動故障測試的制作方法
技術領域:
本發(fā)明一般涉及硬件測試,尤其涉及使用邏輯-BIST(內建自測試)的邏輯模塊的自動實速故障測試。
背景技術:
數字邏輯模塊的測試一般使用該數字邏輯模塊中的自動測試設備(ATE)和掃描鏈執(zhí)行。盡管這種方法能夠工作,但這種測試執(zhí)行的速度低于數字邏輯模塊在測試條件下所期望的工作速度。這樣,在實速或期望速度下出錯但在低速下通過的邏輯不被檢測。此外,這種測試一般不測試數字邏輯的宏接口。因此,由于宏和邏輯之間的接口通常被單獨測試,連接故障可能不被檢測。而且,復雜的ATE接口不允許現場工程師為方便起見在現場測試芯片。
因此,需要一種系統(tǒng)和方法,對使用簡單ATE接口的整個邏輯模塊執(zhí)行實速測試。
發(fā)明內容
為獲得上述和其他目標以及根據本發(fā)明的目的,所提供的是一種系統(tǒng)和方法,使用內置于芯片的實速邏輯-BIST電路,對邏輯模塊和半導體裝置(芯片)的接口實行自動故障測試。在例如觸發(fā)器或靜態(tài)隨機存取存儲器(SRAM)這樣的內部存儲元件的初始化完成之后,產生一組測試信號以便于邏輯模塊處理。該邏輯模塊的輸出被累積到一個測試標記并與一個參考標記相比較以檢測故障。測試可以在使用簡單測試矢量的ATE上執(zhí)行,也可以由現場工程師在包括芯片的實際面板上執(zhí)行。該ATE矢量是簡單的,因為它只需要觸發(fā)邏輯-BIST電路而不需要干擾外部的定時限制。
本發(fā)明將以附圖中圖示的實例形式加以闡述,附圖中的實例并不起限制作用,附圖中相同的參考數字指示相似的元件,其中圖1是示出根據本發(fā)明一個實施例的視頻解碼器集成電路的框圖。
圖2是根據本發(fā)明一個實施例的具有輸入時鐘樹和復位線的一組觸發(fā)器的示意圖。
圖3示出了根據本發(fā)明一個實施例的觸發(fā)器初始化的時序圖。
圖4示出了根據本發(fā)明一個實施例的存儲器初始化的時序圖。
圖5示出了根據本發(fā)明一個實施例的邏輯模塊的實速故障測試的方法的流程圖。
具體實施例方式
下面的描述中,為提供對本發(fā)明透徹的理解將說明很多特定細節(jié)。然而,對于本領域的技術人員,應當理解本發(fā)明可以在沒有某些或全部這些特定細節(jié)的條件下實現。另一些實例中,為了不混淆本發(fā)明,已知的硬件設計、操作和測試步驟將不予以詳細描述。
因此,所提供的是一種使用內置于芯片的實速邏輯-BIST(內建自測試)電路,對半導體裝置(芯片)的邏輯和接口實行自動故障測試的系統(tǒng)和方法。本發(fā)明允許測試在使用簡單測試矢量的ATE上執(zhí)行。它還允許現場工程師在實際面板上執(zhí)行系統(tǒng)級的測試,而不管是否對芯片的功能性造成影響。該ATE矢量是簡單的,因為它僅需要觸發(fā)邏輯-BIST電路,而不需要干擾外部定時限制,這是由于該邏輯-BIST電路是內置于芯片中的。
下面在測試視頻解碼器邏輯模塊的背景中描述本發(fā)明。然而,該實施例是示例性的,應當理解該技術可以用于測試任何類型的數字邏輯模塊,例如語音解碼器、數字信號處理器(DSP)和其他數據管道。
圖1示出了根據本發(fā)明一個實施例的視頻解碼器集成電路的框圖。集成電路封裝101(此后也稱為“芯片”)包括視頻解碼器邏輯模塊102,提供執(zhí)行數字輸入信號109上的視頻解碼操作的功能邏輯。該數字輸入信號109是通過一個或多個模-數轉換器106從芯片101的相應模擬輸入信號110轉換而來。
提供圖形發(fā)生器103以產生用于視頻解碼器102的測試信號112。復用器108優(yōu)選地復用轉換的輸入信號110和由內部圖形發(fā)生器103產生的測試信號112。提供標記累加器104,以根據期望的次數來累積視頻解碼器102的輸出以及累積視頻解碼器102內部的任何期望信號。提供內置于芯片101的邏輯-BIST電路105,以對圖形發(fā)生器103、視頻解碼器102和標記累加器104、和/或芯片的其他部分(例如PLL 113)進行編程以配合測試。邏輯-BIST電路105對圖形發(fā)生器103進行編程以產生包括邊界條件和角落事例(Corner Cases)的測試信號,以練習和測試盡可能多的所期望的視頻解碼器102的功能,進而增加檢測例如門中的粘著性故障(stuck-at fault)和實速故障這樣的邏輯故障的可能性。
為了產生一組確定的視頻解碼器輸出111值(響應由圖形發(fā)生器103產生的一組給定的輸入112值),諸如視頻解碼器102內部的觸發(fā)器和存儲器這樣的反饋邏輯元件被首先初始化。視頻解碼器102可以看成數據管道。初始化通過以下步驟實現驅動視頻解碼器102到一定條件,其中該觸發(fā)器和存儲器在管道的始端被寫入;重復產生這些元件的復位信號,進而使得它們呈現已知值。重復應用該技術使得邏輯進一步沿著管道向下也呈現確定值。以上步驟被重復直到所有所需的觸發(fā)器和存儲器都被初始化。注意,為了應用該技術,可復位的觸發(fā)器可以被視頻解碼器102中的一些不可復位的觸發(fā)器代替。
為了管理輸入時鐘信號114的彎曲(例如,由鎖相環(huán)113產生),如圖2中所示,一些觸發(fā)器116可以通過一組形成緩沖器樹的緩沖器117接收它們的時鐘信號114,緩沖器樹的分支通向對應的觸發(fā)器116。對于緩沖器樹到達的觸發(fā)器116,緩沖器樹提供一個已知的時間窗口,該時間窗口中所有觸發(fā)器116看見時鐘沿。然而,如果時鐘通過緩沖器樹與觸發(fā)器116相連,而復位線115沒有通過緩沖器樹連接到觸發(fā)器116,而是直接應用(這在邏輯模塊中是很常見的情況),時鐘沿可以在不同時刻到達不同的觸發(fā)器116。而且,特定的觸發(fā)器116可以在某些時刻的時鐘沿之前和在其他時刻的時鐘沿之后接收復位信號115。因為復位信號115一般在開機時應用,結果是在不同開機事件上產生可能不同的觸發(fā)值。
盡管掃描鏈可以用來使用已知值刷新觸發(fā)器,但內部掃描鏈定時的魯棒性可能存在困難。因此,希望不涉及掃描鏈地在視頻解碼器102的功能模式中初始化觸發(fā)器的值。簡單地應用復位信號不能完成適當的觸發(fā)器初始化,因為復位信號不必在相同的時鐘沿到達所有的觸發(fā)器。這使得一些觸發(fā)器比其他觸發(fā)器早復位一個或多個時鐘周期,例如,因為反饋邏輯,較早復位的觸發(fā)器在其他觸發(fā)器被復位時有可能改變其值。例如,在一些包括反饋的邏輯子模塊中,例如包括無窮脈沖響應(IIR)濾波器的子模塊,其輸出不僅依賴于電流輸入,還依賴于原先的輸出值。
為解塊該問題,根據本發(fā)明的一個實施例,如圖3示意性示出,邏輯-BIST電路105選通時鐘信號114。選通時鐘信號114將它從復位信號115分離,使得在復位信號115的有效定時或復位信號115傳播延遲中的不準確性不會引起復位信號115在不同的時鐘周期到達不同的元件。這阻止了未知值傳播到已復位的存儲器或觸發(fā)器。
在相當于幾個時鐘周期118的周期中選通時鐘信號114,該段時間內復位信號115有效(如圖3所示的例子中有效指為低)。時鐘信號114被選通足夠長的時間,以使復位信號115傳播到所有使用復位信號115來初始化的元件。當復位信號115保持有效時,時鐘信號114恢復一定的周期119,使得那些復位信號115到達的元件復位。在我們的例子中,發(fā)現4到20個時鐘周期能夠很好地工作,對于測試下的特定邏輯模塊這可以進行調整。然后時鐘信號114再次被選通相當于幾個時鐘周期120的周期,其中復位信號115失效,進而允許所有的復位元件在下一個時鐘沿看見失效的復位信號115。
需要完全初始化邏輯模塊的時鐘周期數目的實用上邊界能夠使用軟件模擬器確定,該軟件模擬器模擬邏輯模塊102的工作。模擬器中的觸發(fā)器或存儲器的未知的位值可以被指定為“未知”或“未初始化”,并經過邏輯模塊102傳播直到它們被已知值代替。時鐘周期的數目可以一直增加直到不存在未知值,最終的時鐘周期數目可以用來測試邏輯模塊102。
除了初始化觸發(fā)器之外,還對存儲器進行寫入,使得它們在測試之前呈現了已知值。在視頻解碼器102中,大多數存儲器并不用于隨機存取而是用作延遲器,包括n個存儲地址的存儲元件用作n-延遲器。這種n-延遲器的輸入依次經過n個存儲地址轉移,每個輸入在n次移位延遲后準備讀出。因此,為了驅動n-延遲器到具有一組已知值的已知狀態(tài),總共需要n個已知值輸入到n-延遲器。
因為一個特定的n-延遲器可以從觸發(fā)器接收輸入,該觸發(fā)器的值在每m個時鐘周期被刷新,所以需要n·m個時鐘周期來驅動這種n-延遲器到已知狀態(tài)。為達到這點,根據本發(fā)明的一個實施例如圖4中所示,邏輯-BIST電路105在相當于幾個時鐘周期121的周期中選通輸入時鐘信號114,該周期中復位信號115有效。當復位信號115保持有效,時鐘114恢復n·m個時鐘周期122以復位輸入到n-延遲器進而刷新該n-延遲器。時鐘信號114然后再次在相當于幾個時鐘周期123的周期中被選通,在該周期中復位信號115失效,進而允許所有復位元件在下一個時鐘沿看見失效的復位信號115。該過程可以重復(如圖4中所示)以進一步沿著管道刷新n-延遲器。初始化了觸發(fā)器,可以用軟件模擬來確定代表理論n·m值的適當值,以及確定在這種初始化的末尾在n-延遲器中存儲的值。
在初始化觸發(fā)器和存儲器之后,邏輯-BIST電路105啟動圖形發(fā)生器103。圖形發(fā)生器103優(yōu)選地包括一個或多個可由邏輯-BIST電路105編程的寄存器以指示圖形發(fā)生器103的工作模式和選擇一組待產生的測試信號。圖形發(fā)生器產生的信號112可以依照于標準,例如NTSC彩色電視制式(美國國家電視標準委員會指定的彩色電視廣播標準)、PAL制式(逐行倒相彩色電視制式)、SECAM制式(順序傳送彩色信號與存儲恢復彩色信號制式)、組合視頻、S-視頻(“分離的”視頻)、分量視頻或其他類似的標準。圖形發(fā)生器還可以產生能增加測試覆蓋率的非標準信號(例如隨機信號、偽隨機信號或其他不可預測信號)。注意,依賴于輸入信號的特定形狀,視頻解碼器102的一些部分可以保留不被測試,因為并不是視頻解碼器102的每個部分都需要參與解碼每個輸入信號109。因此,為了完全測試視頻解碼器102,圖形發(fā)生器103產生適當的信號圖形,以參與和測試視頻解碼器所需要的盡可能多的部分和功能。注意,因為視頻解碼器一般具有一些內部邏輯,用于在顯示器上提供可見的測試信號,本發(fā)明的圖形發(fā)生器103不代表顯著增加與測試相關的門開銷。
ATE或其他外部機制可以用來觸發(fā)邏輯-BIST電路105和初始化視頻解碼器102的測試,規(guī)定視頻解碼器102的工作模式(從一組工作模式中選出)。邏輯-BIST電路105對圖形發(fā)生器103進行編程以為視頻解碼器102產生一組測試數據,對視頻解碼器102進行編程以在期望的工作模式工作,處理產生的測試數據,和對標記累加器104進行編程以收集視頻解碼器102的輸出。根據下列部件的編程接口(例如一組用于接收命令和輸入以及可選的用于指示輸出的寄存器),經由總線107與該下述部件進行通信,邏輯-BIST電路105對這些部件,即,圖形發(fā)生器103、視頻解碼器102、PLL113和標記累加器104進行編程。
標記累加器104使用CRC(周期冗余檢測)機制來累積整個譯碼器輸出到一個標記。實質上,視頻解碼器102輸出值被壓縮到一個稱為“測試標記”的信號值(或者,備選地,壓縮到一組值)。CRC保證甚至在解碼器102輸出存在微小變化時(例如一位的變化),測試標記不同于正確的參考標記。邏輯-BIST電路105確定標記累加器104讀取視頻解碼器102的連續(xù)輸出的實際次數。在測試的結尾,存儲在CRC輸出寄存器中的終值(標記)是在測試過程中由視頻解碼器102產生的輸出序列的函數。
給定一個特定測試,代表視頻解碼器102的無故障過程的參考標記可以使用軟件模擬計算。邏輯-BIST電路105可以促使該終值被寫入到一個可讀取的寄存器,并與軟件模擬預測的值進行比較。匹配表示好的芯片(即,正確功能的邏輯模塊),而失配則表示該視頻解碼器102邏輯模塊中存在故障。注意,標記失配表示邏輯模塊在測試時存在故障,而不是由邏輯模塊執(zhí)行的當前算法出錯,因為該參考標記通過模擬該邏輯模塊獲得。應當理解的是,除了視頻解碼器102的直接輸出111之外,輸入到測試標記的由CRC收集的位可以包括視頻解碼器102的任何其他內部信號線。這能夠實現特定子模塊的測試或限制故障到視頻解碼器102的特定區(qū)域。
圖5示出了一種根據本發(fā)明實施例的邏輯模塊的實速故障測試方法流程圖。在步驟201,初始化邏輯模塊102的觸發(fā)器和存儲器。在步驟202,觸發(fā)內部邏輯-BIST控制以產生由邏輯模塊102處理的測試信號。在步驟203,從邏輯模塊102的輸出產生測試標記。最后,在步驟204,比較該測試標記和參考標記以確定邏輯模塊102是否通過測試。
盡管本發(fā)明以視頻解碼器邏輯模塊的背景描述,但應當理解的是,它也可以用來測試任何其他類型的接收一組輸入信號和確定性產生一組輸出信號的邏輯模塊。這種邏輯模塊的實例包括語音解碼器,DSP和其他數據管道。
本發(fā)明的一個優(yōu)勢是在邏輯模塊期望的工作速度下實現邏輯模塊故障測試的能力,而不使用復雜ATE用于以正確相位輸入時鐘和測試數據。
本發(fā)明的另一個優(yōu)勢是現場測試給定邏輯模塊的能力。封裝到芯片和制成集成電路面板一部分的邏輯模塊可以被現場工程師簡單地通過將芯片重新編程進入測試模式而進行測試,這樣減少了成本,否則,這些成本將涉及帶面板或芯片到具有復雜或專門測試設備的測試臺。
本發(fā)明的另一個優(yōu)勢是比使用掃描鏈測試方法測試更多門和宏(例如存儲器和PLL)的能力。一些邏輯模塊,在基于掃描鏈的測試方法的預期中,包括輸入兩類輸入到存儲器的復用器一類輸入包括一組門以提供部分邏輯模塊功能,而另一類輸入包括一組門,產生用于存儲器的測試輸入。因為典型的基于掃描鏈的方法單獨測試門和存儲器,復用器不被測試,所以可以隱匿有粘著性故障或其他包括邏輯模塊功能的故障。與此對照,本發(fā)明以全部工作模式測試邏輯模塊,并且作為整體,暴露在單獨測試邏輯模塊部分時可能保持不被測試的故障。
本發(fā)明的另一個優(yōu)勢是提供簡單的ATE接口。因為幾乎所有事情都在芯片內部完成,邏輯-BIST電路通過選通時鐘和復位線控制芯片,該ATE接口保持簡單,并提供一種方法,用于簡單地對邏輯-BIST電路進行編程以選擇測試模式、執(zhí)行測試和收集測試結果。
本發(fā)明的另一個優(yōu)勢在于,不像其他邏輯BIST電路方法,所提供的測試情況不是隨機的,而是設計成盡可能多地測試邏輯模塊的特征。這種能力增加了大多數門中檢測粘著性故障的可能性。
前面描述的本發(fā)明的實施例僅提供說明和描述。它們沒有限制本發(fā)明到所描述的精確形式的意思。根據上面的教導,其他的變形和實施例是可能的,本發(fā)明的范圍不是由這些詳細描述限定,而是由下面的權利要求書限定。
權利要求
1.一種半導體裝置,包括邏輯模塊,其具有與時鐘信號和復位信號相連的一組觸發(fā)器和存儲器;圖形發(fā)生器,用以產生一組由邏輯模塊處理的測試信號;標記累加器,在處理測試信號時基于由邏輯模塊產生的一組輸出產生測試標記;和內建自測試(邏輯-BIST)電路,用以初始化觸發(fā)器和存儲器和初始化邏輯模塊的測試;其中初始化觸發(fā)器和存儲器使得它們同時存儲已知值,而不管觸發(fā)器和存儲器上的復位信號的定時變化或傳播延遲。
2.如權利要求1所述的半導體裝置,該邏輯-BIST電路通過執(zhí)行下面步驟來初始化觸發(fā)器和存儲器(a)選通時鐘信號;(b)使復位信號有效;(c)恢復時鐘信號同時保持復位信號有效;(d)再次選通時鐘信號;和(e)使復位信號失效。
3.如權利要求2中所述的半導體裝置,該邏輯-BIST電路進一步用以比較測試標記和參考標記,該參考標記代表邏輯模塊的一組測試信號的無故障處理的結果。
4.如權利要求3中所述的半導體裝置,其中參考標記通過模擬在該組測試信號上邏輯模塊的無故障工作而計算。
5.如權利要求2中所述的半導體裝置,其中邏輯模塊包括視頻解碼器邏輯模塊用于解碼視頻信號,并且圖形發(fā)生器根據選自NTSC、PAL、SECAM、組合視頻、S視頻和分量視頻組成的組中的標準或根據非標準輸入而產生該組測試信號以增加故障覆蓋率。
6.如權利要求2中所述的半導體裝置,其中標記累加器包括周期冗余檢測(CRC),通過增強壓縮由邏輯模塊產生的輸出組而產生測試標記。
7.如權利要求2中所述的半導體裝置,其中邏輯-BIST電路確定標記累加器該取邏輯模塊產生的輸出組的次數。
8.如權利要求1所述的半導體裝置,該邏輯模塊具有存儲元件,該邏輯-BIST進一步用于通過用已知值刷新存儲元件而使其初始化。
9.一種測試邏輯模塊的方法,該邏輯模塊具有一組與時鐘信號和復位信號相連的觸發(fā)器,該方法包括初始化該組觸發(fā)器;產生一組由邏輯模塊處理的測試信號;和在處理測試信號時,基于邏輯模塊產生的一組輸出而產生測試標記;其中初始化該組觸發(fā)器使得它們同時存儲已知值,而不管該組觸發(fā)器上的復位信號的定時變化或傳播延遲。
10.如權利要求9中所述的方法,其中初始化該組觸發(fā)器包括以下步驟;(a)選通時鐘信號;(b)使復位信號有效;(c)恢復時鐘信號同時保持復位信號有效;(d)再次選通時鐘信號;和(e)使復位信號失效。
11.如權利要求10中所述的方法,進一步包括比較測試標記和參考標記,該參考標記代表邏輯模塊的該組測試信號無故障處理的結果。
12.如權利要求11中所述的方法,其中參考標記通過模擬該組測試信號上的邏輯模塊的無故障工作而計算。
13.如權利要求10中所述的方法,其中邏輯模塊包括解碼視頻信號的視頻解碼器邏輯模塊,該組測試信號根據一個標準產生,該標準選自由NTSC、PAL、SECAM,組合視頻、S視頻和分量視頻組成的組。
14.如權利要求10中所述的方法,其中產生測試標記包括增強壓縮由邏輯模塊產生的輸出組。
15.如權利要求14中所述的方法,其中該輸出組的增強壓縮包括使用線性反饋移位寄存器(LFSR)。
16.如權利要求10中所述的方法,其中由圖形發(fā)生器執(zhí)行產生一組測試信號,該圖形發(fā)生器存在于與邏輯模塊相同的半導體裝置中。
17.如權利要求10中所述的方法,其中由標記累加器執(zhí)行產生測試標記,該累加器存在于與邏輯模塊相同的半導體裝置中。
18.如權利要求10中所述的方法,其中由內建自測試(邏輯-BIST)電路執(zhí)行初始化該組觸發(fā)器,該內建自測試電路存在于與邏輯模塊相同的半導體裝置中。
19.如權利要求9中所述的方法,邏輯模塊具有存儲元件,其進一步包括通過已知值刷新所述存儲元件而使之初始化。
20.如權利要求19中所述的方法,其中刷新存儲元件包括以下步驟(a)選通時鐘信號;(b)使復位信號有效;(c)恢復時鐘信號同時保持復位信號有效;(d)再次選通時鐘信號;和(e)使復位信號失效。
全文摘要
使用內置于芯片的實速邏輯-BIST,邏輯模塊和具有芯片內部邏輯門的宏接口的自動故障測試的系統(tǒng)和方法。在初始化內部存儲元件之后,產生一組測試信號并被該邏輯模塊處理。該邏輯模塊的輸出被累積到一個標記并與參考標記相比較以檢測故障??梢允褂煤唵蔚臏y試矢量在ATE(自動測試設備)上執(zhí)行測試,或可以由現場工程師在包括芯片的實際面板上執(zhí)行。
文檔編號G01R31/317GK1818701SQ20051011357
公開日2006年8月16日 申請日期2005年10月13日 優(yōu)先權日2004年10月15日
發(fā)明者V·C·穆斯拉巴德, R·舍蒂加拉 申請人:創(chuàng)世紀微芯片公司