專利名稱:有多用途存儲器的測試器系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本申請涉及集成電路測試。
背景技術(shù):
在典型的集成電路測試系統(tǒng)中,測試模式序列(“測試序列”)加到被測器件(DUT)的插針。許多不同類型的測試模式可用于測試特定DUT包含的不同邏輯部分,例如,掃描模式,功能模式,算法模式和模擬模式。某些類型測試模式以串行方式(例如,掃描模式)加到DUT插針,而其他類型測試模式以并行方式(例如,功能模式,模擬模式和算法模式)加到一組插針。與DUT的結(jié)構(gòu)有關(guān),測試序列可以包括輸出組合的測試模式,即,同時輸出多種類型測試模式到DUT的不同插針。
在測試序列期間,DUT可以從輸出插針輸出測試“結(jié)果”。所以,測試系統(tǒng)可以包括連接到DUT的一個或多個輸入通道以接收測試序列期間的測試結(jié)果。
發(fā)明內(nèi)容
按照本發(fā)明的第一方面,一種用于測試集成電路的設(shè)備,該設(shè)備包括有輸出通道的序列控制邏輯單元,輸出通道可以連接到被測器件,和至少存儲兩種類型數(shù)據(jù)組的存儲器,序列控制邏輯單元利用每個數(shù)據(jù)組以確定輸出通道上輸出的測試模式。
還可以包括一個或多個以下的特征其中存儲器還配置成至少存儲一個測試序列程序,它包含序列控制邏輯單元的可執(zhí)行指令,其中在設(shè)備運行期間,測試序列程序是由序列控制邏輯單元執(zhí)行。其中序列控制邏輯單元還包括有連接讀寫隊列的存儲器接口,用于從至少兩個單獨請求器接收存儲器的訪問請求。其中序列控制邏輯單元還包括連接的指令超高速緩沖存儲器,用于接收和保持來自存儲器接口的可執(zhí)行指令。其中序列控制邏輯單元還包括多個數(shù)據(jù)緩沖器,每個數(shù)據(jù)緩沖器與請求器相關(guān),每個數(shù)據(jù)緩沖器還配置成存儲從存儲器接口接收的數(shù)據(jù)。其中存儲器還配置成存儲從被測器件接收的測試結(jié)果。該設(shè)備還包括結(jié)果超高速緩沖存儲器,用于存儲從被測器件接收的測試結(jié)果。其中序列控制邏輯單元還包括多個模式控制邏輯塊,基于從存儲器中存儲的兩個數(shù)據(jù)組中一個數(shù)據(jù)組接收的數(shù)據(jù),多個模式控制邏輯塊中至少一個邏輯塊配置成輸出測試模式。其中存儲器中存儲的測試數(shù)據(jù)組包括代表功能數(shù)據(jù),掃描數(shù)據(jù),和數(shù)字化模擬數(shù)據(jù)中的至少一個數(shù)據(jù)組。該設(shè)備還包括連接到存儲器接口的前端處理器,在執(zhí)行程序之前,前端處理器配置成裝入數(shù)據(jù)組和可執(zhí)行測試序列程序。該設(shè)備還包括多個選擇復(fù)用器,用于從多個模式控制邏輯塊中對應(yīng)一個邏輯塊至少接收一個輸出位;和數(shù)據(jù)選擇邏輯塊,用于控制多個選擇復(fù)用器中每個復(fù)用器的輸出。其中基于存儲器中存儲的部分指令作為部分測試序列程序,數(shù)據(jù)選擇邏輯塊確定多個選擇復(fù)用器中每個復(fù)用器的選擇碼。其中數(shù)據(jù)選擇邏輯塊包含被索引的表,和其中基于部分的指令,連接的數(shù)據(jù)選擇邏輯塊接收索引。該設(shè)備還包括有第二輸出通道的第二序列控制邏輯單元,第二輸出通道可連接到被測器件的輸入插針;和至少存儲一種類型數(shù)據(jù)組和第二可執(zhí)行測試程序的第二存儲器,第二序列控制邏輯單元利用第二存儲器中存儲的每個數(shù)據(jù)組以確定第二輸出通道上輸出的測試模式。該設(shè)備還包括連接前端處理器與第一和第二序列控制邏輯單元的控制線,其中在設(shè)備運行期間,控制線用于發(fā)送同步信號到第一和第二控制單元以協(xié)調(diào)第一和第二測試序列程序的執(zhí)行以及協(xié)調(diào)測試模式輸出到單個被測器件,被測器件可連接到第一和第二序列控制單元的輸出通道。
按照本發(fā)明的另一個方面,一種物品包括有存儲指令的存儲媒體,在機(jī)器執(zhí)行該指令時得到以下的結(jié)果在存儲器中至少存儲兩種類型數(shù)據(jù)組,序列控制邏輯單元利用每個數(shù)據(jù)組以確定一個或多個輸出通道輸出的測試模式,這些輸出通道可以連接到被測器件的輸入插針。
還可以包括一個或多個以下的特征其中存儲操作還包括在存儲器中至少存儲一個測試序列程序,該測試序列程序包含序列控制邏輯單元的可執(zhí)行指令。該物品還包括在存儲器的接口中排隊來自多個請求器的存儲器訪問請求。該物品還包括在指令高速緩沖存儲器中存儲從存儲器接口接收的指令。該物品還包括在多個數(shù)據(jù)緩沖器中存儲從存儲器接口接收的數(shù)據(jù),每個數(shù)據(jù)緩沖器與多個請求器中的一個請求器相關(guān)。該物品還包括在存儲器中存儲從被測器件接收的測試結(jié)果。其中存儲操作還包括在結(jié)果高速緩沖存儲器中存儲從被測器件接收的測試結(jié)果;和從結(jié)果高速緩沖存儲器中寫入存儲的測試結(jié)果到存儲器接口。該物品還包括從多個模式控制邏輯塊中至少一個邏輯塊輸出測試模式到輸出通道,測試模式是基于從存儲器存儲的數(shù)據(jù)組中接收的數(shù)據(jù)。該物品還包括在多個復(fù)用器中的每個復(fù)用器中,從多個模式控制邏輯塊中對應(yīng)的一個邏輯塊至少接收一個輸出位;和從多個復(fù)用器中的每個復(fù)用器中至少選擇一個輸出位。其中選擇操作還包括基于存儲器中存儲的部分指令作為部分測試序列程序,確定多個復(fù)用器中每個復(fù)用器的選擇碼。
按照本發(fā)明的另一個方面,一種用于測試集成電路的方法,包括在存儲器中至少存儲兩種類型的數(shù)據(jù)組,序列控制邏輯單元利用每個數(shù)據(jù)組以確定一個或多個輸出通道輸出的測試模式,這些輸出通道可以連接到被測器件的輸入插針。
還可以包括一個或多個以下的特征其中存儲操作還包括在存儲器中至少存儲一個測試序列程序,該測試序列程序包含序列控制邏輯單元的可執(zhí)行指令。該方法還包括在存儲器的接口排隊來自多個請求器的存儲器訪問請求。該方法還包括在指令高速緩沖存儲器中存儲從存儲器接口接收的指令。該方法還包括在多個數(shù)據(jù)緩沖器中存儲從存儲器接口接收的數(shù)據(jù),每個數(shù)據(jù)緩沖器是與多個請求器中的一個請求器相關(guān)。該方法還包括在存儲器中存儲從被測器件接收的測試結(jié)果。其中存儲操作還包括在結(jié)果高速緩沖存儲器中存儲從被測器件接收的測試結(jié)果;和從結(jié)果高速緩沖存儲器寫入存儲的測試結(jié)果到存儲器接口。該方法還包括從多個模式控制邏輯塊中至少一個邏輯塊輸出測試模式到輸出通道,測試模式是基于從存儲器存儲的數(shù)據(jù)組中接收的數(shù)據(jù)。該方法還包括在多個復(fù)用器的每個復(fù)用器中,從多個模式控制邏輯塊的對應(yīng)一個邏輯塊中至少接收一個輸出位;和從多個復(fù)用器的每個復(fù)用器中至少選擇一個輸出位。其中選擇操作還包括基于存儲器中存儲的部分指令作為部分測試序列模式,確定多個復(fù)用器中每個復(fù)用器的選擇碼。
本發(fā)明的實施例可以有一個或多個以下的優(yōu)點。例如,利用單個多用途存儲器可以降低設(shè)備的成本,因為用于測試DUT所要求的每種不同類型測試模式不需要單獨的存儲器。此外,利用單個多用途可以增大設(shè)備的可靠性,因為可以減少單獨元件的數(shù)目,即,可以減少每種類型測試模式所需的存儲器和單獨邏輯塊的數(shù)目。而且,與使用有多個分區(qū)存儲器的系統(tǒng)比較,設(shè)備的編程和使用是相對地簡單,因為僅僅一個存儲器需要從單個源裝入。
圖1是第一個實施例的集成電路測試系統(tǒng)方框圖。
圖2是第二個實施例的集成電路測試系統(tǒng)方框圖。
圖3是第三個實施例的集成電路測試系統(tǒng)方框圖。
具體實施例方式
參照圖1,一種用于測試被測器件(DUT 70)的集成電路測試系統(tǒng)10包括序列控制邏輯塊20(SCL 20),多用途存儲器60,前端處理器65(FEP 65),輸出通道50,和輸入通道51。在系統(tǒng)10運行期間,可執(zhí)行測試序列程序60a和測試數(shù)據(jù)組60b-60n裝入到存儲器60。每組測試數(shù)據(jù)60b-60n可以對應(yīng)于不同類型的測試模式,用于測試DUT 70內(nèi)包含的一段邏輯塊。在裝入到存儲器60之后,SCL 20讀出和執(zhí)行程序60a中的指令,SCL 20讀出和利用一個或多個數(shù)據(jù)組60b-60n中的數(shù)據(jù)塊,用于產(chǎn)生組合測試模式并把它從輸出通道50輸出到DUT 70。
常規(guī)的測試系統(tǒng)往往包含單獨的邏輯塊,用于產(chǎn)生測試DUT所要求的每個特定測試模式。典型的是,每個單獨的特定模式邏輯塊包括單獨的存儲器,用于存儲數(shù)據(jù)組和/或算法信息以產(chǎn)生特定類型測試模式。與此對比,系統(tǒng)10僅包含一個多用途存儲器60,它可用于存儲多個數(shù)據(jù)組,其中每個數(shù)據(jù)組對應(yīng)于測試DUT所要求的不同類型測試模式。存儲器60還可用于存儲系統(tǒng)10的一個或多個可執(zhí)行測試序列程序。此外,存儲器60還可用于測試結(jié)果(“俘獲”或“失敗”),即,在測試期間從DUT接收的輸出結(jié)果。使用統(tǒng)一的多用途存儲器可以降低系統(tǒng)10的成本,因為對于測試DUT所要求的每種不同類型測試模式,它不需要單獨的存儲器。此外,使用統(tǒng)一的存儲器可以增大系統(tǒng)10的可靠性,因為可以減少單獨元件的數(shù)目,即,可以減少每種類型測試模式的存儲器和單獨邏輯塊的數(shù)目。而且,與使用有多個分區(qū)存儲器的系統(tǒng)比較,系統(tǒng)10的編程和使用是相對地簡單,因為僅僅一個存儲器需要從單個源(例如,前端處理器65)裝入。
仍然參照圖1,SCL 20包括序列控制處理器25(SCP 25),它執(zhí)行測試序列程序60a,而且還控制一系列模式控制邏輯塊37a-37c(PCL 37a-37c)和算法控制邏輯塊41(APG 41)的輸出。在由SCP 25啟動之后,APG 41產(chǎn)生基于算法的輸出位模式,可以利用硬件或執(zhí)行程序60a期間或之前裝入的軟件程序?qū)崿F(xiàn)該算法。使用的具體算法取決于所要求的測試類型和DUT的特性。SPL控制塊37a是指基于數(shù)據(jù)組確定輸出合適SCAN位的控制塊。APL控制塊37b是指基于數(shù)據(jù)組確定輸出合適數(shù)字化模擬位的控制塊。F CTRL 37c是指基于數(shù)據(jù)組確定輸出合適功能數(shù)據(jù)位的控制塊。
連接的PCL 37a-37c用于接收來自存儲器60中存儲的數(shù)據(jù)組60b-60n的數(shù)據(jù)塊。PCL 37a-37c和APG 41的輸出39a-39d輸入到選擇復(fù)用器43(MUX 43)。組合的位模式是從總線44上的MUX 43輸出,控制線40上的SCP 25控制選取的組合位模式。然后,經(jīng)事件邏輯塊47和插針電子塊49發(fā)送總線44上的組合位模式。連接的SCP25發(fā)送功能信號到控制線46上的事件邏輯塊47。事件邏輯塊47和插針電子塊49利用控制線46上的功能信號以確定DUT 70所要求的合適輸出信號特性。更詳細(xì)地說,事件邏輯塊47和插針電子塊49利用功能信號46以確定發(fā)送到DUT 70的輸出信號的合適工作特性,例如,與輸出通道50連接的DUT 70中每個插針?biāo)蟮亩〞r,電壓電平和/或電流電平。
為了訪問存儲器60,SCL 20包括存儲器接口/頁面請求假脫機(jī)系統(tǒng)(spooler)29(MIPRS 29),它借助于存儲器總線61連接到存儲器60。MIPRS 29包括連接的讀寫隊列29a,用于接收SCL 20內(nèi)各種邏輯塊(“請求器”)的數(shù)據(jù)和指令讀寫請求。讀寫隊列29a允許MIPRS 29保持多個讀寫請求并再對這些請求進(jìn)行處理。在系統(tǒng)10的這個實施方案中,請求器包括SCP 25(它請求程序60a中的指令),PCL 37a-37c(每個PCL可以請求數(shù)據(jù)組60b-60n中的數(shù)據(jù)),和PE49(在輸入通道51上從DUT 70接收到結(jié)果時,它可以請求數(shù)據(jù)寫入)。每個請求器還包括相關(guān)的高速緩沖存儲器[或緩沖器](例如,一組FIFO寄存器),用于保持?jǐn)?shù)據(jù)或指令的緩沖,它足以允許第一請求器繼續(xù)運行,而同時允許MIPRS 29處理來自第二請求器的讀出或?qū)懭胝埱?。更詳?xì)地說,SCL 60包括連接到MIPRS 29的指令高速緩沖存儲器25a和結(jié)果高速緩沖存儲器31,它們分別用于存儲從存儲器60讀出的指令和寫入到存儲器60的結(jié)果數(shù)據(jù)。類似地,每個PCL37a-37c包括FIFO寄存器38a-38c,它們用于保持從存儲器60讀出的測試數(shù)據(jù)和從總線34上MIPRS 29接收的測試數(shù)據(jù)。
SCL 20還包括總線接口塊27,它通過總線28連接到MIPRS 29??偩€接口塊27還通過總線26連接到前端處理器65和通過總線26連接到序列控制處理器25(SCP 25)。在系統(tǒng)10運行期間,通過總線接口27和MIPRS 29發(fā)射程序和數(shù)據(jù)組,前端處理器65裝入測試序列程序60a和測試數(shù)據(jù)組60b-60n到存儲器60。
典型的是,在測試序列程序60a和數(shù)據(jù)組60b-60n裝入到存儲器60之前,程序員(“用戶”)指定測試DUT 70所要求的測試模式。用戶可以在前端處理器65上執(zhí)行測試序列發(fā)生程序。測試序列發(fā)生程序允許用戶利用與前端處理器65連接的輸入/輸出裝置(例如,鍵盤或鼠標(biāo),未畫出)作DUT測試選擇。更詳細(xì)地說,在執(zhí)行測試程序(“測試序列”)期間,測試序列發(fā)生程序允許用戶選擇和指定DUT 70中每個插針?biāo)蟮臏y試模式類型和輸出到DUT 70的順序模式數(shù)目。在測試序列期間,用戶還可以選擇和指定來自DUT輸出插針的預(yù)期結(jié)果。基于用戶的選擇,測試序列發(fā)生程序匯編測試序列程序60a,因此,在SCL 20執(zhí)行測試序列程序60a期間,每個特定DUT插針?biāo)璧暮线m測試模式是在合適的時間輸出。用戶還可以指定DUT 70的物理特性,例如,DUT 70所要求的時鐘速度和/或工作電壓電平。在這種情況下,測試序列程序60a還包括反映DUT物理特性的命令(或命令字段),因此,從SCL 20輸出和輸入到DUT的測試模式信號被“調(diào)節(jié)”成與DUT的工作信號要求匹配,如以下所解釋的。
總線接口27包括幾個寄存器REGa-REGn,前端處理器65利用這些寄存器存儲程序60a的起始地址和存儲器60中存儲的每個數(shù)據(jù)組的起始(“基”)地址。每個數(shù)據(jù)組的基地址和長度可以變化。在系統(tǒng)10運行期間,在數(shù)據(jù)組寫入到存儲器60之前,前端處理器65寫入每個數(shù)據(jù)組的基地址到一個寄存器REGa-REGn?;刂钒l(fā)送到MIPRS 29,MIPRS 29利用該基地址確定后續(xù)寫入數(shù)據(jù)組的位置。MIPRS 29還利用每個數(shù)據(jù)組的基地址以確定從模式控制塊37a-37c接收的后續(xù)讀出位置,即,確定相對于每個數(shù)據(jù)組基地址的數(shù)據(jù)組內(nèi)后續(xù)讀出地址。
連接的前端處理器65借助于信號總線68發(fā)送命令信號到SCP25。在測試序列程序60a和測試數(shù)據(jù)60b-60n裝入到存儲器60之后,前端處理器65發(fā)送“START”信號到信號總線68上的SCP 25,該信號使SCP 25開始執(zhí)行測試序列程序60a。當(dāng)SCP 25從FEP 65接收到“START”信號時,SCP 25發(fā)送程序60a的起始地址(存儲在一個寄存器REGa-REGn中)到MIPRS 29。MIPRS 29從發(fā)送的起始地址開始讀出程序60a中的指令塊,然后傳送讀出的指令到指令高速緩沖存儲器25a,指令高速緩沖存儲器25a再把這些指令到指令傳送到總線33上的SCP 25。
如以上所描述的,寄存器REGa-REGn用于存儲存儲器60中存儲的每組測試數(shù)據(jù)60b-60n的基地址。一旦SCP 25開始執(zhí)行程序60a,SCP 25通過總線接口27讀出并傳送這些基地址到MIPRS 29以啟動每個數(shù)據(jù)組的首次讀出請求。后續(xù)的讀出請求是從請求的PCL37a-37c發(fā)送到MIPRS 29,PCL 37a-37c需要來自數(shù)據(jù)組60b-60n中的附加數(shù)據(jù)。類似地,當(dāng)SCP 25要求附加的指令時,SCP 25發(fā)送指令讀出請求到MIPRS 29。MIPRS 29接收的每個讀出請求使MIPRS29讀出測試數(shù)據(jù)組60b-60n中的一頁數(shù)據(jù)或指令,并返回一頁數(shù)據(jù)到請求器。“頁”是指數(shù)據(jù)或指令的長度,每種請求器能夠把它存儲到其相關(guān)的緩沖器中。每種請求器可以有不同的頁面長度。
SCP 25是由控制線29連接以分別控制每個FIFO 38a-38c中保持的數(shù)據(jù)前進(jìn)到每個控制塊37a-37c的輸出39a-39c。SCP 25還由控制線27連接到APG 41以控制算法模式的輸出39d到MUX 43。SCP25還由選擇線40連接到MUX 43以控制總線44上組合位模式的選擇。在系統(tǒng)10運行期間,當(dāng)SCP 25接收到測試序列程序60a中每個可執(zhí)行指令時,該指令被SCP 25解碼。在該執(zhí)行循環(huán)期間,SCP 25確定每個PCL 37a-37c和APG 41所要求的輸出位。基于這個確定,通過在控制線29和控制線27上分別發(fā)送前進(jìn)信號,SCP 25從每個PCL37a-37c和APG 41推進(jìn)合適位到輸出39a-39c。然后,SCP 25在控制總線40上確定和輸出選擇碼到MUX 43。選擇碼對應(yīng)于DUT 70中每個插針?biāo)付ǖ臏y試模式,從而給每個模式控制塊37a-37c和APG 41選擇合適位。作為一個例子,若MUX輸出總線44是32位寬(其位的位置是從位0至位31),則指令可以指定位0作為SPL控制塊37a的掃描位,而位1至位31作為APL控制塊37b的模擬位。所以,在總線29上發(fā)送前進(jìn)信號以輸出SPL控制塊37a中的1位和APL控制塊37b中的31位。然后,SCP 25發(fā)送選擇碼以選擇從SPL塊37a和APL塊37b輸出的位,用于形成MUX 43的組合輸出模式,在這種情況下,組合SPL塊37a中的位0和APL塊37b中的位1-位31。
總線44上輸出的組合位模式輸入到事件邏輯塊45。事件邏輯塊45還在線路46上從SCP 25接收功能控制信號。功能信號反映與輸出通道50連接的DUT 70中每個插針?biāo)蟮妮敵鲂盘柟ぷ魈匦?。事件邏輯塊47傳送總線48上的數(shù)字信號模式和總線46a上的調(diào)節(jié)信號到插針電子塊49(PE 49)??偩€48上的數(shù)字信號模式是基于DUT 70所要求的定時。然后,PE 49按照總線46a上的調(diào)節(jié)信號“調(diào)節(jié)”接收的數(shù)字信號模式,例如,放大輸出信號的電壓,和/或把數(shù)字信號模式轉(zhuǎn)換成模擬輸出信號和/或調(diào)整DUT 70中一個插針或插針組所要求的輸出信號定時。
從PE 49到DUT 70的調(diào)節(jié)輸出信號是在與DUT插針70a-70d連接的信號通道50上輸出。當(dāng)測試模式輸出到DUT 70上時,測試結(jié)果可以輸入到輸入通道51上的SCL 20,輸入通道51連接到DUT 70中的插針70e。然后,接收的結(jié)果通過總線49a發(fā)送并存儲在結(jié)果高速緩沖存儲器31。若結(jié)果高速緩沖存儲器31已存儲整個頁面結(jié)果,則結(jié)果高速緩沖存儲器31發(fā)送寫入請求給MIPRS 29以寫入該頁結(jié)果到存儲器60。在此之后,存儲器60中存儲的結(jié)果可以由前端處理器65或SCP 25檢索。在執(zhí)行程序60a期間,SCP 25可以利用接收的結(jié)果以確定執(zhí)行程序60a的指令流程(例如,基于接收的結(jié)果作出轉(zhuǎn)移確定)。
存儲器60可用于存儲許多類型的測試數(shù)據(jù)組和/或測試程序,每個類型可能對應(yīng)于不同類型的測試模式。例如,數(shù)據(jù)組類型可以包括功能數(shù)據(jù)(“F數(shù)據(jù)”),掃描數(shù)據(jù)和數(shù)字化模擬數(shù)據(jù)。然而,表示成數(shù)字格式的任何類型數(shù)據(jù)可以存儲到存儲器60并從其中讀出。
與特定數(shù)據(jù)組60b-60n相關(guān)的鏈接表可以與數(shù)據(jù)組一起存儲在存儲器60。鏈接表包含數(shù)據(jù)組中不同段的指針,并允許數(shù)據(jù)組以非線性的方式存儲到存儲器60并隨后從其中讀出。在這種情況下,特定的PCL 37a-37c可以在它們相關(guān)的FIFO寄存器38a-38c中請求和存儲鏈接表,存儲的鏈接表可用于訪問存儲器60存儲的各段數(shù)據(jù)組,并基于這些鏈接表進(jìn)行組織。
多用途存儲器60可以是‘PC標(biāo)準(zhǔn)’存儲器,即,配置成按照PC標(biāo)準(zhǔn)通信協(xié)議工作的存儲器。在這種情況下,存儲器60可以用另一個PC標(biāo)準(zhǔn)存儲器代替。此外,可以利用多芯片組配置存儲器60,例如,它可以被單個地址/數(shù)據(jù)總線61和MIPRS 29尋址,存儲器60可以是“雙列直插式存儲器”(DIMM)。一般地說,可以利用任何的物理或電存儲器結(jié)構(gòu),它能夠作為單個統(tǒng)一的存儲器地址空間被訪問。
參照圖2,第二個實施例的測試系統(tǒng)10包括數(shù)據(jù)選擇邏輯塊10a(DSL 10a)。DSL 10a描述從PCL 37a-37c和APG 41選擇和分配組合位模式的另一種方法。在一些情況下,一組模式控制邏輯塊的輸出線路數(shù)目,例如,PCL 37a-37c和APG 41,可以超過單個復(fù)用器的輸入線路容量,例如,MUX 43。所以,利用數(shù)據(jù)選擇查閱邏輯塊42(DSLLB 42)的輸出控制多個復(fù)用器43a-43f,DSL 10a能夠使相對大數(shù)目的輸入被復(fù)用。更詳細(xì)地說,每個PCL 37a-37c和APG 41在總線39a-39d上分別輸出32位數(shù)據(jù)。連接的16個選擇復(fù)用器43a-43p用于分別從PCL 37a-37c和APG 41的每個輸出總線39a-39n接收2位。然后,選擇每個MUX 43a-43p在16個輸出總線D(0:1)-D(30:31)上分別輸出2位,從而在總線44上形成組合位模式。為了在總線44上選擇合適的組合位模式,在執(zhí)行測試序列程序60a之前,DSLLB 42裝入索引查詢表。連接的DSLLB 42用于從線路40上的SCP 25接收4位數(shù)據(jù)選擇索引40a(DS索引0:3),然后,分別輸出3位選擇碼到選擇線路43a-43p上的每個MUX 43a-43p。數(shù)據(jù)選擇索引40a對應(yīng)于系統(tǒng)10運行期間從存儲器60或RAM 75取出的SDS指令33a的部分操作數(shù)字段。在這種情況下,SCP 25解碼SDS指令并輸出對應(yīng)的4位數(shù)據(jù)選擇索引40a(DS索引0:3)到DSLLB 42。DSLLB 42利用接收的4位‘DS索引’索引進(jìn)入存儲的查詢表并分別輸出16個單獨的3位選擇碼到每個MUX 43a-43p,其中每個3位碼是在分開的選擇總線45a-45p上。
這種用于控制具有索引查詢表的多個復(fù)用器方法可以允許有相對短操作碼字段的可執(zhí)行指令控制相對大數(shù)目的復(fù)用器。在這種情況下,SDS指令被匯編和利用4位操作碼字段表示并用于選擇16個3位選擇碼,這些選擇碼分別在線路45a-45p上從DSLLB 42輸出。這種方法的優(yōu)點是,相對小的操作碼用于產(chǎn)生足夠多的單個選擇碼以控制多個復(fù)用器。
組合位模式44可以分割并分配到集成電路的不同物理部分或不同的電路板。例如,輸出總線44的32位被分成2個16位組,分別為D(0-15)和D(16-31),其中各自被分配到不同的電路板或集成電路。這可以是這樣的情況,其中用于控制32位測試模式所要求的邏輯數(shù)目超過單個集成電路或電路板的電路容量。
參照圖3,第三個實施例的集成電路測試系統(tǒng)100包括幾個測試序列發(fā)生器板80a-80n,每個序列發(fā)生器板分別包含多個序列控制邏輯塊(SCL)20a-20b,20c-20d,和20m-20n。每個SCL 20a-20n經(jīng)輸入通道51a-51n和輸出通道50a-50n連接到DUT中的一組輸入/輸出插針。每個SCL 20a-20n連接到相關(guān)的多用途存儲器81a-81n,這些存儲器按照與上述存儲器60類似的方式工作,即,每個存儲器81a-81n用于保持測試序列程序和輸出測試模式到DUT 70的多個數(shù)據(jù)組。系統(tǒng)100包括前端處理器65(FEP 65),前端處理器65是由控制總線61和數(shù)據(jù)總線62連接到每個SCL。數(shù)據(jù)總線62按照“菊花鏈”方式分別連接到每個SCL 20a-20n中包含的總線接口塊27a-27n。每個總線接口塊27a-27n連接到相關(guān)的存儲器81a-81n。
在系統(tǒng)100運行期間,F(xiàn)EP 65經(jīng)總線62裝入可執(zhí)行測試序列程序,通過總線接口塊27a-27n并進(jìn)入相關(guān)的存儲器81a-81n。裝入到每個存儲器81a-81n的可執(zhí)行程序和測試數(shù)據(jù)組適合于分別連接到每個SCL處理器20a-20n的每個插針。然后,F(xiàn)EP 65通過控制總線61發(fā)出“START”信號到每個SCL以啟動測試程序的執(zhí)行。
在DUT 70的測試期間,F(xiàn)EP 65可以在總線61上發(fā)送同步(“SYNCH”)信號到兩個(或多個)SCL處理器以同步這兩個SCL處理器的運行。為了協(xié)調(diào)多個SCL的同步運行,系統(tǒng)10a還可以包含系統(tǒng)時鐘90,系統(tǒng)時鐘90經(jīng)時鐘線路91連接到每個SCL處理器。
控制總線61可以是雙向的,并允許FEP 65和每個SCL 20a-20n互相發(fā)送和接收協(xié)調(diào)信號。例如,在確定為失敗的測試結(jié)果的測試期間,SCL 20a可以在輸入通道51a上接收測試輸出。然后,SCL 20a可以在控制總線61上發(fā)送指出確定失敗的協(xié)調(diào)信號到另一個SCL,例如,SCL 20c。SCL 20c可以利用從SCL 20a接收的結(jié)果以確定執(zhí)行它自己的測試序列程序的流程,或暫停執(zhí)行它的測試序列程序。
統(tǒng)一的存儲器60不必用于測試系統(tǒng)中所有單獨的特定模式邏輯塊。相反地,統(tǒng)一的存儲器可以服務(wù)于兩個或多個單獨的特定模式邏輯塊,與此同時,其他的邏輯塊仍然可以有專用的存儲器和/或分享單獨的統(tǒng)一存儲器地址空間。
上述實施例中測試集成電路的過程(或方法)不限于利用圖1至3所示的硬件和軟件。以下稱之為過程200的該過程可以在任何計算或處理環(huán)境中找到它的應(yīng)用??梢岳糜布浖蚨叩慕M合實現(xiàn)過程200。過程200可以在可編程計算機(jī)或其他機(jī)器上執(zhí)行的計算機(jī)程序中實現(xiàn),這些機(jī)器中的每個機(jī)器包含處理器和該處理器可讀出的存儲媒體。
此處沒有描述的其他實施例也是在以下權(quán)利要求書的范圍內(nèi)。
權(quán)利要求
1.一種用于測試集成電路的設(shè)備,該設(shè)備包括有輸出通道的序列控制邏輯單元,輸出通道可連接到被測器件;和至少存儲兩種類型數(shù)據(jù)組的存儲器,序列控制邏輯單元利用每個數(shù)據(jù)組以確定輸出通道上輸出的測試模式。
2.按照權(quán)利要求1的設(shè)備,其中存儲器還配置成至少存儲一個測試序列程序,它包含序列控制邏輯單元的可執(zhí)行指令,其中,在設(shè)備運行期間,測試序列程序是由序列控制邏輯單元執(zhí)行。
3.按照權(quán)利要求2的設(shè)備,其中序列控制邏輯單元還包括有連接讀寫隊列的存儲器接口,用于從至少兩個單獨請求器接收存儲器的訪問請求。
4.按照權(quán)利要求3的設(shè)備,其中序列控制邏輯單元還包括連接的指令超高速緩沖存儲器,用于接收和保持來自存儲器接口的可執(zhí)行指令。
5.按照權(quán)利要求3的設(shè)備,其中序列控制邏輯單元還包括多個數(shù)據(jù)緩沖器,每個數(shù)據(jù)緩沖器與請求器相關(guān),每個數(shù)據(jù)緩沖器存儲從存儲器接口接收的數(shù)據(jù)。
6.按照權(quán)利要求3的設(shè)備,其中存儲器還配置成存儲從被測器件接收的測試結(jié)果。
7.按照權(quán)利要求6的設(shè)備,還包括結(jié)果超高速緩沖存儲器,用于存儲從被測器件接收的測試結(jié)果。
8.按照權(quán)利要求3的設(shè)備,其中序列控制邏輯單元還包括多個模式控制邏輯塊,基于從存儲器中存儲的一個數(shù)據(jù)組接收的數(shù)據(jù),多個模式控制邏輯塊中至少一個邏輯塊配置成輸出測試模式。
9.按照權(quán)利要求8的設(shè)備,其中存儲器中存儲的至少一個數(shù)據(jù)組包括代表功能數(shù)據(jù)、掃描數(shù)據(jù)、和數(shù)字化模擬數(shù)據(jù)的至少一個數(shù)據(jù)組。
10.按照權(quán)利要求3的設(shè)備,還包括連接到存儲器接口的前端處理器,在執(zhí)行程序之前,前端處理器裝入數(shù)據(jù)組和可執(zhí)行測試序列程序。
11.按照權(quán)利要求8的設(shè)備,還包括多個選擇復(fù)用器,用于從多個模式控制邏輯塊中對應(yīng)一個邏輯塊至少接收一個輸出位;和數(shù)據(jù)選擇邏輯塊,用于控制多個選擇復(fù)用器中每個復(fù)用器的輸出。
12.按照權(quán)利要求11的設(shè)備,其中基于存儲器中存儲的部分指令作為部分測試序列程序,數(shù)據(jù)選擇邏輯塊確定多個選擇復(fù)用器中每個復(fù)用器的選擇碼。
13.按照權(quán)利要求12的設(shè)備,其中數(shù)據(jù)選擇邏輯塊包含被索引的表,和其中基于部分的指令,連接的數(shù)據(jù)選擇邏輯塊用于接收索引。
14.按照權(quán)利要求3的設(shè)備,還包括有第二輸出通道的第二序列控制邏輯單元,第二輸出通道可連接到被測器件的輸入插針;和至少存儲一種類型數(shù)據(jù)組和第二可執(zhí)行測試程序的第二存儲器,第二序列控制邏輯單元利用第二存儲器中存儲的每個數(shù)據(jù)組以確定第二輸出通道上輸出的測試模式。
15.按照權(quán)利要求14的設(shè)備,還包括連接前端處理器與第一和第二序列控制邏輯單元的控制線,其中,在設(shè)備運行期間,控制線用于發(fā)送同步信號到第一和第二控制單元以協(xié)調(diào)第一和第二測試序列程序的執(zhí)行以及協(xié)調(diào)測試模式輸出到單個被測器件,被測器件可連接到第一和第二序列控制單元的輸出通道。
16.一種物品,包括有存儲指令的存儲媒體,在機(jī)器執(zhí)行該指令時得到以下的結(jié)果在存儲器中至少存儲兩種類型數(shù)據(jù)組,序列控制邏輯單元利用每個數(shù)據(jù)組以確定一個或多個輸出通道輸出的測試模式,這些輸出通道可以連接到被測器件的輸入插針。
17.按照權(quán)利要求16的物品,其中存儲操作還包括在存儲器中至少存儲一個測試序列程序,該測試序列程序包含序列控制邏輯單元的可執(zhí)行指令。
18.按照權(quán)利要求17的物品,還包括在存儲器的接口中排隊來自多個請求器的存儲器訪問請求。
19.按照權(quán)利要求17的物品,還包括在指令高速緩沖存儲器中存儲從存儲器接口接收的指令。
20.按照權(quán)利要求18的物品,還包括在多個數(shù)據(jù)緩沖器中存儲從存儲器接口接收的數(shù)據(jù),每個數(shù)據(jù)緩沖器與多個請求器中的一個請求器相關(guān)。
21.按照權(quán)利要求18的物品,還包括在存儲器中存儲從被測器件接收的測試結(jié)果。
22.按照權(quán)利要求21的物品,其中存儲操作還包括在結(jié)果高速緩沖存儲器中存儲從被測器件接收的測試結(jié)果;和從結(jié)果高速緩沖存儲器寫入中存儲的測試結(jié)果到存儲器。
23.按照權(quán)利要求18的物品,還包括從多個模式控制邏輯塊中至少一個邏輯塊輸出測試模式到輸出通道,測試模式是基于從存儲器存儲的數(shù)據(jù)組中接收的數(shù)據(jù)。
24.按照權(quán)利要求21的物品,還包括在多個復(fù)用器中的每個復(fù)用器中,從多個模式控制邏輯塊中對應(yīng)一個邏輯塊至少接收一個輸出位;和從多個復(fù)用器中的每個復(fù)用器至少選擇一個輸出位。
25.按照權(quán)利要求24的物品,其中選擇操作還包括基于存儲器中存儲的部分指令作為部分測試序列程序,確定多個復(fù)用器中每個復(fù)用器的選擇碼。
26.一種測試集成電路的方法,包括在存儲器中至少存儲兩種類型數(shù)據(jù)組,序列控制邏輯單元利用每個數(shù)據(jù)組以確定一個或多個輸出通道輸出的測試模式,這些輸出通道可以連接到被測器件的輸入插針。
27.按照權(quán)利要求26的方法,其中存儲操作還包括在存儲器中至少存儲一個測試序列程序,該測試序列程序包含序列控制邏輯單元的可執(zhí)行指令。
28.按照權(quán)利要求27的方法,還包括在存儲器的接口中排隊來自請求器的存儲器訪問請求。
29.按照權(quán)利要求27的方法,還包括在指令高速緩沖存儲器中存儲從存儲器接口接收的指令。
30.按照權(quán)利要求28的方法,還包括在多個數(shù)據(jù)緩沖器中存儲從存儲器接口接收的數(shù)據(jù),每個數(shù)據(jù)緩沖器是與多個請求器中的一個請求器相關(guān)。
31.按照權(quán)利要求28的方法,還包括在存儲器中存儲從被測器件接收的測試結(jié)果。
32.按照權(quán)利要求31的方法,其中存儲操作還包括在結(jié)果高速緩沖存儲器中存儲從被測器件接收的測試結(jié)果;和從結(jié)果高速緩沖存儲器寫入存儲的測試結(jié)果到存儲器接口。
33.按照權(quán)利要求28的方法,還包括從多個模式控制邏輯塊中至少一個邏輯塊輸出測試模式到輸出通道,測試模式是基于從存儲器存儲的數(shù)據(jù)組中接收的數(shù)據(jù)。
34.按照權(quán)利要求31的方法,還包括在多個復(fù)用器中的每個復(fù)用器中,從多個模式控制邏輯塊中對應(yīng)的一個邏輯塊至少接收一個輸出位;和從多個復(fù)用器中的每個復(fù)用器中至少選擇一個輸出位。
35.按照權(quán)利要求34的方法,其中選擇操作還包括基于存儲器中存儲的部分指令作為部分測試序列程序,確定多個復(fù)用器中每個復(fù)用器的選擇碼。
全文摘要
一種用于測試集成電路(70)的設(shè)備(10),該設(shè)備包括有輸出通道(50)的序列控制邏輯單元(20),輸出通道(50)可連接到被測器件(70);和至少存儲兩種類型數(shù)據(jù)組(60b,60c,...)的存儲器(60),序列控制邏輯單元(20)利用每個數(shù)據(jù)組以確定輸出通道上輸出的測試模式。
文檔編號G11C29/56GK1653346SQ03810443
公開日2005年8月10日 申請日期2003年5月8日 優(yōu)先權(quán)日2002年5月8日
發(fā)明者杰米·S.·庫侖, 博奈爾·G.·韋斯特 申請人:尼佩泰斯特公司