STS8200编程手册学习1-系统函数

系统函数

一、测试程序框架函数

在任何一个已生成的测试程序中,都自动包含了这些函数。但函数中没有任何内容,由用户根据需要自行添加。其中,HardWareCfg() 、 InitBeforeTestFlow() 、 InitAfterTestFlow() 、SetupFailSite()这 4 个函数在 test.cpp 文件中。其余的 7 个函数在 xxxx(测试程序名).cpp 中。系统函数流程图如下图所示:
在这里插入图片描述

1、HardWareCfg()

StsSetModuleToSite()
int USERRES_API StsSetModuleToSite(MODULE_TYPE mdtype,SITE_NO sitenum,BYTE mdchnumber1,...);

mdtype
模块列表,可选的值如下:
MD_DVI400
MD_PVI10A
MD_OVI40
MD_FPVI10
MD_FOVI
MD_HVI1K
MD_QVM
MD_QTMUPLUS
MD_ACSMPLUS
MD_INF
MD_FGD

sitenum
工位设置,可选的工位从 SITE_1 ~ SITE_16,

例 1:假设系统配置为 8 块 DVI400, 4 块 PVI10A, 2 块 OVI40, 4 块 FPVI10,4 块 FOVI100, 1 块 QTMU_PLUS, 1 块 ACSM_PLUS, 4 块 HVI1K, 1 块QVM, 1 块 CBIT128,一块 DIO。四工位并行工作。

DVI400 dvi0(0); //Logical channel 0
DVI400 dvi1(1) ; //Logical channel1
DVI400 dvi2(2) ; //Logical channel 2
DVI400 dvi3(3) ; //Logical channel 3

PVI10A pvi0(0); //Logical channel 0
PVI10A pvi1(1) ; //Logical channel 1

OVI40 ovi0(0) ; //Logical channel 0
OVI40 ovi1(1) ; //Logical channel 1
OVI40 ovi2(2) ; //Logical channel 2
OVI40 ovi3(3) ; //Logical channel 3

FPVI10 fpvi0(0); //Logical channel 0
FPVI10 fpvi1(1) ; //Logical channel 1

FOVI fovi0(0) ; //Logical channel 0
FOVI fovi1(1) ; //Logical channel 1
FOVI fovi2(2) ; //Logical channel 2
FOVI fovi3(3) ; //Logical channel 3
FOVI fovi4(4) ; //Logical channel 4
FOVI fovi5(5) ; //Logical channel 5
FOVI fovi6(6) ; //Logical channel 6
FOVI fovi7(7) ; //Logical channel 7

HVI1K hvi1k0(0); //Logical channel 0

QVM qvm0(0); //Logical channel 0

QTMU_PLUS qtmu0(0);//Logical channel 0

ACSM_PLUS acsm0(0); //Logical channel 0

CBIT128 cbit; //define a CBIT128

DIO dio0(0);// define a DIO

StsSetModuleToSite(MD_DVI400, SITE_1, 0, 1, 2, 3, -1);//set channels 0-3 to SITE1
StsSetModuleToSite(MD_DVI400, SITE_2, 4, 5, 6, 7, -1);//set channels 4-7 to SITE2
StsSetModuleToSite(MD_DVI400, SITE_3, 8, 9, 10, 11, -1);//set channels 8-11 to SITE3
StsSetModuleToSite(MD_DVI400, SITE_4, 12, 13, 14, 15, -1);//set channels 12-15 to SITE4

StsSetModuleToSite(MD_PVI10A, SITE_1, 0, 1, -1);//set channels 0-1 to SITE1
StsSetModuleToSite(MD_PVI10A, SITE_2, 2, 3, -1);//set channels 2-3 to SITE2
StsSetModuleToSite(MD_PVI10A, SITE_3, 4, 5, -1);//set channels 4-5 to SITE3
StsSetModuleToSite(MD_PVI10A, SITE_4, 6, 7, -1);//set channels 6-7 to SITE4

StsSetModuleToSite(MD_OVI40, SITE_1, 0, -1);//set channels 0-3 to SITE1
StsSetModuleToSite(MD_OVI40, SITE_2, 1, -1);//set channels 4-7 to SITE2
StsSetModuleToSite(MD_OVI40, SITE_3, 2, -1);//set channels 8-11 to SITE3
StsSetModuleToSite(MD_OVI40, SITE_4, 3, -1);//set channels 12-15 to SITE4

StsSetModuleToSite(MD_FPVI10, SITE_1, 0, 1, -1);//set channels 0-1 to SITE1
StsSetModuleToSite(MD_FPVI10, SITE_2, 2, 3, -1);//set channels 2-3 to SITE2
StsSetModuleToSite(MD_FPVI10, SITE_3, 4, 5, -1);//set channels 4-5 to SITE3
StsSetModuleToSite(MD_FPVI10, SITE_4, 6, 7, -1);//set channels 6-7 to SITE4

StsSetModuleToSite(MD_FOVI, SITE_1, 0, 1, 2, 3, 4, 5, 6, 7, -1);
//set channels 0-7 to SITE1
StsSetModuleToSite(MD_FOVI, SITE_2, 8, 9, 10, 11, 12, 13, 14, 15, -1);
//set channels 8-15 to SITE2
StsSetModuleToSite(MD_FOVI, SITE_3, 16, 17, 18, 19, 20, 21, 22, 23, -1);
//set channels 16-23 to SITE3
StsSetModuleToSite(MD_FOVI, SITE_4, 24, 25, 26, 27, 28, 29, 30, 31, -1);
//set channels 24-31 to SITE4

StsSetModuleToSite(MD_HVI1K, SITE_1, 0, -1);//set channel 0 to SITE1
StsSetModuleToSite(MD_HVI1K, SITE_2, 1, -1);//set channel 1 to SITE2
StsSetModuleToSite(MD_HVI1K, SITE_3, 2, -1);//set channel 2 to SITE3
StsSetModuleToSite(MD_HVI1K, SITE_4, 3, -1);//set channel 3 to SITE4

StsSetModuleToSite(MD_QVM, SITE_1, 0, -1);//set channel 0 to SITE1
StsSetModuleToSite(MD_QVM, SITE_2, 1, -1);//set channel 1 to SITE2
StsSetModuleToSite(MD_QVM, SITE_3, 2, -1);//set channel 2 to SITE3
StsSetModuleToSite(MD_QVM, SITE_4, 3, -1);//set channel 3 to SITE4

StsSetModuleToSite(MD_QTMUPLUS, SITE_1, 0, -1);//set channel 0 to SITE1
StsSetModuleToSite(MD_QTMUPLUS, SITE_2, 1, -1);//set channel 1 to SITE2
StsSetModuleToSite(MD_QTMUPLUS, SITE_3, 2, -1);//set channel 2 to SITE3
StsSetModuleToSite(MD_QTMUPLUS, SITE_4, 3, -1);//set channel 3 to SITE4

StsSetModuleToSite(MD_ACSMPLUS,SITE_1, 0, -1);//set channel 0 to SITE1
StsSetModuleToSite(MD_ACSMPLUS,SITE_2, 1, -1);//set channel 1 to SITE2
StsSetModuleToSite(MD_ACSMPLUS,SITE_3, 2, -1);//set channel 2 to SITE3
StsSetModuleToSite(MD_ACSMPLUS,SITE_4, 3, -1);//set channel 3 to SITE4

在这里插入图片描述

2、InitBeforeTestFlow()

在所有测试函数之前执行一次此函数,每次测试都会执行。

3、InitAfterTestFlow()

在所有测试函数之后执行一次此函数,每次测试都会执行。

4、UserInit()

Load 程序后第一次测试会调用一次此函数。

5、UserLoad()

在用户 Load 程序时调用一次此函数。

6、UserExit()

用户卸载程序时调用一次此函数。

7、OnSot()

程序在自动运行时,每次测试接收到 sot 后调用此函数。

8、SetupFailSite()

在用户选择了 FailStop 后,每次测试函数中出现 Fail 后调用此函数。

9、BinOutDut()

被测芯片测试完成确定分档后调用此函数。
用户可以获得此芯片的分档信息;也可以在这个函数中用代码实现器件的分档。

10、OnNewLot()

用户在界面上点击 NewLot 后调用此函数,或者在 wafer 测试时,读取新的 LotID 号后调用此函数。

11、OnWaferEnd()

程序在每次获取 wafer end 信号后调用一次此函数。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值