From de0f5223c41d67b3e92fdbe6bd225f82b2f28133 Mon Sep 17 00:00:00 2001 From: bacon Date: Thu, 11 Sep 2025 11:58:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=B0=E7=9A=84=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B=E4=BB=A5=E5=8F=8A=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E7=9A=84=E5=AF=B9=E6=AF=94=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/testcase/rwregs.py | 83 ++++++++++++-- .../testcase_result/regtest_tc02_result.log | 105 ++++++++++++++++++ .../testcase_result/regtest_tc03_result.log | 36 ++++++ 3 files changed, 212 insertions(+), 12 deletions(-) create mode 100644 tb/shinTest/testcase_result/regtest_tc02_result.log create mode 100644 tb/shinTest/testcase_result/regtest_tc03_result.log diff --git a/tb/shinTest/testcase/rwregs.py b/tb/shinTest/testcase/rwregs.py index db75d61..5b8f95f 100644 --- a/tb/shinTest/testcase/rwregs.py +++ b/tb/shinTest/testcase/rwregs.py @@ -89,27 +89,80 @@ def tc1(): def tc2(): gen_file_def = "regtest_tc02" sm_idx = 0 - tc_des = "测试寄存器的读写状态,将系统改为4B5B进行通信\\n" + tc_des = "测试寄存器的读写状态,交换上下行管脚。特别测试SPI/QSPI读写密码正确和不正确的情况下,对读写的封堵。\\n" genPkt = GenPkt() genPkt.clean() dev_num = get_slv_dev_num() - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) - ) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) - change_4b5b_code = "" + change_pinsw_code1 = "" for i in range(dev_num + 1): - change_4b5b_code = change_4b5b_code + genIFRwDataCode(i, 0x004c, True, 2, [0x0, 0x59])\ - +genIFRwDataCode(i, 0x004c, False, 2) + change_pinsw_code1 = change_pinsw_code1 + genIFRwDataCode(i, 0x004a, True, 2, [0x0, 0x58])\ + +genIFRwDataCode(i, 0x004a, False, 2) + + change_pinsw_code2 = "" + for i in range(dev_num + 1): + change_pinsw_code2 = change_pinsw_code2 + genIFRwDataCode(i, 0x004a, True, 2, [0x1, 0x58])\ + +genIFRwDataCode(i, 0x004a, False, 2) + + invalid_change_pinsw_code1 = "" + for i in range(dev_num + 1): + invalid_change_pinsw_code1 = invalid_change_pinsw_code1 + genIFRwDataCode(i, 0x004a, True, 2, [0x0, 0x32])\ + +genIFRwDataCode(i, 0x004a, False, 2) + + invalid_change_pinsw_code2 = "" + for i in range(dev_num + 1): + invalid_change_pinsw_code2 = invalid_change_pinsw_code2 + genIFRwDataCode(i, 0x004a, True, 2, [0x1, 0x43])\ + +genIFRwDataCode(i, 0x004a, False, 2) + + invalid_change_pinsw_code3 = "" + for i in range(dev_num + 1): + invalid_change_pinsw_code3 = invalid_change_pinsw_code3 + genIFRwDataCode(i, 0x004a, True, 1, [0x0, ])\ + +genIFRwDataCode(i, 0x004a, False, 2) + + invalid_change_pinsw_code4 = "" + for i in range(dev_num + 1): + invalid_change_pinsw_code4 = invalid_change_pinsw_code4 + genIFRwDataCode(i, 0x004a, True, 1, [0x1, ])\ + +genIFRwDataCode(i, 0x004a, False, 2) + + invalid_change_pinsw_code5 = "" + for i in range(dev_num + 1): + invalid_change_pinsw_code5 = invalid_change_pinsw_code5 + genIFRwDataCode(i, 0x004a, True, 2, [0x30, 0x58])\ + +genIFRwDataCode(i, 0x004a, False, 2) + + invalid_change_pinsw_code6 = "" + for i in range(dev_num + 1): + invalid_change_pinsw_code6 = invalid_change_pinsw_code6 + genIFRwDataCode(i, 0x004a, True, 2, [0x23, 0x58])\ + +genIFRwDataCode(i, 0x004a, False, 2) - - genPkt.addAfterExc(#genWriteTransLenCode(gen_file_def, sm_idx) - #+genWriteTransPktCode(gen_file_def, sm_idx) - #+genTrgTransPktCode(gen_file_def, sm_idx) - #+genReadAckPktCode(gen_file_def, sm_idx) - change_4b5b_code + default_pinsw_code = "" + for i in range(dev_num + 1): + default_pinsw_code = default_pinsw_code + genIFRwDataCode(i, 0x004a, True, 2, [0, 0x58]) + + genPkt.addAfterExc(genMessageCode("--正确的key") + +change_pinsw_code1 + +genMessageCode("--错误的key") + +invalid_change_pinsw_code4 + +genMessageCode("--错误的key") + +invalid_change_pinsw_code1 + +genMessageCode("--错误的key") + +invalid_change_pinsw_code2 + +genMessageCode("--正确的key") + +change_pinsw_code2 + +genMessageCode("--错误的key") + +invalid_change_pinsw_code3 + +genMessageCode("--错误的key") + +invalid_change_pinsw_code1 + +genMessageCode("--错误的key") + +invalid_change_pinsw_code2 + +genMessageCode("--正确的key_错误的数据") + +invalid_change_pinsw_code5 + +invalid_change_pinsw_code6 + +genMessageCode("--恢复默认的配置") + +default_pinsw_code +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) return gen_file_def @@ -159,6 +212,12 @@ def tc3(): +read_sm_status +reset_sm +read_sm_status + +genMessageCode("--清除主中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) return gen_file_def diff --git a/tb/shinTest/testcase_result/regtest_tc02_result.log b/tb/shinTest/testcase_result/regtest_tc02_result.log new file mode 100644 index 0000000..d0ab0b8 --- /dev/null +++ b/tb/shinTest/testcase_result/regtest_tc02_result.log @@ -0,0 +1,105 @@ +16'h004a 8'h00 16'h0002 8'h00 8'h58 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h00 8'h58 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h00 8'h58 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h00 8'h58 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h00 8'h58 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0001 8'h01 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0001 8'h01 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0001 8'h01 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0001 8'h01 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0001 8'h01 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h00 8'h32 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h00 8'h32 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h00 8'h32 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h00 8'h32 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h00 8'h32 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h01 8'h43 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h01 8'h43 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h01 8'h43 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h01 8'h43 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h01 8'h43 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h01 8'h58 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h01 8'h58 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h01 8'h58 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h01 8'h58 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h01 8'h58 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0001 8'h00 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0001 8'h00 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0001 8'h00 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0001 8'h00 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0001 8'h00 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h00 8'h32 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h00 8'h32 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h00 8'h32 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h00 8'h32 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h00 8'h32 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h01 8'h43 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h01 8'h43 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h01 8'h43 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h01 8'h43 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h01 8'h43 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h30 8'h58 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h30 8'h58 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h30 8'h58 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h30 8'h58 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h30 8'h58 +16'h004a 8'h80 16'h0002 8'h00 8'h00 +16'h004a 8'h00 16'h0002 8'h23 8'h58 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h23 8'h58 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h23 8'h58 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h23 8'h58 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h23 8'h58 +16'h004a 8'h80 16'h0002 8'h01 8'h00 +16'h004a 8'h00 16'h0002 8'h00 8'h58 +16'h004a 8'h00 16'h0002 8'h00 8'h58 +16'h004a 8'h00 16'h0002 8'h00 8'h58 +16'h004a 8'h00 16'h0002 8'h00 8'h58 +16'h004a 8'h00 16'h0002 8'h00 8'h58 diff --git a/tb/shinTest/testcase_result/regtest_tc03_result.log b/tb/shinTest/testcase_result/regtest_tc03_result.log new file mode 100644 index 0000000..6c0ef50 --- /dev/null +++ b/tb/shinTest/testcase_result/regtest_tc03_result.log @@ -0,0 +1,36 @@ +16'h0302 8'h00 16'h0002 8'h20 8'h00 +16'h0302 8'h00 16'h0002 8'h20 8'h00 +16'h0302 8'h00 16'h0002 8'h20 8'h00 +16'h0302 8'h00 16'h0002 8'h20 8'h00 +16'h0302 8'h00 16'h0002 8'h20 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h80 16'h002c 8'h02 8'h80 8'h00 8'h04 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 +16'h0302 8'h00 16'h0002 8'h40 8'h00 +16'h0302 8'h00 16'h0002 8'h40 8'h00 +16'h0302 8'h00 16'h0002 8'h40 8'h00 +16'h0302 8'h00 16'h0002 8'h40 8'h00 +16'h0302 8'h00 16'h0002 8'h40 8'h00 +16'h0300 8'h80 16'h0004 8'h00 8'h00 8'h40 8'h00 +16'h0300 8'h80 16'h0004 8'h00 8'h01 8'h20 8'h00 +16'h0300 8'h80 16'h0004 8'h00 8'h01 8'h20 8'h00 +16'h0300 8'h80 16'h0004 8'h00 8'h01 8'h20 8'h00 +16'h0300 8'h80 16'h0004 8'h00 8'h01 8'h20 8'h00 +16'h0300 8'h00 16'h0001 8'h00 +16'h0300 8'h00 16'h0001 8'h00 +16'h0300 8'h00 16'h0001 8'h00 +16'h0300 8'h00 16'h0001 8'h00 +16'h0300 8'h00 16'h0001 8'h00 +16'h0300 8'h80 16'h0004 8'h00 8'h00 8'h40 8'h00 +16'h0300 8'h80 16'h0004 8'h00 8'h00 8'h20 8'h00 +16'h0300 8'h80 16'h0004 8'h00 8'h00 8'h20 8'h00 +16'h0300 8'h80 16'h0004 8'h00 8'h00 8'h20 8'h00 +16'h0300 8'h80 16'h0004 8'h00 8'h00 8'h20 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff