专利名称:可编程协议发生器的制作方法
可编程协议发生器背景技术
随着对半导体器件(例如存储器芯片和微处理器)的商业需求的增加,测试这些器件对于器件制造商而言已变得十分重要。为了执行这些测试,使用半导体器件测试器 (例如自动测试设备(“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·康纳 申请人:泰拉丁公司