CN101512362A - 自动测试设备的数字波形产生及测量 - Google Patents
自动测试设备的数字波形产生及测量 Download PDFInfo
- Publication number
- CN101512362A CN101512362A CNA2007800335728A CN200780033572A CN101512362A CN 101512362 A CN101512362 A CN 101512362A CN A2007800335728 A CNA2007800335728 A CN A2007800335728A CN 200780033572 A CN200780033572 A CN 200780033572A CN 101512362 A CN101512362 A CN 101512362A
- Authority
- CN
- China
- Prior art keywords
- waveform
- tic
- data
- vector
- measurement module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/26—Testing of individual semiconductor devices
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L22/00—Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Engineering (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
一种可用于自动测试设备中的波形产生与测量系统。波形产生与测量系统包括可用于数字式地绘制一测试波形的高速SERDES(或其它的移位缓存器)。也可使用额外的高速SERDES,以自受测装置接收(以串行方式)反应波形,并将它转换为用于高速处理的平行数据。波形产生与测量模块可以用场可程序门阵列逻辑来实现。
Description
技术领域
本发明的至少一个实施方案是关于自动测试设备,更具体而言,本发明是关于此种设备的产生波形与测量的系统与方法。
背景技术
今天,许多半导体集成电路是高度复杂的装置且需要精巧的自动测试设备(ATE)来测试是否有制造上的瑕疵。一般而言,ATE被用于测试集成电路(IC),其方法是将储存在ATE内存内的测试图形加到受测IC上并将芯片反应与期望反应相比较。这些测试图形一般都包含透过特殊应用集成电路(ASIC)所产生的波形与时序。ASIC的缺点包括生产的花费与时间,以及为了除错与未来强化功能而作改版时的成本。这项ATE成本的增加一般而言都相当地高,因为要执行这些测试一般都需要复杂、高效能的计算设备。
虽然有些时候ATE的成本过高,但它们对于许多公司而言却是相当重要的。各个被制造出来的集成电路在交货到客户之前所作的测试是重要的,因为有相当大比例被制造出来的集成电路包含有制造瑕疵,特别是在大规模集成电路的情况更是如此。因此,在将它们出货给客户之前先行筛选出这些有瑕疵的芯片便显得重要。因此,当组件技术一直在进步的当下,如能提供一种选择让ATE可以采用现成的组件与系统以便降低成本并迁移到较高效能便令人相当期待。
发明内容
本发明的各方面与实施方案是关于ATE中产生波形与时序的数字模块。高速移位缓存器,例如并串行转换器/串并行转换器组件(SERDES),可被用于数字化地绘出一测试波形,其是通过从数字模块上的存储装置接收平行输入数据并将其转换为超高速串行波形来激励可能与受测装置(本文以“DUT”表示)相接的接脚。与传统的波形产生相比,本发明可改善其抖动与线性度,因为SERDES传播延迟是常数。另外,高速移位缓存器也可被用于从DUT中接收(以串行形式)反应波形并将其转换为高速处理所用的平行数据。由于其所接收到可用于分析DUT反应的波形包括大量的样本,因此有相当多的其它细节可自波形撷取而得,也因此在单一测试周期内只需单一波形便可对DUT执行多种测试。因此,以数字化方式使用移位缓存器绘制期望的激励波形,并处理期待的或测量到的波形,便可达到强化其功能性的结果。再者,本发明采用FPGA来制作数字模块,此种方法与传统ATE中所使用的ASIC相较之下具有极大的弹性,且开发成本也低了许多。因此,根据本发明的观点所制作的数字模块便有助于开发低成本、可负担的ATE,并可快速制出新式测量方案的雏形。
根据一实施方案,在自动化测试设备中的波形产生与测量模块可包含:含有描绘测试波形特性的向量信息的存储装置、从存储装置中以平行格式接收向量信息并产生与测试波形相对应的串行输出的第一众多移位缓存器、以及从受测装置中以串行格式接收反应波形并将对应于反应波形的平行数据产生为输出的第二众多移位缓存器。
在一个实施例中,第一众多与第二众多移位缓存器各包含至少一个并串行转换器/串并行转换器的组件。在另一个实施例中,测试波形可被定义为多个TIC,各TIC对应到测试波形中至少一位的位置。在一个实施例中,各TIC的持续时间可以大于或等于并串行转换器/串并行转换器组件的一个时脉循环。波形产生与测量模块进一步可包含数据组合器。在一个实施例中,数据组合器可被构建并被安排用于从存储装置中接收图形数据,并使用描绘测试波形特征的向量信息与图形数据结合起来从而产生测试波形。在另一实施例中,向量信息可指定一个向量周期,且波形产生与测量模块可包含被构建并被安排用于产生向量周期的周期产生器。波形产生与测量模块上进一步可包含波形拉长电路,其被建构并被安排用于复制各个TIC,以便各个IC的持续时间至少为并串行转换器/串并行转换器组件的两倍时脉周期。在另一个实施例中,存储装置可包含描绘比较波形特性的比较向量信息。波形产生与测量模块可包含失败侦测电路,该侦测电路接收比较波形与反应波形,并被构建与被安排用于将反应波形与比较波形一位一位地比较。失败侦测电路可被构建并被安排用于根据反应波形与比较波形的比较结果产生一失败记录。在一个实施例中,波形产生与测量模块可包含用来接收并储存失败记录的失败缓冲器。在某些范例中,波形产生与测量模块可以用场可程序门阵列来实现。
根据另一个实施方案,在自动测试设备中的波形产生方法可包含:以平行格式将数字数据提供给第一众多移位缓存器,并以串行方式将数字数据从第一众多移位缓存器移出以产生一测试波形。
在一个实施例中,提供数字数据的部分可包括提供一个包含一组TIC的数字波形,各TIC的持续期间至少都等于一个移位缓存器时脉循环。在另一实施例中,其方法进一步可包含将数字波形拉长而使各TIC的持续期间至少都等于二个移位缓存器时脉循环。在某些范例中,其方法进一步可包含使用第二众多移位缓存器以串行格式接收第二众多反应波形,并将反应波形转换为平行格式输出数据。其方法也可包含将输出数据与比较波形相比,并基于其比较结果产生失败数据,并(选择性地)储存失败数据。在一范例中,其比较可以是一位一位地执行比较。
以下将讨论这些范例观点与实施例进一步的观点、实施方式与优点。再者,应了解的是,前述信息与下列详细说明仅为不同观点与实施例的说明范例,且被提供作为用于了解本发明所主张的观点与实施例的本质与特性的概观或构建之用。附图的目的是为了要说明并进一步了解各种观点与实施例,并被包括在本说明书内成为其一部分。附图以及本说明书的其它部分,是用于解释所说明及所主张的观点与实施例的原则与运作方法。
附图说明
参考附图说明讨论至少一实施方案的不同观点。在这些并未依照比例缩放的不同附图中,相同数字代表各个相同或几乎相同的组件。为了清楚说明起见,并非所有组件在附图中都有标示。这些图仅提供作为说明与解释的用处,且并不用于定义本发明的限制。在附图中:
图1是根据本发明的观点的数字模块实施例的方块图;
图2是根据本发明的观点的向量图;
图3是周期产生器实施例的方块图;
图4是用于说明图3的周期产生器如何运作的一个范例的时序图;
图5是根据本发明的观点的波形表再对映、周期选择与波形表选择线路的一个范例的方块图。
图6是根据本发明的观点的SERDES驱动线路范例的方块图;
图7是根据本发明的观点的另一数字模块范例的方块图;
图8是根据本发明的观点的驱动器波形的一个范例的时序图;
图9是可能用在图7中的数字模块中、用于达到TIC拉长的目的的电路范例的方块图;
图10是根据本发明的观点的波形拉长线路范例的方块图;
图11是根据本发明的观点的波形合并线路范例的方块图;
图12是用于说明图11的波形合并线路如何运作的范例的时序图;
图13是根据本发明的观点的比较波形范例的时序图;
图14是根据本发明的观点的失败侦测电路与失败数据编码实施例的表格与电路图;
图15是根据本发明的观点的比较SERDES电路范例的方块图;
图16是根据本发明的观点的波形表再对映与延迟线路范例的方块图;
图17是根据本发明的观点的波形延迟电路范例的方块图;
图18是根据本发明的观点的失败侦测电路范例的方块图;
图19是根据本发明的观点的波形分离线路范例的方块图;
图20是根据本发明的观点的SERDES多任务线路范例的方块图;
图21是根据本发明的观点的内存子系统范例的方块图;
具体实施方式
本发明的至少某些观点与实施方案是关于一种模块,该模块可为自动测试设备(ATE)提供波形或时序的产生与测量。如上文所讨论的,传统的ATE可能因为需要用到订制的复杂电路与计算组件而非常昂贵。本发明的实施例与观点提供一种可以用更有弹性且平价的场可程序门阵列(FPGA)技术取代一般用于传统ATE的特殊应用集成电路(ASIC)的波形产生模块。特别是,至少某些观点与实施例关于一以FPGA为基础、使用高速并串行转换器/串并行转换器(SERDES)输入与输出通道的时序产生器,这将在下文中讨论。使用FPGA技术可大幅降低ATE的成本,因其消除了一般伴随着ASIC设计所带来的巨额不可回收的开发成本,且可加强其功能性与弹性,这将在下文中进一步讨论。
可了解的是,这里所讨论的方法与装置的实施例并不限于以下说明所提出或附图所示的组件的构建与安排的应用细节。其方法与装置可被实现在其它实施例中,并可用不同方式实现或执行。这里所提出的特定实施范例仅为说明之用,并不用于限制其应用范围。特别是,与任一种以上实施例相关、一起讨论的动作、元素与特性并不代表其不可在任何其它实施例中担任相似的角色。同样地,这里所用的措词与术语系为说明之用,不应将其视为限制条件。这里所用的“包括”、“包含”、“具有”、“含”、“有”及其变化用语可用于包含其后所列语词及其等效用语与额外语词。
下列是本说明书所用缩写所代表的涵意:
STIL 标准测试界面语言,如IEEE 1450所定义者;
DUT 受测装置;
ATE 自动测试设备;
FPGA 场可程序门阵列;
ASIC 特殊应用集成电路;
T 向量周期;
T0 一向量周期的开始点;
TC 系统时脉周期;
TS SERDES时脉周期;
TIC 某一波形在某一频率下的最小单元;
WFC 波形字;
WFM 波形内存;
WFT 波形表;
BL 数据串长度;
WS 波组;
WGL 波形产生语言;
PE 接脚电子学。
ATE包含一个线路,一个受测装置(DUT),例如,半导体集成电路可以被连接到该线路上。该线路可提供测试波形给DUT并测量来自DUT的反应以决定该DUT是否正确运作。一些ATE包含有测试头以提供这些功能。在其它ATE中,讯号由ATE中主机内的仪器所提供。本发明的一个实施例提供有可以连接到ATE线路以提供测试波形并分析来自DUT的反应波形的数字模块。这一数字模块大部分可用FPGA实现以达到以上所讨论的较低开发成本以及增加弹性等利益。
参考图1,其所示的是根据本发明的观点所制作的数字模块的一部分的范例的方块图。数字模块100可包括一主存储器104,内含有使用形状与周期所载明的期望波形的信息。主存储器104可包含有载明所将产生的一个以上测试波形的信息。这部分的主存储器被称为“向量内存”,因为它载明了测试DUT所用的“向量”。例如,向量内存可包括载明了测试波形与反应波形的形状、频率、脉冲时序与其它参数等被预期将由DUT因响应测试波形而接收到的信息。主存储器104的运作将在下文中更详细讨论。数字模块100也可包含一主存储器控制器106,此控制器由主存储器104读取数据并将数据写到主存储器104。主存储器控制器也在线110与112上由ATE线路接收讯号。主存储器控制器将向量数据(即,载明将被产生的波形的特性的信息)提供给缓冲存储器108。缓冲存储器控制器114管理如何将主存储器的数据读入缓冲器内。缓冲存储器与缓冲存储器控制器的运作将在下文中详加讨论。
仍请参考图1,在一实施方案中,数字模块100可包括一组一个以上的高速移位缓存器,这些缓存器由缓冲存储器108接收波形信息并以串行输出的方式产生测试波形,这串行输出可被供应到DUT所连接的测试接脚。这些移位缓存器116及其相关的控制线路如方块326所示。第二组一个以上的移位缓存器可被用于自DUT接收反应波形,将其反应转换为平行数据并将其反应提供给主存储器控制器106,接下来,便将其反应传送提供给主存储器104。这些移位缓存器118与其相关的控制电路以方块328表示。因此,可使用这些高速移位缓存器以数字方式“绘出”一波形,如此便可允许一种弹性且较为便宜的设计,这将在下文中进一步讨论。如图1所示,数字模块100中的许多组件可以在一块FPGA102中实现。为了清楚起见,图1中所示仅是一接脚的线路(除了用于所有接脚的主存储器104之外)。无论如何,应了解的是,本发明并不限于任何组数量的接脚,且在数字模块中,也可提供数组额外的移位缓存器与线以便容纳更多接脚。
在一范例中,移位缓存器可以是并串行转换器/串并行转换器(SERDES)组件。这些SERDES可以接收平行输入并将它转换为串行输出,或者,也可接收串行输入并将它转换为平行输出。在驱动侧,方块326内的SERDES 116可以在线120上接收说明某一期望波形的平行数据并以串行形式将它由线122a与122b上移出以便绘出测试波形。相似地,在数字模块100的输入侧,SERDES可以由线124a与124b上的接脚用串行形式接收反应波形,并将该反应波形转换为处理用的平行数据。资料在每个SERDES时脉循环内被移入或移出SERDES。SERDES时脉循环在这里以Ts来代表。在一范例中,SERDES的数据时脉速度可以是大约4个十亿赫兹(GHz),使其波形分辨率最高可达到大约250兆分之一秒(ps)。虽然下列有关于本发明实施例的讨论为了简单起见而将移位缓存器以SERDES代表,但应了解的是,本发明并不限于使用SERDES,而可使用任何其它形式的移位缓存器。
SERDES的运作可以由系统时脉周期为Tc的系统时脉所控制。这个系统时脉可以用任何已知的方法与设备产生,例如,使用熟习本项技术者所知的锁相回路。在一实施例中,SERDES可以是32位的界面,而SERDES时脉周期Ts则可因而是系统时脉周期Tc的1/32。即,Tc=32Ts。为了简单起见,以下讨论将假设SERDES界面为32位并使用适合于32位SERDES界面的位数来说明数字模块如何运作。无论如何,应了解的是,SERDES的界面可以是不同的位数,例如16位或64位,且此处所讨论到的范例位数与时脉数也可因而被调整为可包含该种SERDES界面。在一范例中,Tc可以是7.5奈秒(ns);对应到133百万赫兹(MHz)的系统时脉,且因此,Ts可以是234ps。无论如何,应了解的是,系统时脉速度可以是许多其它不同的值,且本发明并不限于使用133MHz的系统时脉。
再次参考图1,根据一实施例,数字模块100可以透过线122a将二位的1或0供应到接脚,而将各接脚“驱动”到高电位(H)或低电位(L)。既然这样,驱动器便可以被线122b上的二进制数讯号“打开”。以此方式,藉由使用线122a上的讯号驱动接脚,波形便可被串行式地传送,或“托送”,到接脚上,一次一个位,以下将进一步讨论这点。要用来控制线122a与122b上的讯号的状态的信息由主存储器104所供应。数字模块100也可由DUT透过“比较”线124a(高电位比较)与124b(低电位比较)接收一输入。如此,驱动便可由供应在122b上的一个二进制讯号所关闭。
DUT的测试可以用向量的方式来指定。向量是一个时间周期,在此周期内,某一特定波形透过驱动SERDES 116被供应到DUT,且/或使用比较SERDES 118测量DUT的反应并将其与一比较波形相比。参考图2,其中所描述的是向量范例130。向量130的向量周期为T,这在主存储器所供应的信息中载明。在某些情况下,向量周期T可以对应到一个以上的系统时脉周期。在一范例中,最小的T可以是一个Tc,而超过一个Tc以上的向量周期则可包含部分的Tc周期(也就是说,T必需是Tc的整数倍)。在向量周期T内,波形132根据主存储器所供应的信息被产生。波形可以由数个TIC 134所定义。一个TIC是在某个频率下,某个波形的最小片断。因此,TIC定义了一个波形的“微粒”或分辨率。在某一特定向量内,所有TIC的大小是相同的;无论如何,不同向量的TIC大小并不必然是常数。在一个向量周期T对应到系统时脉周期Tc的范例中,各个TIC都对应到一个Ts。无论如何,在T大于一个Tc的情况下,各个TIC都可对应到数个Ts。
要测试一个DUT,便需由主存储器中读取一个向量。向量数据(也被称为向量内存)载明了向量周期T与波形的形状。为了要用它所指定的向量周期产生各个向量,数字模块可以包括一周期产生器。各个数字模块内周期产生器的数目可根据诸如FPGA的布局等设计因素而定。一个周期产生器可以被用在多根接脚上。无论如何,在某些情况下,FPGA的布局可能会难以由单一个周期产生器将线路绕到所有接脚上。因此,便可视需要增加额外的周期产生器。
参考图3,其中显示的是根据本发明的观点所制作的周期产生器的范例的方块图。周期产生器136包含一个向下计数器138以及一个加法器140。在一范例中,向量周期(T)的范围在32Ts到232Ts之间。如上文所讨论者,FPGA102(见图1),无论如何,使用周期为Tc的系统时脉在运作。因此,向量周期通常并不会对应到系统时脉周期Tc。因此,周期产生器136以Ts为单位计算出下一个T开始的位置。可能有数种目的而必须辨认出一个新向量周期T在时脉周期内的开始位置。内存控制器可以使用这项信息来知道何时可以取出另一组的向量资料,而波形机器也可利用这信息来得知何时去寻找一个新的波形以及波形表的登记项,如下文所将讨论的那样。
在一实施方案中,新的周期值以Ts-32的增加量被储存在主存储器的波形表(WFT)中。可了解的是,如果在一个具体的实施例中的SERDES的界面并非32位长,那么周期值可能因此用另一个较小的适当Ts的增量被储存。储存小于32的实际数目可以简化其所包含的硬件。例如,对于32个Ts的最小向量周期而言,储存在WFT内的值是32-32=0。向下计数器138往下计算Ts的值。当目前的计数值变成小于32时,这将标示Tc,代表一个向量周期循环的结束,以及另一个新周期的开始。这个计数值被载入现有的计数值,再加上新周期-32。无论如何,由于WFT储存了新的周期(以Ts的增加量)-32,因此新的计数值便是现有的计数值加上新的WFT登记项。新的WFT登记项由线144被供应到加法器140。加法器140将新的WFT登记项(载明有新的周期)与现有的计数值组合。比较器142被用于将目前的计数值与32相比较。当目前的值<32时,这将标示系统时脉周期,代表目前周期的结束与下一个周期的开始。在一范例中,比较器142可以将计数字元31:5与全部都是0作比较。在此范例中,最低的5个位(4:0)通常以Ts指出某一周期开始的确切位置。
参考图4,其中显示周期产生器运作的一项范例。计数值(以Ts为单位)以轨迹148表示,每系统时脉(轨迹146)周期有32Ts。在此范例中,在Ts数23开始的周期有177Ts的周期,而其后则是周期为95,在Ts8开始的周期。如上文所讨论者,177Ts的周期以177-32=145被储存在WTS内。在一范例中,当计数器往下数到23时,它被载入(以载入脉冲150表示)23+177-32=168的值。当计数值再次降到32以下时,下一周期(95-32)便被载入,如载入脉冲150b所示者。可了解的是,用一个Ts数目来辨认的位置是位周期Ts的开始。因此,如果某人要将一个公称7.5ns的系统时脉周期分割为32个间隔,则Ts0将代表第一间隔的开始且也将与系统时脉的上升边缘同时发生。第31个间隔将会恰好是在系统时脉循环结束前的一个Ts。
根据至少某实施方案,向量可使用如IEEE1450所定义的标准测试界面语言(STIL)来定义。在这些实施方案中,使用周期与波形所载明的向量的数据以波形字(WFC)与波形表(WFT)的方式被储存在主存储器内。波形字有点类似于用在其它诸如WGL(波形产生语言)等语言的时间组定义。STIL最多可支持63种不同的WFC符号,无论如何,在许多范例中,一个更为可行的限制可能是每接脚32个WFC。一个以FPGA实作的实施例具有大小为32x18的内存基元。这可以让我们很容易地建构出包含有32个元素的波形表。一个接脚的WFC可以由波形表中选择一特别的波形。
在一实施方案中,各波形是一个位图形63位宽。波形内的各位位置被称为TIC,如以上所讨论者。根据向量的周期,至少会有32个TIC被用到,且各个波形最多会有63个TIC。可能位在第64个TIC位置的是一个补丁TIC,其可在需要时被用来填塞一波形,这将在下文中进一步讨论。可以用每个Ts一个TIC的速度将TIC移出一个高速的SERDES传送器。在某些范例中,TIC也可用2的幂次方被重复以便拉长该向量所用的周期,这将在下文中进一步讨论。
STIL也可支持在一波形表(WFT)中让数组WFC伴随有周期定义。对于可以用到的WFT数目并没有特别的限制;但是,如果可以支持让WFT多于WFC可能并没有多大用处。在一实施例中,藉由选择可以支持32个WFT,可以将主存储器内的一项WFC选择对映到WFT内所使用的一个实际地址。在一范例中,这项对映功能是一个小型的1Kx5查找表。它的地址是由一个五位(1到32)的WFT选择与一个5位(1到32)波形选择所组成的。它的输出是一个5位的波形地址。除了再对映(remap)的外,来自主存储器的WFT选择也被用于寻找一个周期。如上文所讨论者,周期可能被储存为一个32位的数字,其值代表了Ts间隔-32的实际数目。
参考图5,其中所示的是波形表再对映、周期选择与波形表选择的一个范例的方块图。一个用于找出WFC选择的讯号由主存储器自线180被供应到WFT再对映逻辑172。一个用于代表WFT选择与周期选择的讯号也由主存储器自线182被供应到WFT再对映逻辑172以及周期选择逻辑174。周期选择可以被分享在所有接脚之间,而WFC选择则仅限于特定的接脚。周期选择逻辑174在线176上提供一讯号给周期产生器。WFT选择逻辑172提供一波形地址给波形内存(WFM)178。接着,WFM178提供一载明所需波形的输出讯号。WFM178也可在线180上供应一个动态偏斜调整讯号,这将在下文中进一步讨论。
如上文所讨论的,一个测试波形可以是由将波形资料提供到一高速SERDES传输器的输入而被数字化地绘出,此高速SERDES传输器以每个Ts作为一个时脉周期,一次一个位地将波形传送出去。在一实施例中,可能有两个SERDES输出通道;各通道都在每个Tc时馈入一个完整的32位字符。输出SERDES其中之一被用作为接脚电子的驱动HL输入(在图1中的线122a上),而另一者则被用于输出致能(在图1中的线122b上)。
参考图6,其中所示的是根据本发明的观点所制作的SERDES驱动线路的一个范例的方块图。如上文所讨论的,WFC与WFT选择是透过主存储器完成的。WFC选择与WFT选择讯号被分别供应在线180与182上,由主存储器到波形表184(其包括来自图10中的WFT再对映逻辑172与周期选择逻辑174)。输出波形的建构是藉由搜寻一个波形位图形,将它与其它图形数据组合(被称为D1、D2,如上文所讨论者),或者将它以2的幂次方拉长以符合某一周期,将连续波形合并并将所形成的位图形加载一个输出SERDES。除了周期产生器可以被数个接脚通道所分享之外,每个输出脚位通道都有一个完整的SERDES驱动电路。
再参考图6,数据组合器186可被用于将来自波形内存的输出讯号(波形数据)与图形数据组合。图形数据包含接收自主存储器的一部分(此部分被称为图形内存的额外数据位)。使用这些来自图形内存的额外数据位可以提供额外的弹性,而无需使用大如一个WFM的内存,就如同它们未被使用一般。这项组合可以产生一个透过波形拉长电路188与波形合并电路190被馈入驱动HL与输出致能SERDES传输器的63位数据流。波形拉长线路188与波形合并线路190的运作将在下文作讨论。
STIL语法包含五个状态的说明,也就是:U、D、Z、P与N。U代表的是一个驱动高电位,D代表的是一个驱动低电位,而Z代表的则是驱动器位于高阻抗状态。P(先前的)代表的是驱动到最近的U或D状态(也就是,驱动到前一个循环的最后状态),而N代表的则是驱动到一个“无需在乎”的状态(换言之,将N由U改变到D或由D改变为N不应该会改变测试程序的结果)。
在一范例中,在WFM内的一个特定波形登记项的各个TIC可以用4位来表示。这些4位让各种期望波形可以很容易地被建构出来。但是,应了解的是,本发明并不限于使用4位来表示各个TIC,且在其它范例中也可使用其它的位数。以下的表1说明来自WFM的4个位如何与来自图形内存的图形数据位(D1与D2)组合来产生驱动H/L与输出致能讯号,这些讯号被供应到输出SERDES 116。
表1
TIC码 | 助记符号 | 驱动H/L | 输出致能 |
0 | D | 0 | 1 |
1 | U | 1 | 1 |
2 | D1 | D1 | 1 |
3 | D1* | D1* | 1 |
4 | D2 | D2 | 1 |
5 | D2* | D2* | 1 |
6 | P | 先前的 | 1 |
7 | P | 先前的 | 先前的 |
8 | ZD | 0 | 0 |
9 | Zu | 1 | 0 |
10 | ZD1 | D1 | 0 |
11 | ZD1* | D1* | 0 |
12 | ZD2 | D2 | 0 |
13 | ZD2* | D2* | 0 |
14 | ZP | 先前的 | 0 |
15 | ? | D1 | D2 |
在一实施例中,STIL状态U,D与P可被直接列出。为了方便起见,U与D的等效状态可用D1、D1*、D2与D2*产生。通过由用这种方式使用图形数据位D1与D2,合并的STIL波形可以更容易地被产生。由于N状态可以是任何东西,因此,在一范例中,它可以与STIL P状态相同。这有助于P状态的产生。
STIL P状态代表着驱动到最后的U或D值,而在一范例中,这同样也意味着D1、D1*、D2与D2*。因此便需要记住当输出致能最后一次被宣告时的驱动HL的值是什么。为了要这样做,在一范例中,Z状态可被分为七个Z状态,各用不同的方法来将驱动HL输入驱动到接脚电子,但此时所有的输出致能都被关闭。在建构一个WFM登记项时,可以使用Z TIC代码更特别的形式。这让系统得以在驱动HL维持完全相同的值。再者,在一范例中,如果一个WFM登记项不是一个完全的64个TIC宽,那么它便可能通过复制该波形内的最后一个正确的TIC而被填补。现在,通过记住前一个波形中的第64个TIC,驱动HL值便可被维持在整个向量边界内。应注意的是,当系统由一向量转移到另一向量时,在目前向量内最后的TIC实际值会被记住,不论它是来自D1或D2。因此,在一连续向量中的Zp是正确的,且任何将P用在稍后向量的作法也是正确的。
在另一实施例中,取自主存储器的向量数据可被压缩进一组被称为“WaveSet”(WS)的位,而不使用STIL(包括WFC与WFT)来定义驱动波形。参考图7,其中所示的是根据本发明的观点所制作的数字模块一部分的一个范例的方块图。控制器152可以由主存储器104接收向量数据并将数据转换并压缩为两组位,也就是提供在线154上的WaveSet以及提供在线156上的图形数据(以上所讨论到的D1与D2)。WaveSet与图形数据一起描述即将要透过SERDES被移出至测试接脚的波形。在一范例中,WaveSet可包括4个位,而图形数据则可包括2个位。但是,应了解的是,这些数目只是一些范例,且本发明的WaveSet或图形数据并不限于某一特定的位数目。WaveSet与图形数据可以一起描述被供应到ATE测试头某一接脚的一个波形,或其一部分(或与一透过ATE的某一接脚接收自某一DUT的反应波形相比较,这将在下文中讨论)。
仍然参考图7,WaveSet可被供应到SERDES驱动器波形线路158。这里所用的“驱动器波形”一词是指由数字模块供应到某一接脚以激励与该接脚相接的DUT的波形。驱动器波形可通过将期望波形细分成数个TIC(也就是,一组大小相等的波形状态)而得,这在上文中已有讨论。假设在第一个TIC时,讯号有一初始状态,驱动器波形可以用讯号如何由某一TIC转换为另一TIC的方式指定。在一实施例中,驱动器波形可以有八种不同的状态,也就是,“先前的”(意谓着前一循环的最后状态)、Z(意指高阻抗)、0(二进制的0)、1(二进制的1)、D1(来自图形数据的第一位,可能是1或0)、D1*(代表D1的相反值)、D2(来自图形数据的第二位,可能是1或0)与D2*(代表D2的相反值)。在一范例中,驱动器波形可以被转换为一个被称为“DRV_TIC”的位图形。在一范例中,DRV_TIC的长度是64个TIC,每个TIC为3个位。这个位图形被储存在驱动器波形内存116内。在驱动器波形的长度并未达到64位的情况下,64个TIC中剩下的TIC的讯号状态可在驱动器波形的最后TIC中指定。这可以让我们在指定不同长度的驱动器波形时有最大弹性。当然,应了解的是,本发明并不限于使用64个DRV_TIC,相反地,我们可以使用任何数目的TIC。另外,指定各个TIC所用的位数目可以是变量且/或依据设计而定,且并不限于3个位。例如,在上文所讨论到的实施例中,各个TIC的长度可以是4个位。
以下的表2说明一个将DRV_TIC格式化为两个数据组,DIO与DRV的范例。参考图7,DRV可以被供应到驱动SERDES 116a以便在线122a上产生驱动讯号,而DIO则可被供应到I/OSERDES 116b以便打开或关闭驱动讯号。表2中所给的范例是为各个SERDES编码的一种方式。但是,应了解的是,这范例仅是用于说明的用且并非限制性范例。“图形”意谓着包含D1与D2的图形资料。
表2
参考图8,其中所示的是根据本发明的观点所制作的驱动器波形的一个范例的时序图。
如上文所讨论者,在一范例中,高速SERDES可以有一个大约250ps的位周期。但是,在某些情况下,DUT可以用慢了许多的速度运作。因此,便可以使驱动器波形“减速”。因此,如上文中参考图6所讨论者般,在被馈入输出SERDES之前,波形可以被“拉长”以便包含比一个系统时脉周期Tc为长的向量周期T。这种拉长动作可以伴随有复制各个Ts的位值,以便一个TIC的长度变为数个Ts。为了要使波形“减速”,TIC可以用重复每个Ts数次的方式被“拉长”,如此一来,例如,先前为1Ts长(对应到4GHz SERDES的250ps)的一个脉冲便可能变为128个Ts长(对应到32ns),其方法是通过将Ts重复128次以便在传送下一个TIC的前产生一个“被拉长的”TIC。这个概念可以被称为波形拉长。
在图7所示的实施例中,波形拉长的动作可以由驱动线路158所完成。相似地,在比较侧,波形拉长的动作可以在比较线路160内完成,这在下文中将进一步讨论。参考图9,其中显示一个可被结合在驱动线路158(与/或比较线路160)内的拉长电路的范例。在一范例中,所有波形数据的格式化都可在拉长动作完成之前先完成,以便拉长动作只要复制各个TIC某个次数便可。可以用这个方式达到任何的向量周期,只要最小向量周期不比一个系统时脉周期Tc为短便可。这种可以容纳许多不同向量周期的能力相较于ASIC设计而言有相当大的优点,因为ASIC设计所产生的波形具有固定的周期,一般在1到100ns之间,而且其周期不可调整。相对于固定的ASIC,一个根据本发明的观点所制作的数字模块可以采用改良技术加以缩放(例如,TIC可以在装置变得更快时变短,而可达到较快速的测试)并且可以是有弹性的,以便根据需要以拉长TIC的方式来容纳许多不同的波形周期来测试不同的受测物。因此,一个根据本发明的实施例所制作的数字模块可以藉由根据需要调整TIC被拉长的程度而包含极高速波形(短周期),也可包含低速波形(例如,毫秒的周期)。
在某些范例中,特别是在各测试都仅将单一个向量周期用于所有测试向量的情况下,系统时脉速度可被改变来容纳其向量周期,以便使波形经常拥有最大分辨率,也就是,各TIC都对应到一个Ts。无论如何,在许多情况下,当向量周期由最大速率降低时,要产生一些分辨率与较高时脉速率时相同的波形便变得不切实际。在许多实施例中,这是因为WFC表的宽度限制所致,在某些范例中,WFC表可以固定在64个TIC宽。对于7.5ns到15ns的系统时脉周期而言,并不需要拉长波形,因为波形可以通过在每个TIC内使用一个Ts来建立。但是,长于15ns(含)的向量周期便需要拉长TIC。应了解的是,这里所给的范例限制值(例如,15ns)是根据SERDES界面内的位数目与/或WFC表及WFT的大小而定的。因此,如果这些大小(以位数目表示)有所改变,则时序限制也将因而改变。因此,也应了解的是,这里所给的数目仅作范例使用,且并非是限制性范例。
根据一实施例,拉长可以用2的幂次方来作,从15ns的周期开始。波形拉长可以在每个TIC内使用数个Ts来作。在拉长之后,在一波形内仍然有最多63点的数目可以改变(亦即,63个TIC),但是波形可以持续大量的时间。例如,要把一波形拉长来符合15ns到30ns之间的周期,来自WFC内存的各个TIC被重复二次(X2)并持续2Ts的时间。在另一范例中,要把一波形拉长来符合30ns到60ns之间的周期,则各个TIC被重复四次(X4)并持续4Ts的时间。拉长可能发生在时序产生器的整个周期范围内。由于向量周期的增加量是Ts的整数倍,因此一个被拉长波形的最后TIC可能不是Ts的2的完全幂次方。这个最后TIC可能是单一个Ts往上一直到Ts的拉长因子。
如上文所讨论者,在至少某些实施例中,输出SERDES使用一个32位的界面。因此,拉长可以全部以32位块来计算,即使WFC内存可能是64位宽也是如此。一输出缓存器被加载32位并被馈入波形合并逻辑(以下将讨论),每个Tc(例如,每7.5ns)有一个新的32位。在一范例中利用了各个特定的WFC登记项都具有一个特别的WFT,且因此会有一个特别周期,且WFC登记项可以利用这种方式被加载以便让硬件可以较为容易拉长波形的事实。数个多任务器与移位缓存器的组合可以很容易地完成这项功能。例如,考虑输出缓存器位0。不论波形是否被拉长,输出缓存器位0通常由WFC[0]被馈入。如果没有拉长动作,则输出缓存器位1可由WFC[1]被馈入,如果拉长因子是2或更大,则输出缓存器位1可由WFC[0]被馈入。在没有拉长的情况下,输出缓存器位2可以由WFC[2]被馈入,如果是拉长2倍,则由WFC[4]被馈入,或者如果被拉长4倍,则由WFC[0]被馈入。其余的位来源列示于下文表3中。应注意的是,馈入输出缓存器的来源将持续WFC内存的整个64位宽。这是因为如此可让拉长可以完全使用移位与多任务器来完成。
表3
输出缓存器位 | 来源X1 | 来源X2 | 来源X4 | 来源X8 | 来源X16 | 来源X32 | 所需的多任务器 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 无 |
1 | 2 | 0 | 0 | 0 | 0 | 0 | 2:1 |
2 | 4 | 4 | 0 | 0 | 0 | 0 | 2:1 |
3 | 6 | 4 | 0 | 0 | 0 | 0 | 3:1 |
4 | 8 | 8 | 8 | 0 | 0 | 0 | 2"1 |
5 | 10 | 8 | 8 | 0 | 0 | 0 | 3:1 |
6 | 12 | 12 | 8 | 0 | 0 | 0 | 3:1 |
7 | 14 | 12 | 8 | 0 | 0 | 0 | 4:1 |
8 | 16 | 16 | 16 | 16 | 0 | 0 | 2:1 |
9 | 18 | 16 | 16 | 16 | 0 | 0 | 3:1 |
10 | 20 | 20 | 16 | 16 | 0 | 0 | 3:1 |
11 | 22 | 20 | 16 | 16 | 0 | 0 | 4:1 |
12 | 24 | 24 | 24 | 16 | 0 | 0 | 3:1 |
13 | 26 | 24 | 24 | 16 | 0 | 0 | 4:1 |
14 | 28 | 28 | 24 | 16 | 0 | 0 | 4:1 |
15 | 30 | 28 | 24 | 16 | 0 | 0 | 5:1 |
16 | 32 | 32 | 32 | 32 | 32 | 0 | 2:1 |
17 | 34 | 32 | 32 | 32 | 32 | 0 | 3:1 |
18 | 36 | 36 | 32 | 32 | 32 | 0 | 3:1 |
19 | 38 | 36 | 32 | 32 | 32 | 0 | 4:1 |
20 | 40 | 40 | 40 | 32 | 32 | 0 | 3:1 |
21 | 42 | 40 | 40 | 32 | 32 | 0 | 4:1 |
22 | 44 | 44 | 40 | 32 | 32 | 0 | 4:1 |
23 | 46 | 44 | 40 | 32 | 32 | 0 | 5:1 |
24 | 48 | 48 | 48 | 48 | 32 | 0 | 3:1 |
25 | 50 | 48 | 48 | 48 | 32 | 0 | 4:1 |
26 | 52 | 52 | 48 | 48 | 32 | 0 | 4:1 |
27 | 54 | 52 | 48 | 48 | 32 | 0 | 5:1 |
28 | 56 | 56 | 56 | 48 | 32 | 0 | 4:1 |
29 | 58 | 56 | 56 | 48 | 32 | 0 | 5:1 |
30 | 60 | 60 | 56 | 48 | 32 | 0 | 5:1 |
31 | 62 | 60 | 56 | 48 | 32 | 0 | 6:1 |
为了要决定拉长因子,那么便取出向量周期(这是“实际的”向量周期,而不是WFT登记项),将它除以32,并找出小于或等于结果的二的最高幂次方。例如,对于周期T=177Ts而言,执行此计算:177/32=5.53。小于5.53的二的最高幂次方为4。因此,如果要达到这个向量周期,则拉长因子便是4X。在此范例中,在TIC内的波形长度是177/4,其等于44.25,且因此,进1后得到45个TIC。因此,最后TIC的持续时间仅为单一个Ts(而其它所有TIC的持续时间则为4个Ts)。
参考图10,其中显示的是根据本发明的观点的波形拉长逻辑188这个范例的方块图。在所示实施例中,有两个相同的拉长单元,分别被称为偶数拉长单元196a与奇数拉长单元196b,各被用于拉长交替的波形。为了简单起见,以下的讨论将只说明偶数拉长单元的部分,此单元被用于拉长一个偶数向量周期。应了解的是,奇数拉长单元的动作方式与偶数拉长单元完全相同,且在奇数拉长单元内以参考数字“b”命名的项目与偶数拉长单元内以参考数字“a”命名的项目二者是相同的。
当每一个先前的向量周期到期时,一个新的波形由数据组合器186的输出被加载交替单元的移位缓存器。例如,当先前的奇数向量周期到期时,一个新的波形便会由数据组合器186被加载偶数移位缓存器192a内,如线200a所示般。在一范例中,这个移位缓存器192a通常将一位移动到右方(往最低有效位的方向),除非它被加载一个新的WFM。移位缓存器的第64个位从不会被移动;它的值一直维持到一个新的波形开始时才会被重新加载。这个位的值被提供给数据组合器186,如线202a所示般。第64个位由一个向量被记住而被用于在下一个向量中产生“先前的”状态。
仍然参考图10,来自移位缓存器192a的比特流被馈入一个多任务器数组198a内。多任务器数组198a也在线204a上接收一个讯号,用以指明对于目前的向量周期所要执行的拉长率。拉长率的决定已在上文中讨论过。基于拉长率信息,多任务器数组198a将所收到的比特流以多路传输,如上文表3所述。移动时脉方块194a也接收拉长率信息并将64位移位缓存器192a根据需要移动以得到所需的拉长波形。对于2、4、8、16或32的拉长值而言,移位缓存器192a再每个Tc被移动。在拉长值大于32的情况下,移位缓存器在每个(拉长率32)Tcs被拉长。移位控制194a也可调整用于波形中第一个TIC的拉长,此波形在第一次移位的前以降低Tcs的方式被拉长超过32倍。这第一个TIC调整是动态偏斜调整的一部分,这将在下文中进一步讨论。多任务器数组198a的输出被馈入一个32位输出缓存器206a,它由这个输出缓存器被提供到波形合并线路190(见图6),最后并被供应到输出SERDES 116。
如上文所讨论的,向量周期可以是Ts的任意倍数,且不一定是整数倍的系统时脉周期。因此,为了要由一向量周期无缝地传输到另一时脉周期,向量在“偶数”与“奇数”路径(任意指派且并不意指在任何向量周期内的偶数量或奇数量的Ts)内交替,且后续的波形被“合并”(这将在下文中讨论),以说明向量转变发生系统时脉周期中间的情况。
根据一实施例,波形合并电路由目前的(随意拉长的)波形取出剩余的N(N=0,...,31)个Ts位并将它与来自下一个(随意拉长的)波形的32-N个Ts位合并以便将一个系统时脉周期填入32个Ts位。接着,波形合并线路以32位块的方式由下一个波形发放Ts位,每个Tc一个位块,直到目前的向量周期内只剩下不到32个Ts位为止。接着,它将与下一个(随意拉长的)波形合并。这个过程持续在整个测试期间。
参考图11,其中说明波形合并线路190的一个范例的方块图。如图10所示,使用“a”的参考数字来识别的项目被放置在“偶数路径”上,且与使用“b”的参考数字来识别(被放置在“奇数路径”)的项目相同。图12所示是一个合并过程的说明。在此范例中,一个145Ts的周期会重复。在图12中,来自偶数路径196b的输出由轨迹210所指出。在一项重迭发生处会有一项合并进行。重迭发生在周期数(轨迹212)小于32时。如果周期数212为0,则整个时脉周期将会被填入新拉长的波形,且不会有来自先前波形的贡献。
在图12所示范例中,周期数最初会被往下计数到0,代表下一个波形的开始位位置将会是位0,而且这恰好是在偶数波形。偶数合并讯号224与偶数合并位置228通知偶数侧移位器216a在没有偏移量的情况下选择偶数拉长输出缓存器206a的32位。如果有需要,则缓存器214a将提供偏移量。最近的奇数合并位置230(在此范例中,这个值是未知的,但是,这无关紧要,因为偶数合并位置=0)正在为奇数侧选择某些移动值(由缓存器214b)。移位器216a与216b分别提供一个移动位图形给保持缓存器218a与218b。两个合并位置(偶数与奇数)与两个合并讯号(偶数与奇数)通知多任务器数组220在合并循环期间由偶数侧选择位31:0,且不由奇数侧选择任何位。
在合并之后,下一次合并之前,偶数侧持续提供具有相同(0)移动偏移量的字符。下一次合并是奇数合并,且在此范例中的奇数合并位置是17。在合并期间,偶数合并位置224(仍然为0)由偶数波形选择同一组32位,且新的奇数合并位置230将由奇数侧32位缓存器206b选择位14:0,并由它的31位缓存器214b选择位31:15来形成一个32位的奇数字符。偶数与奇数字符被使用奇数合并位置230组合在一起,使得位16:0系取自偶数侧(偶数波形的最后位置),而位31:17则取自奇数侧(奇数波形的第一部分,位14:0)。在这一合并的后,后续字符自奇数侧被拉出,上方的15个位取自32位缓存器206b的最低位,而下方的17个位则取自31位缓存器214b的最上方位。合并后的波形如图12的轨迹232所示,且被提供给输出缓存器222送到输出SERDES 116(见图6)。合并作业在测试期间持续进行。
当向量周期愈来愈长时,TIC也可能因为可能发生的拉长而变得愈来愈长,这在上文中已有所讨论。有可能在不同接脚通道的某些事件间的时序所需的精确度高于拉长后TIC分辨率所可提供者。因此,至少某些实施例可能执行一被称为动态偏斜调整的程序。动态偏斜调整允许整个(被拉长的)波形在1TIC减去1Ts之前的时间以Ts增量被扭曲。因此,如果在一与另一通道有关的波形内有一重要边缘,动态偏斜调整允许该边缘以Ts分辨率被放置,而在波形内的其余所有事件则维持为TIC分辨率。
在一实施例中,用到的内存基元(32x18)可能造成72x4的总内存大小。无论如何,WFM仅需用到其中的64x4个内存。剩下8x4=32的部分可被用于储存动态偏斜值,其可用于使Ts分辨率可因位置调整到波形转变。这在TIC是数个Ts宽时显得特别重要。根据一实施例,通过使用WFT所用的内存元素中未被用到的位,一动态偏斜调整值便可与各个WFC相关。这个值的下方5个位可提供Ts的数目而在合并之前移动波形。上方位可被用于自第一TIC的拉长消除掉数个32位(完整的Tc’s)。动态偏斜调整可以被想成一个负的时间移动-将一波形内的事件移到一个下方时间值(预先)的作业。
例如,假设某一装置运作的时脉是2MHz,且系统需要使用一个5ns的设定时间测试一输入。在此范例中的系统时脉周期是500ns,其可使用2133个Ts产生,各个Ts都接近234ps。有这样大小的周期,便可使用大小为64Ts的TIC,这对应到每个TIC大约15ns。在通道间并没有任何方式可以调整,并假设各通道彼此都很完美地对齐,则便可测试0ns或15ns的设定时间。无论如何,这二者都并不非常接近期望的5ns的测试值。通过使用动态偏斜调整,这两个通道首先都会被编程来提供0ns的设定时间。接着,会使用一个-5s的动态偏斜调整值,这在此范例中对应到大约21个Ts。当向量运作时,这个波形在它可能没有扭曲调整之的前的21个Ts时被输出,从而允许5ns设定时间的测试。应了解的是,在至少一实施例中,动态偏斜调整电路在每个向量周期可能仅提供一调整。正常来说,在周期内只有一个事件的时间必需尽可能精确地被调整,剩下的事件需要在调整后的TIC边界内。因此,在上面的例子中,系统不能同时测试一个5ns的设定时间与一个5ns的保持时间,因为如果第一个边缘被调整为在系统时脉前的5ns,那么后续的边缘便必须在稍后的TIC增加量(15ns)内。系统可以测试一个10ns的保持时间,或25ns的保持时间,但不能测试一个5ns的保持时间。无论如何,设定时间与保持时间不能在不同的向量内被测试。在此情况下,各向量可以有一个不同的扭曲调整,但不能允许一个5ns设定时间与5ns保持时间的测试。
如上所讨论者,且例如,再次参考图7,数字模块也可自DUT接收一个反应波形(透过连接到线124a与线124b的接脚)。要决定反应波形是否符合一个预期的波形,反应波形便必须与比较波形作比较。在一范例中,两个输入SERDES 118a、118b可被用在各通道内,如众所周知般,此系由接脚电子124a、124b的两个比较器输出所馈入。这些SERDES 118a、118b一位接一位地接收一个串行反应波形并将它转换为平行数据,以便较快速地处理。
在图7所示的实施例中,比较波形可以用TIC来定义,其定义方式类似于驱动电路被定义的方式,并可在比较线路160内处理。在一范例中,比较波形可以被转换为一个包含64个TIC,每个TIC有四个位的位图形。此位图形被称为CMP_TIC。再一次,当比较波形并未达到64个TIC时,剩余的TIC便可被标示为X,意味着不论什么位值出现在那些TIC期间内,对它而言都无关紧要,因为有关的资料已经结束了。来自SERDES 118a的反应波形可与CMP_TIC位图形相比并使用失败侦测电路162,这将在下文中进一步说明其细节。在一范例中,比较波形可用各TIC的选通位置来定义。在一范例中,比较波形可以有九种不同的状态。但是,应了解的是,本发明并不限于九种状态,也可使用较多或较少的比较波形状态。特别是,如果某人希望在每个TIC使用3个位(就如上文所讨论过的驱动波形范例一般),那么他便可以选择只使用8种不同的比较波形状态。
例如,某些比较波形状态可能包含X(也就是,其位值无关紧要)、V(说明其比较是正确的,可能是高电位或低电位)、L(在TIC期间所接收到的讯号必须是低电位)、H(在TIC期间所接收到的讯号必须是高电位)、Z(高阻抗)、D1(将接收自接脚的低电位或高电位讯号与来自图形数据的D1的值相比较)、D1*(D1的相反)、D2(将接收自接脚的低电位或高电位讯号与来自图形数据的D2的值相比较)以及D2*。以下的表4显示CMP_TIC的一个范例,其中的CMP_TIC被格式化为3个数据组,也就是STB(意谓着选通是开(1)或关(0))、CPH(高电位比较)与CPL(低电位比较)。图形一样代表着包含D1与D2的图形资料。
表4
图13说明一个根据本发明的观点的比较波形的一个范例。
参考图14,其中显示可被包括在失败侦测方块162内的失败侦测电路的一个范例,以及一个用以显示比较与失败数据的格式化范例的表。如上文所讨论者,比较SERDES 118a以串行格式接收波形并将它转换为平行数据。这一平行数据被馈入失败侦测线路162。失败侦测器162可以使用比较波形在反应波形内执行TIC的平行处理以决定DUT是否正确地运作(反应波形与接收自向量内存的预期数据相符)或者装置是否失败。这项比较可以一个TIC接一个TIC地执行,而不是如同传统ATE般使用一个选通讯号。如果DUT失败,则数字模块便提供一个失败讯号来通知一个作业员说DUT是坏的。在一实施例中,失败内存172可被用于储存导致失败的原因。例如,失败内存可储存关于DUT并不符合CMP_TIC的预期状态的信息。这项信息可让作业员不仅可以知道DUT已经失败了,也可知道其失败的原因。以下将讨论失败侦测器电路及其运作方式。
再次参考图1,至少在一实施例中,比较SERDES 118a在线124a(比较H)与124b(比较L)上接收一反应讯号。SERDES比较线路(未显示在图中)被用于分析这项资料,其结果则被收集在一失败缓冲器126与选择性的撷取缓冲器128内。失败缓冲器126是一个在最终储存于主存储器104之前用于暂时储存失败记录的缓冲器。失败缓冲器126也可维持住用于失败数据存贮的主存储器地址。撷取缓冲器128是一个在最终储存于主存储器104之前用于暂时储存撷取数据的缓冲器。撷取缓冲器128也可维持住用于撷取数据存贮的主存储器地址。
参考图15,其中说明根据本发明之观点的SERDES比较线路的一个范例的方块图。与SERDES驱动电路(如图6所示)相似的是,来自向量内存的输入WFC选择(在线234上)与WFT选择(在线236上)被用于查找WFT内的波形信息。WFT的输出被用于决定来自输入SERDES 118(见图1)的哪个样本会被用于与预期值相比较以侦测失败。在一实施例中,失败数据可以被储存,而用于决定哪个向量失败所需的信息以及在失败之前的事件的顺序也会被储存。
比较所用的STIL状态列示于表5中:
表5
状态 | 说明 |
L | 比较器低,两个比较器都指示为低电位 |
H | 比较器高,两个比较器都指示为高电位 |
X | 比较器未知,两个比较器都被忽略,也关闭窗口 |
T | 比较器关闭,在低电位比较器的上,在高电位比较器的下 |
V | 比较器有效,低电位比较器输出与高电位比较器输出相同 |
l | 比较器低窗口,开始寻找所有L的窗口 |
h | 比较器高窗口,开始寻找所有H的窗口 |
t | 比较器关闭窗口,开始寻找所有T的窗口 |
V | 比较器有效窗口,开始寻找所有V的窗口 |
考虑STIL状态L,一与低电位值的比较。这状态可被放置在时间上任何点的任意波形内。在根据至少某些实施例的以波型为基础的架构内,一TIC(最多为63的其中之一)被指定用来执行L比较。因此,较适宜的作法是在波形内存内出现足够的信息来告诉比较电路来为比较器测试其是否在该TIC内为低电位。当波形被拉长时(这将在下文中讨论),TIC可能持续数个Ts。无论如何,在至少一范例中,测试只有在一个Ts,也就是第一个Ts时才能作。
现在考虑STIL状态1,一与低电位值比较的窗口。这状态也可被放置在时间上任何点的任意波形内。在根据至少某些实施例的以波型为基础的架构内,一TIC可被定义为窗口比较开始的地方。在整个窗口中,其目的是在每个Ts时继续与L的比较,停止会关闭窗口的在X的比较。这目的可以通过引入一个“p”或“先前的”来达成。在一范例中,这可以很简单地是Ts样本与邻近(先前的)Ts样本二者的XOR。如果软件在窗口的开始摆放了一个1,并在这窗口的波形的所有后续TIC上都放置了p,则结果便是在TIC的第一个Ts处(在它里面有一个1)与低电位所作的硬比较,并在第一个TIC剩下的所有Ts处(如果有任何一个的话)与p作比较,接着将窗口中所有剩余TIC的所有Ts与p作比较。所有这些与p的比较的输出可与各向量一起储存。与驱动侧相同般,TIC码可被产生来实行L、H、X、T与V。可能也希望可提供一些与图形数据位D1或D2作比较的能力。另外,由于波形拉长所可被实行的方式(将于下文中讨论),可能也希望提供在所有Ts被使用到的地方作窗口比较的能力。一个比较TIC码的完整表列的范例显示于表6。在这范例中,有16个TIC码,每个TIC码有5个位。第5个位被用于在向量内选择一个失败位置,可能是第一或第二个位置。这被用于双数据率模式下,其中两个失败位置可发生在相同向量内且应该被分开识别。
表6
参考图16,其中所示是根据本发明的观点的波形表(WFT)线路238的一个范例的方块图。WFT线路自驱动侧波形表电路接收一波形地址(在线240上)及WFT选择讯号(在线242上)。如上文所讨论的,主存储器提供有控制时序产生器的驱动侧与接收侧的向量信息。无论如何,接收侧运作的时间较驱动侧为晚。这是因为讯号被驱动经过接脚电子、PCB走线,等(上自DUT,经过DUT,往回经过相似路径到达接脚电子比较器,最终回到时序产生器)的传播延迟所造成。为了要让时序产生器可以正常地运作,较适宜的作法是补偿这项延迟。
根据一实施例,为了要补偿这项延迟,可以使用两种机制:采用时脉循环(Tc)所作的粗延迟补偿,以及采用Ts循环所作的细延迟补偿。实际的总延迟时间根据数字模块确实的电路实施方式而定,且与DUT有关。无论如何,在大多数情况下,接脚电子(PE)、大约2英尺的PCB走线在DUT的入/出方向可能有数个奈秒的延迟,且另有数个奈秒的延迟由比较器所造成。
在一范例中,粗延迟补偿可藉由将可变量目的Tc时脉循环加到图形数据、WFC与WFT选择来达成。根据一实施例,它的输出延迟系因周期查找的WFT选择所造成,而不是复制WFT再对映内存所造成。粗延迟244示于图16中。细延迟补偿可被当作使用在比较侧周期产生器136(见图15)的初始值。
延迟补偿也可被实施在图7所示的实施例中。参考图7,根据一实施例,数字模块可包含波延迟内存164与波延迟线路166。波延迟线路166与内存164可被用于补偿经过不同组件的不同的讯号传播延迟以便让输出在线的讯号与接脚“对齐”。在一实施例中,波延迟可被定义为由初始时间T0到一波形开始点的特别数目的延迟TIC。在一实施例中,在比较侧,也可将一道航程往返延迟加到波延迟上。参考图17,其中所示系波延迟线路166的一个范例。在线168上的波延迟讯号可由波延迟内存164所提供。如图17所示,航程往返延迟线路170可被提供用于将一道航程往返延迟加到比较波形上,这在上文中已有所讨论。
再往回参考图16,在粗延迟244被加到波形地址与WFT选择讯号之后,这些讯号分别被传递到波形内存246与周期选择电路248。与驱动侧所作相似的是,WFM 246未被用到的位可被用于为每个WFC提供32位的动态偏斜调整值(在线245上),这些值被送到比较侧波形拉长电路250与波形合并电路252(见图15)。周期选择电路248提供一周期讯号(在线256上)给周期产生器136。
再参考图15,WFM 238输出与图形数据位D1、D2及一个I(失败忽略)字节合在一起(在组合器260内)来驱动实际比较发生在接收SERDES的输出处的逻辑电路。图形数据位与失败忽略位由主存储器提供在线258上。比较侧数据组合器逻辑的一个范例说明在以下的表7中。在此范例中,失败位置选择位选择了TIC码究竟被用于失败位置1或失败位置2。
表7
TIC码 | I | 致能[1:0] | CHval | CLval | |
所有的 | 1 | 无 | X | X | |
L | 0 | HL | 0 | 0 | |
H | 0 | HL | 1 | 1 | |
X | 0 | 无 | X | X | |
T | 0 | HL | 0 | 1 | |
V | 0 | 有效的 | X | X | |
D1 | 0 | HL | D1 | D1 |
D2 | 0 | HL | D2 | D2 | |
D1D2 | 0 | HL | D1 | D2 | |
D1D2 | 0 | 有效的 | X | X | D1=1,D2=0 |
1 | 0 | HL | 0 | 0 | |
h | 0 | HL | 1 | 1 | |
p | 0 | 先前的 | X | X | |
t | 0 | HL | 0 | 1 | |
V | 0 | 有效的 | X | X | |
d1 | 0 | HL | D1 | D1 | |
d2 | 0 | HL | D2 | D2 | |
d1d2 | 0 | HL | D1 | D2 | |
d1d2 | 0 | 有效的 | X | X | D1=1,D2=0 |
数据组合器260的输出可被提供到波形拉长线路250。波形拉长线路250在功能上与驱动侧所用者相似。无论如何,在拉长时,驱动侧波形的事件(TIC)是依据拉长率所复制出来的。相对地,在被拉长时,一接收(比较)波形是将空间放大所得,而非复制所得。表8说明比较侧波形拉长的一个范例。应注意的是,表8中的“S”代表的是“空间”。一个空间使所有的比较禁能,除了用在窗口比较中的先前比较之外。因此,如果S的来源位是H、L、T或V,则S=X。如果S的来源位是h、1、t或v,则S=p。
表8
输出缓存器位 | 来源X1 | 来源X2 | 来源X4 | 来源X8 | 来源X16 | 来源X32 | 所需的多任务器 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 无 |
1 | 2 | S | S | S | S | S | 2:1 |
2 | 4 | 4 | S | S | S | S | 2:1 |
3 | 6 | S | S | S | S | S | 3:1 |
4 | 8 | 8 | 8 | S | S | S | 2:1 |
5 | 10 | S | S | S | S | S | 3:1 |
6 | 12 | 12 | S | S | S | S | 3:1 |
7 | 14 | S | S | S | S | S | 4:1 |
8 | 16 | 16 | 16 | 16 | S | S | 2:1 |
9 | 18 | S | S | S | S | S | 3:1 |
10 | 20 | 20 | S | S | S | S | 3:1 |
11 | 22 | S | S | S | S | S | 4:1 |
12 | 24 | 24 | 24 | S | S | S | 3:1 |
13 | 26 | S | S | S | S | S | 4:1 |
14 | 28 | 28 | S | S | S | S | 4:1 |
15 | 30 | S | S | S | S | S | 5:1 |
16 | 32 | 32 | 32 | 32 | 32 | S | 2:1 |
17 | 34 | S | S | S | S | S | 3:1 |
18 | 36 | 36 | S | S | S | S | 3:1 |
19 | 38 | S | S | S | S | S | 4:1 |
20 | 40 | 40 | 40 | S | S | S | 3:1 |
21 | 42 | S | S | S | S | S | 4:1 |
22 | 44 | 44 | S | S | S | S | 4:1 |
23 | 46 | S | S | S | S | S | 5:1 |
24 | 48 | 48 | 48 | 48 | S | S | 3:1 |
25 | 50 | S | S | S | S | S | 4:1 |
26 | 52 | 52 | S | S | S | S | 4:1 |
27 | 54 | S | S | S | S | S | 5:1 |
28 | 56 | 56 | 56 | S | S | S | 4:1 |
29 | 58 | S | S | S | S | S | 5:1 |
30 | 60 | 60 | S | S | S | S | 5:1 |
31 | 62 | S | S | S | S | S | 6:1 |
在一实施例中提供有在每个向量抓取数据的能力。这一被抓取出的数据可被储存在抓取缓冲器128内(见图1)。各WFC最多可为各向量指定两个抓取位置。在一范例中,抓取位置可被指定为一个6位的TIC值。因此,WFC也可包含两个用于指出抓取TIC位置的6-位数字。在一范例中,“合法的”TIC值为0-62,而63则用于指出并没有抓取动作。在波形已经被拉长的情况下,某些延长也可能需要在抓取位置内来做。这并未显示在上面的表8中。在一范例中,数据抓取经常都发生在指定TIC的第一个Ts。因此,最后(在拉长之后)的Ts位置可被用于自SERDES抓取一个样本,接着这个样本被馈入抓取缓冲器128内。在一范例中,比较H与比较L SERDES输出(在图15中的124a、124b)可被取样并储存,给出接脚在该点的完整状态。在抓取缓冲器内,样本可在被储存于主存储器104之前被组合成一个合理的大小(这个大小可能是可变的,且因此可根据缓冲器的大小、可用的内存等因素而变)。
在另一实施例中,抓取缓冲器也可被用于当数字系统在一被称为“逻辑分析仪模式”的模式下运作时,储存一值等于Ts样本的预定数量的系统时脉循环。逻辑分析仪模式将在下文中进一步讨论。
再次参考图15,偶数与奇数拉长波形可被馈入波形合并线路252内。在波形合并线路252中,偶数与奇数拉长波形被组合成单一个32x5位的比特流,并且被馈入一失败侦测方块262内。在一范例中,波形合并线路252与用在驱动侧(见图11)的波形合并电路190可以实质相同,除了拉长可以用5位来作,而不是用2位来作之外。
参考图18,其中所示是根据本发明的观点的失败侦测线路262的一范例的方块图。在图中所示实施例中,失败比较逻辑是由32个重复的方块所组成,来自接收SERDES的各位各用一个。图18中只有最低有效位(lsb)与最高有效位(msb)的线路;无论如何,该线路可被重复用在SERDES的各位。各逻辑方块都有与特定值、“有效的”指标、或者先前的SERDES位作比较(例如,透过一个XOR功能)的能力。在最后一种情况下,对于SERDES的lsb而言,比较可以是与来自以前的时脉循环的先前msb作比较。根据失败位置选择(提供在线286上)的不同,各位可以产生一个失败0输出264或者一个失败1输出266。这些输出可透过向量周期而被累积并记录在周期的末端。
仍请参考图18,在一实施例中有两个SERDES输入,也就是来自高电位比较器(CH)124a与低电位比较器(CL)124b的输入。各SERDES 118的各个分接头(tap)(两个SERDES各有32个分接头)都有一个XOR闸268连接到它。各个XOR闸268的其它输入来自数据组合器260(CHval(在线270上)或CLval(在线272上))的一个位,其中“val”是value的简写。对于各分接头而言,这两个XOR闸在一个OR闸274被OR在一起,并被馈入多任务器276的一个输入。这一输入(HL输入)在线278上的致能[1:0]讯号被设为HL时被选中。各SERDES 118的各个输入也馈入一个XOR闸280,它的其它输入来自于其它SERDES上相对应的分接头,以便使CL SERDES上一个分接头的XOR与CH SERDES上相同的分接头。这个XOR闸280馈入多任务器276的第二输入。这个被标示为“有效的”的第二输入在线278上的致能[1:0]讯号被设定为“有效的”时被选中。
最后,两个SERDES 118的各个分接头馈入另一个XOR闸282,它的其它输入来自于同一SERDES先前的分接头(往lsb的方向)284。对于分接头0而言,比较是针对来自先前时脉循环(Tc)的最近分接头31所作的。这些XOR闸282的输入馈入一个OR闸284,它的其它输入来自其它SERDES中相似的XOR闸282,如图所示。OR闸284馈入多任务器276的第三个输入。标示为“先前的”的第三个输入在线278上的致能[1:0]讯号被设为“先前的”之时被选中。在一范例中,多任务器可以有一个由0所驱动的第四个输入(未显示在图中),并且在线278上的致能[1:0]讯号被设为“无”时被选中。多任务器276的输出指出一个失败给Ts电位,因为来自SERDES(其时脉是以Ts来计数)的各位提供一个失败比较。在一范例中,来自所有位(所有Ts)的失败指示可以被OR起来以指出一向量电位的失败。
再次参考图15,失败侦测逻辑262的输出可以在线290上被馈入波形分离线路288。与驱动侧(见图6)上的波形合并190再次参考图15,失败侦测逻辑262的输出可以在线290上被馈入波形分离线路288。与驱动侧(见图6)上的波形合并190类似的是,比较侧上的向量可能需要被彼此分离以便在各向量内被侦测到的任何失败都可被个别记录下来。如上文所讨论者般,连续的向量被识别为偶数向量或奇数向量。在任意一个时脉循环(Tc)内,来自失败侦测逻辑262的输出可以全部来自一个偶数向量、全部来自一个奇数向量、或者部分来自偶数向量,部分来自奇数向量,最后一种情况还可被细分为在该时脉循内究竟是奇数向量先到或偶数向量先到。因此,波形分离线路288可以处理接收自失败侦测逻辑262的讯号以便将偶数向量与奇数向量分离。
参考图19,其中所示是根据本发明的观点的波形分离线路288的一范例的方块图。在部分为偶数、部分为奇数的时脉循环内,两个温度计类的电路292a、292b被用于自线290上所提供的失败侦测位讯号遮掉不想要的位。在这些部分为偶数,部分为奇数的循环内,一个多任务器,例如,顶部多任务器318选择了正常的温度计输出,而另一个多任务器320则选择了反向的温度计输出。来自顶部多任务器318的输出将包含一用于选择只属于奇数向量的Ts位的屏蔽。这项输出被馈入一组AND闸312b(每个Ts一个),这些AND闸只允许来自属于奇数向量的失败侦测逻辑的Ts输出被下方的OR闸314b所OR在一起。累加器316b追踪任何在系统时脉循环间所发生的失败。相似地,多任务器320将包含一用于选择只属于偶数向量的Ts位的屏蔽。它的输出被馈入一组类似的AND闸312a来选择只属于偶数向量的Ts位,且那些Ts位在OR闸314a内被OR在一起并由累加器316a将之累积。在向量周期的末端,任何累积的失败与允许失败向量被识别为失败缓冲器126(见图1或15)的信息一起被写入,在它排队等候被传输或储存于主存储器104之处(见图1)。
如上文所讨论者,在至少某些实施例中,数字模块可提供一“逻辑分析仪模式”。在这些实施例中,抓取缓冲器128(见图1)可以是一个用于逻辑分析仪模式与储存抓取数据的双功能缓冲器。在另一范例中,在逻辑分析仪模式下所用的是失败缓冲器126,而不是抓取缓冲器128。在此情况下,失败缓冲器便可以是一个双功能缓冲器。下列讨论将参考一逻辑分析缓冲器294(见图15),且应了解的是,这可以是失败缓冲器126,除了抓取缓冲器与失败缓冲器之外,也可提供抓取缓冲器128或分离的逻辑分析缓冲器。
在一范例中,逻辑分析缓冲器294可以是一连续在每个Tc储存原始SERDES输入(32x2)的循环缓冲器。每个接脚信道都可提供一个逻辑分析缓冲器。在一范例中,各个逻辑分析缓冲器294的大小可以是128x32x2。逻辑分析缓冲器至少可以在两种模式下被触发,也就是“第一失败模式”(在此模式下,第一失败事件被侦测到),或者“图形控制模式”(在此模式下,缓冲器被一个运算位加上一个静态编程的时脉循环计数所触发)。在一失败发生时,接近一半的逻辑分析缓冲器可被允许写入失败位置上。因此,失败位置可以大约是在这缓冲器的中间。在一范例中,所有信道可以储存有相同的失败触发器。失败可在一向量周期的末端被侦测,在此情况下,周期产生器剩余者可以是0到31。这一剩余者可以在失败侦测时被储存,以便失败发生处的向量边界在逻辑分析缓冲器内被得知。在某些向量周期极长的范例中(例如,数毫秒),系统时脉循环Tc的静态数可被用于在触发逻辑分析仪模式的周期内选择一个特别的时脉循环。一旦数据被储存在逻辑分析缓冲器之后,它可被读出(例如,在数字模块的一个专属逻辑分析仪输出),或者在测试循环的末期被转送到主存储器以便在逻辑分析仪模式下不至于消耗主存储器带宽。
如上文所讨论者,至少在某些实施例中,SERDES可以是极高速的SERDES,其可以有大约234ps的Ts。无论如何,在某些情况下,数字模块可以包括具有较长Ts的较慢SERDES。或者,当技术进步时,较适宜的方式是提供一比目前的SERDES所可提供者为高的Ts分辨率(亦即,较短的Ts)。在这些情况下,可以提供一系统以便一起移动并多路传输数个SERDES以便在线122a、122b(见图1)上提供一具有较短的有效Ts的驱动波形。
参考图20,其中所示是此类SERDES多任务线路的一范例的方块图。在所示范例中,各个SERDES 116a、116b(见图7)包含四个个别的SERDES 300a、300b、300c与300d,这四个SERDES组合起来提供线122a、122b上的输出。这些个别SERDES各可为4-位的SERDES以便组成总共32-位的SERDES116。无论如何,应了解的是,本发明并不限于使用4-位的SERDES,可使用任何适当的位数,且SERDES并不需要被聚集成四的倍数,其它种聚集方式也可被接受。控制器298可以接受线296上的驱动波形讯号(例如,由图6的波形合并线路190或图7的驱动线路158)。控制器298可以将各个驱动H/L讯号与驱动致能讯号(最终被分别供应在线122a与122b上)分为四个子讯号,SERDES 300a、300b、300c与300dg上各有一个。如图20所示,这四个SERDES 300a、300b、300c与300d彼此之间的相位移动各可以是90度。因此,其相位可以是SERDES 300a为0度的相位移、SERDES 300b为90度的相位移、SERDES 300c为180度的相位移,而SERDES 300d则为270度的相位移。来自这四个SERDES中各SERDES的相位移动输出可以透过XOR闸302a与302b交错以便线122a与122b上的串行输出包含群组中各SERDES的连续位。以此方式,驱动讯号的有效时序可以四倍快于任何个别SERDES 300a、300b、300c或300d的时序。
如同上文参考图1所作讨论般,根据本发明的观点的数字模块的运作可透过由主存储器104所供应的信息来控制。另外,由ATE对DUT所作测试的结果可被记录在主存储器104内。现在将详细讨论主存储器的运作、其间的沟通以及其它存储元件的运作。
参考图21,其中所示是一根据本发明的观点的存储子系统的范例的方块图。存储子系统可包含主存储器104,主存储器控制器106、缓冲存储器108以及缓冲存储器控制器114。要测试一DUT,则有一系列的测试与比较向量(被称为图形)将由主存储器104被读入缓冲存储器108。在一范例中,图形数据可由主存储器104读出填入缓冲存储器108,而向量则由缓冲存储器处译码并执行。当缓冲存储器108填满时,来自主存储器104的数据流动便被关闭,且当缓冲存储器108开始清空时,主存储器104便再次读取。
基于内存的特性,在执行某些存储作业(例如JUMP)时便会有一些固有的等待时间。要将JUMP指令译码、告诉内存控制器说它应该在一个新的位置开始读取、并等待来自该位置的数据都需要时间。同样的,在JUMP被译码时,可能有某些诸如刷新的作业正在进行,且等待该项作业完成也需要时间。在一运算中,预期JUMP的等待时间大约为12个向量。JUMP作业在主存储器104内的等待时间可能限制由主存储器104所执行的向量循环的大小。如果其等待时间是12个向量,这在实质上将变成最小的循环大小。为了让小于此大小的循环得以存在,缓冲控制器114便可被用于根据需要重新读取缓冲存储器108,有效地由缓冲存储器108直接执行小循环。JUMP作业的等待时间也可影响到JUMP类的指令被放置在向量内存内的频率。
在一范例中,主存储器104在每个FPGA 102内(见图1)可以包含某一数量(例如,16)的64Mx9 RLDRAM II内存。无论如何,应了解的是,本发明并不限于此,且可使用其它种类的内存,例如DDR,DDR2与DDR3。在一范例中,可以同时使用两个FPGA来提供一完全的16位序列发生器(sequencer)/时序产生器来源。各信道(接脚)数据可以是各信道都存在一主存储器芯片内。即使各向量(控制)数据在FPGA之间是共通的,各FPGA也可有不同的写入活动(失败与抓取),用于避免100%同步的内存控制器。因此,至少在一实施例中,可以为各FPGA复制控制数据。
根据至少某些实施例,数据总线304可以是用于完全读取/写入功能的双向总线。这意味着不仅图形被储存在主存储器104内,同时,主存储器104也可储存失败信息、抓取数据、甚至可以有一个暂存区被用于在抓取数据后、将数据送回主ATE之前的后处理。在一范例中,主存储器104可以在一个两倍于Tc(例如,一般是267MHz)频率的时脉下运作,并使用DDR类的输入与输出数据,如此,来/回内存的最高数据率将4倍于最大向量率。藉由谨慎的管理以及使用缓冲存储器108,读取向量数据、写入失败与抓取数据、及执行所需的刷新命令可以全部由在133MHz频率下运作的不中断图形(亦即,一个DUT的不中断测试)所完成。
仍然参考图21,主存储器控制器106提供了与主存储器104之间的直接界面。主存储器控制器可包括一RLDRAM II控制核心306。主存储器控制器106可包含执行下列运作的机制:使用4倍于最大向量率(在一范例中,每秒133MHz的向量)的数据串速率读取主存储器;使用4倍的数据串速率写入主存储器;刷新;内存初始化;仲裁不同来源/目的之间的读取与写入动作;存储体管理;并为填入、清除、CRC检查等提供硬件支持。
根据一实施例,各FPGA 102(见图1)可包括一缓冲存储器108。在一范例中,各缓冲存储器108可以是在FPGA内的128x144大小。缓冲存储器108与主存储器104一起使用以便在使主存储器104的数据串本质存在的情况下使流往向量线路的数据流动率固定。换言之,至少在许多范例中,主存储器104可以用特定数据串长度的“数据串”格式被读入。无论如何,向量(驱动与比较)线路可预期以各向量的格式接收数据,而非以可能包含数个向量的数据串格式接收数据。因此,缓冲存储器108可被用于自主存储器接收数个数据串的资料并以一个向量接一个向量的方式将数据读出。在一范例中,缓冲存储器108可以大到足以使它在任一JUMP类作业之后的清空之前,并在任何需要的刷新作业已经伴随着任何写入作业已经被执行之后被重新填入。
仍然参考图21,缓冲存储器控制器114可响应来自缓冲存储器108的“填满”指示而在缓冲存储器108清空之后由主存储器104要求额外数据。缓冲存储器控制器114也可动作使来自主存储器104的数据流动在缓冲存储器108填满时停止。在一范例中,缓冲存储器控制器114可包含协助内存JUMP动作与小循环的逻辑电路,并可包含循环的巢状运作及执行过程调用所需的堆栈。
如图21所示,一辅助埠口308与主界面310可透过主存储器控制器106及数据总线304与主存储器耦合。主界面310可为主计算机提供一双向路径以便读取与写入主存储器104。辅助埠口308可以为不同用途提供一双向埠口,例如,用于使板上的抓取处理器得以存取数据与暂存数据之用。
如文中所讨论的,根据至少某些实施例,失败数据可被记录在失败缓冲器126内并提供给主存储器。在一范例中,失败回报可以藉由将两类记录写入失败内存126来作到。第一类记录是一个X-卷标记录。这项记录仅仅只是在被填入以完成一个36位值的向量零之内所遭遇到的X-标签。第二类记录是一个失败记录。这项记录包含,例如,16位的失败信息(8个信道各有失败1与失败2)与一个20位计数器。计数器每次在一X-卷标记录被写入并为每个向量增加时都被重置,所以计数器的值加上最近的X-标签便可提供精确的失败位置。
在一范例中,各记录都可为36位。各FPGA可以看见一个144位宽的主存储器104,其数据串长度(BL)等于四。记录可以被收集起来并一次写入16(广度4,深度4)。在一范例中,一次Tc最多可以产生两个记录(一个X-卷标与一个失败记录),因此失败内存更新(对主存储器的更新)在每8个Tc内最多会发生一次。在此范例中,一大约为32x36的失败缓冲器126可被用于失败数据以避免在转移到主存储器104之前产生漏失。部分的主存储器可被配置用于失败数据。主存储器的失败部分可以载明,例如,起始RAM地址,以及所要配置的内存大小。在许多范例中,也可选择是否要在到达失败缓冲器的末端的前停止,或者绕回原址并覆盖先前的数据。
如上文所讨论者,至少在某些实施例中,数字模块的各个(或一些)FPGA也可包含一抓取缓冲器128。在一范例中,抓取数据在每信道中可包含最多4位(每个包含高电位与低电位比较器值的向量分别有两个抓取位置)。每个FPGA有8个通道,因此每个Tc中的抓取数据最大可为32位。无论如何,应了解到,本发明并不限于任何的特定数量,且,特别是,每个FPGA都可有更多或更少的通道被提供,且可使用更多或更少的位。相似于失败数据被写入的方式,抓取数据可以一次被写入16(广度4,深度4)。在一范例中,抓取数据可能需要最多每16个Tc被写入一次。因此,与失败缓冲器126相似的是,一抓取缓冲器内存的大小只要足以持有32个抓取数据便已足够。
总而言之,至少本发明的某些观点与实施例系指向ATE中波形与时序产生器与测量。高SERDES(或其它移位缓存器)可被用于数字式地绘出一数位波形,藉由自数字模块中的存储装置接收平行输入数据并将其转换为串行波形以激励一可与DUT接合的接脚。波形可以用TIC来定义,而非如同传统ATE般使用选通(strobe)。TIC可以与波形无关,因为他们系由系统时脉所定义。藉由使用SERDES元素来产生波形,与传统波形产生器相较之下,本发明可以得到改善抖动与线性度的结果(因为SERDES的传播延迟是个定值)。另外,高速SERDES可以被用于自一DUT接收(以串行形式)反应波形并将其转换为高速处理所用的平行数据。再一次,因为可被用于分析DUT反应的驱动波形与比较波形可使用TIC加以定义,所以在波形中可以抓取到更多细节,且因此单一波形可被用于在单一向量内对DUT执行多次测试。例如,相同的波形可以被用在由高电位到低电位的转移时测试一装置,也可在由低电位到高电位的转移时测试一装置。如果使用传统的选通技术,那么,这两种测试必须在不同向量内使用两个不同的波形才可执行。藉由数字式地绘出TIC内的波形并使用SERDES,吾人可以使其功能得到加强。再者,如上文所提及者,根据本发明的观点的数字模块可以被实现在一FPGA内,与传统ATE所用的ASIC相较而言,本发明有着极大的弹性,且开发成本甚低。因此,根据本发明的观点的数字模块可促进较低成本、可负担的ATE的发展并可使新的测量解决方案可以快速制出原型。
以上已经说明至少一实施例的数项观点,应了解的是,对于熟知本技艺者而言,可能已可想出数种不同的替代、调整与改良方案。此种替代、调整与改良方案应属本揭示的一部分,并在本发明的范围之内。因此,前述说明与附图仅为示例之用,且本发明的范围应由适当解释后附申请专例范围及其等效声明而定。
Claims (20)
1.在自动测试测备中波形产生及测量模块,包含:
存储装置,包含描述测试波形特征的向量信息;
第一众多移位缓存器,其以平行格式从存储装置中接收向量信息并产生与测试波形相对应的串行输出;以及
第二众多移位缓存器,其以串行格式从受测装置中接收反应波形,并产生与该反应波形相对应的平行数据作为输出。
2.根据权利要求1所述的波形产生及测量模块,其中第一众多与第二众多移位缓存器各包含至少一个并串行转换器/串并行转换器组件。
3.根据权利要求2所述的波形产生及测量模块,其中测试波形被定义为多个TIC,每个TIC对应于测试波形内的至少一个位位置。
4.根据权利要求3所述的波形产生及测量模块,进一步包含数据组合器;
其中数据组合器从存储装置中接收图形数据;以及
其中数据组合器被构建并被安排用于将图形数据与描述测试波形特性的向量信息相结合从而产生测试波形。
5.根据权利要求第3项所述的波形产生及测量模块,其中各TIC具有一大于或等于并串行转换器/串并行转换器组件的时脉循环的持续时间。
6.根据权利要求5所述的波形产生及测量模块,其中向量信息详细载明一向量周期。
7.根据权利要求6所述的波形产生及测量模块,进一步包含被构建并被安排用于产生向量周期的周期产生器。
8.根据权利要求3所述的波形产生及测量模块,进一步包含波形拉长电路,波形拉长电路被构建并被安排用于复制各TIC,以便各TIC都有持续时间,所述的持续时间至少为并串行转换器/串并行转换器的两个时脉循环。
9.根据权利要求1所述的波形产生及测量模块,其中存储装置包含描述比较波形特性的比较向量信息。
10.根据权利要求9所述的波形产生及测量模块,进一步包含接收比较波形与反应波形的失败侦测电路,其被构建并被安排用于将反应波形与比较波形一位接一位地比较。
11.根据权利要求10所述的波形产生及测量模块,其中失败侦测电路被构建并被安排用于根据反应波形与比较波形的比较结果产生失败记录。
12.根据权利要求11所述的波形产生及测量模块,进一步包含失败缓冲器,该失败缓冲器被构建并被安排用于接收与储存失败记录。
13.根据权利要求1所述的波形产生及测量模块,其中波形产生及测量模块以场可程序门阵列来实现。
14.一种自动测试设备中波形产生的方法,包括:
以平行格式将数字数据提供给第一众多移位缓存器;以及
串行式地将数字数据从第一众多移位缓存器移出以产生测试波形。
15.根据权利要求14所述的方法,其中所述的提供数字数据包含提供包含众多TIC的数字波形,各TIC具有等于至少一个移位缓存器时脉循环的持续时间。
16.根据权利要求15所述的方法,进一步包含将数字波形拉长以使各TIC都有一至少等于两个移位缓存器时脉循环的持续时间。
17.根据权利要求15所述的方法,进一步包含:
用第二众多移位缓存器接收串行格式的反应波形;以及
将反应波形转换为平行格式输出数据。
18.根据权利要求17所述的方法,进一步包含:
将输出数据与一比较波形相比较;以及
基于比较结果产生失败数据。
19.根据权利要求18所述的方法,进一步包含储存失败数据。
20.根据权利要求18所述的方法,其中输出数据与比较波形的比较包括实施一位接一位的比较。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US81977206P | 2006-07-10 | 2006-07-10 | |
US60/819,772 | 2006-07-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101512362A true CN101512362A (zh) | 2009-08-19 |
Family
ID=38923533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007800335728A Pending CN101512362A (zh) | 2006-07-10 | 2007-07-10 | 自动测试设备的数字波形产生及测量 |
Country Status (7)
Country | Link |
---|---|
US (2) | US7769558B2 (zh) |
EP (1) | EP2044452A1 (zh) |
JP (1) | JP2009543096A (zh) |
KR (1) | KR20090083327A (zh) |
CN (1) | CN101512362A (zh) |
TW (1) | TW200821606A (zh) |
WO (1) | WO2008008227A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104965169A (zh) * | 2015-07-29 | 2015-10-07 | 江苏杰进微电子科技有限公司 | 全自动ic电信号测试装置及测试方法 |
CN106154144A (zh) * | 2016-06-23 | 2016-11-23 | 湖北航天技术研究院计量测试技术研究所 | Cpu器件测试图形向量的生成方法 |
CN106646197A (zh) * | 2016-12-26 | 2017-05-10 | 中国电子科技集团公司第五十八研究所 | 用于自动测试设备ate测试的调制信号的产生方法 |
CN108362995A (zh) * | 2013-10-12 | 2018-08-03 | 深圳市爱德特科技有限公司 | 一种创新的fpga的使用方法 |
CN110456122A (zh) * | 2019-07-22 | 2019-11-15 | 国营芜湖机械厂 | 一种数字波形编辑和对比显示的方法 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101512362A (zh) * | 2006-07-10 | 2009-08-19 | 阿斯特瑞昂公司 | 自动测试设备的数字波形产生及测量 |
US7539592B2 (en) * | 2007-03-23 | 2009-05-26 | Advantest Corporation | Test apparatus and electronic device |
US7990990B2 (en) * | 2007-12-11 | 2011-08-02 | Macronix International Co., Ltd. | Circuit and method for transmitting data stream |
US8362791B2 (en) * | 2008-06-20 | 2013-01-29 | Advantest Corporation | Test apparatus additional module and test method |
JP4843102B2 (ja) * | 2008-06-20 | 2011-12-21 | 株式会社アドバンテスト | 試験装置および試験方法 |
WO2011149725A2 (en) | 2010-05-28 | 2011-12-01 | Verigy (Singapore) Pte. Ltd. | Flexible storage interface tester with variable parallelism and firmware upgradeability |
JP2012174313A (ja) * | 2011-02-23 | 2012-09-10 | Advantest Corp | 試験装置 |
KR101384334B1 (ko) * | 2012-08-13 | 2014-04-14 | 주식회사 유니테스트 | 메모리 테스터에서 데이터 및 클록 동기화장치 |
US9632136B2 (en) * | 2013-04-04 | 2017-04-25 | International Business Machines Corporation | Precise estimation of arrival time of switching events close in time and space |
US9832094B2 (en) | 2014-03-24 | 2017-11-28 | Qualcomm Incorporated | Multi-wire electrical parameter measurements via test patterns |
US9577818B2 (en) * | 2015-02-04 | 2017-02-21 | Teradyne, Inc. | High speed data transfer using calibrated, single-clock source synchronous serializer-deserializer protocol |
JP2017011342A (ja) | 2015-06-16 | 2017-01-12 | 富士通株式会社 | 伝送装置及びクロック再生方法 |
JP6386434B2 (ja) * | 2015-10-08 | 2018-09-05 | 株式会社アドバンテスト | 試験装置、試験信号供給装置、試験方法、およびプログラム |
CN107688304B (zh) * | 2016-08-04 | 2019-10-18 | 东元电机股份有限公司 | 利用控制指令转换波形检核驱动装置控制指令的方法 |
US10598722B1 (en) | 2016-12-23 | 2020-03-24 | Advanced Testing Technologies, Inc. | Automated waveform analysis methods using a parallel automated development system |
US9739827B1 (en) | 2016-12-23 | 2017-08-22 | Advanced Testing Technologies, Inc. | Automated waveform analysis using a parallel automated development system |
KR102276895B1 (ko) * | 2017-08-17 | 2021-07-12 | 삼성전자주식회사 | 반도체 장치 및 그 이벤트 프로파일링 방법 |
TWI683202B (zh) * | 2017-12-27 | 2020-01-21 | 大陸商彩優微電子(昆山)有限公司 | 數位波形訊號產生裝置 |
KR102512985B1 (ko) | 2018-06-12 | 2023-03-22 | 삼성전자주식회사 | 반도체 장치를 위한 테스트 장치 및 반도체 장치의 제조 방법 |
JP7295954B2 (ja) * | 2019-01-22 | 2023-06-21 | 株式会社アドバンテスト | オンチップシステムテストコントローラを使用した自動テスト装置 |
CN115037287B (zh) * | 2021-03-05 | 2023-07-28 | 默升科技集团有限公司 | 扩频时钟转换器 |
KR102308990B1 (ko) * | 2021-07-20 | 2021-10-06 | (주) 에이블리 | 반도체 테스트 패턴 발생 장치 및 방법 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3237473B2 (ja) * | 1995-06-29 | 2001-12-10 | 安藤電気株式会社 | マスク制御装置 |
TW495616B (en) * | 1999-04-06 | 2002-07-21 | Advantest Corp | Test device and method for electrically testing electronic device |
US6658363B2 (en) * | 2001-01-18 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | Digital data pattern detection methods and arrangements |
TWI274166B (en) * | 2004-06-18 | 2007-02-21 | Unitest Inc | Semiconductor test apparatus for simultaneously testing plurality of semiconductor devices |
US7398443B2 (en) * | 2004-10-15 | 2008-07-08 | Genesis Microchip Inc. | Automatic fault-testing of logic blocks using internal at-speed logic-BIST |
JP2006277867A (ja) * | 2005-03-30 | 2006-10-12 | Toshiba Corp | 半導体記憶装置 |
CN101512362A (zh) * | 2006-07-10 | 2009-08-19 | 阿斯特瑞昂公司 | 自动测试设备的数字波形产生及测量 |
-
2007
- 2007-07-10 CN CNA2007800335728A patent/CN101512362A/zh active Pending
- 2007-07-10 EP EP07810118A patent/EP2044452A1/en not_active Withdrawn
- 2007-07-10 WO PCT/US2007/015291 patent/WO2008008227A1/en active Application Filing
- 2007-07-10 JP JP2009519455A patent/JP2009543096A/ja not_active Withdrawn
- 2007-07-10 US US11/827,141 patent/US7769558B2/en active Active
- 2007-07-10 KR KR1020097002096A patent/KR20090083327A/ko not_active Application Discontinuation
- 2007-07-10 TW TW096125207A patent/TW200821606A/zh unknown
-
2010
- 2010-03-03 US US12/660,800 patent/US8423315B2/en active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108362995A (zh) * | 2013-10-12 | 2018-08-03 | 深圳市爱德特科技有限公司 | 一种创新的fpga的使用方法 |
CN108362996A (zh) * | 2013-10-12 | 2018-08-03 | 深圳市爱德特科技有限公司 | 一种“近距离测试”理论及方法 |
CN104965169A (zh) * | 2015-07-29 | 2015-10-07 | 江苏杰进微电子科技有限公司 | 全自动ic电信号测试装置及测试方法 |
CN106154144A (zh) * | 2016-06-23 | 2016-11-23 | 湖北航天技术研究院计量测试技术研究所 | Cpu器件测试图形向量的生成方法 |
CN106646197A (zh) * | 2016-12-26 | 2017-05-10 | 中国电子科技集团公司第五十八研究所 | 用于自动测试设备ate测试的调制信号的产生方法 |
CN110456122A (zh) * | 2019-07-22 | 2019-11-15 | 国营芜湖机械厂 | 一种数字波形编辑和对比显示的方法 |
CN110456122B (zh) * | 2019-07-22 | 2021-05-14 | 国营芜湖机械厂 | 一种数字波形编辑和对比显示的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2008008227A1 (en) | 2008-01-17 |
US20110015891A1 (en) | 2011-01-20 |
US20080114563A1 (en) | 2008-05-15 |
US8423315B2 (en) | 2013-04-16 |
JP2009543096A (ja) | 2009-12-03 |
KR20090083327A (ko) | 2009-08-03 |
EP2044452A1 (en) | 2009-04-08 |
US7769558B2 (en) | 2010-08-03 |
TW200821606A (en) | 2008-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101512362A (zh) | 自动测试设备的数字波形产生及测量 | |
CN109690684B (zh) | 用于柔性熔丝传输的设备与方法 | |
US5222066A (en) | Modular self-test for embedded SRAMS | |
CN201886122U (zh) | 一种基于pxi总线的数字测试模块 | |
CN100585852C (zh) | 使用最少引脚而被测试的半导体器件、以及测试其的方法 | |
CN100359473C (zh) | 用于硬件仿真器的存储器反绕和重构 | |
KR100913968B1 (ko) | 반도체 메모리 장치 | |
CN101320593A (zh) | 用于存储设备的预测定时校准 | |
CN102854411A (zh) | 测试装置及测试方法 | |
CN109256172A (zh) | 包括检测时钟样式生成器的存储器设备 | |
CN102183727B (zh) | 一种具有检错功能的边界扫描测试方法 | |
KR101753353B1 (ko) | 반도체 시험 장치 | |
CN112017727B (zh) | 接口测试方法、装置、处理器和电子设备 | |
JP4737929B2 (ja) | 半導体記憶装置 | |
US8341477B2 (en) | Test board having a plurality of test modules and a test system having the same | |
CN100568382C (zh) | 先进先出存储器 | |
TWI682184B (zh) | 單一可現場規劃閘陣列中多排組數位刺激響應之技術 | |
KR20150040617A (ko) | 메모리 테스트 장치 및 이의 동작 방법 | |
US7240257B2 (en) | Memory test circuit and test system | |
CN103065672A (zh) | 一种基于同步静态随机存储器ip的异步静态随机存储器 | |
KR101334111B1 (ko) | 쿼드 데이터 레이트(qdr) 제어기 및 그의 실현방법 | |
WO2023019658A1 (zh) | 一种存储器测试方法、设备及装置 | |
KR101062759B1 (ko) | 반도체 메모리 장치 및 그 데이터 독출 방법 | |
Lee et al. | Reduced-pin-count BOST for test-cost reduction | |
JP2007107930A (ja) | 検査回路および検査システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090819 |