ICT 数字测试原理 21 - -VCL中的板级预处理
ICT 数字测试原理 21 - -VCL中的板级预处理
文章目录
- ICT 数字测试原理 21 - -VCL中的板级预处理
- 板级预处理
- 单节点的板级预处理
- 设备上的板级预处理
- 优化预处理资源
板级预处理
板级预处理允许您在电路板上的任何位置预处理任何节点或设备。您可以使用这种预处理方法来处理模拟设备、无法访问的节点以及对于i3070电路测试软件而言困难但您可以轻松解决的情况。
一般来说,板级预处理与所有其他类型的预处理相同。有一些差异,但它们很小,主要涉及实现。i3070电路测试软件将板级预处理视为强制性的,并优先于其他类型的预处理。除此之外,软件生成相同类型的语句,并将它们与其他类型预处理的语句一起放入可执行测试中。因此,本节的其余部分将解释何时应使用板级预处理以及如何实现它。
在输入板数据时,您实现板级预处理。如有需要,您可以查看板文件,查看在“禁用信息”标题下包含您输入数据的语句。
您可以为单个节点输入单一状态,或者输入一个设备。如果您输入一个设备,则必须提供该设备的库测试。测试不必是完整测试,但必须包含足够的数据以便i3070电路测试软件设置所需资源并生成预处理向量。对于每种板级预处理方法,您可以指定是为所有可执行数字测试实施,还是为选定的可执行测试实施。
当您在模拟电路(如振荡器)上使用板级禁用方法时,还应考虑该电路的测试,因为禁用可能会影响该测试。例如,如果您指定振荡器在所有数字测试中都要禁用,然后尝试在混合测试中使用模拟功能测试对振荡器进行测试,这将导致冲突。为避免这种情况,请不要使用混合测试,或者确保在该混合测试的数字部分未启用振荡器的禁用。
单节点的板级预处理
图2-14显示了一个需要在单个节点上进行板级预处理的示例。在这个例子中,我们假设节点C必须被设定为0。但是,i3070电路测试软件无法处理C,因为它无法访问节点B。在这种情况下,可以将更高级别的节点A设定为0以进行预处理。
您只需进行必要的输入,以指示i3070电路测试软件在节点A上施加0,如图所示。您可以输入的数据包括:
- 驱动的节点(A)和被驱动的状态(0);
- 节点A的系列(可选,如下所述);
- 哪些设备测试需要实现这种预处理(您可以指定所有设备或您选择的一列设备——所有设备意味着所有数字电路、功能和混合测试)。
有了这些数据,i3070电路测试软件生成与其他节点的单向量预处理相同的设置语句。它还将这些语句与您指定的设备的可执行测试中的其他预处理语句相结合。如果多层预处理开启并且合适,软件会对从节点A往上游的节点进行预处理。
对于单节点的板级禁用,由于软件不知道哪个设备被禁用,因此无法生成禁用设备语句。因此,Safeguard例程会发出警告信息,因为它们也不知道节点C上的设备(在本例中)已被禁用。您可以忽略此消息。
如果您未指定系列,i3070电路测试软件将从同一节点上的其他设备中选择一个。如果适用多个系列,选择优先级最高的系列。即,在该节点上的所有系列中,软件会选择在板数据的系列列表中最先出现的那个。如果节点上没有数字引脚,软件将选择板数据系列列表中的第一个系列。
图2-15显示了一块带有振荡器的电路板,该振荡器干扰了板上数字设备的测试,但无法关闭。在这种情况下,您可以通过对图中所示NAND门的输出进行预处理来有效地关闭振荡器以进行测试。要做到这一点,您只需在门的B输入上设定0,并指定哪些测试需要预处理。
图2-16显示了一个模拟部件,一个比较器,必须禁用,因为它干扰了对U10的测试。在这种情况下,您可以将节点A视为一个数字节点,并指定在测试U10时该节点必须设定为1。您还需要指定节点A的系列,以便它被驱动到所需的电压0.25 V。如果没有合适的系列,可以创建一个命名为如“Comparator”的系列。在设置系列时(在系列选项表单中),确保驱动高低电平(dh为0.25和dl为0)被正确设置。系列的其他参数无关紧要,可以赋予它们任何值。需要注意的是——将系列Comparator放在系列列表的底部附近;否则,i3070电路测试软件可能会假定它具有足够高的优先级,用作其他设备的默认系列。
设备上的板级预处理
当您为单个节点设置板级预处理时,i3070电路测试软件仅使用您输入的数据来进行预处理。但是当您为一个设备设置板级预处理时,软件会从该设备的库测试中的预处理信息中获取数据。和以前一样,软件在可执行测试中放置的语句取决于设备库测试中的数据和设定的选项(例如,多层预处理)。
您需要输入的预处理数据包括:
- 要预处理设备的名称(参考标识符);
- 设备引脚的名称(引脚编号或节点名称,取决于库测试)——如果省略此步骤,则假定所有输出和双向引脚;
- 需要实施预处理的设备测试(您可以指定所有设备或您选择的一列设备——所有设备意味着所有数字电路、功能和混合测试)。
如果以下信息尚未作为板数据的一部分输入,也需要输入:
- 要预处理设备的库测试的名称(或设备部件号);
- 库测试所在库的名称;
- 要预处理设备的系列信息。
优化预处理资源
如果正确使用预处理,您数字测试的可能性会更高,不需要或只需很少的调试。但是,对于复杂的电路板,由于实现预处理所需的时间和系统硬件资源,您可能需要做出一些妥协。
对于大型电路板,预处理要求可能非常复杂,并可能涉及许多设备。设备之间可能存在冲突——为一个设备选择的预处理方法可能会使另一个设备的预处理变得困难。电路板的拓扑结构可能阻止数字程序生成器为设备找到合适的预处理方法,或者选择的方法可能过多。虽然数字程序生成器旨在限制其用于预处理的时间,但预处理可能仍需耗费数小时。此外,如果每个设备测试都需要对许多设备进行预处理,则可能没有足够的引脚通道资源可用于某些测试。
以下是i3070电路测试软件实现预处理的一些简要说明,以及一些简化其任务的方法。这些内容旨在帮助您决定何时以及如何做出妥协,而不是软件算法的描述。
i3070电路测试软件读取每个库测试中的预处理语句,并结合所有信息来完成预处理。每个测试可以有多种方法来预处理设备,并且可以同时存在单向量和多向量预处理。
i3070电路测试软件首先确定每个引脚的考虑顺序,然后逐个检查每个引脚并选择它用于预处理该引脚的方法。确定引脚检查顺序的前两个考虑因素是:
- 板级预处理的引脚首先根据它们在板数据中的列出顺序进行排序。
- 单向量预处理方法的引脚优先于多向量方法的引脚。
优先级也赋予那些预处理方法需要最少保持引脚的引脚、方法需要最少输入的引脚,以及方法导致被预处理的引脚数量最多的引脚。
i3070电路测试软件还检查以下内容:
- 如果保持引脚位于测试向量要驱动的节点上,则检查冲突;
- 检查与其他设备预处理方法的冲突;
- 检查使用引脚的拓扑冲突。
在某些情况下,如果一个引脚的预处理方法与先前引脚选择的方法冲突,i3070电路测试软件会返回到那个先前的引脚并选择不同的方法;但并不总是这样做。然而,如果在先前引脚上选择了一种新方法,那么可能需要更改两个引脚之间引脚选择的方法。因此,如果您更改一个引脚的预处理方法或添加新引脚,可能会完全改变软件的引脚顺序和选择的预处理方法。在构建夹具之前,请确保预处理已完成,因为即使是对预处理的小改动也可能导致夹线连接的许多变化。
i3070电路测试软件不会尝试探索禁用方法的所有可能顺序,因为那样会消耗太多时间。因此,即使存在合适的方法,数字程序生成器也可能无法始终预处理所有设备。当发生这种情况时,您可能需要编辑被测设备的可执行测试,以完成预处理。例如,您可以更改设备的禁用顺序,或者您可以合并一些设备的禁用。或者,您可以使用板级预处理来处理这些情况。
当存在许多拓扑冲突时,帮助i3070电路测试软件预处理的一种方法是提供多种方式来预处理每个设备。然而,如果预处理方法太多,由于分析所有方法所需的时间,也可能导致问题。在多个级别的上游预处理开启的情况下,可能需要为每个可执行测试考虑数百个节点。这可能会在资源有限的小型测试系统中引发多路复用冲突。此外,i3070电路测试软件需要更多的时间来进行所有必要的计算。软件对一个可执行测试的所有设备进行预处理所需的时间与nm成正比,其中:
- n = 每个引脚的预处理方法数量
- m = 需要预处理的引脚数量
您可以通过在库测试中注释掉不必要的预处理方法来减少n。也就是说,注释掉由于电路板拓扑结构不适用的方法。理想情况下,每个测试只需要一种预处理方法,尽可能少的输入,并且能够预处理尽可能多的引脚。您可以通过减少上游预处理的级别数量,或为尽可能多的设备关闭上游预处理来减少需要预处理的引脚数量m。
帮助i3070电路测试软件处理复杂预处理的另一种方法是更改设备可以禁用的顺序。您可以通过为这些设备指定板级预处理来强制先预处理某些设备。这些设备按照它们在板文件中出现的顺序进行预处理。