增加代码测试workcnt

This commit is contained in:
2025-08-06 17:46:08 +08:00
parent 777760fc60
commit bb28a005ed
2 changed files with 65 additions and 11 deletions

View File

@@ -18,7 +18,7 @@ if __name__ == '__main__':
#add_tc_2_runlist(base.tc4()) #add_tc_2_runlist(base.tc4())
#add_tc_2_runlist(base.tc5()) #add_tc_2_runlist(base.tc5())
#add_tc_2_runlist(base.tc6()) #add_tc_2_runlist(base.tc6())
#add_tc_2_runlist(base.tc7()) add_tc_2_runlist(base.tc7())
#add_tc_2_runlist(base.tc8()) #add_tc_2_runlist(base.tc8())
#add_tc_2_runlist(base.tc9()) #add_tc_2_runlist(base.tc9())
#add_tc_2_runlist(base.tc10()) #add_tc_2_runlist(base.tc10())
@@ -26,14 +26,15 @@ if __name__ == '__main__':
#add_tc_2_runlist(base.tc12()) #add_tc_2_runlist(base.tc12())
#add_tc_2_runlist(base.tc13()) #add_tc_2_runlist(base.tc13())
#add_tc_2_runlist(base.tc14()) #add_tc_2_runlist(base.tc14())
add_tc_2_runlist(base.tc15()) #add_tc_2_runlist(base.tc15())
add_tc_2_runlist(base.tc16()) #add_tc_2_runlist(base.tc16())
add_tc_2_runlist(base.tc17()) #add_tc_2_runlist(base.tc17())
add_tc_2_runlist(base.tc18()) #add_tc_2_runlist(base.tc18())
add_tc_2_runlist(base.tc19()) #add_tc_2_runlist(base.tc19())
add_tc_2_runlist(base.tc20()) #add_tc_2_runlist(base.tc20())
add_tc_2_runlist(base.tc21()) #add_tc_2_runlist(base.tc21())
add_tc_2_runlist(base.tc22()) #add_tc_2_runlist(base.tc22())
add_tc_2_runlist(base.tc23())

View File

@@ -1135,7 +1135,8 @@ def tc_wr_sm(tc_id, wr_sm_idx):
gen_file_def = f"base_tc{tc_id}_wr_sm{wr_sm_idx}" gen_file_def = f"base_tc{tc_id}_wr_sm{wr_sm_idx}"
sm_idx = 0 sm_idx = 0
tc_des = f"读写SM{wr_sm_idx}缓冲区超过缓冲区的元素上限,期望结果,超出缓冲区的数据不被接收,工作计数不加。\\n" \ tc_des = f"读写SM{wr_sm_idx}缓冲区超过缓冲区的元素上限,期望结果,超出缓冲区的数据不被接收,工作计数不加。\\n" \
+ "检查是否真的写入,子报文的状态。" + "检查是否真的写入,子报文的状态。目前即使SM0、2、4、6满了处于溢出状态硬件难以判断是否能提交数据。\\n"\
+ "目前只要地址、长度正确即使无法写入工作计数也会加1。工作计数不能反应报文与SMx的互动关系。"
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
#>>>>>>普通数据包3 #>>>>>>普通数据包3
@@ -1221,7 +1222,8 @@ def tc_rd_sm(tc_id, rd_sm_idx):
gen_file_def = f"base_tc{tc_id}_rd_sm{rd_sm_idx}" gen_file_def = f"base_tc{tc_id}_rd_sm{rd_sm_idx}"
sm_idx = 0 sm_idx = 0
tc_des = f"读写SM{rd_sm_idx}缓冲区超过缓冲区的元素上限,期望结果,超出缓冲区的数据不被接收,工作计数不加。\\n" \ tc_des = f"读写SM{rd_sm_idx}缓冲区超过缓冲区的元素上限,期望结果,超出缓冲区的数据不被接收,工作计数不加。\\n" \
+ "检查是否真的写入,子报文的状态。" + "检查是否真的写入,子报文的状态。目前即使SM1、3、5、7空了没有数据硬件难以判断是否存在数据。\\n"\
+ "目前只要地址、长度正确即使无法读取工作计数也会加1。工作计数不能反应报文与SMx的互动关系。"
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
#>>>>>>普通数据包3 #>>>>>>普通数据包3
@@ -1336,3 +1338,54 @@ def tc21():
def tc22(): def tc22():
return tc_rd_sm(22, 7) return tc_rd_sm(22, 7)
def tc23():
genPkt = GenPkt()
gen_file_def = "base_tc23"
sm_idx = 0
tc_des = "使用广播读写命令读取SM0的长度寄存器测试工作计数。\\n"
#-------------------------------------------------------------------------
#>>>>>>普通数据包2
genPkt.clean()
genPkt.setPktType(0)
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
)
#subPkt参数索引、索引类型、地址、命令、长度、数据
genPkt.addSubPkt(0, 0, 0x0302, 0xf, 2, [32, 0])
sm_idx = 0
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)
+genTcEndFrameCode(gen_file_def))
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
return gen_file_def