Merge branch 'eb_dev' into bug56
This commit is contained in:
@@ -18,7 +18,7 @@ if __name__ == '__main__':
|
||||
#add_tc_2_runlist(base.tc4())
|
||||
#add_tc_2_runlist(base.tc5())
|
||||
#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.tc9())
|
||||
#add_tc_2_runlist(base.tc10())
|
||||
@@ -26,6 +26,16 @@ if __name__ == '__main__':
|
||||
#add_tc_2_runlist(base.tc12())
|
||||
#add_tc_2_runlist(base.tc13())
|
||||
#add_tc_2_runlist(base.tc14())
|
||||
#add_tc_2_runlist(base.tc15())
|
||||
#add_tc_2_runlist(base.tc16())
|
||||
#add_tc_2_runlist(base.tc17())
|
||||
#add_tc_2_runlist(base.tc18())
|
||||
#add_tc_2_runlist(base.tc19())
|
||||
#add_tc_2_runlist(base.tc20())
|
||||
#add_tc_2_runlist(base.tc21())
|
||||
#add_tc_2_runlist(base.tc22())
|
||||
add_tc_2_runlist(base.tc23())
|
||||
|
||||
|
||||
|
||||
#add_tc_2_runlist(broadcast.tc1())
|
||||
|
||||
@@ -1127,3 +1127,265 @@ def tc14():
|
||||
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
|
||||
|
||||
return gen_file_def
|
||||
|
||||
|
||||
def tc_wr_sm(tc_id, wr_sm_idx):
|
||||
genPkt = GenPkt()
|
||||
|
||||
gen_file_def = f"base_tc{tc_id}_wr_sm{wr_sm_idx}"
|
||||
sm_idx = 0
|
||||
tc_des = f"读写SM{wr_sm_idx}缓冲区超过缓冲区的元素上限,期望结果,超出缓冲区的数据不被接收,工作计数不加。\\n" \
|
||||
+ "检查是否真的写入,子报文的状态。目前即使SM0、2、4、6满了,处于溢出状态,硬件难以判断是否能提交数据。\\n"\
|
||||
+ "目前只要地址、长度正确,即使无法写入,工作计数也会加1。工作计数不能反应报文与SMx的互动关系。"
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#>>>>>>普通数据包3
|
||||
genPkt.clean()
|
||||
genPkt.setPktType(0)
|
||||
|
||||
#subPkt参数:索引、索引类型、地址、命令、长度、数据
|
||||
genPkt.addSubPkt(0, 0, 0x0302 + wr_sm_idx * 0x4, 0xe, 2, [32, 0])
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(0, 32)))
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(32, 64)))
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(64, 96)))
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(96, 128)))
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(128, 160)))
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(160, 192)))
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(192, 224)))
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(224, 256)))
|
||||
|
||||
sm_idx = 0
|
||||
|
||||
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)
|
||||
|
||||
+genSlvSMReadData(1, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(2, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(3, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(4, wr_sm_idx, 32)
|
||||
|
||||
+genSlvSMReadData(1, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(2, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(3, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(4, wr_sm_idx, 32)
|
||||
|
||||
+genSlvSMReadData(1, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(2, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(3, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(4, wr_sm_idx, 32)
|
||||
|
||||
+genSlvSMReadData(1, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(2, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(3, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(4, wr_sm_idx, 32)
|
||||
|
||||
+genSlvSMReadData(1, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(2, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(3, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(4, wr_sm_idx, 32)
|
||||
|
||||
+genTcEndFrameCode(gen_file_def))
|
||||
|
||||
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
||||
|
||||
return gen_file_def
|
||||
|
||||
|
||||
def tc_rd_sm(tc_id, rd_sm_idx):
|
||||
genPkt = GenPkt()
|
||||
|
||||
gen_file_def = f"base_tc{tc_id}_rd_sm{rd_sm_idx}"
|
||||
sm_idx = 0
|
||||
tc_des = f"读写SM{rd_sm_idx}缓冲区超过缓冲区的元素上限,期望结果,超出缓冲区的数据不被接收,工作计数不加。\\n" \
|
||||
+ "检查是否真的写入,子报文的状态。目前即使SM1、3、5、7空了,没有数据,硬件难以判断是否存在数据。\\n"\
|
||||
+ "目前只要地址、长度正确,即使无法读取,工作计数也会加1。工作计数不能反应报文与SMx的互动关系。"
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#>>>>>>普通数据包3
|
||||
genPkt.clean()
|
||||
genPkt.setPktType(0)
|
||||
|
||||
#subPkt参数:索引、索引类型、地址、命令、长度、数据
|
||||
#genPkt.addSubPkt(0, 0, 0x0302, 0xd, 2, [32, 0])
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32)
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32)
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32)
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32)
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32)
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32)
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32)
|
||||
genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32)
|
||||
sm_idx = 0
|
||||
|
||||
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(0, 32)))
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(32, 64)))
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(64, 96)))
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(96, 128)))
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(128, 160)))
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(160, 192)))
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(192, 224)))
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(224, 256)))
|
||||
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(0, 32)))
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(32, 64)))
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(64, 96)))
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(96, 128)))
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(128, 160)))
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(160, 192)))
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(192, 224)))
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(224, 256)))
|
||||
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(0, 32)))
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(32, 64)))
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(64, 96)))
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(96, 128)))
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(128, 160)))
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(160, 192)))
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(192, 224)))
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(224, 256)))
|
||||
|
||||
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(0, 32)))
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(32, 64)))
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(64, 96)))
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(96, 128)))
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(128, 160)))
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(160, 192)))
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(192, 224)))
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(224, 256)))
|
||||
)
|
||||
|
||||
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
|
||||
|
||||
|
||||
def tc15():
|
||||
return tc_wr_sm(15, 0)
|
||||
|
||||
def tc16():
|
||||
return tc_rd_sm(16, 1)
|
||||
|
||||
def tc17():
|
||||
return tc_wr_sm(17, 2)
|
||||
|
||||
def tc18():
|
||||
return tc_rd_sm(18, 3)
|
||||
|
||||
def tc19():
|
||||
return tc_wr_sm(19, 4)
|
||||
|
||||
def tc20():
|
||||
return tc_rd_sm(20, 5)
|
||||
|
||||
def tc21():
|
||||
return tc_wr_sm(21, 6)
|
||||
|
||||
def tc22():
|
||||
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
|
||||
Reference in New Issue
Block a user