📄 test_vec_512mddr2_x8.h
字号:
fprintf(fpw, "- - - - - - - - - - - - - - "); else fprintf(fpw, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d ", a[13], a[12], a[11], a[10], a[9], a[8], a[7], a[6], a[5], a[4], a[3], a[2], a[1], a[0]); if (data == 10000) fprintf(fpw, "Z Z Z Z Z Z Z Z\n"); else { for(m=0;m<8;m++) fprintf(fpw, "%d ", dq[7-m]); fprintf(fpw, "\n"); } fprintf(fpw, "1 0 0 0 0 1 %d %d ", udqm1, ldqm1); if (udqs == 10000) fprintf(fpw, "Z "); else fprintf(fpw, "%d ", udqs); if (ldqs == 10000) fprintf(fpw, "Z "); else fprintf(fpw, "%d ", ldqs); fprintf(fpw, "%d %d ", b[1], b[0]); if (addr == 10000) fprintf(fpw, "- - - - - - - - - - - - - - "); else fprintf(fpw, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d ", a[13], a[12], a[11], a[10], a[9], a[8], a[7], a[6], a[5], a[4], a[3], a[2], a[1], a[0]); if (data == 10000) fprintf(fpw, "Z Z Z Z Z Z Z Z\n"); else { for(m=0;m<8;m++) fprintf(fpw, "%d ", dq[7-m]); fprintf(fpw, "\n"); } } printf("%s Command Is Completed!\n", rdchar); } else if (strcmp(rdchar,"SREX") == 0) { fprintf(fpw, "################################### %s ####################################\n", rdchar); for (i=0;i<cycle;i++) { fprintf(fpw, "0 1 1 - - - %d %d ", udqm, ldqm); if (udqs == 10000) fprintf(fpw, "Z "); else fprintf(fpw, "%d ", udqs); if (ldqs == 10000) fprintf(fpw, "Z "); else fprintf(fpw, "%d ", ldqs); fprintf(fpw, "%d %d ", b[1], b[0]); if (addr == 10000) fprintf(fpw, "- - - - - - - - - - - - - - "); else fprintf(fpw, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d ", a[13], a[12], a[11], a[10], a[9], a[8], a[7], a[6], a[5], a[4], a[3], a[2], a[1], a[0]); if (data == 10000) fprintf(fpw, "Z Z Z Z Z Z Z Z\n"); else { for(m=0;m<8;m++) fprintf(fpw, "%d ", dq[7-m]); fprintf(fpw, "\n"); } fprintf(fpw, "1 1 1 - - - %d %d ", udqm1, ldqm1); if (udqs == 10000) fprintf(fpw, "Z "); else fprintf(fpw, "%d ", udqs); if (ldqs == 10000) fprintf(fpw, "Z "); else fprintf(fpw, "%d ", ldqs); fprintf(fpw, "%d %d ", b[1], b[0]); if (addr == 10000) fprintf(fpw, "- - - - - - - - - - - - - - "); else fprintf(fpw, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d ", a[13], a[12], a[11], a[10], a[9], a[8], a[7], a[6], a[5], a[4], a[3], a[2], a[1], a[0]); if (data == 10000) fprintf(fpw, "Z Z Z Z Z Z Z Z\n"); else { for(m=0;m<8;m++) fprintf(fpw, "%d ", dq[7-m]); fprintf(fpw, "\n"); } } printf("%s Command Is Completed!\n", rdchar); } else if (strcmp(rdchar,"PDEN") == 0) { fprintf(fpw, "################################### %s ####################################\n", rdchar); for (i=0;i<cycle;i++) { fprintf(fpw, "0 0 1 - - - %d %d ", udqm, ldqm); if (udqs == 10000) fprintf(fpw, "Z "); else fprintf(fpw, "%d ", udqs); if (ldqs == 10000) fprintf(fpw, "Z "); else fprintf(fpw, "%d ", ldqs); fprintf(fpw, "%d %d ", b[1], b[0]); if (addr == 10000) fprintf(fpw, "- - - - - - - - - - - - - - "); else fprintf(fpw, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d ", a[13], a[12], a[11], a[10], a[9], a[8], a[7], a[6], a[5], a[4], a[3], a[2], a[1], a[0]); if (data == 10000) fprintf(fpw, "Z Z Z Z Z Z Z Z\n"); else { for(m=0;m<8;m++) fprintf(fpw, "%d ", dq[7-m]); fprintf(fpw, "\n"); } fprintf(fpw, "1 0 1 - - - %d %d ", udqm1, ldqm1); if (udqs == 10000) fprintf(fpw, "Z "); else fprintf(fpw, "%d ", udqs); if (ldqs == 10000) fprintf(fpw, "Z "); else fprintf(fpw, "%d ", ldqs); fprintf(fpw, "%d %d ", b[1], b[0]); if (addr == 10000) fprintf(fpw, "- - - - - - - - - - - - - - "); else fprintf(fpw, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d ", a[13], a[12], a[11], a[10], a[9], a[8], a[7], a[6], a[5], a[4], a[3], a[2], a[1], a[0]); if (data == 10000) fprintf(fpw, "Z Z Z Z Z Z Z Z\n"); else { for(m=0;m<8;m++) fprintf(fpw, "%d ", dq[7-m]); fprintf(fpw, "\n"); } } printf("%s Command Is Completed!\n", rdchar); } else if (strcmp(rdchar,"PDEX") == 0) { fprintf(fpw, "################################### %s ####################################\n", rdchar); for (i=0;i<cycle;i++) { fprintf(fpw, "0 1 1 - - - %d %d ", udqm, ldqm); if (udqs == 10000) fprintf(fpw, "Z "); else fprintf(fpw, "%d ", udqs); if (ldqs == 10000) fprintf(fpw, "Z "); else fprintf(fpw, "%d ", ldqs); fprintf(fpw, "%d %d ", b[1], b[0]); if (addr == 10000) fprintf(fpw, "- - - - - - - - - - - - - - "); else fprintf(fpw, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d ", a[13], a[12], a[11], a[10], a[9], a[8], a[7], a[6], a[5], a[4], a[3], a[2], a[1], a[0]); if (data == 10000) fprintf(fpw, "Z Z Z Z Z Z Z Z\n"); else { for(m=0;m<8;m++) fprintf(fpw, "%d ", dq[7-m]); fprintf(fpw, "\n"); } fprintf(fpw, "1 1 1 - - - %d %d ", udqm1, ldqm1); if (udqs == 10000) fprintf(fpw, "Z "); else fprintf(fpw, "%d ", udqs); if (ldqs == 10000) fprintf(fpw, "Z "); else fprintf(fpw, "%d ", ldqs); fprintf(fpw, "%d %d ", b[1], b[0]); if (addr == 10000) fprintf(fpw, "- - - - - - - - - - - - - - "); else fprintf(fpw, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d ", a[13], a[12], a[11], a[10], a[9], a[8], a[7], a[6], a[5], a[4], a[3], a[2], a[1], a[0]); if (data == 10000) fprintf(fpw, "Z Z Z Z Z Z Z Z\n"); else { for(m=0;m<8;m++) fprintf(fpw, "%d ", dq[7-m]); fprintf(fpw, "\n"); } } printf("%s Command Is Completed!\n", rdchar); } else printf("%s Command Is Invaliad. Check the DDR Command List!\n", rdchar); } EXT_MODE_REG_SET1(unsigned Qoff, unsigned RDQSen, unsigned DQSBen, char *OCDpgm, unsigned AL, unsigned DLLen, FILE *fpw){ unsigned qoff[1], rdqs_en[1], dqsb_en[1], ocdpgm[3], al[3], dll_en[1]; if (AL == 0) {al[2] = 0;al[1] = 0;al[0] = 0;} else if (AL == 1) {al[2] = 0;al[1] = 0;al[0] = 1;} else if (AL == 2) {al[2] = 0;al[1] = 1;al[0] = 0;} else if (AL == 3) {al[2] = 0;al[1] = 1;al[0] = 1;} else if (AL == 4) {al[2] = 1;al[1] = 0;al[0] = 0;} else if (AL == 5) {al[2] = 1;al[1] = 0;al[0] = 1;} else printf("ADDITIVE LATENCY Input ERROR !\n"); if (Qoff == 1) {qoff[0] = 1;} else if (Qoff == 0) {qoff[0] = 0;} if (RDQSen == 1) {rdqs_en[0] = 1;} else if (RDQSen == 0) {rdqs_en[0] = 0;} if (DQSBen == 1) {dqsb_en[0] = 0;} else if (DQSBen == 0) {dqsb_en[0] = 1;} if (DLLen == 1) {dll_en[0] = 0;} else if (DLLen == 0) {dll_en[0] = 1;} if (strcmp(OCDpgm, "CAL_EXIT") == 0) {ocdpgm[2] = 0;ocdpgm[1] = 0;ocdpgm[0] = 0;} else if (strcmp(OCDpgm, "DRIVE1") == 0) {ocdpgm[2] = 0;ocdpgm[1] = 0;ocdpgm[0] = 1;} else if (strcmp(OCDpgm, "DRIVE0") == 0) {ocdpgm[2] = 0;ocdpgm[1] = 1;ocdpgm[0] = 0;} else if (strcmp(OCDpgm, "ADJUST") == 0) {ocdpgm[2] = 1;ocdpgm[1] = 0;ocdpgm[0] = 0;} else if (strcmp(OCDpgm, "CAL_DEFAULT") == 0) {ocdpgm[2] = 1;ocdpgm[1] = 1;ocdpgm[0] = 1;} else printf("OCD PROGRAM Input ERROR !\n"); fprintf(fpw, "0 1 0 0 0 0 0 0 Z Z 0 1 0 %d %d %d %d %d %d 0 %d %d %d 0 0 %d Z Z Z Z Z Z Z Z\n", qoff[0], rdqs_en[0], dqsb_en[0], ocdpgm[2], ocdpgm[1], ocdpgm[0], al[2], al[1], al[0], dll_en[0]); fprintf(fpw, "1 1 0 0 0 0 0 0 Z Z 0 1 0 %d %d %d %d %d %d 0 %d %d %d 0 0 %d Z Z Z Z Z Z Z Z\n", qoff[0], rdqs_en[0], dqsb_en[0], ocdpgm[2], ocdpgm[1], ocdpgm[0], al[2], al[1], al[0], dll_en[0]); printf("EMRS1 Command Is Completed!\n");}EXT_MODE_REG_SET2(unsigned SREF_HOT, FILE *fpw){ unsigned dbl_sref[1]; if (SREF_HOT == 1) {dbl_sref[0] = 1;} else if (SREF_HOT == 0) {dbl_sref[0] = 0;} fprintf(fpw, "##################### MRS2 : Hot Temp SREF = %d ######################\n", dbl_sref[0]); fprintf(fpw, "0 1 0 0 0 0 0 0 Z Z 1 0 0 0 0 0 0 0 %d 0 0 0 0 0 0 0 Z Z Z Z Z Z Z Z\n", dbl_sref[0]); fprintf(fpw, "1 1 0 0 0 0 0 0 Z Z 1 0 0 0 0 0 0 0 %d 0 0 0 0 0 0 0 Z Z Z Z Z Z Z Z\n", dbl_sref[0]); printf("EMRS2 Command Is Completed!\n");}MODE_REG_SET(unsigned cas_latency, unsigned burst_length, char *burst_type, char *dll_type, unsigned SAPD, unsigned tWR, FILE *fpw){ unsigned cas[3], burst[3], type[1], state[1]; unsigned sapd_f[1], twr_f[3]; if (cas_latency == 2) {cas[2] = 0;cas[1] = 1;cas[0] = 0;} else if (cas_latency == 3) {cas[2] = 0;cas[1] = 1;cas[0] = 1;} else if (cas_latency == 4) {cas[2] = 1;cas[1] = 0;cas[0] = 0;} else if (cas_latency == 5) {cas[2] = 1;cas[1] = 0;cas[0] = 1;} else if (cas_latency == 6) {cas[2] = 1;cas[1] = 1;cas[0] = 0;} else printf("CAS LATENCY Input ERROR !\n"); if (burst_length == 4) {burst[2] = 0;burst[1] = 1;burst[0] = 0;} else if (burst_length == 8) {burst[2] = 0;burst[1] = 1;burst[0] = 1;} else printf("BURST LENGTH Input ERROR !\n"); if (SAPD == 1) sapd_f[0] = 1; else if (SAPD == 0) sapd_f[0] = 0; if (tWR == 2) {twr_f[2] = 0; twr_f[1] = 0; twr_f[0] = 1;} else if (tWR == 3) {twr_f[2] = 0; twr_f[1] = 1; twr_f[0] = 0;} else if (tWR == 4) {twr_f[2] = 0; twr_f[1] = 1; twr_f[0] = 1;} else if (tWR == 5) {twr_f[2] = 1; twr_f[1] = 0; twr_f[0] = 0;} else if (tWR == 6) {twr_f[2] = 1; twr_f[1] = 0; twr_f[0] = 1;} else printf("Invalid tWR value !\n"); if (strcmp(burst_type, "SEQUENTIAL") == 0) type[0] = 0; else if (strcmp(burst_type, "INTERLEAVE") == 0) type[0] = 1; else printf("BURST TYPE Input ERROR !\n"); if (strcmp(dll_type, "NORST") == 0) { state[0] = 0; fprintf(fpw, "######### MRS : BL = %d, CL = %d, %s, DLL_%s, SAPD = %d, tWR = %d ############\n", burst_length, cas_latency, burst_type, dll_type, SAPD, tWR); } else if (strcmp(dll_type, "RST") == 0) { state[0] = 1; fprintf(fpw, "######### MRS : BL = %d, CL = %d, %s, DLL_%s, SAPD = %d, tWR = %d ############\n", burst_length, cas_latency, burst_type, dll_type, SAPD, tWR); } else printf("DLL STATE Input ERROR !\n"); fprintf(fpw, "0 1 0 0 0 0 0 0 Z Z 0 0 0 %d %d %d %d %d 0 %d %d %d %d %d %d %d Z Z Z Z Z Z Z Z\n", sapd_f[0], twr_f[2], twr_f[1], twr_f[0], state[0], cas[2], cas[1], cas[0], type[0], burst[2], burst[1], burst[0]); fprintf(fpw, "1 1 0 0 0 0 0 0 Z Z 0 0 0 %d %d %d %d %d 0 %d %d %d %d %d %d %d Z Z Z Z Z Z Z Z\n", sapd_f[0], twr_f[2], twr_f[1], twr_f[0], state[0], cas[2], cas[1], cas[0], type[0], burst[2], burst[1], burst[0]); printf("MRS Command Is Completed!\n");}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -