ICT 数字测试原理 8 - -VCL 的测试参数
文章目录
- [ICT 数字测试原理 8 - -VCL 的测试参数](#ICT 数字测试原理 8 - -VCL 的测试参数)
测试参数
声明部分的此部分语句设定了测试参数,例如驱动器和接收器的电压水平、驱动器转换率(或边沿速度),以及向量时序。
- 数字逻辑家族
- 改变驱动器和接收器参数(非多路复用系统)
- 改变驱动器和接收器参数(多路复用系统)
- 向量时序
- 同步到时钟
数字逻辑家族
family 语句为VCL测试中的所有引脚设定参数值,例如:
plaintext
family TTL
指定TTL家族。一个VCL测试必须至少有一个family语句。
一个VCL测试可以通过family语句设定任意数量的家族。也可以为各个引脚更改一个或多个参数。
测试中的第一个family语句指定默认家族。默认家族初始适用于测试中的所有引脚。一旦默认家族被设定,可以通过后续的family语句更改单个引脚组的值,如:
plaintext
family CMOS on SEQ_States
或者通过以下部分描述的set语句:
- 改变驱动器和接收器参数(非多路复用系统)
- 改变驱动器和接收器参数(多路复用系统)
测试系统中的标准家族是TTL和CMOS。标准默认值如表2-8所示。定义见表2-9。
你可以在i3070电路测试软件中创建其他家族。你可以更改标准家族的参数(包括删除一个家族),并且可以添加新的家族。然而,所有的更改、删除和添加仅适用于特定的电路板测试。
表2-8
测试系统中的标准家族
家族 | dh | rh | load | def | card |
---|---|---|---|---|---|
TTL | 3.5 | 2.0 | up | X | hybrid |
CMOS | 4.0 | 3.6 | none | X | hybrid |
表2-9
测试系统家族定义
术语 | 定义 |
---|---|
dh | 驱动高电平 |
rh | 接收高电平 |
load | 接收器的默认上拉/下拉负载 |
def | 未连接输入引脚的默认电平(这些是在库测试中存在但在板上未连接的引脚;数字程序生成器使用默认电平来决定因拓扑冲突而需要放弃哪些向量执行语句) |
card | 引脚卡类型(例如,hybrid代表Hybrid-144卡) |
更改驱动器和接收器参数(非多路复用系统)
使用 on 关键字可以在后续的 family 语句中为单个组更改由 family 语句设定的默认值。此外,单个引脚的值可以通过表2-10中的语句进行更改。
驱动器和接收器电压可以单独编程,范围从0.0到+5.0伏。
表2-10
更改单个引脚的值
语句 | 描述 |
---|---|
set ref | 设置驱动和接收的低高阈值 |
set load | 在接收器上连接上拉/下拉负载 |
set terminators | 连接接收器电路中的RC网络,以提高高速信号质量 |
示例2-5
"set ref"语句
plaintext
set ref on device "U68" pins 9, 7 to rh 4.2
示例2-5只改变了两个引脚的接收器高电压,这些电压最初由默认family语句设定。
所谓的驱动电压(drive high)是设备实际接收到的电压。在系统中,驱动高电压始终被定义为逻辑"1";逻辑"0"始终是接地电位(0.0伏特)。"X" 或 "Z" 状态总是将相应的驱动器置于三态。
接收器高电压是一个阈值电平。如果预期为逻辑"1",则接收到的电压必须达到或超过高阈值才能通过。如果预期为逻辑"0",则接收到的电压必须低于高阈值才能通过。如果未接收到预期电平,则测试失败。如果预期为 "X"("无关")状态,则接收到的电压可以是任何电平。
set load 语句允许你在设备引脚没有负载时连接负载,例如一个开路集电极。此负载由一个1K电阻连接到驱动高电压的上拉负载和一个500欧姆电阻接地的下拉负载组成。例如,由于CMOS家族的默认负载为none,示例2-6中的语句仅向一个引脚连接了负载。
示例2-6
plaintext
set load on device "U3" pins 13 to pull down
set terminators 语句可用于连接接收器电路中的RC网络,以提高高速信号的质量并最大限度地减少过冲和欠冲。数字测试生成器总是会将以下行添加到数字测试中。
plaintext
set terminators to on
如果省略或删除此语句,则默认设置为off,这意味着不连接终端。你也可以通过在语句中指定 off 来更改所有接收器的默认设置:
plaintext
set terminators to off
你可以在测试中对单个接收器覆盖默认设置并断开(off)或连接(on)终端。例如,假设默认是on,示例2-10中的语句从两个引脚断开终端。
示例2-7
plaintext
set terminators on device "U8" pins 11, 13 to off
由于这些语句的顺序相关性,必须按正确顺序排列。例如,如果在上述语句之后放置 "set terminators to on" 语句,则将连接 U68 的引脚 11 和 13 的终端。
更改驱动器和接收器参数(多路复用系统)
使用 on 关键字可以在后续的 family 语句中为单个组更改由 family 语句设定的默认值。此外,单个引脚的值可以通过表2-11中的语句进行更改。
表2-11
更改单个引脚的值
语句 | 描述 |
---|---|
set ref | 设置驱动器和接收器的低高阈值 |
set load | 在接收器上连接上拉/下拉负载 |
set terminators | 连接接收器电路中的RC网络,以提高高速信号质量 |
set slew rate | 设置驱动器的转换速率 |
驱动器和接收器的电压可以从-3.5到+5.0伏特单独编程。
示例2-8
"set ref"语句
plaintext
set ref on device "U68" pins 9, 7 to rh 4.2 rl 0.8
示例2-8只改变了两个引脚的接收器高低电压,这些电压最初由默认 family 语句设定。
驱动器电压,被称为驱动高电压(drive high)和驱动低电压(drive low),是实际驱动到设备的电压。在系统中,高电压(更正电压)总是被定义为逻辑"1";低电压(更负电压)总是被定义为逻辑"0"。"X" 状态总是将相应的驱动器置于三态。
接收器电压,接收高电压(receive high)和接收低电压(receive low),是阈值电平。如果期望值为"1",则接收到的电压必须达到或超过高阈值才能通过。如果期望值为"0",则接收到的电压必须达到或低于低阈值才能通过。如果未接收到期望电平,则测试失败。如果期望值为"X",接收到的电压可以是任何电平。
set slew rate 语句允许你为单个驱动器设定转换速率。转换速率决定了驱动脉冲的上升时间。作为经验法则,对于大的负载(如TTL),使用较高的值,而对于小的负载(如CMOS),使用较低的值。驱动器转换速率可以以25伏/微秒为增量,从25到250伏/微秒进行编程;例如:
plaintext
set slew rate on device "U17" pins 12 to 125
设置了系统驱动器在指定引脚上的边沿速度为125伏/微秒。
set load 语句允许你在设备引脚没有负载时在接收器上连接负载,例如开路集电极。负载是连接到测试系统中接收器的电流源,上拉为2 mA,下拉为5 mA。例如,由于CMOS家族的默认负载为none,示例2-9中的语句仅连接了一个引脚的负载。
示例2-9
plaintext
set load on device "U143" pins 13 to pull down
如果测试使用HybridPlus卡,set terminators语句可以用于连接接收器电路中的RC网络,以提高高速信号质量。这些终端在HybridPlus卡的早期版本(配置文件中的"hybrid standard"和"hybrid advanced")或6 MHz系统中不可用。后来的卡片版本,如"hybrid advanced revision b"和"hybrid high accuracy"确实具有终端。
如果板配置文件中列出的所有引脚卡都具有终端,程序生成器假设它们是必需的。在这种情况下,它会在测试的开头附近插入以下语句,以设置测试中所有接收器的默认值(即,将终端连接到所有接收器):
plaintext
set terminators to on
如果此语句被省略或删除,默认设置为off------不要连接终端。你也可以通过在语句中指定off来更改所有接收器的默认设置:
plaintext
set terminators to off
你可以在测试中对单个接收器覆盖默认值并断开(off)或连接(on)终端。例如,假设默认是on,示例2-10中的语句从两个引脚断开终端。
示例2-10
plaintext
set terminators on device "U68" pins 11, 13 to off
由于这些语句具有顺序依赖性,必须按正确顺序排列。例如,如果在上述语句之后放置 "set terminators to on"语句,则将连接U68引脚11和13的终端。
向量时序
向量周期时间(即每个向量的持续时间)通过可选的 vector cycle 语句设定。驱动器触发与接收器触发之间的延迟由可选的 receive delay 语句设定。例如:
plaintext
vector cycle 1500n
receive delay 1200n
表示每个向量持续1500纳秒,并且在每个测试模式驱动到被测电路板后,有1200纳秒的延迟,然后才检查电路板的输出。如果这些时间未指定,则分别默认为500和400纳秒。有关向量时序的更详细解释,请参阅定义向量。
除非使用时间集(仅适用于多路复用系统;参见时间集(多路复用系统)),否则在整个VCL测试中向量时序保持不变。
同步到时钟
如果测试时序需要与外部时钟同步,那么 vector cycle 语句还必须指定该时钟的预期周期。例如,
plaintext
assign Ext_clock to pins 12
. . .
outputs reference clock Ext_clock
. . .
vector cycle 600n pll 300n period edge rising
这设置了一个600纳秒的向量周期,与周期为300纳秒的外部时钟(pll)的上升沿同步。在此示例中,同步测试的外部时钟来自设备的引脚12。有关测试系统中时钟电路的更多信息,请参见系统时钟。(pll代表锁相环,是测试系统中时钟电路的一部分。)
杂项要求
可选的 warning 语句允许你添加一些会在数字程序生成器的汇总报告和编译器列表中作为警告打印的注释。通常,这些警告用于提醒测试开发人员去做某些事情,例如根据单稳态电路的延迟设置向量周期时间。warning 语句可以在 VCL 测试的任何部分使用。
可选的 on failure report 语句允许你指定一条测试失败时发送到报告打印机的消息。这条消息是在测试失败时生成的标准消息之外发送的。
可选的 outputs limited to 语句可以包含在库测试中,以帮助 SAFEGUARD 安全性分析例程。此语句声明设备的多少输出可以同时为高(或低)。安全性分析例程在计算设备可以在其他设备测试时被过驱的安全时间时可以使用此数据,而不是最坏情况下的数据。
最坏情况下的数据假定所有输出同时为高(低)。当设备过驱时,所有流经输出的电流都必须流经一个绑定线(到电源或接地),这意味着设备只能在短时间内被安全地过驱。如果你可以在 outputs limited to 语句中指定更少的输出同时为高(低),那么设备可以被安全地过驱更长的时间,从而使安全例程能够放宽测试的时间限制。这样的设备示例包括具有很多输出的同一总线上的可总线设备和通常只有一个输出激活的解码器。
你还必须在测试的声明部分考虑预调节。