ICT 数字测试原理 14 - -VCL 数据捕获
数据捕获
数据捕获用于从一组向量中捕获状态,将它们保存在数组中,并将数组传递给testplan,以便在BT-Basic中进行处理。数据捕获使你能够进行多种不同类型的测试:
- 读取电路板上的微处理器中包含的序列号或版本号,读取ROM的内容,或者评估模数转换器。
- 仅限多路复用系统:除了读取两级数据流(高或低),还可以读取三级流,如ISDN交替标记反转(AMI)编码,其中正脉冲和负脉冲都表示1,缺少脉冲表示0(参见示例2-23)。
- 进行上升时间和下降时间测量。
根据你要捕获的数据类型,数据捕获使用串行捕获RAM或并行捕获RAM。其他一些软件功能也使用这些RAM。因此,如果你在同一数字(VCL)测试中使用了这些功能,则无法使用串行数据捕获:
-
边界扫描
-
如果你在同一数字测试中使用数字调试,则无法使用并行数据捕获。
什么是数据捕获?
数据捕获可以是串行或并行的。在串行数据捕获中,你应用一组向量并从单个节点捕获状态(位)。状态被捕获在模块控制卡上的串行捕获 RAM 中。可以捕获的位数取决于系统中 RAM 的大小。UnMux 系统中较大的 RAM 大小使你可以捕获多达256k的串行位。
并行捕获 RAM 的结构与串行 RAM 不同。并行 RAM 深度为128位,实际上与数字测试中要捕获的节点数一样宽。这使你可以一次从两个或多个节点捕获128个向量的数据,并可以选择这些节点。捕获的向量不一定是连续的:可以选择捕获向量块或单个向量。如果需要捕获超过128个向量,只需从 RAM 中提取数据到数值数组并继续捕获——新数据将覆盖 RAM 中的现有数据。
与数据捕获相关的 VCL 语句有:
- capture—pack
- capture — 作为向量执行语句的辅助关键词
- capture/end capture
- fetch
- test digital
示例2-23展示了一个简单的VCL测试,说明如何在数字测试中使用数据捕获语句。由于只需从一个引脚捕获数据,因此此测试自动使用串行捕获。注意,并不是所有的向量都需要被捕获。另外注意,捕获向量必须将被捕获的引脚设置为X状态,以便它不能导致测试失败。在向量中未列出的接收引脚总是进入其默认状态。如果未分配其他默认状态,则默认自动为X。但是,如果你明确分配默认值,可以帮助记录测试。
示例2-23
test digital; Q(*) ! 捕获的数据被转移到数组 "Q"
assign In to pins 1
assign Out to pins 2 default "X"
. . .
inputs In
outputs Out
capture Out ! 指定要捕获的引脚
. . .
! 向量定义部分
vector In_1
set In to "1" ! 将 Out 默认为 "X",以便无法导致测试失败
end vector
vector In_0
set In to "0" ! 将 Out 默认为 "X",以便无法导致测试失败
end vector
vector Test_Out
set In to "0"
set Out to "1"
end vector
! 向量执行部分
unit "Capture"
execute In_0
capture ! 打开捕获
execute In_1
execute In_0
end capture ! 关闭捕获
fetch Q(*) ! 将捕获的状态保存到数组 "Q"
execute Test_Out
end unit
从示例中,你可以看到捕获过程中的四个步骤:
- 指定保存捕获数据的变量数组,以便在BT-Basic中处理。参见《在testplan和数字测试之间传递数据》。
- 指定要捕获的引脚并选择捕获类型。此步骤还指定了捕获数据提取的格式。参见《指定引脚和捕获类型》。
- 捕获数据。参见《捕获数据》。
- 将捕获的数据提取到指定的数组。参见《提取数据》。
数据被提取后,你可以结束数字测试,并在testplan内处理数据。或者,你可以停止或暂停测试并暂时将控制权返回给testp

最低0.47元/天 解锁文章
1106

被折叠的 条评论
为什么被折叠?



