【芯片测试篇】:SmarTest 8 三温和三压测试程序的搭建

文章目录

  • [1. 三温测试程序搭建](#1. 三温测试程序搭建)
    • [1.1 testprogram](#1.1 testprogram)
    • [1.2 DSA](#1.2 DSA)
    • [1.3 test table](#1.3 test table)
  • [2. 三压测试程序搭建](#2. 三压测试程序搭建)
    • [2.1 spec](#2.1 spec)
    • [2.2 test method](#2.2 test method)
    • [2.3 flow](#2.3 flow)


1. 三温测试程序搭建

  • 三温:高温(HT):105度,低温(LT):- 40度,常温(NT):25度 。

1.1 testprogram

假设项目名为:MCUProject,在 src/commmon/ 路径下可以建立三个 testprogram 文件代表高温,低温,常温的测试程序,假设命名为testprogram_HT.prog,testprogram_LT.prog,testprogram_NT.prog。

每个 testprogram 包含相同或者不同的 testmethod ,testmethod 中的 setup 函数会产生 *.spec 和 *.seq 文件,所以我们需要将高温,低温,常温产生的 setup 文件分别放到自己的目录下,可以在 三份 testprogram 文件中定义一个 String 变量,分别赋不同的值,如下:

高温 testprogram:

java 复制代码
//testprogram_HT.prog 文件
@Options(mutable = Anytime)
var String dsa_path = "HT";

低温 testprogram:

java 复制代码
//testprogram_LT.prog 文件
@Options(mutable = Anytime)
var String dsa_path = "LT";

常温 testprogram:

java 复制代码
//testprogram_NT.prog 文件
@Options(mutable = Anytime)
var String dsa_path = "NT";
  • @Options(mutable = Anytime) 的作用时:这些变量始终是可变的,并且可以在任何测试流程和测试方法中修改。

1.2 DSA

每个 suite 会 calls 一个 testmethod ,testmethod 中的 setup() 方法中生成设备 setup 的类是 IDeviceSetup ,实例化为:

java 复制代码
IDeviceSetup ds = DeviceSetupFactory.createInstance();

createInstance() 的一种用法是填写两个参数:

  • prefix:创建此实例所有生成文件的根目录名称。该根目录在 dsa_gen 目录中生成。
  • dsaGenMode:实例中要使用的 DSA 生成模式。
java 复制代码
public static IDeviceSetup createInstance(String prefix, IDeviceSetup.DSAGenerationMode dsaGenMode);

prefix 这个参数可以填入下面的代码访问得到 testprogram 中变量 dsa_path 的值:

java 复制代码
context.testProgram().variables().getString("dsa_path").get()

dsaGenMode 这个参数填入下面的代码使 DSA 生成的设置应存储在文件中。

java 复制代码
DSAGenerationMode.GENERATE_IN_FILE

最后,代码为:

java 复制代码
IDeviceSetup ds = DeviceSetupFactory.createInstance(context.testProgram().variables().getString("dsa_path").get(), DSAGenerationMode.GENERATE_IN_FILE);

这样 dsa 生成的 setup 文件就会放在这三个目录下:dsa_gen/HT,dsa_gen/LT,dsa_gen/NT,分别代表三温 testprogram 的 setup 文件。

1.3 test table

  • 芯片工作环境温度的不同,工作电压和电流会有些许不同,所以需要设置不同的limit,在 test table 中 limit 部分可以如下设置:

PreBind flow 中运行导入 testtable 的函数:

java 复制代码
com.advantest.itee.testtable.testmethod.TestTableReader

该函数有两个参数可以这么设置:

  • testTablePath = "common/TestTable.ods"; test table 的路径。
  • limitCategory = testProgramVariables.getString("dsa_path"); 导入哪些测试类别。

通过 给 limitCategory 这个参数赋值:testProgramVariables.getString("dsa_path"),也就是 dsa_path 变量的值,可以让高温 testprogram 依据 高温 limit 进行判断,其他两个温度也是一样的。

2. 三压测试程序搭建

  • 三压系数:高压(HV):1.05,低压(LV):0.95,常压(NV):1.0 。

2.1 spec

spec 文件中定义一个电压系数变量,初值设为:1.0 :

java 复制代码
var Double VoltageCoefficient = 1.0;
  • 如果芯片引脚使用的是仪器:dcVI ,那么在 action vforce 动作时,给 forceValue 这个参数赋的电压值乘上电压系数 VoltageCoefficient;

  • 如果芯片引脚使用的是仪器:digInOut,那么在 set level 时,给 vil,vih,vt,vth,这些参数赋的电压值乘上电压系数 VoltageCoefficient;

2.2 test method

  • 通过 measurement 对象访问 spec 中的变量并重新赋值:
java 复制代码
public IMeasurement measurement;
  • 通过一个 String 变量,接受来自 flow 的字符串来判断是高压,低压,常压修改电压系数:
java 复制代码
public String setVoltage = "";   //HV, LV, NV
  • 在 update() 中通过 measurement 对象更新电压系数:
java 复制代码
@Override
public void update() {
	switch (setVoltage) {
		case "HV":
			measurement.specVariables().setVariable("VoltageCoefficient", 1.05);
			break;
		case "LV":
			measurement.specVariables().setVariable("VoltageCoefficient", 0.95);
			break;
		default:
			measurement.specVariables().setVariable("VoltageCoefficient", 1.0);
			break;
	}
}

2.3 flow

  • 建立一个 flow 文件顺序执行测试项,通过在 flow 建一个变量:
java 复制代码
in voltage = "";   //HV, LV, NV

将该变量赋值三压的字符串:"HV", "LV", "NV", 再传递给 suite :

java 复制代码
setVoltage = voltage;

可实现三压测试。


相关推荐
FORCREAT-苏州永创1 个月前
半导体静态电性测试系统如何实现对各类电子元器件的评估测试?
半导体·芯片测试·半导体功率器件·静态参数测试仪
FORCREAT-苏州永创1 个月前
从实验室到产线:苏州永创-STD2000X如何统一分立器件静态参数测试仪的“语言”?
半导体·芯片测试·测试系统·cmti·cmti测试系统·半导体功率器件·静态参数测试仪
FORCREAT-苏州永创1 个月前
探秘半导体“体检中心”:如何为一颗芯片做静态参数测试?
半导体·芯片测试·测试系统·cmti·cmti测试系统·半导体功率器件·静态参数测试仪
Meraki.Zhang5 个月前
【芯片测试篇】:93K测试机I2C的设置和调试
i2c·芯片测试·ate测试·93k
森旺电子2 年前
半导体测试基础知识总结
ate·ic测试
XINERTEL2 年前
如何利用仪表构造InfiniBand流量在数据中心测试中的应用
开发语言·php·数据中心·芯片测试·时延测试
北京锦正茂科技有限公司2 年前
晶圆测试是什么?为什么要进行晶圆测试?
半导体·芯片测试·晶圆测试·材料·探针台·测试系统
专业ATE提供商2 年前
加速科技ST2500 数模混合信号测试设备累计装机量突破500台!
fpga开发·芯片测试·半导体测试·国产ate
北京锦正茂科技有限公司2 年前
芯片的测试方法
半导体·芯片测试·晶圆测试·材料·探针台