專利名稱:可編程協議發生器的制作方法
可編程協議發生器背景技術
隨著對半導體器件(例如存儲器芯片和微處理器)的商業需求的增加,測試這些器件對于器件制造商而言已變得十分重要。為了執行這些測試,使用半導體器件測試器 (例如自動測試設備(“ATE”))表征和驗證所制造半導體器件的性能。許多ATE執行系統級測試,其中ATE的硬件專門為半導體被測器件(“DUT”)而配置。
對于一些類型的測試,ATE發送DUT信號,例如直流信號。一些ATE包括單個碼型發生器,該發生器用于產生發送至DUT的信號。根據碼型發生器產生的信號,ATE發送信號至DUT,DUT通過將一些數據發送回ATE來進行響應。發明內容
一般而言,在一方面,半導體器件測試器包括配置為測試半導體被測器件的可編程硬件。可編程硬件通過兩個或更多個碼型發生器編程以控制半導體被測器件發送和接收的數據流。該兩個或更多個碼型發生器被編程為向半導體被測器件發送數據和從半導體被測器件接收數據。這些碼型發生器中的一個包括發送可編程碼型發生器以向半導體被測器件發送數據。這些碼型發生器中的另一個包括接收可編程碼型發生器以從半導體被測器件接收數據。接收可編程碼型發生器配置為對從半導體被測器件接收的數據執行一個或多個操作碼。發送可編程碼型發生器和接收可編程碼型發生器進行通信。接收碼型發生器向發送碼型發生器發送消息,該消息指示發送碼型發生器應向半導體被測器件發送數據。發送碼型發生器編程為執行指定待發送數據的一個或多個操作碼。接收可編程碼型發生器配置為向發送可編程碼型發生器發送消息,該消息包括指示發送可編程碼型發生器應向半導體被測器件發送數據的數據。
具體實施可以包括下列一個或多個特征。半導體器件測試器還包括數據控制器以控制可編程硬件輸出和輸入的數據流。該數據控制器與發送可編程碼型發生器進行通信, 并且該數據控制器配置為向發送可編程碼型發生器發送命令,該命令包括指定發送可編程碼型發生器要執行的一個或多個操作碼的數據。該數據控制器與接收可編程碼型發生器進行通信,并且該數據控制器配置為向接收可編程碼型發生器發送命令,該命令包括指定接收可編程碼型發生器要執行的一個或多個操作碼的數據。
一般而言,在一方面,測試半導體器件的方法包括對硬件編程以測試半導體器件。 該硬件包括能夠通過操作碼編程以向半導體被測器件發送數據比特的發送碼型發生器以及能夠通過操作碼編程以對所接收數據比特執行數據操作的接收碼型發生器。該方法還包括向半導體被測器件發送一個或多個比特的數據,以及從半導體被測器件接收一個或多個比特的數據。該方法還包括由發送碼型發生器執行指定要發送的數據的一個或多個操作碼。該方法還包括對從半導體被測器件接收的一個或多個比特的數據執行一個或多個操作碼。
發送碼型發生器在向半導體被測器件發送數據比特之前,等待從接收碼型發生器接收電信號。
—般而言,在一方面,半導體器件包括通過接收碼型發生器和發送碼型發生器編程的可編程硬件。該發送碼型發生器配置為向半導體被測器件發送一個或多個比特的數據。該接收碼型發生器配置為與發送碼型發生器進行通信。該接收碼型發生器配置為從半導體被測器件接收一個或多個比特的數據。該發送碼型發生器配置為在向半導體被測器件發送一個或多個第二比特的數據之前,等待從接收碼型發生器接收信號。
附圖和如下實施方式示出了一個或多個實施例的詳細信息。通過所述實施方式和附圖以及通過權利要求書,其他特征、對象和優點將顯而易見。
圖1為用于測試器件的ATE的框圖。
圖2為ATE中使用的測試器的框圖。
圖3為半導體器件測試器的示意圖。
圖4、6和8為半導體器件測試器執行的流程的流程圖。
圖5和7為可編程硬件的示意圖。
圖9和10為碼型發生器執行的操作碼的例子。
具體實施方式
參見圖1,用于測試被測設備(DUT) 18 (例如半導體器件)的ATE系統10包括測試器12。為控制測試器12,系統10包括通過硬線連接16與測試器12連接的計算機系統 14。通常,計算機系統14向測試器12發送命令以啟動用于測試DUT 18的例程和函數的執行過程。這些執行測試例程可啟動測試信號的產生和將測試信號發送至DUT 18以及收集該DUT的響應。系統10可測試多種類型的DUT。例如,DUT可為半導體器件,例如集成電路 (IC)芯片(如存儲器芯片、微處理器、模擬-數字轉換器、數字-模擬轉換器等)。
為提供測試信號和收集DUT的響應,測試器12連接到提供DUT18內部電路接口的一個或多個連接器引腳。為測試一些DUT,可將例如多達64或1 個連接器引腳(或更多) 連接到測試器12。為了進行示意性的說明,在本例中,半導體器件測試器12通過硬線連接連接到DUT 18的一個連接器引腳。導體20(例如電纜)連接到引腳22并且用于將測試信號(例如參數測量裝置(“PMU”)測試信號、引腳電子(“PE”)測試信號等)傳送至DUT 18的內部電路。導體20還感應引腳22處的信號,以響應半導體器件測試器12提供的測試信號。例如,可在引腳22處感應電壓信號或電流信號以響應測試信號,并且該電壓信號或電流信號可通過導體20發送至測試器12以供分析。也可對DUT 18中包括的其他引腳執行這種單端口測試。例如,測試器12可向其他引腳提供測試信號和收集通過導體(其傳送所提供的信號)反射回去的關聯信號。通過收集反射信號,可將引腳的輸入阻抗連同其他單端口測試量一起表征。在其他測試場景中,可通過導體20將數字信號發送至引腳22以在DUT 18上存儲數字值。存儲后,可訪問DUT 18以檢索此存儲數字值并將其通過導體20 發送至測試器12。然后可識別檢索的數字值以確定是否在DUT 18上存儲了正確的值。
除了執行單端口測量,半導體器件測試器12還可執行雙端口測試。例如,可通過導體20將測試信號注入引腳22,并且可從DUT 18的一個或多個其他引腳收集響應信號。 向半導體器件測試器12提供此響應信號以確定量,例如增益響應、相位響應和其他吞吐量測量量。
另參見圖2,為向DUT(或多個DUT)的多個連接器引腳發送測試信號和從中收集測試信號,半導體器件測試器12包括可與許多引腳通信的接口卡M。例如,接口卡對可向(例如)32、64或1 個引腳發送測試信號并收集對應的響應。到引腳的每個通信線路通常稱為通道,而且,通過向大量通道提供測試信號,可同時執行多個測試,因而縮短測試時間。除了在接口卡上具有許多通道,通過在測試器12中包括多個接口卡,可增加通道的總數,從而進一步縮短測試時間。在本例中,示出兩個附加的接口卡沈和觀以證明測試器 12可容納多個接口卡。
每個接口卡包括專用集成電路(IC)芯片(例如專用集成電路(ASIC))以執行特定測試功能。例如,接口卡M包括IC芯片30以執行參數測量裝置(PMU)測試和引腳電子 (PE)測試。IC芯片30具有PMU級32和PE級34,其中PMU級包括執行PMU測試的電路, PE級包括執行PE測試的電路。另外,接口卡沈和28分別包括IC芯片36和38,這兩個芯片包括PMU和PE電路。PMU測試通常涉及向DUT提供直流電壓或電流信號以確定諸如輸入和輸出阻抗、電流泄漏和其他類型的直流性能特性等量。PE測試涉及向DUT (例如DUT 18) 發送交流測試信號或波形和收集響應以進一步鑒定DUT的性能。例如,IC芯片30可(向 DUT)發送代表用以存儲在DUT上的二進制值矢量的交流測試信號。一旦存儲了這些二進制值,就可由測試器12訪問DUT以確定是否存儲了正確的二進制值。由于數字信號通常包括電壓突變,因此IC芯片30上的PE級34中的電路相比于PMU級32中的電路以相對高的速度工作。
為了將直流和交流測試信號都從接口卡M傳送到DUT 18,導電跡線40將IC芯片30連接到接口板連接器42,該接口板連接器允許信號從接口板M輸入和輸出。接口板連接器42還連接到導體44,該導體連接到接口連接器46,該接口連接器允許信號從測試器 12輸入和輸出。在本例中,導體20連接到接口連接器46以便在測試器12和DUT18的引腳 22之間雙向傳遞信號。在一些布置中,可使用接口設備將一個或多個導體從測試器12連接 MDUT0例如,DUT(例如DUT 18)可安裝在設備接口板(DIB)上以提供到每個DUT引腳的路徑。在這種布置中,導體20可連接到DIB以將測試信號置于適合的DUT引腳(例如引腳 22)上。
在本例中,只有導電跡線40和導體44分別連接IC芯片30和接口板M以傳送和收集信號。然而,IC芯片30 (連同IC芯片36和38)通常具有多個引腳(例如8個、16個等),這些引腳分別與多個導電跡線和對應導體連接以提供和收集來自DUT的信號(通過 DIB)。另外,在一些布置中,測試器12可連接到兩個或更多個DIB以將接口卡對、沈和觀提供的通道連接到一個或多個被測器件。
測試器12包括可編程硬件104(例如現場可編程門陣列(“FPGA”)半導體器件), 該可編程硬件能夠被編程以使得測試器12響應DUT 18。可編程硬件104連接至引腳電子芯片,該引腳電子芯片連接至DUT 18。
參見圖3,測試器12包括物理層106,該物理層包括硬件傳輸技術。例如,物理層 106控制數據如何發送至DUT 18和從該DUT接收。在一些例子中,物理層106指定從DUT 18到測試器12的逐比特傳送。該物理層并非特定于協議,而是能夠結合DUT 18端口上使用的各種類型的協議和接口(例如串行高級技術附件(“SATA”)和高清晰度多媒體接口(“HDMI”))使用。在測試器12中,在物理層106處理時序和時鐘恢復的細節,可編程硬件 104控制在測試器12和DUT 18之間傳輸的信息的等級(即數據比特)。
可編程硬件104能夠被例如測試器12的用戶編程,使得測試器12在測試期間在 DUT的端口上使用不同協議。可編程硬件104可根據適合的協議編程,并使用該協議與DUT 18進行通信。通過可編程硬件104,測試器12使用適合DUT 18上的某端口的協議將數據發送至該端口,因此測試器12可“感知協議”。另外,測試器12能夠調試大量DUT問題或測試測試器12沒有其內置協議支持的DUT 18。
因為測試器12能夠被編程以響應DUT 18,所以測試器12能夠建立與DUT 18的連接(“握手”)。握手包括驗證DUT 18上使用的連接、速度、協議細節和算法。在一些例子中,在測試器12測試DUT 18之前,需要通過握手來啟用DUT 18上的串行端口。
可編程硬件104能夠通過指定要發送至DUT 18的數據比特的各種操作碼 ("opcode")編程。可編程硬件104還能夠通過指定可編程硬件104在從DUT 18接收數據后要執行的操作的操作碼編程。參見圖4,可編程硬件104在執行對DUT 18端口的握手或啟用的過程中執行多個操作200。可編程硬件104執行Q02)向DUT 18發送數據比特的操作碼。可編程硬件104接收Q04)從DUT 18返回的數據比特。可編程硬件104執行 (206)更多操作碼以檢驗接收的數據或對其執行其他功能。這些功能的例子包括用于測試 DUT18的測試算法。可編程硬件還執行(208)其他操作碼以向DUT 18發送更多數據比特。 這些操作(202、204、206)可繼續直到測試完DUT 18。
參見圖5,可編程硬件104可包括兩個碼型發生器,即發送碼型發生器302( "Tx I^atgen”)和接收碼型發生器304( “Rx I^atgen”)。為可編程硬件104提供了程序庫。該程序庫包括定義了 iTx Patgen 302和RxI^atgen 304的代碼。如果可編程硬件104為FPGA 卡,則該代碼包括FPGA代碼。
碼型發生器(302、304)存儲和執行由測試器12的用戶編入可編程硬件104的一系列操作碼。例如,Tx Patgen 302包括由Tx Patgen 302執行的一系列操作碼以向DUT 18發送數據比特。Rx Patgen 304也包括由Rx Patgen 304執行的一系列操作碼以從DUT 18接收數據比特。
通過使用兩個碼型發生器(302、304),可控制DUT 18的輸入和輸出數據流。在一個例子中,Tx Patgen 302向DUT 18發送數據,RxPatgen 304從DUT 18接收數據。由于 Tx Patgen 302和Rx Patgen 304互相進行數據通信,Tx Patgen 302可編程為等待并且直到Rx Patgen304檢驗了已接收的數據時才發送更多數據。
測試器12的用戶通過測試器12上提供的計算機接口 52(圖2)指定要由Tx Patgen 302或Rx Patgen 304執行的操作碼的序列(和與操作碼相關的數據)。例如,用戶可定義由Tx Patgen 302執行的操作碼的序列以包括“WAIT”和“Set_TX”。相似地,用戶可定義由Rx Patgen 304執行的操作碼的序列以包括“RPT”和“WAIT_RX”。
在一些例子中,Tx Patgen 302和Rx Patgen 304彼此通過通信線路306、308 (例如電纜、電線或電容器)進行通信。Tx Patgen 302控制向DUT 18發送數據。Rx Patgen 304控制從DUT 18接收數據。Tx Patgen302通過通信線路304將數據(稱為Tx標志310) 發送至Rx Patgen 304。Rx Patgen 304通過通信線路308將數據(稱為Rx標志312)發送至 TxPatgen 302。
Tx標志310包括通知Rx Patgen 304其應開始等待以從DUT 18接收數據的數據。 在一些例子中,Tx Patgen 302在Tx Patgen 302向DUT18發送數據的同時發送Tx標志 310。在其他例子中,Tx Patgen 302在向DUT 18發送數據之后發送iTx標志310。
當Rx Patgen 304接收了所有其期望接收的數據并且已經能夠檢驗該數據的準確性和完整性時,Rx Patgen 304將Rx標志312發送至iTxPatgen 302。Rx Patgen 304接收其期望的數據之后,該Rx I^atgen將Rx標志308發送至Tx Patgen 302。Rx標志312通知 Tx Patgen 302其應開始執行下一個操作碼并繼續向DUT 18發送更多數據。
在一些例子中,Rx Patgen 304從DUT 18接收Rx Patgen 304不知道如何處理的數據。在一個例子中,Rx Patgen 304無法讀取從DUT 18上的模擬-數字轉換器輸出的數據。在這種情況下,Rx Patgen 304通過通信線路314將該數據發送至捕獲存儲設備316。 捕獲存儲設備316存儲該數據,以使得半導體測試器設備100可以稍后訪問該數據。在該能力方面,捕獲存儲設備316起到數據存儲庫的作用,存儲Rx Patgen304無法直接處理的數據。
在一些例子中,傳入iTx Patgen 302和Rx Patgen 304的數據來自48比特寬的 600兆赫茲(“MHz”)動態隨機存取存儲器(“DRAM”)。在本例中,600MHz的時鐘頻率在 Tx Patgen 302和Rx Patgen 304之間分割。然而,由于刷新測試器12的DRAM中存儲的數據會損失一些效率,因此以Patgen 302所執行的操作碼分配了 48比特數據。 相似地,以^6Mhz為Rx Patgen 304所執行的操作碼分配了 48比特數據。在這48比特的數據中,40比特為符號數據,8比特用作控制數據。以下表1提供了可編入Tx Patgen 302 的發送操作碼的例子
表 權利要求
1.一種半導體器件測試器,包括可編程硬件,其配置為測試半導體被測器件,其中所述可編程硬件通過兩個或更多個碼型發生器編程以控制所述半導體被測器件接收和發送的數據流。
2.根據權利要求1所述的半導體器件測試器,其中所述兩個或更多個碼型發生器被編程以向半導體被測器件發送數據;以及從所述半導體被測器件接收數據。
3.根據權利要求1所述的半導體器件測試器,其中所述碼型發生器中的一個包括發送可編程碼型發生器以向所述半導體被測器件發送數據。
4.根據權利要求2所述的半導體器件測試器,其中所述碼型發生器中的一個包括接收可編程碼型發生器以從所述半導體被測器件接收數據。
5.根據權利要求4所述的半導體器件測試器,其中所述接收可編程碼型發生器配置為對從所述半導體被測器件接收的所述數據執行一個或多個操作碼。
6.根據權利要求3所述的半導體器件測試器,其中所述發送可編程碼型發生器與所述接收可編程碼型發生器進行通信。
7.根據權利要求1所述的半導體器件測試器,其中所述接收碼型發生器向所述發送碼型發生器發送消息,所述消息指示所述發送碼型發生器應向所述半導體被測器件發送數據。
8.根據權利要求3所述的半導體器件測試器,其中所述發送碼型發生器配置為執行一個或多個指定要發送的所述數據的操作碼。
9.根據權利要求3所述的半導體器件測試器,其中所述接收可編程碼型發生器配置為向所述發送可編程碼型發生器發送消息,所述消息包括指示所述發送可編程碼型發生器應向所述半導體被測器件發送數據的數據。
10.根據權利要求1所述的半導體器件測試器,還包括數據控制器以控制所述可編程硬件輸入和輸出的所述數據流。
11.根據權利要求10所述的半導體器件測試器,其中所述數據控制器與所述發送可編程碼型發生器進行通信,并且所述數據控制器配置為向所述發送可編程碼型發生器發送命令,所述命令包括指定所述發送可編程碼型發生器要執行的一個或多個操作碼的數據。
12.根據權利要求10所述的半導體器件測試器,其中所述數據控制器與所述接收可編程碼型發生器進行通信,并且所述數據控制器配置為向所述接收可編程碼型發生器發送命令,所述命令包括指定所述接收可編程碼型發生器要執行的一個或多個操作碼的數據。
13.—種測試半導體器件的方法,所述方法包括對硬件進行編程以測試所述半導體器件,其中所述硬件包括發送碼型發生器,其能夠通過操作碼編程以向所述半導體被測器件發送數據比特;以及接收碼型發生器,其能夠通過操作碼編程以對所述接收的數據比特執行數據操作。
14.根據權利要求13所述的方法,還包括向半導體被測器件發送一個或多個比特的數據;以及從半導體被測器件接收一個或多個比特的數據。
15.根據權利要求14所述的方法,還包括由所述發送碼型發生器執行一個或多個指定要發送的所述數據的操作碼。
16.根據權利要求14所述的方法,還包括對從所述半導體被測器件接收的所述一個或多個比特的數據執行一個或多個操作碼。
17.根據權利要求13所述的方法,另外其中所述發送碼型發生器在向所述半導體被測器件發送數據比特之前,等待從所述接收碼型發生器接收電信號。
18.一種半導體器件,包括可編程硬件,其通過接收碼型發生器和發送碼型發生器編程,其中所述發送碼型發生器配置為向半導體被測器件發送一個或多個比特的數據; 所述接收碼型發生器配置為與所述發送碼型發生器進行通信; 所述接收碼型發生器配置為從所述半導體被測器件接收一個或多個比特的數據;以及所述發送碼型發生器配置為在向所述半導體被測器件發送一個或多個第二比特的數據之前,等待從所述接收碼型發生器接收信號。
全文摘要
本發明提供一種半導體器件測試器,其包括配置為測試半導體被測器件的可編程硬件。所述可編程硬件通過兩個或更多個碼型發生器編程以控制所述半導體被測器件發送和接收的數據流。
文檔編號G01R31/3183GK102549443SQ201080045103
公開日2012年7月4日 申請日期2010年2月5日 優先權日2009年10月8日
發明者喬治·W·康納 申請人:泰拉丁公司