当前位置: 首页 > news >正文

ICT 数字测试原理 6 - -VCL 测试结构

ICT 数字测试原理 6 - -VCL 测试结构


文章目录

  • ICT 数字测试原理 6 - -VCL 测试结构
    • VCL 测试结构
    • 编写声明部分
    • 编写向量定义部分
    • 编写向量执行部分
      • VCL 语句
    • 声明部分
      • 声明部分示例
    • 语句顺序


VCL 测试结构

一个 VCL 测试由四个部分组成,如表 2-2 所述:

各部分必须按所列顺序排列。每个部分都有其自己的语句集。如果测试使用图 1-2 所示的标准向量时序,并且没有可变的时序要求,则不需要时序部分。时序部分在“使用 VCL 进行高级测试”中与其他高级测试主题一起描述。

表 2-2

VCL 测试的部分

部分描述
声明部分声明测试类型、所需的系统资源、设备类型及其属性。所有库测试必须至少包含这一部分,以便数字程序生成器能够分配系统资源并为夹具做出适当的引脚分配。查看编写声明部分。
时序部分定义任何特殊的测试时序。在 Mux 系统中,仅在需要可变时序组合的测试中使用时序部分。如果您使用时序组合,请勿在声明部分中指定向量时序。查看使用 VCL 进行高级测试。
向量定义部分定义用于测试设备的向量。使用特殊的定义部分能够有效生成复杂向量。例如,如果您从 CAD 系统下载向量,您将使用 PCF(模式捕获格式)向量。在“使用 VCL 进行高级测试”中全面讨论的 PCF 向量将向量定义和执行功能结合在一起,必须位于测试的向量执行部分。如果测试中的所有向量都是 PCF 向量,则不需要向量定义部分。请参见编写向量定义部分。
向量执行部分包含任何 PCF 向量,以及执行前面部分定义的向量的指令。该部分由一个或多个数字单元和(可选的)数字子程序组成;如果有子程序,必须位于数字单元之前。请参阅编写向量执行部分。

编写声明部分

声明部分中的信息用于设置测试环境并描述设备。这些信息被数字程序生成器用于资源分配。请参阅仅设置测试。

  1. 声明测试类型。

使用 combinatorialsequential 语句。参见建立环境。

  1. 指定处理器。

使用 processor 语句。默认值为 vpu

  1. 生成调试数据文件。

如果需要,使用 generate debug 语句和将用户向量映射到机器向量的文件(generate map 语句)。

  1. 指定要传递给测试的任何变量的 VCL 名称。

使用 test digital 语句。参见在testplan和数字测试之间传递数据。

  1. 将设备引脚分配到组。

使用 assign to 语句并指定任何默认状态。参见在向量中分配资源和默认状态。

  1. 对组进行分类。

使用 inputsinputs formatted clockoutputsbidirectionalpowernondigitaluse cards onfixedwait line 语句。参见分配资源。

  1. 指定向量中引脚状态的格式。

使用 format 语句。参见表 2-6。

  1. 声明外部源向量的引脚顺序。

使用 pcf order is 语句。参见使用 VCL 进行高级测试。

  1. 指定所需的驱动和接收特性。

使用 familyset loadset ref 语句。参见测试参数。

  1. 指定向量时序。

使用 vector cyclereceive delay 语句。参见向量时序。如果测试要与外部时钟同步,请参阅时钟同步。如果要使用时序组合(在 Mux 系统上),请参见编写向量定义部分。

  1. 为 SAFEGUARD 安全分析例程提供可选数据。

这仅适用于库测试。使用 outputs limited to 语句。

  1. 指定等待线上的状态。

要触发硬件等待的终止,请使用 wait terminated when 语句。

  1. 提供禁用信息。

这仅适用于库测试。

a. 为具有可总线输出或双向引脚的设备提供禁用信息。

b. 为可能需要禁用或在其用作被测设备上游使用时需要处理的部件提供禁用和处理信息。

使用 disable withcondition withunit disable method 语句。


编写向量定义部分

定义各个向量。每个向量必须在自己的代码块中,由向量和结束向量语句界定。你可以使用初始化语句作为输入辅助工具来定义相似的向量。如果你在编写新的测试用例,请同时开发此部分和向量执行部分,而不是先定义所有向量然后再书写所有向量执行语句。

请参考向量定义部分以获取关于向量的完整信息。

如果测试仅使用PCF向量(参见使用VCL进行高级测试),则不需要向量定义部分。


编写向量执行部分

向量执行部分根据前面部分定义的资源和向量,以及本部分中的任何PCF向量来控制测试的流程。按照正确的顺序安排语句以执行向量,并在需要时合并PCF向量。

  1. 编写子程序。

子程序可以包含任何顺序的向量执行语句、自归环路、重复环路以及对其他子程序的调用。请参阅数字子程序。

  1. 编写数字单元。

所有向量执行语句和对子程序的调用必须位于数字单元中,由单元和结束单元语句界定。请参阅数字单元。

  1. 为组合器件编写库测试。

组合器件的库测试只需要一个单元。然而,它可以有多个。

序列器件的库测试可能需要分段为更小的单元,以避免拓扑冲突。请参阅解决拓扑冲突。

  1. 定义自归环路。

使用自归环路使设备从未知状态转变为特定的已知状态,以便可以进行实际测试。请参阅自归环路。

  1. 定义CRC。

在进行大型测试时,如果预测所有向量的响应过于耗时或不切实际,可以使用CRC。请参阅压缩和循环冗余校验。

如果被测设备对给定的一组向量并不总是以相同方式响应,则不能使用CRC。

  1. 定义测试暂停。

要临时中止测试(例如进行模拟测量),请使用停止和暂停语句。请参阅测试控制语句。

  1. 分段长测试。

对于可能长时间驱动上游设备的长测试,用冷却延迟语句进行分段。请参阅测试控制语句。

  1. 编写单元禁用测试。

可总线设备的测试可能需要单元禁用测试。请参阅单元禁用测试。


VCL 语句

表2-3、表2-4和表2-5列出了与测试各部分相关的VCL语句。这些语句分为两列。标准测试语句在本章中描述,进阶测试语句在《使用VCL进行高级测试》中描述。

表2-3

声明部分

标准测试语句进阶测试语句
combinatorialtest time
sequentialdynamic
processorgenerate static test
test digitaloutputs reference clock
enable loop counterpcf order is
generate debugwhen
generate mapvariable to groups
default deviceandtree
assign tonandtree
inputsnortree
outputsxnortree
bidirectionalxortree
capture—packflash
fixedflash isp
powerpld isp
nondigital
wait line
family
vector cycle
receive delay
wait terminated when
use cards on
set load
set ref
set terminators
outputs limited to
disable with
disabled device
condition with
conditioned device
on failure report

表2-4 向量定义部分

标准测试语句进阶测试语句
vectordata
initialize tofile
set tovalues
receiveend data
driveflash assignments
upcounterend flash assignments
downcounter
graycounter
end vector

表2-5 向量执行部分

标准测试语句进阶测试语句
subpcf
subend (or end sub)use pcf order
unitend pcf
executepiped
preset counternext
countrewind
callsegment
tiedend segment
homingloop
end homingloop
generate nested repeat warning
repeat times
end repeat
controllerloop
end controllerloop
compress
end compress
capture
end capture
fetch
halt
pause
message
continue analog
delay for cooling
end unit
unit disable method
unit disable test

表2-6简要描述了VCL语句的功能和用途。更多信息可以参考所示主题。

语句测试部分描述/主题
!所有部分与BT-Basic注释类似。
andtree声明声明被测设备包含一个AND树可测试性结构。
assign to声明为设备引脚组分配名称(标识符)。
bidirectional声明声明哪些设备引脚组是双向的。
call向量执行调用数字子程序并传递向量给它。
capture向量执行开始一个捕获块。捕获的数据保存在捕获RAM中。也是向量执行语句的辅助关键词。
capture—pack声明指定要捕获的节点、数据类型(串行或并行)、以及所提取数据的格式。
combinatorial声明声明被测设备仅有组合电路(即无存储器)——默认是顺序电路。
compress向量执行开始一个压缩块;将设备对块中所有向量的实际响应添加到测试的CRC。
condition with声明提供数字程序生成器所需的条件设备信息。
conditioned device声明指定除被测设备外,测试期间其他已进行条件设置的设备。
continue analog向量执行在混合测试中暂停数字测试并执行模拟测试。
controllerloop向量执行标记混合测试中控制器循环的开始。
count向量执行增加(或减少)计数器并执行包含该计数器的向量。
default device声明在可执行测试中指定被测设备的代号。
delay for cooling向量执行在正常冷却延迟时期暂停数字测试。
disable with声明提供禁用可总线设备所需的数字程序生成器信息。
disabled device声明指定测试期间除被测设备外的其他被禁用设备。
downcounter向量定义为向量分配一个降序计数器。
drive向量定义声明哪些双向引脚作为此语句出现向量中的设备输入(系统驱动)。
enable loop counter声明启用真正的计数归位循环。
end capture向量执行标记捕获块的结束。
end compress向量执行标记压缩块的结束。
end controllerloop向量执行标记混合测试中控制器循环的结束。
end homingloop向量执行标记归位循环的结束。
end pcf向量执行标记PCF向量块的结束。
end repeat向量执行标记重复循环的结束。
end sub向量执行与subend相同。
end unit向量执行标记数字单元的结束。
end vector向量定义标记向量块的结束。
execute向量执行执行一个向量(其中不能包含计数器)。
family声明声明用于测试设备的默认逻辑电平(如TTL, Flash5V等)。
fetch向量执行从捕获RAM中提取捕获数据到指定变量。
flash声明打开闪存特定功能以处理Mototola S和Intel Hex记录。
format所有部分声明要在测试的向量执行部分中使用的数制(如二进制、八进制或十六进制)。
generate debug声明指定在编译VCL测试时产生调试数据文件。
generate map声明指定由编译器生成的将用户向量映射到机器向量的文件。
generate nested repeat warning向量执行指定如果重复循环未优化则发出警告。
graycounter向量定义为向量分配一个灰度计数器。
halt向量执行暂停数字测试,将驱动器置于三态,并将控制返回到testplan。
homingloop向量执行标记归位循环的开始。
include所有部分指定包含待编译进测试的VCL语句的文件。
initialize to向量定义一个输入辅助工具:复制先前定义向量的所有引脚设置。
inputs声明声明哪些设备引脚组是设备的输入(系统驱动)。
message向量执行指定每当向量失败时,发送到报告的消息。
nandtree声明声明被测设备包含一个NAND树可测试性结构。
nondigital声明声明设备引脚中非数字引脚。这些引脚在安全分析中被忽略。
nortree声明声明被测设备包含一个NOR树可测试性结构。
on failure report声明指定在测试失败时发送到报告设备的失败消息。
outputs声明声明哪些设备引脚组是设备的输出(系统接收)。
outputs limited to声明指定同时可以是高(或低)的最大输出数量(用于SAFEGUARD安全分析)。
pause向量执行暂停数字测试,保持驱动器的当前状态,并将控制返回到testplan。
pcf向量执行标记PCF向量块的开始。
pcf order is声明指定应用PCF向量的节点组。
power声明声明连接到电源节点的设备引脚组(即处于固定电平)。
preset counter向量执行将计数器预置为其初始状态并执行包含该计数器的向量。
processor声明选择测试的处理器模式。
receive向量定义声明哪些双向引脚作为此语句出现向量中的设备输出(系统接收)。
receive delay声明建立驱动器接收器之间的向量时间延迟。
repeat times向量执行开始一个重复循环并指定执行次数。
sequential声明声明被测设备具有顺序电路(即具有存储器)。这是默认设置。
set load声明允许在单个接收器(设备输出)上设置负载(上拉或下拉)。
set ref声明允许在单个驱动器和接收器上设置逻辑电平。
set terminators声明连接接收器电路中的RC网络,以提高高速信号质量。
set to向量定义指定分配给引脚组的状态。
sub向量执行标记子程序的开始,并声明其正式向量的名称。
subend向量执行标记子程序的结束并返回程序执行到调用点。
test digital声明指定从testplan传递到测试的变量的本地标识符。
test time声明规定典型测试执行时间的估计值。
tied向量执行标识为单个单元连接在一起的一组引脚。
trace to声明在库测试中,用于指定设备的哪些输入引脚影响其哪些输出引脚。
unit向量执行开始一个数字单元。
unit disable method向量执行开始数字单元,包含需要多向量预调的设备预调语句。
unit disable test向量执行开始数字单元,以确保设备在其他设备测试期间可被禁用。
upcounter向量定义为向量分配一个升序计数器。
use cards on声明指定用于为引脚组提供资源的引脚卡类型。
vector向量定义开始一个向量块并命名向量。
vector cycle声明确定向量周期时间;即开始一个向量和下一个向量之间的时间。
wait line声明指定板上的输出被用作硬件触发器以终止硬件等待。
wait terminated when声明指定终止硬件等待的等待线条件。
warning所有部分添加警告消息到由数字程序生成器生成的文件ipg/details中的测试报告中。
xnortree声明声明被测设备包含一个XNOR树可测试性结构。
xortree声明声明被测设备包含一个XOR树可测试性结构。

声明部分

声明部分是VCL测试的第一个部分。它定义了设备或集群的类型和拓扑结构,以便数字程序生成器可以确定测试所需的系统资源。

如果要测试的设备是一个可总线组件,或者可以进行预调节(禁用或调节),那么声明部分还必须包含预调节信息(参见 condition with 和 disable with 语句)。这使得数字程序生成器能够在同一总线上的其他设备正在测试时对设备进行预调节。设备的预调节信息仅在库测试中是必需的。

如果设备的测试是可执行的,你可能需要添加语句以在测试该设备时禁用或调节其他设备。通常情况下,数字程序生成器会这样做,但如果生成器无法进行操作,则必须由你来进行禁用。参见预调节(禁用和调节)。

库测试必须至少具有声明部分,以便数字程序生成器可以进行适当的系统资源分配。本章后面描述的只进行设置的测试,通常仅有声明部分。


声明部分示例

示例2-1展示了一个库测试的声明部分。语句中包含了解释性注释。基于此处分配的引脚组的示例向量将在本章稍后展示,并附有测试中向量定义部分的描述。

(本测试段取自本章末尾展示的示例测试。)

示例2-1

sequential                      ! 测试类型
vector cycle 550n               ! 向量时序
receive delay 450n              !assign Data_in to pins 1,2,9,8  ! 
assign Results to pins 3,4,5,6  ! 分配引脚到组并命名这些组
assign I_O_bar to pins 10       ! (也确定了向量的引脚顺序)
assign Bus1 to pins 13,12,11    ! 
assign VCC to pins 14           ! 
assign GND to pins 7            ! family TTL                      ! 设置向量驱动和接收电压为TTL电平inputs Data_in, I_O_bar         !
outputs Results                 ! 将引脚组分类为输入、输出等。
bidirectional Bus1              ! 双向
power VCC, GND                  !
format hexadecimal Results      ! "set"语句要使用的格式
format octal Bus1               ! 指定引脚状态disable Bus1 with I_O_bar to "1"! 其他测试所需用于禁用此设备

语句顺序

一般来说,只要语句出现在测试相应的部分,它们可以按任何顺序使用。主要的规定是,任何使用其他语句中的数据的语句必须位于该其他语句之后。

以下语句必须出现在测试开始处,并在任何 assign to 语句之前(它们可以按任何顺序排列):

  • combinatorial, sequential, flash, flash isp, pld isp, andtree, nandtree, nortree, xnortree, 或 xortree
  • processor(如果使用)
  • test time(如果使用)
  • generate debug(如果使用)
  • generate map(如果使用)
  • test digital(如果使用)

许多语句引用在 assign to 语句中声明的组名,因此,assign to 语句必须位于声明部分的开头附近。如果有任何默认设备语句,每个语句必须位于它适用的 assign to 语句之前。

注释可以放在任意位置。

http://www.dtcms.com/a/446099.html

相关文章:

  • 第七章:桥接模式 - 抽象与实现的桥梁大师
  • 短视频推荐的底层逻辑:大数据如何 “读懂” 你的每一次滑动
  • 嘉兴市建设工程监理协会网站学做美食看哪个网站
  • 《SpringBoot入门实战:从HelloWorld到RESTful接口(支持GET/POST/PUT/DELETE,附Git版本控制)》
  • 信用网站一体化建设网页制作大宝库
  • gRPC从0到1系列【19】
  • 嵌入式Linux Qt触摸屏问题诊断与解决报告
  • gRPC从0到1系列【20】
  • CTFHub 信息泄露通关笔记10:SVN泄露(2种方法)
  • 手机网站开发环境搭建网站建设个人网银
  • 使用 jintellitype 库在 Java 程序中实现监听 Windows 全局快捷键(热键)
  • Python驱动Ksycopg2连接和使用Kingbase:国产数据库实战指南
  • 广州网站网站建设福建建站公司
  • ⚡ arm 32位嵌入式 Linux 系统移植 QT 程序
  • VR大空间资料 02 —— 常用Body IK对比
  • 什么是网站建设需求重庆建设工程信息网查询系统
  • 高校思政专题网站建设南京有哪些知名的网站建设
  • 【SpringCloud(2)】微服务注册中心:Eureka、Zookeeper;CAP分析;服务注册与服务发现;单机/集群部署Eureka;连接注册中心
  • ionic 浮动框详解与应用
  • 开源 C++ QT QML 开发(五)复杂控件--Gridview
  • 下载建设银行官方网站工程承包合同协议书
  • 第九章:装饰器模式 - 动态增强的艺术大师
  • OpenAI 发布 GPT-5 Instant:AI 有了 “情感温度计“
  • 苏州做网站公司选苏州聚尚网络做百度百科的网站
  • SSE与轮询技术实时对比演示
  • 示范专业网站建设深圳联雅网站建设
  • php 8.4.13 更新日志
  • MongoDB 认证失败(错误码 18)
  • 深圳网站建设主页什么公司需要建立网站吗
  • 陕西省建设信息管理网站网站开发 家具销售 文献