增加ebmmu test 6,写入的测试用例

This commit is contained in:
2025-06-26 19:02:38 +08:00
parent ca434eef06
commit ba153dec2d
2 changed files with 143 additions and 2 deletions

View File

@@ -25,7 +25,8 @@
//`define ENABLE_EBMMU_TC2_TEST
//`define ENABLE_EBMMU_TC3_TEST
//`define ENABLE_EBMMU_TC4_TEST
`define ENABLE_EBMMU_TC5_TEST
//`define ENABLE_EBMMU_TC5_TEST
`define ENABLE_EBMMU_TC6_TEST
module ShinTopSpiTb(
@@ -1382,7 +1383,7 @@ initial begin
begin:EBMMU_TC5_TEST
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例 ebmmu 测试用4");
$fdisplay(spidata_file, "\n\n测试用例 ebmmu 测试用5");
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
`include "ebmmu_tc4_settings.vh"
@@ -1396,6 +1397,22 @@ initial begin
end
`endif
`ifdef ENABLE_EBMMU_TC6_TEST
begin:EBMMU_TC6_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
`endif
#1000000
$display("Testcase Finished! Time Out !!!");
$fclose(spidata_file);

View File

@@ -1398,3 +1398,127 @@ if __name__ == '__main__':
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
#--------------------------------------------------------------------------
#-------------------------------------------------------------------------
#>>>>>>设置EB-MMU,测试用例6
genPkt.clean()
genPkt.setPktType(0)
addr_off = 0x58 + 0x80 + 0x98 + 0x81 + 0x8c
#subPkt参数索引、索引类型、地址、命令、长度、数据
data = [0,] * 30
addr = addr_off + 0x0
#print(hex(addr))
data[0] = (addr & 0xff)
data[1] = (addr >> 8) & 0xff
data[2] = 0x00
data[3] = 0x10
data[4] = 0x00
data[5] = 0x08
data[6] = 0x80
data[7] = 0x00
data[8] = 0x03
data[9] = 0x01
genPkt.addSubPkt(0x1, 0, 0x0228, 0x1, 10, data)
data = [0,] * 30
addr = addr + 0x80
#print(hex(addr))
data[0] = (addr) & 0xff
data[1] = (addr >> 8) & 0xff
data[2] = 0x00
data[3] = 0x10
data[4] = 0x00
data[5] = 0x08
data[6] = 0x80
data[7] = 0x00
data[8] = 0x02
data[9] = 0x01
genPkt.addSubPkt(0x2, 0, 0x0228, 0x1, 10, data)
data = [0,] * 30
addr = addr + 0x80
#print(hex(addr))
data[0] = (addr) & 0xff
data[1] = (addr >> 8) & 0xff
data[2] = 0x00
data[3] = 0x10
data[4] = 0x00
data[5] = 0x08
data[6] = 0x80
data[7] = 0x00
data[8] = 0x03
data[9] = 0x01
genPkt.addSubPkt(0x3, 0, 0x0228, 0x1, 10, data)
data = [0,] * 30
addr = addr + 0x80
#print(hex(addr))
data[0] = (addr) & 0xff
data[1] = (addr >> 8) & 0xff
data[2] = 0x00
data[3] = 0x10
data[4] = 0x00
data[5] = 0x08
data[6] = 0x80
data[7] = 0x00
data[8] = 0x03
data[9] = 0x01
genPkt.addSubPkt(0x4, 0, 0x0228, 0x1, 10, data)
gen_file_def = "ebmmu_tc6_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设置
genPkt.clean()
genPkt.setPktType(0)
#subPkt参数索引、索引类型、地址、命令、长度、数据
data = [0,] * 0x80 * 4
for i in range(0x80 * 4):
data[i] = i & 0xff
genPkt.addSubPkt(0x1000, 2, addr_off, 0x1, 0x80 * 4, data)
gen_file_def = "ebmmu_tc6_write"
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)
+genSlvSMReadData(1, 0, 0x80)
+genSlvSMReadData(2, 0, 0x80)
+genSlvSMReadData(3, 0, 0x80)
+genSlvSMReadData(4, 0, 0x80))
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)