From 7de76cb0589c1be06518f8f29ff331602a3c4ca8 Mon Sep 17 00:00:00 2001 From: bacon Date: Thu, 31 Jul 2025 15:37:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86ebmmu=E7=B3=BB=E5=88=97=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B=E4=BB=8Ev=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=B8=AD=E5=BD=BB=E5=BA=95=E7=94=B1python=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 318 -------------------------------- tb/shinTest/gen_pkt.py | 28 +-- tb/shinTest/testcase/ebmmu.py | 333 ++++++++++++++++++++++------------ 3 files changed, 233 insertions(+), 446 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 6508444..c830ba7 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -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 diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index e7043b5..45fc244 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -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() diff --git a/tb/shinTest/testcase/ebmmu.py b/tb/shinTest/testcase/ebmmu.py index d8850d4..f0979a4 100644 --- a/tb/shinTest/testcase/ebmmu.py +++ b/tb/shinTest/testcase/ebmmu.py @@ -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