From b9d255b7ce627de09eb8261d5a342355f1722b25 Mon Sep 17 00:00:00 2001 From: bacon Date: Wed, 20 Aug 2025 12:55:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=BC=8F=E4=BC=A0=E7=9A=84?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/testcase/mac.py | 87 +++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 tb/shinTest/testcase/mac.py diff --git a/tb/shinTest/testcase/mac.py b/tb/shinTest/testcase/mac.py new file mode 100644 index 0000000..3f07e25 --- /dev/null +++ b/tb/shinTest/testcase/mac.py @@ -0,0 +1,87 @@ +from pyutils import * + + + +def test_pkt_size(tc_id, size): + genPkt = GenPkt() + + gen_file_def = "mac_tc%02d"%(tc_id, ) + sm_idx = 0 + tc_des = ("测试MAC的分包机制, %d = %d + 8(subheader+wkc) + 4(header) + 4(crc)\\n"%(size, size - 16) + ) + + + #------------------------------------------------------------------------- + #>>>>>>普通数据包 sm1,2个读 + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + #genPkt.addSubPkt(0x02, 0, 0x0830, 0x2, 56, None) + genPkt.addSubPkt(0x01, 0, 0x00, 0xd, size - 16, None) + #genPkt.addSubPkt(0x03, 0, 0xc0, 0x0, 64, None) + #genPkt.addSubPkt(10, 2, 0x300, 0x2, 4, None) + #genPkt.addSubPkt(11, 1, 0x300, 0x2, 4, None) + sm_idx = 1 + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + + 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) + + +genMessageCode("--读取中断") + +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, 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]) + + +genMessageCode("--读取中断") + +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) + + return gen_file_def + + +def tc1(): + return test_pkt_size(1, 127) + +def tc2(): + return test_pkt_size(2, 128) + +def tc3(): + return test_pkt_size(3, 129) + +def tc4(): + return test_pkt_size(4, 130) + +def tc5(): + return test_pkt_size(5, 131) + +def tc6(): + return test_pkt_size(6, 132) + +def tc7(): + return test_pkt_size(7, 133) \ No newline at end of file