增加新的ebmmu写测试用例
This commit is contained in:
@@ -27,6 +27,7 @@
|
|||||||
//`define ENABLE_EBMMU_TC4_TEST
|
//`define ENABLE_EBMMU_TC4_TEST
|
||||||
//`define ENABLE_EBMMU_TC5_TEST
|
//`define ENABLE_EBMMU_TC5_TEST
|
||||||
`define ENABLE_EBMMU_TC6_TEST
|
`define ENABLE_EBMMU_TC6_TEST
|
||||||
|
`define ENABLE_EBMMU_TC7_TEST
|
||||||
|
|
||||||
module ShinTopSpiTb(
|
module ShinTopSpiTb(
|
||||||
|
|
||||||
@@ -1413,6 +1414,22 @@ initial begin
|
|||||||
end
|
end
|
||||||
`endif
|
`endif
|
||||||
|
|
||||||
|
`ifdef ENABLE_EBMMU_TC7_TEST
|
||||||
|
begin:EBMMU_TC7_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
|
||||||
|
`endif
|
||||||
|
|
||||||
#1000000
|
#1000000
|
||||||
$display("Testcase Finished! Time Out !!!");
|
$display("Testcase Finished! Time Out !!!");
|
||||||
$fclose(spidata_file);
|
$fclose(spidata_file);
|
||||||
|
|||||||
@@ -1527,5 +1527,140 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
||||||
|
|
||||||
|
#--------------------------------------------------------------------------
|
||||||
|
#-------------------------------------------------------------------------
|
||||||
|
#>>>>>>设置EB-MMU,测试用例7
|
||||||
|
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] = 0x03
|
||||||
|
data[9] = 0x00
|
||||||
|
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] = 0x00
|
||||||
|
genPkt.addSubPkt(0x4, 0, 0x0228, 0x1, 10, data)
|
||||||
|
|
||||||
|
data = [0,] * 2
|
||||||
|
data[0] = 0x80
|
||||||
|
data[1] = 0x00
|
||||||
|
genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data)
|
||||||
|
|
||||||
|
gen_file_def = "ebmmu_tc7_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):
|
||||||
|
if i < 0x80:
|
||||||
|
data[i] = i & 0xff
|
||||||
|
elif i < 0x80+0x80:
|
||||||
|
data[i] = (i + 2 - 0x80) & 0xff
|
||||||
|
elif i < 0x80+0x80+0x80:
|
||||||
|
data[i] = (i + 3 - 0x80 - 0x80) & 0xff
|
||||||
|
else:
|
||||||
|
data[i] = (i + 5 - 0x80 - 0x80 - 0x80) & 0xff
|
||||||
|
|
||||||
|
genPkt.addSubPkt(0x1000, 2, addr_off, 0x1, 0x80 * 4, data)
|
||||||
|
|
||||||
|
gen_file_def = "ebmmu_tc7_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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user