📄 ate.cpp
字号:
#include "ATE.h"
void ATE::rst_state()
{
state = FIRST_SLICE;
r_en = 0;
en = 1;
valid.write(1);
}
//just send several test data as example
void ATE::send_data()
{
if(en){
switch(state)
{
case FIRST_SLICE:
state = SECOND_SLICE;
test_stimuli.write(8);//the value is determined by atpg
break;
case SECOND_SLICE:
state = THIRD_SLICE;
test_stimuli.write(8);
break;
case THIRD_SLICE:
state = CAPTURE;
test_stimuli.write(8);
break;
case CAPTURE:
state = FIRST_RESPONSE;
r_en = 1;
en = 0;
break;
case default:
break;
}
}
}
void ATE::receive_data()
{
sc_uint<RES_BANDWIDTH> response, golden_res;
response = test_response.read();
if(r_en)
{
switch(state)
{
case FIRST_RESPONSE:
golden_res = 8;
break;
case SCOND_RESPONSE:
golden_res = 8;
r_en = 0;
en = 1;
break;
default:
break;
}
if(response == golden_res) valid.write(1);
else valid.write(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -