增加新的测试用例,还有问题,需要Debug,暂时保存

This commit is contained in:
2025-07-29 10:51:43 +08:00
parent 2f589c1244
commit ba2f3fa3f4
2 changed files with 197 additions and 6 deletions

View File

@@ -37,8 +37,8 @@
//`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_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"
@@ -1849,6 +1849,26 @@ initial begin
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_WD1_TEST
begin:WD1_TEST

View File

@@ -1997,7 +1997,7 @@ if __name__ == '__main__':
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
#-------------------------------------------------------------------------
#>>>>>>用EB-MMU方式读取EB-MMU设置, 10
#>>>>>>用EB-MMU方式读取EB-MMU设置, 10两次写入em-mmu
genPkt.clean()
genPkt.setPktType(0)
@@ -2017,9 +2017,6 @@ if __name__ == '__main__':
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
#-------------------------------------------------------------------------
#>>>>>>用EB-MMU方式读取EB-MMU设置, 10
genPkt.clean()
genPkt.setPktType(0)
@@ -2050,6 +2047,180 @@ if __name__ == '__main__':
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
#--------------------------------------------------------------------------
#>>>>>>设置EB-MMU,测试用例11检查权限
genPkt.clean()
genPkt.setPktType(0)
addr = 0x10000000
addr_off = 0x0
#subPkt参数索引、索引类型、地址、命令、长度、数据
data = [0,] * 256
addr = addr + addr_off
#print(hex(addr))
data[0] = addr & 0xff
data[1] = (addr >> 8) & 0xff
data[2] = (addr >> 16) & 0xff
data[3] = (addr >> 24) & 0xff
data[4] = 0x00
data[5] = 0x10
data[6] = 0x00
data[7] = 0x01
data[8] = 0x01
data[9] = 0x01
genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 80, data)
#subPkt参数索引、索引类型、地址、命令、长度、数据
addr_off = addr_off + 0x100
data = [0,] * 256
addr = addr + addr_off
data[0] = addr & 0xff
data[1] = (addr >> 8) & 0xff
data[2] = (addr >> 16) & 0xff
data[3] = (addr >> 24) & 0xff
data[4] = 0x00
data[5] = 0x10
data[6] = 0x00
data[7] = 0x01
data[8] = 0x01
data[9] = 0x01
genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 80, data)
#subPkt参数索引、索引类型、地址、命令、长度、数据
addr_off = addr_off + 0x100
data = [0,] * 256
addr = addr + addr_off
data[0] = addr & 0xff
data[1] = (addr >> 8) & 0xff
data[2] = (addr >> 16) & 0xff
data[3] = (addr >> 24) & 0xff
data[4] = 0x00
data[5] = 0x10
data[6] = 0x00
data[7] = 0x01
data[8] = 0x01
data[9] = 0x01
genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 80, data)
#subPkt参数索引、索引类型、地址、命令、长度、数据
addr_off = addr_off + 0x100
data = [0,] * 256
addr = addr + addr_off
data[0] = addr & 0xff
data[1] = (addr >> 8) & 0xff
data[2] = (addr >> 16) & 0xff
data[3] = (addr >> 24) & 0xff
data[4] = 0x00
data[5] = 0x10
data[6] = 0x00
data[7] = 0x01
data[8] = 0x01
data[9] = 0x01
genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 80, data)
data = [0,] * 2
data[0] = 0x00
data[1] = 0x01
genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data)
gen_file_def = "ebmmu_tc11_settings"
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.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
#-------------------------------------------------------------------------
#>>>>>>用EB-MMU方式读取EB-MMU设置, 11两次写入em-mmu
genPkt.clean()
genPkt.setPktType(0)
data0 = list(range(0x100))
data1 = list(range(0xff, -1, -1))
genPkt.addBeforeExc( genIFRwDataCode(1, 0x1000, True, 0x100, data0)
+ genIFRwDataCode(1, 0x1000, True, 0x100, data1)
+ genIFRwDataCode(2, 0x1000, True, 0x100, data1)
+ genIFRwDataCode(2, 0x1000, True, 0x100, data0)
+ genIFRwDataCode(3, 0x1000, True, 0x100, data0)
+ genIFRwDataCode(3, 0x1000, True, 0x100, data1)
+ genIFRwDataCode(4, 0x1000, True, 0x100, data1)
+ genIFRwDataCode(4, 0x1000, True, 0x100, data0))
#subPkt参数索引、索引类型、地址、命令、长度、数据
data = [0, ] * 0x100 * 4
gen_file_def = "ebmmu_tc11_write"
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)
+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.clean()
genPkt.setPktType(0)
#subPkt参数索引、索引类型、地址、命令、长度、数据
data = [0x0,] * 0x100 * 4
gen_file_def = "ebmmu_tc11b_write"
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)
+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)