首页> 中国专利> 用于自动测试系统中的时钟编程技术

用于自动测试系统中的时钟编程技术

摘要

一种用于配置自动测试系统以从参考时钟产生多个时钟的系统和方法包括用户界面和软件。所述用户界面接收指定多个时钟的期望频率的多个输入。软件响应来自用户界面的命令,计算耦合到参考时钟的分频器的值,用于从参考时钟得到每个期望频率。根据一个实施例,期望频率形成必须满足相干的比率。在计算分频值的过程中,软件在精确地保持期望比率的同时将频率误差减到最小。

著录项

  • 公开/公告号CN1650184A

    专利类型发明专利

  • 公开/公告日2005-08-03

    原文格式PDF

  • 申请/专利权人 泰拉丁公司;

    申请/专利号CN03809349.9

  • 发明设计人 吉尔伯特·R·里泽;

    申请日2003-02-21

  • 分类号G01R31/319;

  • 代理机构11219 中原信达知识产权代理有限责任公司;

  • 代理人钟强;谷惠敏

  • 地址 美国马萨诸塞州

  • 入库时间 2023-12-17 16:25:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-04-25

    未缴年费专利权终止 IPC(主分类):G01R31/319 授权公告日:20091230 终止日期:20110221 申请日:20030221

    专利权的终止

  • 2009-12-30

    授权

    授权

  • 2005-09-28

    实质审查的生效

    实质审查的生效

  • 2005-08-03

    公开

    公开

说明书

相关申请的交叉引用:

无适用申请。

涉及的联邦资助研发项目的陈述书:

无适用的陈述书。

涉及的缩微附录:

无适用的缩微附录。

技术领域

本发明通常涉及用于电子装置的自动测试设备(ATE),并且,更具体地,涉及用于在自动测试系统中对多时钟进行编程的技术。

背景技术

包括在37 C.F.R.1.97和1.98下公开的信息的相关领域描述

ATE系统典型地使用多个时钟用于测试电子器件。在普通的测试脚本中,使用三个或者更多的时钟——例如,数字时钟、源时钟和捕获时钟。数字时钟定义了数字I/O向DUT(device under test:被测器件)施加数字信号,或者从DUT采样数字信号的速率。源时钟定义了模拟源,诸如AWG(arbitrary waveform generator:任意波形发生器),改变施加给DUT的数字信号的输出电平的速率。捕获时钟定义了数字转换器从DUT采样模拟信号的速率。

器件测试通常需要协调测试系统的不同时钟。在测试DAC(digital-to-analog converter:数模转换器)时,数字时钟与捕获时钟相协调用以确保数字转换器在相对于DAC输入码是已知的点处采样DAC的输出。相似地,在测试ADC(analog-to-digital converter:模数转换器)时,数字时钟与源时钟相协调用以确保源自ADC的数字回读参考沿模拟输入信号上的已知的点。

特别重要的是对时钟进行协调用以获得“相干”。如果信号中的每一个信号程完成了样本窗口中的整数个周期,则该信号是相干的。精确地,在Fs/N=Fik/Mk时获得了相干,其中:

●Fs是仪器的采样速率;

●N是样本窗口(由源提供的或者捕获的)中的样本的数目;

●Fik是(所输出的或者所期望的)第k个信号程的理想频率;和

●Mk是第k个信号程在样本窗口中所完成的周期的数目。

在单一的测试中涉及两个或者更多的时钟时出现了对相干的需要,例如,在提供一个时钟控制输入信号并且捕获另一个时钟控制输出信号的时候,输出信号包含与输入信号相同的频率。如果不进行协调,则将不可能保证Fs/N=Fik/Mk,并且因此不能保证相干。

相干对于防止“漏波”是非常重要的。漏波是提供或者采样截取的信号程的可能性较小的结果。漏波在所提供的信号中加入了谐波失真,并且使采样信号的DFT(Discrete Fourier Transforms:离散傅立叶变换)失真。因此,漏波削弱了测试系统精确地测试器件特征的能力。

测试工程师通常使用他们关于测试系统的定时系统和仪器的知识人工地确定时钟频率。然而,定时系统和仪器可能是非常复杂的,提出了约束,其限制了对时序进行规定的灵活性。因此,测试工程师通常必须具有高度的专业知识用以成功地配置测试系统的时钟。

在测试设置需要相干时,规定测试系统时钟中的困难复杂化。相干提出了附加的约束,即测试装置中的两个或者更多的时钟必须具有固定的频率比率。通常,定时系统或仪器中的约束使得有可能在测试工程师希望使用的特定频率下获得该比率。为了在这些约束下工作,测试工程师通常搜索附近的频率,测试系统能够产生该频率,而该频率也满足所需的比率。这一任务经常归为一个反复试验的耗时的过程。此外,关于该人工技术的任何方面也不能确保最终使用的频率是与最初期望频率最为接近的满足比率约束的可实行的频率。因此,当前技术未必使得频率误差最小。

所需的是较简单的、更加准确的用于在自动测试系统中对时钟进行编程的技术。

发明内容

考虑到前述背景,本发明的目的在于在自动测试系统中方便地规定多个时钟的配置。

为了实现前述目的以及其他的目的和优点,用于配置自动测试系统用以从参考时钟产生多个时钟的技术包括用于接收多个输入的用户界面,这些输入指定了期望多个时钟频率。软件响应来自用户界面的命令,计算分频器的值,该分频器耦合到参考时钟,用于从参考频率得到每个期望频率。

根据本发明的一个实施例,期望频率构成的比率必须满足相干性。在计算分频值的过程中,软件在精确地维持所需比率的时候使频率误差最小。

附图说明

通过对下面的描述和附图的考虑,本发明的其他目的、优点和新颖特征将变得显而易见,附图中:

图1是定时系统的简化的框图,可以具有该系统的用于配置时钟的系统;

图2是示出了测试装置环境的简化的框图,其中用户可以使用用于配置时钟的系统;

图3是时钟管理器表单的说明图,该时钟管理器表单形成了用于配置时钟的系统的图形用户界面的一部分;

图4是在可变ORC模式中操作所述系统后,图3的时钟管理器表单的说明图;

图5是在固定ORC模式中操作所述系统后,图3的时钟管理器表单的说明图;

图6是相干分组表单的说明图,通过时钟管理器表单上的控件可以进入该表单;

图7是仪器表单的说明图,通过时钟管理器表单上的一个或者多个控件可以进入该表单;

图8是图7的仪器表单的说明图,示出了与图7中选择的仪器不同的仪器的选择;

图9是图7的仪器表单的说明图,示出了用于计算频率依赖性的计算器部分;

图10是示出了确定用于定时系统的分频值的算法的流程图,其中定时系统使用可变ORC模式;和

图11是示出了确定用于定时系统的分频值的算法的流程图,其中定时系统使用固定ORC模式。

具体实施方式

图1是定时系统100的简化的等效框图,可以使用具有该结构的用于配置时钟的系统。该定时系统100对应于CatalystTM测试系统的定时系统,该测试系统由Teradyne,Inc.,of Boston,MA制造。在定时系统中,10MHz的晶振110由锁相环112进行倍频,用以产生100MHz的参考时钟。该参考时钟由K倍频器114进行倍频,用以产生超高解析度的光学参考时钟(ORC)。该ORC具有固定模式和可变模式。在固定模式中,K=500,000,000,其对应于50,000THz(1Terahertz=1012Hz)的ORC频率。在可变ORC模式中,允许K在228和229之间变化,其对应于范围在约26,844THz和53,687THz之间的ORC。由于使用了约整数,所以固定ORC模式通常比可变ORC模式更加易于编程。然而,由于更加灵活,所以可变ORC模式更多地产生精确地处于期望频率处的相干解。

该ORC有效地分流到数字定时系统116和一个或多个模拟定时系统122。数字定时系统116包括时序路径,该时序路径包括第一分频器118,其用于对ORC进行整数“D”分频用以产生第一数字输出时钟C0。第二分频器120对第一数字输出时钟C0进行整数“J”分频用于产生第二数字输出时钟T0。然后,数字时钟C0和T0可以用于控制施加到DUT或者采样自DUT的数字向量的时序。模拟定时系统122包括四个时序路径。每个时序路径包括用于产生各自模拟主时钟(AMC0-AMC3)的第一分频器124(DMC0-DMC3)、用于对第一分频器的输出进行导向的多路器(126a-d中的任何多路器)、和用于产生各自的输出时钟(A0-A3)的第二分频器128(DA0-DA3)。该输出时钟A0-A3在仪器总线上传送,其中该仪器总线对于独立仪器而言是易于使用的。

Catalyst定时系统使用内部架构(未示出),该内部架构使得其运行正如ORC运行于K*100MHz。然而,在其物理实现中,参考时钟维持固定在100MHz。不过这一细节在功能上是显而易见的。对数字时钟C0、T0和模拟时钟A0-A3进行编程仅涉及规定每个时序路径上的第一和第二分频器值的各自分频值,好像ORC仅通过分频值进行分频。

图2示出了其中使用了本发明的测试装置的环境。用户210,例如测试工程师,操作工作站或者其他计算机212。工作站212运行用于在测试装置220中配置时钟的计算机程序213。测试装置220包括定时系统222,其对应于图1的定时系统100。该测试装置220还包括,用于在时钟C0或者T0的控制下从DUT 228提供并采样数字信号的数字I/O 224,和用于在模拟时钟A0-A3的控制下提供和采样模拟信号的模拟仪器224。

计算机程序213,这里称为“时钟管理器”,包括同软件216进行通信的图形用户界面(GUI)214。在优选实施例中,时钟管理器实现在使用MicrosoftVisual Basic的PC兼容的计算机或者工作站上。GUI214包括用于接收用户输入,显示输出和接收命令的栏和控件。软件216响应输入和命令用以产生定时配置数据。定时配置数据指定了定时系统(即分频器和K倍频器)应如何配置用以满足用户指定的所需时钟频率。

GUI 214优选地包括可以同用户进行互动的表单。图3示出了时钟管理器表单300,用户首先运行时钟管理器程序时优选地显示该表单300。时钟管理器表单300向用户呈现测试系统的定时系统的图形模型。在该模型中,310表示的100MHz参考呈现出由标有“K倍频”的312进行倍频用以产生ORC 314。ORC 314呈现出分流到数字部分316和模拟部分318。

在数字部分中,栏320和324分别对应于定时系统100的第一和第二分频器118和120,而栏322和326分别对应于数字时钟C0和T0的频率。在模拟部分中,ORC分流到四个时序路径。每个时序路径具有用于第一和第二分频器328和332的栏,其分别对应于定时系统100的分频器124a-d和128a-d。每个时序路径还包括分别对应于模拟主时钟(AMC0-AMC3)和模拟时钟(A0-A3)的栏330和334。

模拟部分318还包括比率按钮336和选择框338,其用于表示AMC如何分配到第二分频器332用以产生模拟时钟a0-a3。这些比率按钮和选择框表示图1的多路器126a-d的切换功能。通过选择比率按钮336和检验许多个选择框338,用户有效地将所选择的AMC“连接”到选择框被选中的每个时序路径的第二分频器332的输入。一旦建立,即使选择了不同的比率按钮和选择框,连接仍维持在适当的位置。较新的连接覆盖了较老的连接。

对图3的时钟管理器表单的输入表示为非阴影栏,而输出表示为阴影栏。为了操作时钟管理器表单300,用户向C0、T0和A0-A3的栏(分别是栏322、326和334)中的任意栏输入期望时钟频率。然后用户点击“寻找分频器”按钮352或者“ORC固定寻找”按钮354。软件216响应这些按钮点击中的任何一个,自动地计算所有需要的分频器的分频值,用以产生用户输入的所需频率的时钟。如果用户点击“寻找分频器”按钮,则软件216计算用于可变ORC模式的分频器值和K倍频值。如果用户点击“ORC固定寻找”按钮,则软件216计算用于固定ORC模式(即K=500,000,000)的分频值。

图4示出了用于可变ORC模式的时钟管理器表单300的输出。用户事先在T0栏(326)中输入了100MHz,在A0栏中输入了500KHz,并且在A1栏(334)中输入了150KHz。然后用户点击“寻找分频器”按钮352。作为响应,软件216计算并输出用于K倍频器312、第一和第二分频器(用于数字时钟A0和A1)和C0 322的值(C0既可以是输入也可以是输出。如果没有规定输入,则软件假设J等于1并且将C0设为T0。

应当注意,软件216成功地确定了用于K倍频器和分频器的值,用以提供用户所要求的精确的期望频率。由于软件能够精确地找到期望频率,因此T0和A0、T0和A1以及A0和A1之间的比率精确地是用户规定的比率。如果需要这些比率用于相干,则维持该比率并且确保相干。

图5示出了用于固定ORC模式的时钟管理器表单300的输出。用户事先输入了与图4相同的频率,但是点击了“ORC固定寻找”按钮354。如同前面,软件216计算并且输出用于第一和第二分频器的T0、A0和A1的值。然而,该软件在K倍频器固定在500,000,000的约束下运行。这一约束限制了时序系统的灵活性并且,在该情况中阻止了软件精确地找到目标频率。胜于放弃搜索或者简单地产生误差,软件216找到与满足规定比率的期望目标频率最接近的频率。由于所显示的T0、A0和A1的频率的比率与初始规定的目标频率的比率相同,因此依然保证了相干。

注意到固定ORC模式产生的频率误差非常小,在该情况中小于千万分之一。该误差比其它测试系统中典型获得的误差要小很多,并且通常可以忽略该误差。因此时钟管理器程序使得测试工程师在不显著牺牲频率精确度的前提下能够得到ORC模式的相干时钟。由于固定ORC模式相比于可变ORC模式更易于使用,因此这对于测试工程师有很大的好处。

仅通过两个目标频率说明了可变ORC模式和固定ORC模式的操作。然而,如果测试需要,可以规定更多的目标频率。

某些测试不需要相干时钟,或者不需要所有用于测试的时钟是相干的。某些其他的测试需要不同的相干时钟组。由于相干是限制软件找到目标频率的能力的约束(特别是在固定ORC模式中),因此GUI 214优选地允许用户在不需要时去除该约束。通过按“分组”按钮350,GUI显示出相干分组表单600,该表单允许用户将不同的时钟聚在一起,或者将时钟分为不同的组。

图6示出了相干分组表单600。对于C0/T0以及显示在时钟管理器表单上的每个模拟时钟,提供了编号为1-5的单选按钮组610(由于T0和C0固有地聚在一起,因此将它们视作一个时钟)。用户通过点击组编号的单选按钮来将时钟分配到组中。对于每个时钟只能选择一个组编号。用户通过向不同的时钟提供相同的组编号而将其分配到相同的组中,或者通过向不同的时钟提供不同的组编号而将其分配到不同的组中。在点击“寻找分频器”或者“固定ORC寻找”按钮时,软件计算分频值(以及可变ORC模式的K倍频值),这些分频值维持了每组中期望频率的比率。该软件不需要维持分配到不同组的时钟之间的比率。

相干不仅需要维持时钟之间的比率,还需要修正时钟。为实现该目的,时钟管理器程序包括用于帮助用户正确地规定相干捕获的仪器表单700。用户通过点击用于时钟管理器表单300上时钟的时钟分配按钮356来调用特定时钟的仪器表单700。提供了不同的时钟分配按钮用于每个模拟时钟A0-A3

图7示出了仪器表单700。仪器表单700包括指定模拟输入时钟(A0-A3)的频率的aN时钟栏710。标号712指出所选时钟的编号(这里,“0”用于时钟a0)。用户通过首先从仪器栏714中选择仪器来操作仪器表单700,该栏714优选地实现为组合框。当用户点击仪器栏时,该栏显示该表单能够配置的所有仪器的列表。用户从该列表中选择期望仪器,于是仪器栏显示所选仪器的编号。然后用户可以指定用于配置所选仪器的时序特征。

对于每个仪器类型,时序特征可以是特定的,但是其通常包括采样速率(Fs)、样本数目(N)、理想频率(Fi)和理想频率的周期数目(M)。将这些时序特征应用到源仪器和测量仪器。例如,对于AWG,Fs指定了AWG产生输出样本的速率,N指定了所产生的样本的数目,Fi指定了输出频率,而M指定了Fi下产生的周期的数目。对于数字转换器,Fs是数字转换器的采样速率,N是在采样窗口期间期望采样数目,Fi是待测量的期望频率,而M是在采样窗口期间完成的Fi下的周期的数目。

仪器表单700包括每个Fs、N、Fi和M的栏(分别是716、718、720和722)。其还包括频率解析度的Fres的栏724。频率解析度基于等式Fres=Fs/N=Fi/M依赖于Fs和N,或者可替换地,依赖于Fi和M。对于数字转换器,Fres表示取自其所需样本的DFT的二进制宽度。对于AWG,Fres表示AWG可以在其中编程的最小的频率增量。由于用户通常更喜欢以Fres的形式指定时序,所以该仪器表单700允许用户单独地配置Fres

在选择不同的仪器时,依赖于每个仪器的具体需要,仪器表单700向用户呈现不同的栏。例如,如果用户选择精密低频源(PrecisionLow-Frequency Source:PLFSRC),则仪器表单仅显示出上文所述的栏(参见图7)。但是如果用户选择精密低频数字转换器(PrecisionLow-Frequency Digitizer:PLFDIG),则仪器表单显示两个额外的栏,一个用于倍频aN时钟而且一个用于分频aN时钟用以得到Fs(参见图8)。

回到图7,仪器表单700包括箭头按钮734a-h用以帮助用户计算用于不同栏的值。当用户点击这些箭头按钮734a-h中的任何按钮时,软件基于表单上其他栏中的一个或者多个栏计算箭头按钮所指向的栏的值。点击按钮734c基于先前输入的Fs和N的值计算Fres(Fres=Fs/N)。相反地,点击按钮734e基于先前输入Fres和N的值计算Fs。如果事先输入了Fs和Fres的值,则点击按钮734d寻找N的最优值。如果Fs/Fres是整数,则软件简单地赋值N=Fs/Fres。如果Fs/Fres不是整数,则软件基于选择框732的状态,工作于两种方式中的一种。如果选中选择框732,则软件在计算N的最优值过程中保持Fres不变。如果未选中选择框732,则软件在计算N值的过程中保持Fs不变。在任一情况中,软件选择导致时序特征中最小变化的N值,不命令其保持不变的Fs或者Fres。基于Fres=Fi/M的约束,按钮734f、g和h分别与按钮734c、d和e相类似地操作。

仪器表单700还包括计算按钮742。点击该计算按钮基于先前输入的Fs和Fi的值,命令软件计算Fres、M和N。如果有等式Fs/Fi=N/M,则软件首先尝试通过将分数Fs/Fi化为最简形式计算N和M。软件将简化分数的分子赋值到N,并将分母赋值到M。然后计算Fs*N作为Fres。如果N大于所允许的值,则软件继续使Fi移动小的增量,寻找使M和N位于可允许的范围内的N和M的最小整数值。因此导致的输入Fi和实际Fi之间的失配非常小。

通过点击仪器表单上的箭头按钮734a,GUI向aN时钟栏710传送Fs的值。用户可以通过点击取消按钮746或者返回按钮744关闭仪器表单700。点击取消按钮746取消了仪器表单并且返回到对时钟管理器表单300的控制。点击返回按钮744存储仪器表单700的状态并且关闭该表单。其还将aN时钟栏710的内容发送到时钟管理器表单300上的所选时钟(即与用户初始点击时钟分配按钮356相关的时钟A0-A3)的模拟时钟栏344。

如前文所指出的,仪器配置本质上地受约束Fs/N=Fi/M的制约。我们可以将该等式重写为Fs/Fi=M/N,因此变得清楚的是,分数M/N必须化为最简形式用以防止仪器产生或者得到冗余数据。为了避免冗余数据,仪器表单700包括“N&M”状况指示器738。在N/M处于最简形式时变为绿色(即M和N互质);否则变为红色。

仪器表单700还包括有效指示器736和诊断栏740。仪器的能力约束了配置时序特征的灵活性。例如,将AWG设计为仅在采样速率的有限范围上操作,并且仅在有限的带宽上接收输入信号。软件包括仪器数据库用以确保输入的每个仪器的时序特征与仪器的能力相一致。仪器数据库存储每个仪器的编程约束,该编程约束可以使用仪器表单700进行配置。软件响应用户在任意时序栏(例如栏716-724)中输入的数据,运行验证程序。该验证程序将输入的时序特征同存储在仪器数据库中的编程约束进行比较。如果输入的时序特征违反了任何的仪器编程约束,则有效指示器736变为红色并且在诊断栏740中显示诊断消息。该诊断消息通常鉴别违反的时序特征并且指定了可以对时序特征编程的可允许的范围(参见图8)。有时候,由于某些时序特征的组合是不相容的,因此仪器配置是无效的。在这些情况中,诊断消息优选地包括修改时序特征的建议。如果输入的时序特征没有违反任何存储在仪器数据库中的编程约束,则有效指示器736变绿并且诊断栏740是空白的。

如上文所讨论的,相干通常需要测试装置中不同时钟之间的协调。考虑测试装置在特定频率测量放大器的增益的情况。AWG向放大器的输入施加具有频率Fi的激励,并且数字转换器从放大器的输出捕获已放大的响应。由于放大器的输出频率也是Fi,因此数字转换器必须在包括整数个Fi周期的采样窗口中采样DUT的响应。在这种情况中,数字转换器的Fi必须等于AWG的Fi,以确保相干。

仪器表单700通过允许用户将一个仪器的时序特征配置为另一仪器的时序特征的函数来简化确保相干的任务。点击仪器表单上的按钮326、328和330引起该表单显示额外的用于分别配置Fs、Fi和Fres时序依赖性的栏。

图9示出了用户点击按钮728之后的关于Fi关系式的仪器表单700。如图9所示,仪器表单显示计算器区域900,该区域先前是隐藏的。该计算器区域900包括分子栏910和分母栏912。其还包括模拟分支区域914、源区域916和求值按钮918。通过在栏910和912中输入分子和分母,从模拟分支区域914中选择时钟,并且从源区域916中选择所选时钟的时序特征中的一个,用户指定了Fi的时钟关系式。区域914和916包括单选按钮,该单选按钮允许从每个区域中仅选择一个项目。显示在图9的示例中的设置对应于等于Fs频率3/2的Fi频率,指定该Fs频率用于模拟时钟a1。如计算器区域900中所示,可以基于系统中任何其他的时钟,针对所示出的任何时序特征配置Fi。一旦用户设置了栏910、912、914和916,用户可以点击求值按钮918。点击该按钮基于输入的设置计算Fi的值并且向Fi栏722返回算得的值。

计算器区域900的内容基本上与点击按钮326、328或者330中的哪一个无关,除了计算器区域的标题基于所按下的按钮而变化。在点击按钮726时,标题显示为“Fs关系式”,在点击按钮728时,标题显示为“Fi关系式”,并且在点击按钮730时,标题显示为“Fres关系式”。

图10和11示出了根据本发明的用于配置可变ORC模式(图10)和固定ORC模式(图11)的测试装置的定时系统的算法的示例。优选地,该算法由软件216执行,该软件216响应来自GUI 214的用户的输入和命令。无论何时用户在时钟管理器表单300中输入期望频率并且点击寻找分频器按钮352或者ORC固定寻找按钮354,软件216优选地执行这些算法中的一个。简单地参考图1,我们首先认识到定时系统100的要素有如下的数学关系:

C0*D=ORC;(1)

AL*DAL*DMCL=ORC;L=0,1,2和3;和             (2)

100MHz*K=ORC。                                     (3)

为了使用分频器(例如计数器)实现期望频率,我们搜索使得K和每个下列分频值为整数的解集:D、DAL和DMCL;L=0,1,2和3。

首先参考图10,用于可变ORC模式的算法首先试图确定所需频率和主时钟频率的最小公倍数(LCM),即A0-A3、C0和100MHz(步骤1010)的LCM。如果用户在时钟管理器表单的栏中输入了较少的期望频率,则步骤1010忽略空白栏并且仅寻找用户在其中输入期望频率的栏的LCM。由此得到的LCM是最小的数,其中每个期望频率和主时钟可以被等除。这样除尽意味着计数器或者其他的基于整数的分频器可以用于从ORC中产生每个期望频率,还意味着K可以作为整数实现用以从主时钟产生ORC。

值得注意的是,LCM是期望频率和主时钟的“最小”公倍数,而不是某些其他的公倍数。LCM是“最小”公倍数最小化了算法在定时系统中的不同的分频器级中(即第一分频器124和第二分频器128)分配分频操作的灵活度。这一点是重要的,这是因为Catalyst测试系统中的模拟主时钟(AMC0-AMC3)具有频率上限和下限。因此,必须选择第二分频器128(DAL)使得所需频率FDES-L乘上第二分频值DAL处于AMC可允许的范围内。此外,如果LCM大于最大的可允许的ORC(229),则没有能够设置的解使得定时系统精确地产生期望频率。因此找到“最小”公倍数向算法提供了成功的最大概率。

在步骤1012中,算法确定DAL分频器128的值。该步骤在两个约束下操作。第一,每个乘积DAL*FDES-L必须处于各自AMC所允许的范围。第二,DAL的值应优选地向LCM添加尽可能少(理想的是没有)的因数。这意味着,在最大程度上,DAL分频器的因数应为LCM因数的子集。如前文所述,将因数减到最少促成了配置定时系统中较大的灵活度并且增加了完成成功设置的机会。

步骤1012a-1012c展开了步骤1012的细节。对于每个模拟时序路径,该算法计算将AMCL置于其可允许的范围内的DAL的下限(LL)和上限(UL)。这样,

LL=AMCMIN/FDES-L,和                         (4)

UL=AMCMAX/FDES-L。                           (5)

为了确保LL和UL在范围中,LL向上取整而UL向下取整。然后该算法检查从LL到UL的每个整数并且确定其因数。如果找到没有向LCM添加新的因数的整数,则将该整数值赋给DAL并且停止搜索。否则,该算法将向LCM添加最少的额外因数的整数值赋给DAL。对于每个模拟时序路径重复这一过程。

在步骤1014中,该算法计算DAL*FDES-L求得每个AMCL。该算法还计算更新的LCM,称为“LumpLCM”,其包括初始LCM的所有因数,还加上任何所需用于实现DAL分频器的额外的因数。

在步骤1016中,该算法寻找另一整数“p”,使得乘积p*LumpLCM处于ORC可允许的范围,这里为228-229。如果存在该约束,则p可以是ORCMIN/LumpLCM和ORCMAX/LumpLCM之间的整数。然而,该范围中p的中间值用于随后的处理;p的选择是任意的并且可以使用任何处于指定范围中的值。

一旦p为已知,则依次进行剩余的时钟设置(步骤1018)。具体地,

ORC=p*LumpLCM;                         (6)

K=ORC/100MHz;                          (7)

D=ORC/C0;和                            (8)

DMCL=ORC/AMCL。                      (9)

在步骤1018的结尾,该算法完成了对可变ORC模式的定时配置数据的计算。该算法要么精确地得到期望频率,要么由于LumpLCM大于最大的可允许的ORC而使设置失败。

在可变ORC模式中,由于ORC变化的灵活性消除了对取整的需要,因此不需要考虑相干分组。由于频率没有取整,因此不论是否需要相干,都维持频率比率跨越所有的时钟。现参考图11,用于固定ORC模式的开始三个步骤1110-1114与图10的步骤1010-1014紧密相关。在步骤1110中,该算法如前文所述试图寻找所需频率和主时钟频率的最小公倍数(LCM),即A0-A3、C0和100MHz的LCM。然而,在步骤1111中,该算法还试图寻找所需频率和ORC的较大的最小公倍数“BigLCM”,即A0-A3、C0和50,000THz的LCM。然后在步骤1112中使用BigLCM,其中选择第二分频器用以将超出那些已经包含在BigLCM中的因数的新的因数减到最少。与LCM的因数不同,BigLCM的因数是相关的,用以允许该算法,不论是否可能,寻找准确地产生所需频率的分频值(即不需要取整,参见下文)。注意到BigLCM仅用于将步骤1012中的新的因数减到最少。一旦确定了任何新的因数,则该算法计算LCM和任何额外的所需用于实现第二分频器的因数的乘积LumpLCM。

在步骤1114中,该算法使用在步骤1112中确定的第二分频器计算AMC。在该步骤中执行的操作基本上等同于图10中在步骤1012中执行的操作。

现在前进到步骤1116,该算法计算n值,n=ORCFIXED/LumpLCM,其中ORCFIXED标称为50,000THz。由于n不必是整数,因此该算法优选地将n取整到最近的整数nr以确保可以通过计数器或者其他基于整数的分频器配置定时系统。在步骤1118中,该算法如下计算DMC分频器124a-d和D分频器118:

DMCL=nr*LumpLCM/AMCL;L=0,1,2和3;和        (10)

D=nr*LumpLCM/C0。                                 (11)

如果n初始不是整数,则对n取整以产生nr,使得产生了取整误差,nr/n,该误差作用于AMC和期望频率。在步骤1120中,该算法在如下的实际频率计算过程中解决了该取整误差问题:

AMCL=ORCFIXED/DMCL;L=0,1,2和3;            (12)

FDES-L=AMCL/DAL;L=0,1,2和3;和             (13)

C0=ORCFIXED/D。                                   (14)

在步骤1120的结尾,该算法完成了对固定ORC模式的定时配置数据的计算。

注意到每个期望频率和C0通过因子nr/n(假设nr≠n)偏离于其初始规定的值。由于该因子出现在定时系统产生的所有频率中,因此保持了不同频率之间的比率。因此,尽管不能总是维持精确频率,但是仍然确保了相干。

由该技术产生的频率误差是非常小的。注重于将LumpLCM中的因数数目减到最少通常确保了n是较大的数。因此,因子nr/n通常接近于1,确保了实际频率于其初始规定的频率非常接近。由于将LumpLCM减到最小,该算法在仍确保相干的同时,将频率误差降低到定时系统可以实现的理论上的最低值。这些频率误差通常小于在测试系统中经常找到的其他时序误差——事实上该频率误差是如此之小以致可以将其忽略。

相干分组对于固定ORC模式是重要的,这是因为取整误差使频率值失真。对于固定ORC模式,该算法简单地认为不同的相干组属于不同的定时系统。因此允许不同的组具有不同的LumpLCM和不同的n值。可能需要对某些组的n取整而对于其他的组则不需要。因此,某些组可能具有频率误差,而其他的组则没有。

前文的描述假设每个多路器126a-126d使得AMC从其各自的时序路径传递到其输出端,即,多路器126a传递AMC0,多路器126b传递AMC1,等等。然而,如上文所指出的,用于配置时钟的该系统不限于此设置。在优选实施例中,该算法通过基于实际连接计算分频值解决了切换问题。

这里描述的系统极大地简化了在测试系统中配置多个时钟的任务。其自动地基于用户指定的频率产生定时配置数据,并且通过检验针对定时系统和仪器能力的输入引导用户指定有效的配置。该系统还是可扩展的。该系统可以通过升级仪器表单700和仪器数据库适应新的仪器。此外,由于所需用于执行该算法的时间与时钟的数目成线性比例管理,因此该算法可以容易地处理额外的时钟。

替换方案

在描述了一个实施例之后,可以得到众多的可替换的实施例或者变化方案。例如,这里将时钟管理器程序描述为与Catalyst测试系统相连接。然而,本发明不限于使用该测试系统。可以使用任何具有参考时钟,使用分频器或者倍频器从其中得到任何数目的时钟的测试系统。

这里描述的实施例包括两级分频器,例如第一级包括分频器128而第二级包括分频器124。然而,从前文中显而易见的是,本算法可以升级用于具有多于两级的分频器的定时系统。具体地,可以通过重复步骤1012和1014(或者步骤1112和1114)升级本算法用于每个后续级。将选择每个后续的分频器级的值,使之满足频率范围需要,同时向LCM添加尽可能少的新的因数。

前文的描述使用了数学表述用于传达对基本算法的理解。然而,本算法不应限于这些具体的表述。如本领域技术人员所知,数学在描述定量概念中以多种形式提供了极大的灵活性。因此本发明应构建为包括使用多种基本上等效的数学形式实现了基本上相同的结果的算法。

如本文所述,用于配置时钟的本系统作为运行于PC兼容计算机上的Visual Basic程序实现。然而,本发明不限于该实现方案。如本领域技术人员所知,可以使用许多不同的软件和硬件环境实现根据本发明的系统。

本质上不需要作为单独的计算机程序提供用于配置时钟的系统。可以以多种方式打包,诸如通过不同的软件模块、软件库或者相互通信的计算机程序。而且,用于同系统通信的界面不必是GUI。可以替换为用于同其他软件部分通信的软件界面。

用于配置时钟的本系统不必运行于测试装置上。其还可以运行于开发工作站或者任何开发、调试或者检查测试程序的计算机上。其还可以用于验证和培训的目的。

除了产生配置数据,用于配置时钟的本系统还可以用于直接对定时系统的测试装置编程。例如,时钟管理器的GUI可以包括额外的控制,即在激活时,引发软件根据定时配置数据设置测试装置。因此该时钟可以运行于“实时”模式用以检查或者检修具体的测试脚本。如另外的替换方案,GUI可以包括用于产生测试程序代码的控制。在激活时,该控制引发软件产生用于测试程序所包含内容的测试程序代码。该测试程序代码可以是测试装置的本机语言,也可以是通用的测试语言,该通用的测试语言随后被翻译为测试装置专用的代码。如果随后运行测试程序,则程序代码将根据定时配置数据配置测试装置用以建立期望配置。

这些替换方案和变化方案中的每一个,连同其他的方案,是在本发明人的考虑之内,并且处于本发明的范围内。因此,应当理解,尽管通过示例的方式给出了前文的描述,但是本发明仅由所附权利要求的精神和范围所限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号