将ebmmu系列测试用例从v文件中彻底由python控制

This commit is contained in:
2025-07-31 15:37:30 +08:00
parent da1e94874d
commit 7de76cb058
3 changed files with 233 additions and 446 deletions

View File

@@ -28,38 +28,6 @@
//`define ENABLE_SYNC_SIG1_TEST "generated/log/sync_sig1_tc.log"
//`define ENABLE_RESET_TEST "generated/log/reset_tc.log"
//`define ENABLE_EBMMU_TR1_TEST "generated/log/ebmmu_tr1_tc.log"
//`define ENABLE_EBMMU_TR2_TEST "generated/log/ebmmu_tr2_tc.log"
//`define ENABLE_EBMMU_TR3_TEST "generated/log/ebmmu_tr3_tc.log"
//`define ENABLE_EBMMU_TR4_TEST "generated/log/ebmmu_tr4_tc.log"
//`define ENABLE_EBMMU_TR5_TEST "generated/log/ebmmu_tr5_tc.log"
//`define ENABLE_EBMMU_TR6_TEST "generated/log/ebmmu_tr6_tc.log"
//`define ENABLE_EBMMU_TR7_TEST "generated/log/ebmmu_tr7_tc.log"
//`define ENABLE_EBMMU_TR8_TEST "generated/log/ebmmu_tr8_tc.log"
//`define ENABLE_EBMMU_TR9_TEST "generated/log/ebmmu_tr9_tc.log"
//`define ENABLE_EBMMU_TR10_TEST "generated/log/ebmmu_tr10_tc.log"
//`define ENABLE_EBMMU_TR11_TEST "generated/log/ebmmu_tr11_tc.log"
//`define ENABLE_EBMMU_TR12_TEST "generated/log/ebmmu_tr12_tc.log"
//`define ENABLE_EBMMU_TR13_TEST "generated/log/ebmmu_tr13_tc.log"
//`define ENABLE_EBMMU_TR14_TEST "generated/log/ebmmu_tr14_tc.log"
//`define ENABLE_EBMMU_TR15_TEST "generated/log/ebmmu_tr15_tc.log"
//`define ENABLE_EBMMU_TR16_TEST "generated/log/ebmmu_tr16_tc.log"
//`define ENABLE_EBMMU_TR17_TEST "generated/log/ebmmu_tr17_tc.log"
//`define ENABLE_EBMMU_TR18_TEST "generated/log/ebmmu_tr18_tc.log"
//`define ENABLE_EBMMU_TR19_TEST "generated/log/ebmmu_tr19_tc.log"
//`define ENABLE_EBMMU_TR20_TEST "generated/log/ebmmu_tr20_tc.log"
//`define ENABLE_EBMMU_TR21_TEST "generated/log/ebmmu_tr21_tc.log"
//`define ENABLE_EBMMU_TR22_TEST "generated/log/ebmmu_tr22_tc.log"
//`define ENABLE_EBMMU_TR23_TEST "generated/log/ebmmu_tr23_tc.log"
//`define ENABLE_EBMMU_TR24_TEST "generated/log/ebmmu_tr24_tc.log"
//`define ENABLE_EBMMU_TR25_TEST "generated/log/ebmmu_tr25_tc.log"
//`define ENABLE_EBMMU_TR26_TEST "generated/log/ebmmu_tr26_tc.log"
//`define ENABLE_EBMMU_TR27_TEST "generated/log/ebmmu_tr27_tc.log"
//`define ENABLE_EBMMU_TR28_TEST "generated/log/ebmmu_tr28_tc.log"
//`define ENABLE_EBMMU_TR29_TEST "generated/log/ebmmu_tr29_tc.log"
//`define ENABLE_EBMMU_TR30_TEST "generated/log/ebmmu_tr30_tc.log"
//`define ENABLE_WD1_TEST "generated/log/wd1_tc.log"
module ShinTopSpiTb(
@@ -1673,292 +1641,6 @@ initial begin
end
`endif
`ifdef ENABLE_EBMMU_TR1_TEST
begin:EBMMU_TR1_TEST
`BEGIN_TESTCASE(`ENABLE_EBMMU_TR1_TEST);
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例EBMMU测试 1");
`include "ebmmu_tc1_settings.vh"
`include "ebmmu_tc1_seq_read.vh"
`include "ebmmu_tc1_read.vh"
_t_end = $realtime;
$fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start);
`END_TESTCASE(`ENABLE_EBMMU_TR1_TEST);
end
`endif
`ifdef ENABLE_EBMMU_TR2_TEST
begin:EBMMU_TR2_TEST
`BEGIN_TESTCASE(`ENABLE_EBMMU_TR2_TEST);
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例EBMMU测试 2");
`include "ebmmu_tc2_settings.vh"
`include "ebmmu_tc2_seq_read.vh"
`include "ebmmu_tc2_read.vh"
_t_end = $realtime;
$fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start);
`END_TESTCASE(`ENABLE_EBMMU_TR2_TEST);
end
`endif
`ifdef ENABLE_EBMMU_TR3_TEST
begin:EBMMU_TR3_TEST
`BEGIN_TESTCASE(`ENABLE_EBMMU_TR3_TEST);
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例EBMMU测试 3");
`include "ebmmu_tc3_settings.vh"
`include "ebmmu_tc3_read.vh"
_t_end = $realtime;
$fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start);
`END_TESTCASE(`ENABLE_EBMMU_TR3_TEST);
end
`endif
`ifdef ENABLE_EBMMU_TR4_TEST
begin:EBMMU_TR4_TEST
`BEGIN_TESTCASE(`ENABLE_EBMMU_TR4_TEST);
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例 ebmmu 测试用4");
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
`include "ebmmu_tc4_settings.vh"
`include "ebmmu_tc4_read.vh"
_t_end = $realtime;
$fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start);
`END_TESTCASE(`ENABLE_EBMMU_TR4_TEST);
end
`endif
`ifdef ENABLE_EBMMU_TR5_TEST
begin:EBMMU_TR5_TEST
`BEGIN_TESTCASE(`ENABLE_EBMMU_TR5_TEST);
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例 ebmmu 测试用5");
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
`include "ebmmu_tc4_settings.vh"
`include "ebmmu_tc4_read.vh"
`include "ebmmu_tc5_read.vh"
_t_end = $realtime;
$fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start);
`END_TESTCASE(`ENABLE_EBMMU_TR5_TEST);
end
`endif
`ifdef ENABLE_EBMMU_TR6_TEST
begin:EBMMU_TR6_TEST
`BEGIN_TESTCASE(`ENABLE_EBMMU_TR6_TEST);
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例 ebmmu 测试用6");
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
`include "ebmmu_tc6_settings.vh"
`include "ebmmu_tc6_write.vh"
_t_end = $realtime;
$fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start);
`END_TESTCASE(`ENABLE_EBMMU_TR6_TEST);
end
`endif
`ifdef ENABLE_EBMMU_TR7_TEST
begin:EBMMU_TR7_TEST
`BEGIN_TESTCASE(`ENABLE_EBMMU_TR7_TEST);
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例 ebmmu 测试用7");
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
`include "ebmmu_tc7_settings.vh"
`include "ebmmu_tc7_write.vh"
_t_end = $realtime;
$fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start);
`END_TESTCASE(`ENABLE_EBMMU_TR7_TEST);
end
`endif
`ifdef ENABLE_EBMMU_TR8_TEST
begin:EBMMU_TR8_TEST
`BEGIN_TESTCASE(`ENABLE_EBMMU_TR8_TEST);
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例 ebmmu 测试用8");
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
`include "ebmmu_tc8_settings.vh"
`include "ebmmu_tc8_write.vh"
_t_end = $realtime;
$fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start);
`END_TESTCASE(`ENABLE_EBMMU_TR8_TEST);
end
`endif
`ifdef ENABLE_EBMMU_TR9_TEST
begin:EBMMU_TR9_TEST
`BEGIN_TESTCASE(`ENABLE_EBMMU_TR9_TEST);
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例 ebmmu 测试用9");
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
`include "ebmmu_tc9_settings.vh"
`include "ebmmu_tc9_write.vh"
_t_end = $realtime;
$fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start);
`END_TESTCASE(`ENABLE_EBMMU_TR9_TEST);
end
`endif
`ifdef ENABLE_EBMMU_TR10_TEST
begin:EBMMU_TR10_TEST
`BEGIN_TESTCASE(`ENABLE_EBMMU_TR10_TEST);
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例 ebmmu 测试用10");
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
`include "ebmmu_tc10_settings.vh"
`include "ebmmu_tc10_write.vh"
`include "ebmmu_tc10b_write.vh"
_t_end = $realtime;
$fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start);
`END_TESTCASE(`ENABLE_EBMMU_TR10_TEST);
end
`endif
`ifdef ENABLE_EBMMU_TR11_TEST
begin:EBMMU_TR11_TEST
`BEGIN_TESTCASE(`ENABLE_EBMMU_TR11_TEST);
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例 ebmmu 测试用11");
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
`include "ebmmu_tc11_settings.vh"
`include "ebmmu_tc11_write.vh"
`include "ebmmu_tc11b_write.vh"
_t_end = $realtime;
$fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start);
`END_TESTCASE(`ENABLE_EBMMU_TR11_TEST);
end
`endif
`ifdef ENABLE_EBMMU_TR12_TEST
begin:EBMMU_TR12_TEST
`BEGIN_TESTCASE(`ENABLE_EBMMU_TR12_TEST);
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例 ebmmu 测试用12");
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
`include "ebmmu_tc12_settings.vh"
`include "ebmmu_tc12_write.vh"
_t_end = $realtime;
$fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start);
`END_TESTCASE(`ENABLE_EBMMU_TR12_TEST);
end
`endif
`ifdef ENABLE_EBMMU_TR13_TEST
begin:EBMMU_TR13_TEST
`BEGIN_TESTCASE(`ENABLE_EBMMU_TR13_TEST);
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例 ebmmu 测试用13");
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
`include "ebmmu_tc13_settings.vh"
`include "ebmmu_tc13_write.vh"
_t_end = $realtime;
$fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start);
`END_TESTCASE(`ENABLE_EBMMU_TR13_TEST);
end
`endif
`ifdef ENABLE_EBMMU_TR14_TEST
begin:EBMMU_TR14_TEST
`BEGIN_TESTCASE(`ENABLE_EBMMU_TR14_TEST);
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例 ebmmu 测试用14");
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
`include "ebmmu_tc14_settings.vh"
`include "ebmmu_tc14_write.vh"
_t_end = $realtime;
$fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start);
`END_TESTCASE(`ENABLE_EBMMU_TR14_TEST);
end
`endif
`ifdef ENABLE_EBMMU_TR15_TEST
begin:EBMMU_TR15_TEST
`BEGIN_TESTCASE(`ENABLE_EBMMU_TR15_TEST);
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例 ebmmu 测试用15");
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
`include "ebmmu_tc15_settings.vh"
`include "ebmmu_tc15_write.vh"
_t_end = $realtime;
$fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start);
`END_TESTCASE(`ENABLE_EBMMU_TR15_TEST);
end
`endif
`ifdef ENABLE_WD1_TEST
begin:WD1_TEST

View File

@@ -30,22 +30,22 @@ if __name__ == '__main__':
sync.tc3()
sync.tc4()
add_tc_2_runlist(ebmmu.tc1())
ebmmu.tc2()
ebmmu.tc3()
ebmmu.tc4()
#add_tc_2_runlist(ebmmu.tc1())
#add_tc_2_runlist(ebmmu.tc2())
#add_tc_2_runlist(ebmmu.tc3())
#add_tc_2_runlist(ebmmu.tc4())
ebmmu.tc5()
ebmmu.tc6()
ebmmu.tc7()
ebmmu.tc8()
ebmmu.tc9()
ebmmu.tc10()
ebmmu.tc11()
ebmmu.tc12()
ebmmu.tc13()
ebmmu.tc14()
add_tc_2_runlist(ebmmu.tc6())
add_tc_2_runlist(ebmmu.tc7())
add_tc_2_runlist(ebmmu.tc8())
add_tc_2_runlist(ebmmu.tc9())
add_tc_2_runlist(ebmmu.tc10())
add_tc_2_runlist(ebmmu.tc11())
add_tc_2_runlist(ebmmu.tc12())
add_tc_2_runlist(ebmmu.tc13())
add_tc_2_runlist(ebmmu.tc14())
#add_tc_2_runlist(ebmmu.tc15())
add_tc_2_runlist(ebmmu.tc16())
#add_tc_2_runlist(ebmmu.tc16())
watchdog.tc1()

View File

@@ -5,7 +5,7 @@ def tc1():
gen_file_def = "ebmmu_tc01"
sm_idx = 0
tc_des = "每个从站测试1个ebmmu共4个mmu从0x1000_0000位置向后对齐每个设备占10个字节。\\n" \
tc_des = "每个从站测试1个ebmmu[0]共4个mmu从0x1000_0000位置向后对齐每个设备占10个字节。\\n" \
+ "使用1包数据将4个设备的数据一次性读上来。\\n"\
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
@@ -91,6 +91,12 @@ def tc1():
def tc2():
genPkt = GenPkt()
gen_file_def = "ebmmu_tc02"
sm_idx = 0
tc_des = "每个从站测试1个ebmmu[1]共4个mmu从0x2000_0000位置向后对齐每个设备占16个字节。\\n" \
+ "使用1包数据将4个设备的数据一次性读上来。并采用顺序读出一样的数据以做对比。\\n"\
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
#-------------------------------------------------------------------------
#>>>>>>设置EB-MMU 2
genPkt.clean()
@@ -115,9 +121,7 @@ def tc2():
setting_ebmmu_regs(data, 0, 0x20000030, 0x0000, 0x10, 0x1, 0x1)
genPkt.addSubPkt(0x4, 0, 0x020a, 0x1, 10, data)
gen_file_def = "ebmmu_tc2_settings"
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)
@@ -138,15 +142,15 @@ def tc2():
genPkt.addSubPkt(0x03, 0, 0x0000, 0x0, 16, data)
genPkt.addSubPkt(0x04, 0, 0x0000, 0x0, 16, data)
gen_file_def = "ebmmu_tc2_seq_read"
gen_file_def_ap = "ebmmu_tc02_rw01"
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))
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx))
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
#>>>>>>用EB-MMU方式读取EB-MMU设置
genPkt.clean()
@@ -157,15 +161,16 @@ def tc2():
genPkt.addSubPkt(0x2000, 2, 0x0000, 0x0, 0x40, data)
gen_file_def = "ebmmu_tc2_read"
gen_file_def_ap = "ebmmu_tc02_rw02"
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))
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+genTcEndFrameCode(gen_file_def))
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1,True, gen_file_def_ap)
return gen_file_def
@@ -173,6 +178,12 @@ def tc2():
def tc3():
genPkt = GenPkt()
gen_file_def = "ebmmu_tc03"
sm_idx = 0
tc_des = "每个从站测试1个ebmmu[2]共4个mmu从0x2000_0000位置向后对齐每个设备占12个字节。\\n" \
+ "使用1包数据将4个设备的数据一次性读上来。\\n"\
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
#-------------------------------------------------------------------------
#>>>>>>设置EB-MMU 3
genPkt.clean()
@@ -198,8 +209,7 @@ def tc3():
genPkt.addSubPkt(0x4, 0, 0x0214, 0x1, 10, data)
gen_file_def = "ebmmu_tc3_settings"
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)
@@ -217,26 +227,35 @@ def tc3():
genPkt.addSubPkt(0x1000, 2, 0x0000, 0x0, 0x0c * 4 + 0x28, data)
gen_file_def = "ebmmu_tc3_read"
gen_file_def_ap = "ebmmu_tc03_rw"
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))
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+genTcEndFrameCode(gen_file_def))
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
return gen_file_def
def tc4():
genPkt = GenPkt()
gen_file_def = "ebmmu_tc04"
sm_idx = 0
tc_des = "每个从站测试1个ebmmu[2]共4个mmu从0x2000_0000位置向后对齐每个设备占12个字节。\\n" \
+ "使用1包数据将4个设备的数据一次性读上来。\\n"\
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
#-------------------------------------------------------------------------
#>>>>>>设置EB-MMU 4
genPkt.clean()
genPkt.setPktType(0)
genPkt.addBeforeExc( genSlvSMWriteData(1, 1, 0x80)
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
+ genSlvSMWriteData(1, 1, 0x80)
+ genSlvSMWriteData(2, 3, 0x98)
+ genSlvSMWriteData(3, 5, 0x81)
+ genSlvSMWriteData(4, 7, 0x8c))
@@ -265,7 +284,7 @@ def tc4():
genPkt.addSubPkt(0x4, 0, 0x021e, 0x1, 10, data)
gen_file_def = "ebmmu_tc4_settings"
#gen_file_def = "ebmmu_tc4_settings"
sm_idx = 0
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx)
@@ -284,15 +303,17 @@ def tc4():
genPkt.addSubPkt(0x1000, 2, 0x0058, 0x0, 0x80+0x98+0x81+0x8c, data)
gen_file_def = "ebmmu_tc4_read"
gen_file_def_ap = "ebmmu_tc4_rw"
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))
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+genTcEndFrameCode(gen_file_def)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
return gen_file_def
@@ -300,6 +321,16 @@ def tc4():
def tc5():
genPkt = GenPkt()
'''
gen_file_def = "ebmmu_tc05"
sm_idx = 0
tc_des = "每个从站测试1个ebmmu[2]共4个mmu从0x2000_0000位置向后对齐每个设备占12个字节。\\n" \
+ "使用1包数据将4个设备的数据一次性读上来。\\n"\
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
'''
#-------------------------------------------------------------------------
#>>>>>>用EB-MMU方式读取EB-MMU设置 5
genPkt.clean()
@@ -325,6 +356,12 @@ def tc5():
def tc6():
genPkt = GenPkt()
gen_file_def = "ebmmu_tc06"
sm_idx = 0
tc_des = "每个从站测试1个ebmmu[2]共4个mmu从0x2000_0000位置向后对齐每个设备占12个字节。\\n" \
+ "使用1包数据将4个设备的数据一次性读上来。\\n"\
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
#--------------------------------------------------------------------------
#>>>>>>设置EB-MMU,测试用例6
genPkt.clean()
@@ -361,9 +398,11 @@ def tc6():
data[1] = 0x00
genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data)
gen_file_def = "ebmmu_tc6_settings"
#gen_file_def = "ebmmu_tc6_settings"
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)
@@ -389,25 +428,34 @@ def tc6():
genPkt.addSubPkt(0x1000, 2, addr_off, 0x1, 0x80 * 4, data)
gen_file_def = "ebmmu_tc6_write"
gen_file_def_ap = "ebmmu_tc6_rw"
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)
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+genSlvSMReadData(1, 0, 0x80)
+genSlvSMReadData(2, 0, 0x80)
+genSlvSMReadData(3, 0, 0x80)
+genSlvSMReadData(4, 0, 0x80))
+genSlvSMReadData(4, 0, 0x80)
+genTcEndFrameCode(gen_file_def))
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
return gen_file_def
def tc7():
genPkt = GenPkt()
gen_file_def = "ebmmu_tc07"
sm_idx = 0
tc_des = "每个从站测试1个ebmmu[2]共4个mmu从0x2000_0000位置向后对齐每个设备占12个字节。\\n" \
+ "使用1包数据将4个设备的数据一次性读上来。\\n"\
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
#--------------------------------------------------------------------------
#>>>>>>设置EB-MMU,测试用例7
genPkt.clean()
@@ -446,9 +494,11 @@ def tc7():
data[1] = 0x00
genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data)
gen_file_def = "ebmmu_tc7_settings"
#gen_file_def = "ebmmu_tc7_settings"
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)
@@ -474,25 +524,32 @@ def tc7():
genPkt.addSubPkt(0x1000, 2, addr_off, 0x1, 0x80 * 4, data)
gen_file_def = "ebmmu_tc7_write"
gen_file_def_ap = "ebmmu_tc7_rw"
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)
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+genSlvSMReadData(1, 0, 0x80)
+genSlvSMReadData(2, 0, 0x80)
+genSlvSMReadData(3, 0, 0x80)
+genSlvSMReadData(4, 0, 0x80))
+genSlvSMReadData(4, 0, 0x80)
+genTcEndFrameCode(gen_file_def))
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
return gen_file_def
def tc8():
genPkt = GenPkt()
gen_file_def = "ebmmu_tc08"
sm_idx = 0
tc_des = "每个从站测试1个ebmmu[2]共4个mmu从0x2000_0000位置向后对齐每个设备占12个字节。\\n" \
+ "使用1包数据将4个设备的数据一次性读上来。\\n"\
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
#--------------------------------------------------------------------------
#>>>>>>设置EB-MMU,测试用例8广播写检查权限
genPkt.clean()
@@ -512,9 +569,11 @@ def tc8():
data[1] = 0x00
genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data)
gen_file_def = "ebmmu_tc8_settings"
#gen_file_def = "ebmmu_tc8_settings"
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)
@@ -531,13 +590,13 @@ def tc8():
data = [((i * 2) & 0xff) for i in range(0x80)]
genPkt.addSubPkt(0x1000, 2, addr_off, 0x1, 0x80, data)
gen_file_def = "ebmmu_tc8_write"
gen_file_def_ap = "ebmmu_tc8_rw"
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)
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+genIFRwDataCode(1, 0x300, False, 0x20)
+genIFRwDataCode(2, 0x300, False, 0x20)
+genIFRwDataCode(3, 0x300, False, 0x20)
@@ -546,9 +605,9 @@ def tc8():
+genSlvSMReadData(2, 0, 0x80)
+genSlvSMReadData(3, 0, 0x80)
+genSlvSMReadData(4, 0, 0x80)
)
+genTcEndFrameCode(gen_file_def))
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
return gen_file_def
@@ -556,6 +615,12 @@ def tc8():
def tc9():
genPkt = GenPkt()
gen_file_def = "ebmmu_tc09"
sm_idx = 0
tc_des = "每个从站测试1个ebmmu[2]共4个mmu从0x2000_0000位置向后对齐每个设备占12个字节。\\n" \
+ "使用1包数据将4个设备的数据一次性读上来。\\n"\
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
#--------------------------------------------------------------------------
#>>>>>>设置EB-MMU,测试用例9广播写检查权限
genPkt.clean()
@@ -575,9 +640,10 @@ def tc9():
data[1] = 0x01
genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data)
gen_file_def = "ebmmu_tc9_settings"
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)
@@ -595,13 +661,13 @@ def tc9():
data = [((i + 5) & 0xff) for i in range(0x100)]
genPkt.addSubPkt(0x1000, 2, addr_off, 0x1, 0x100, data)
gen_file_def = "ebmmu_tc9_write"
gen_file_def_ap = "ebmmu_tc9_rw"
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)
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+genIFRwDataCode(1, 0x300, False, 0x20)
+genIFRwDataCode(2, 0x300, False, 0x20)
+genIFRwDataCode(3, 0x300, False, 0x20)
@@ -610,9 +676,10 @@ def tc9():
+genSlvSMReadData(2, 0, 0x100)
+genSlvSMReadData(3, 0, 0x100)
+genSlvSMReadData(4, 0, 0x100)
+genTcEndFrameCode(gen_file_def)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
return gen_file_def
@@ -620,6 +687,12 @@ def tc9():
def tc10():
genPkt = GenPkt()
gen_file_def = "ebmmu_tc10"
sm_idx = 0
tc_des = "每个从站测试1个ebmmu[2]共4个mmu从0x2000_0000位置向后对齐每个设备占12个字节。\\n" \
+ "使用1包数据将4个设备的数据一次性读上来。\\n"\
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
#--------------------------------------------------------------------------
#>>>>>>设置EB-MMU,测试用例10广播写检查权限
genPkt.clean()
@@ -639,9 +712,10 @@ def tc10():
data[1] = 0x01
genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data)
gen_file_def = "ebmmu_tc10_settings"
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)
@@ -659,16 +733,16 @@ def tc10():
data = [((i + 0x80) & 0xff) for i in range(0x100)]
genPkt.addSubPkt(0x1000, 2, addr_off, 0x1, 0x100, data)
gen_file_def = "ebmmu_tc10_write"
gen_file_def_ap = "ebmmu_tc10_rw01"
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)
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
genPkt.clean()
genPkt.setPktType(0)
@@ -679,13 +753,13 @@ def tc10():
data = [((i + 0x40) & 0xff) for i in range(0x100)]
genPkt.addSubPkt(0x1000, 2, addr_off, 0x1, 0x100, data)
gen_file_def = "ebmmu_tc10b_write"
gen_file_def_ap = "ebmmu_tc10_rw02"
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)
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+genIFRwDataCode(1, 0x300, False, 0x20)
+genIFRwDataCode(2, 0x300, False, 0x20)
+genIFRwDataCode(3, 0x300, False, 0x20)
@@ -702,9 +776,9 @@ def tc10():
+genSlvSMReadData(4, 0, 0x100)
+genIFRwDataCode(4, 0x300, False, 0x20)
+genSlvSMReadData(4, 0, 0x100)
)
+genTcEndFrameCode(gen_file_def))
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
return gen_file_def
@@ -712,6 +786,12 @@ def tc10():
def tc11():
genPkt = GenPkt()
gen_file_def = "ebmmu_tc11"
sm_idx = 0
tc_des = "每个从站测试1个ebmmu[2]共4个mmu从0x2000_0000位置向后对齐每个设备占12个字节。\\n" \
+ "使用1包数据将4个设备的数据一次性读上来。\\n"\
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
#--------------------------------------------------------------------------
#>>>>>>设置EB-MMU,测试用例11检查权限
genPkt.clean()
@@ -762,9 +842,10 @@ def tc11():
data[1] = 0x01
genPkt.addSubPkt(0x0, 0, 0x306, 0xe, 2, data)
gen_file_def = "ebmmu_tc11_settings"
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)
@@ -801,22 +882,22 @@ def tc11():
#subPkt参数索引、索引类型、地址、命令、长度、数据
data = [0, ] * 0x100 * 4
gen_file_def = "ebmmu_tc11_write"
gen_file_def_ap = "ebmmu_tc11_rw01"
sm_idx = 0
genPkt.addSubPkt(0x1000, 2, 0, 0x0, 0x100 * 4, data)
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)
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+genIFRwDataCode(1, 0x300, False, 0x20)
+genIFRwDataCode(2, 0x300, False, 0x20)
+genIFRwDataCode(3, 0x300, False, 0x20)
+genIFRwDataCode(4, 0x300, False, 0x20)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
genPkt.clean()
genPkt.setPktType(0)
@@ -824,28 +905,36 @@ def tc11():
#subPkt参数索引、索引类型、地址、命令、长度、数据
data = [0x0,] * 0x100 * 4
gen_file_def = "ebmmu_tc11b_write"
gen_file_def_ap = "ebmmu_tc11_rw02"
sm_idx = 0
genPkt.addSubPkt(0x1000, 2, 0, 0x0, 0x100 * 4, data)
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)
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+genIFRwDataCode(1, 0x300, False, 0x20)
+genIFRwDataCode(2, 0x300, False, 0x20)
+genIFRwDataCode(3, 0x300, False, 0x20)
+genIFRwDataCode(4, 0x300, False, 0x20)
+genTcEndFrameCode(gen_file_def)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
return gen_file_def
def tc12():
genPkt = GenPkt()
gen_file_def = "ebmmu_tc12"
sm_idx = 0
tc_des = "每个从站测试1个ebmmu[2]共4个mmu从0x2000_0000位置向后对齐每个设备占12个字节。\\n" \
+ "使用1包数据将4个设备的数据一次性读上来。\\n"\
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
#--------------------------------------------------------------------------
#>>>>>>设置EB-MMU,测试用例12检查权限
genPkt.clean()
@@ -977,10 +1066,10 @@ def tc12():
data[1] = (sm_size >> 8) & 0xff
genPkt.addSubPkt(0x0, 0, 0x31e, 0xe, 2, data)
gen_file_def = "ebmmu_tc12_settings"
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)
@@ -1026,22 +1115,23 @@ def tc12():
#subPkt参数索引、索引类型、地址、命令、长度、数据
data = [0, ] * sm_size * 16
gen_file_def = "ebmmu_tc12_write"
gen_file_def_ap = "ebmmu_tc12_rw"
sm_idx = 0
genPkt.addSubPkt(0x1000, 2, 0, 0x0, sm_size * 16, data)
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)
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+genIFRwDataCode(1, 0x300, False, 0x20)
+genIFRwDataCode(2, 0x300, False, 0x20)
+genIFRwDataCode(3, 0x300, False, 0x20)
+genIFRwDataCode(4, 0x300, False, 0x20)
+genTcEndFrameCode(gen_file_def)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
return gen_file_def
@@ -1049,6 +1139,12 @@ def tc12():
def tc13():
genPkt = GenPkt()
gen_file_def = "ebmmu_tc13"
sm_idx = 0
tc_des = "每个从站测试1个ebmmu[2]共4个mmu从0x2000_0000位置向后对齐每个设备占12个字节。\\n" \
+ "使用1包数据将4个设备的数据一次性读上来。\\n"\
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
#--------------------------------------------------------------------------
#>>>>>>设置EB-MMU,测试用例13检查权限
genPkt.clean()
@@ -1184,9 +1280,8 @@ def tc13():
data[1] = (sm_size >> 8) & 0xff
genPkt.addSubPkt(0x0, 0, 0x31e, 0xe, 2, data)
gen_file_def = "ebmmu_tc13_settings"
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)
@@ -1233,28 +1328,37 @@ def tc13():
#subPkt参数索引、索引类型、地址、命令、长度、数据
data = [0, ] * sm_size * 16
gen_file_def = "ebmmu_tc13_write"
gen_file_def_ap = "ebmmu_tc13_rw"
sm_idx = 0
genPkt.addSubPkt(0x1000, 2, 0, 0x0, sm_size * 16, data)
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)
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+genIFRwDataCode(1, 0x300, False, 0x20)
+genIFRwDataCode(2, 0x300, False, 0x20)
+genIFRwDataCode(3, 0x300, False, 0x20)
+genIFRwDataCode(4, 0x300, False, 0x20)
+genTcEndFrameCode(gen_file_def)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
return gen_file_def
def tc14():
genPkt = GenPkt()
gen_file_def = "ebmmu_tc14"
sm_idx = 0
tc_des = "每个从站测试1个ebmmu[2]共4个mmu从0x2000_0000位置向后对齐每个设备占12个字节。\\n" \
+ "使用1包数据将4个设备的数据一次性读上来。\\n"\
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
#--------------------------------------------------------------------------
#>>>>>>设置EB-MMU,测试用例14检查权限
genPkt.clean()
@@ -1370,10 +1474,10 @@ def tc14():
data[1] = (sm_size >> 8) & 0xff
genPkt.addSubPkt(0x0, 0, 0x31a, 0xe, 2, data)
gen_file_def = "ebmmu_tc14_settings"
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)
@@ -1388,15 +1492,15 @@ def tc14():
#subPkt参数索引、索引类型、地址、命令、长度、数据
data = [(i & 0xff) for i in range(sm_size * 16)]
gen_file_def = "ebmmu_tc14_write"
gen_file_def_ap = "ebmmu_tc14_rw"
sm_idx = 0
genPkt.addSubPkt(0x1000, 2, 0, 0x1, sm_size * 16, data)
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)
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+genIFRwDataCode(1, 0x300, False, 0x20)
+genIFRwDataCode(2, 0x300, False, 0x20)
+genIFRwDataCode(3, 0x300, False, 0x20)
@@ -1421,9 +1525,10 @@ def tc14():
+genIFRwDataCode(2, 0x300, False, 0x20)
+genIFRwDataCode(3, 0x300, False, 0x20)
+genIFRwDataCode(4, 0x300, False, 0x20)
+genTcEndFrameCode(gen_file_def)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
return gen_file_def