From 587ce4179889f63225ec42552d3f96c0a0d09190 Mon Sep 17 00:00:00 2001 From: bacon Date: Tue, 19 Aug 2025 17:37:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=B5=8B=E8=AF=95=E7=94=A8?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/test_filter.py | 36 +++++++++++++ tb/shinTest/testcase/errorPkt.py | 90 ++++++++++++++++++++++++++++++-- 2 files changed, 122 insertions(+), 4 deletions(-) diff --git a/tb/shinTest/test_filter.py b/tb/shinTest/test_filter.py index 77a6bd7..7e3499b 100755 --- a/tb/shinTest/test_filter.py +++ b/tb/shinTest/test_filter.py @@ -6,6 +6,42 @@ import time import random + +''' + 0_0b00000 + 1_0b00001 + 2_0b00010 + 3_0b00011 + 4_0b00100 + 5_0b00101 + 6_0b00110 + 7_0b00111 + 8_0b01000 +---------> 9_0b01001 +--------->10_0b01010 +--------->11_0b01011 +12_0b01100 +13_0b01101 +--------->14_0b01110 +--------->15_0b01111 +16_0b10000 +17_0b10001 +--------->18_0b10010 +--------->19_0b10011 +--------->20_0b10100 +--------->21_0b10101 +--------->22_0b10110 +--------->23_0b10111 +24_0b11000 +25_0b11001 +--------->26_0b11010 +--------->27_0b11011 +--------->28_0b11100 +--------->29_0b11101 +--------->30_0b11110 +31_0b11111 +''' + def convert_4b_2_5b(data): conv_table = [0b11110, 0b01001, 0b10100, 0b10101, 0b01010, 0b01011, 0b01110, 0b01111, diff --git a/tb/shinTest/testcase/errorPkt.py b/tb/shinTest/testcase/errorPkt.py index 9d9dc47..a57cb2e 100644 --- a/tb/shinTest/testcase/errorPkt.py +++ b/tb/shinTest/testcase/errorPkt.py @@ -38,12 +38,18 @@ def tc1(): +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) +genReadAckPktCode(gen_file_def, sm_idx) + +genMessageCode("--读取统计寄存器") +genIFRwDataCode(0, 0x80, False, 24) +genIFRwDataCode(0, 0xa0, False, 24) +genIFRwDataCode(1, 0x80, False, 24) +genIFRwDataCode(2, 0x80, False, 24) +genIFRwDataCode(3, 0x80, False, 24) +genIFRwDataCode(4, 0x80, False, 24) + + +genMessageCode("--数据包状态寄存器") + +genIFRwDataCode(0, 0x22, False, 2) + +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) + +genIFRwDataCode(0, 0x22, False, 2) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) @@ -75,7 +81,8 @@ def tc1(): +genIFRwDataCode(2, 0x74, False, 4) +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) - + + +genMessageCode("--读取统计寄存器") +genIFRwDataCode(0, 0x80, False, 24) +genIFRwDataCode(0, 0xa0, False, 24) +genIFRwDataCode(1, 0x80, False, 24) @@ -83,6 +90,11 @@ def tc1(): +genIFRwDataCode(3, 0x80, False, 24) +genIFRwDataCode(4, 0x80, False, 24) + +genMessageCode("--数据包状态寄存器") + +genIFRwDataCode(0, 0x22, False, 2) + +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) + +genIFRwDataCode(0, 0x22, False, 2) + +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) @@ -125,7 +137,12 @@ def tc2(): 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)) + +genReadAckPktCode(gen_file_def, sm_idx) + +genMessageCode("--数据包状态寄存器") + +genIFRwDataCode(0, 0x22, False, 2) + +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) + +genIFRwDataCode(0, 0x22, False, 2) + ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) genPkt.clean() @@ -142,21 +159,31 @@ def tc2(): +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) +genReadAckPktCode(gen_file_def_ap, sm_idx) + + +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(1, 0x74, False, 4) +genIFRwDataCode(2, 0x74, False, 4) +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) + +genIFRwDataCode(0, 0x78, True, 4, clear_int) +genIFRwDataCode(1, 0x78, True, 4, clear_int) +genIFRwDataCode(2, 0x78, True, 4, clear_int) +genIFRwDataCode(3, 0x78, True, 4, clear_int) +genIFRwDataCode(4, 0x78, True, 4, clear_int) + +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(1, 0x74, False, 4) +genIFRwDataCode(2, 0x74, False, 4) +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) + +genMessageCode("--数据包状态寄存器") + +genIFRwDataCode(0, 0x22, False, 2) + +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) + +genIFRwDataCode(0, 0x22, False, 2) + + +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) @@ -189,6 +216,30 @@ def tc3(): +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) +genReadAckPktCode(gen_file_def, sm_idx) + + +genMessageCode("--数据包状态寄存器") + +genIFRwDataCode(0, 0x22, False, 2) + +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) + +genIFRwDataCode(0, 0x22, False, 2) + + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +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]) + + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) return gen_file_def @@ -231,21 +282,31 @@ def tc4(): +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) +genReadAckPktCode(gen_file_def_ap, sm_idx) + + +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(1, 0x74, False, 4) +genIFRwDataCode(2, 0x74, False, 4) +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) + +genIFRwDataCode(0, 0x78, True, 4, clear_int) +genIFRwDataCode(1, 0x78, True, 4, clear_int) +genIFRwDataCode(2, 0x78, True, 4, clear_int) +genIFRwDataCode(3, 0x78, True, 4, clear_int) +genIFRwDataCode(4, 0x78, True, 4, clear_int) + +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(1, 0x74, False, 4) +genIFRwDataCode(2, 0x74, False, 4) +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--数据包状态寄存器") + +genIFRwDataCode(0, 0x22, False, 2) + +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) + +genIFRwDataCode(0, 0x22, False, 2) + +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) @@ -281,12 +342,24 @@ def tc5(): genPkt.setPkt(2, data) sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--读取统计寄存器") + +genIFRwDataCode(0, 0x80, False, 24) + +genIFRwDataCode(0, 0xa0, False, 24)) 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)) + +genReadAckPktCode(gen_file_def, sm_idx) + + +genMessageCode("--数据包状态寄存器") + +genIFRwDataCode(0, 0x22, False, 2) + +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) + +genIFRwDataCode(0, 0x22, False, 2) + + +genMessageCode("--读取统计寄存器") + +genIFRwDataCode(0, 0x80, False, 24) + +genIFRwDataCode(0, 0xa0, False, 24)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) genPkt.clean() @@ -302,6 +375,15 @@ def tc5(): +genTrgTransPktCode(gen_file_def_ap, sm_idx) +genReadAckPktCode(gen_file_def_ap, sm_idx) + +genMessageCode("--数据包状态寄存器") + +genIFRwDataCode(0, 0x22, False, 2) + +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) + +genIFRwDataCode(0, 0x22, False, 2) + + +genMessageCode("--读取统计寄存器") + +genIFRwDataCode(0, 0x80, False, 24) + +genIFRwDataCode(0, 0xa0, False, 24) + +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(1, 0x74, False, 4)