From 3c7fb6bbc71d2f83119dcdce0f0e93ca32f845e1 Mon Sep 17 00:00:00 2001 From: bacon Date: Sun, 3 Aug 2025 00:26:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BB=BA=E7=AB=8Benvironment=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 11 +++-- tb/shinTest/pyutils/GenPkt.py | 2 +- tb/shinTest/testcase/environment.py | 74 +++++++++++++++++++++++++++-- 3 files changed, 78 insertions(+), 9 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index da7b79f..f8d2980 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -2,10 +2,10 @@ `define ENABLE_REG_RW1_TEST "generated/log/reg_rw1_tc.log" //`define ENABLE_ENCRYPTION -`define ENABLE_DET1_TEST "generated/log/det1_tc.log" -`define ENABLE_DET2_TEST "generated/log/det2_tc.log" -`define ENABLE_SET_ADDR_TEST "generated/log/set_addr_tc.log" -`define ENABLE_INT_INIT_TEST "generated/log/int_init_tc.log" +//`define ENABLE_DET1_TEST "generated/log/det1_tc.log" +//`define ENABLE_DET2_TEST "generated/log/det2_tc.log" +//`define ENABLE_SET_ADDR_TEST "generated/log/set_addr_tc.log" +//`define ENABLE_INT_INIT_TEST "generated/log/int_init_tc.log" //`define ENABLE_DET_ERR1_TEST "generated/log/det_err1_tc.log" //`define ENABLE_SMx_SEND1_TEST "generated/log/sm_send1_tc.log" //`define ENABLE_SMx_SEND2_TEST "generated/log/sm_send2_tc.log" @@ -754,7 +754,7 @@ initial begin end end - +`ifdef ENABLE_CODE____ /*--------------------------------------------------------------------------------------------------------- 测试用例 1. 设置IP为主站或从站,并读取设置结果,期望:0主,1~4从 @@ -791,6 +791,7 @@ initial begin $display("------------------------------ End! %t", $realtime); */ end +`endif `ifdef ENABLE_ENCRYPTION begin:ENABLE_ENCRYPTION_TESTCASE diff --git a/tb/shinTest/pyutils/GenPkt.py b/tb/shinTest/pyutils/GenPkt.py index 9f23074..fca4655 100644 --- a/tb/shinTest/pyutils/GenPkt.py +++ b/tb/shinTest/pyutils/GenPkt.py @@ -383,5 +383,5 @@ def genTcEndFrameCode(tcname): +f'''\t\t`END_TESTCASE("{__pre_gen_log_path}/{tcname}_result.log");\n'''\ +'''\tend\n''' -def genMessage(msg): +def genMessageCode(msg): return f'''\t\t$fdisplay(spidata_file, "{msg}");\n''' \ No newline at end of file diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index 62dd81a..f51c975 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -17,14 +17,16 @@ def bringup(): main_dev = [0x01, ] slave_dev =[0x02, ] - genPkt.addAfterExc(genIFRwDataCode(0, 0x0, True, 1, main_dev) + genPkt.addAfterExc(genMessageCode("--设置主站,协议栈工作在主站模式") + +genIFRwDataCode(0, 0x0, True, 1, main_dev) +"#5000\n" + +genMessageCode("--设置从站,协议栈工作在从站模式") +genIFRwDataCode(1, 0x0, True, 1, slave_dev) +genIFRwDataCode(2, 0x0, True, 1, slave_dev) +genIFRwDataCode(3, 0x0, True, 1, slave_dev) +genIFRwDataCode(4, 0x0, True, 1, slave_dev) - +genMessage("--读取寄存器,检查相关的配置") - +genIFRwDataCode(1, 0x0, False, 1) + +genMessageCode("--读取寄存器,检查相关的配置") + +genIFRwDataCode(0, 0x0, False, 1) +genIFRwDataCode(1, 0x0, False, 1) +genIFRwDataCode(2, 0x0, False, 1) +genIFRwDataCode(3, 0x0, False, 1) @@ -32,6 +34,72 @@ def bringup(): ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + + genPkt.clean() + genPkt.setPktType(1) + gen_file_def_ap = gen_file_def+"_step01" + sm_idx = 0 + + genPkt.addBeforeExc(genMessageCode("--设置环境,进行第一次嗅探")) + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) + +genWriteTransPktCode(gen_file_def_ap, sm_idx) + +genTrgTransPktCode(gen_file_def_ap, sm_idx) + +genReadAckPktCode(gen_file_def_ap, sm_idx) + +genMessageCode("--嗅探后检查链路状态寄存器") + +genIFRwDataCode(1, 0xc0, False, 4) + +genIFRwDataCode(2, 0xc0, False, 4) + +genIFRwDataCode(3, 0xc0, False, 4) + +genIFRwDataCode(4, 0xc0, False, 4) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + #------------------------------------------------------------------------------ + genPkt.clean() + genPkt.setPktType(0) + + gen_file_def_ap = gen_file_def + "_step02" + sm_idx = 0 + + data = [0x3f, 0xff] + genPkt.addSubPkt(0x0, 0, 0x0, 0xb, 2, data) + + genPkt.addAfterExc(genMessageCode("--设置顺序地址") + +genWriteTransLenCode(gen_file_def_ap, sm_idx) + +genWriteTransPktCode(gen_file_def_ap, sm_idx) + +genTrgTransPktCode(gen_file_def_ap, sm_idx) + +genReadAckPktCode(gen_file_def_ap, sm_idx) + #+genTcEndFrameCode(gen_file_def) + +genIFRwDataCode(1, 0xc0, False, 4) + +genIFRwDataCode(2, 0xc0, False, 4) + +genIFRwDataCode(3, 0xc0, False, 4) + +genIFRwDataCode(4, 0xc0, False, 4) + ) + + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + genPkt.clean() + genPkt.setPktType(1) + gen_file_def_ap = gen_file_def+"_step03" + sm_idx = 0 + + genPkt.addBeforeExc(genMessageCode("--设置环境,进行第二次嗅探")) + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) + +genWriteTransPktCode(gen_file_def_ap, sm_idx) + +genTrgTransPktCode(gen_file_def_ap, sm_idx) + +genReadAckPktCode(gen_file_def_ap, sm_idx) + +genMessageCode("--嗅探后检查链路状态寄存器") + +genIFRwDataCode(1, 0xc0, False, 4) + +genIFRwDataCode(2, 0xc0, False, 4) + +genIFRwDataCode(3, 0xc0, False, 4) + +genIFRwDataCode(4, 0xc0, False, 4) + +genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + add_tc_2_runlist(gen_file_def)