增加ebmmu test 6,写入的测试用例
This commit is contained in:
@@ -25,7 +25,8 @@
|
|||||||
//`define ENABLE_EBMMU_TC2_TEST
|
//`define ENABLE_EBMMU_TC2_TEST
|
||||||
//`define ENABLE_EBMMU_TC3_TEST
|
//`define ENABLE_EBMMU_TC3_TEST
|
||||||
//`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
|
||||||
|
|
||||||
module ShinTopSpiTb(
|
module ShinTopSpiTb(
|
||||||
|
|
||||||
@@ -1382,7 +1383,7 @@ initial begin
|
|||||||
begin:EBMMU_TC5_TEST
|
begin:EBMMU_TC5_TEST
|
||||||
_t_start = $realtime;
|
_t_start = $realtime;
|
||||||
#1000
|
#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);
|
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
|
||||||
|
|
||||||
`include "ebmmu_tc4_settings.vh"
|
`include "ebmmu_tc4_settings.vh"
|
||||||
@@ -1396,6 +1397,22 @@ initial begin
|
|||||||
end
|
end
|
||||||
`endif
|
`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
|
#1000000
|
||||||
$display("Testcase Finished! Time Out !!!");
|
$display("Testcase Finished! Time Out !!!");
|
||||||
$fclose(spidata_file);
|
$fclose(spidata_file);
|
||||||
|
|||||||
@@ -1398,3 +1398,127 @@ 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,测试用例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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user