增加新的测试用例,操作SM

This commit is contained in:
2025-06-20 15:08:48 +08:00
parent e10438c847
commit a4594f77de
2 changed files with 166 additions and 3 deletions

View File

@@ -21,9 +21,10 @@
//`define ENABLE_SYNC_SIG1_TEST
//`define ENABLE_RESET_TEST
`define ENABLE_EBMMU_TC1_TEST
`define ENABLE_EBMMU_TC2_TEST
`define ENABLE_EBMMU_TC3_TEST
//`define ENABLE_EBMMU_TC1_TEST
//`define ENABLE_EBMMU_TC2_TEST
//`define ENABLE_EBMMU_TC3_TEST
`define ENABLE_EBMMU_TC4_TEST
module ShinTopSpiTb(
@@ -1355,6 +1356,59 @@ initial begin
end
`endif
`ifdef ENABLE_EBMMU_TC4_TEST
begin:EBMMU_TC4_TEST
_t_start = $realtime;
#1000
$fdisplay(spidata_file, "\n\n测试用例 ebmmu 测试用4");
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
txBuf[3] = 8'h80;
txBuf[4] = 8'h00;
spi_trans((16'h0306), (`SPI_WRITE), (2), (`IF_IDX(1)) );//dev1_sm1
txBuf[3] = 8'h98;
txBuf[4] = 8'h00;
spi_trans((16'h030e), (`SPI_WRITE), (2), (`IF_IDX(2)) );//dev2_sm3
txBuf[3] = 8'h81;
txBuf[4] = 8'h00;
spi_trans((16'h0316), (`SPI_WRITE), (2), (`IF_IDX(3)) );//dev2_sm3
txBuf[3] = 8'h8c;
txBuf[4] = 8'h00;
spi_trans((16'h031e), (`SPI_WRITE), (2), (`IF_IDX(4)) );//dev2_sm3
for (integer i=0; i < 128; i++) begin
txBuf[i + 3] = i + 1;
end
spi_trans( (16'h1000), (`SPI_WRITE), (128), (`IF_IDX(1)) );
for (integer i=0; i < 152; i++) begin
txBuf[i + 3] = i + 2;
end
spi_trans( (16'h2000), (`SPI_WRITE), (152), (`IF_IDX(2)) );
for (integer i=0; i < 129; i++) begin
txBuf[i + 3] = i + 3;
end
spi_trans( (16'h3000), (`SPI_WRITE), (129), (`IF_IDX(3)) );
for (integer i=0; i < 140; i++) begin
txBuf[i + 3] = i + 4;
end
spi_trans( (16'h4000), (`SPI_WRITE), (140), (`IF_IDX(4)) );
`include "ebmmu_tc4_settings.vh"
`include "ebmmu_tc4_read.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

@@ -1215,3 +1215,112 @@ if __name__ == '__main__':
+genReadAckPktCode(gen_file_def, sm_idx))
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
#-------------------------------------------------------------------------
#>>>>>>设置EB-MMU
genPkt.clean()
genPkt.setPktType(0)
#subPkt参数索引、索引类型、地址、命令、长度、数据
data = [0,] * 30
data[0] = 0x58 #0x1e + 0xa
data[1] = 0x00
data[2] = 0x00
data[3] = 0x10
data[4] = 0x00
data[5] = 0x10
data[6] = 0x80
data[7] = 0x00
data[8] = 0x01
data[9] = 0x01
genPkt.addSubPkt(0x1, 0, 0x021e, 0x1, 10, data)
data = [0,] * 30
data[0] = 0x58 + 0x80
data[1] = 0x00
data[2] = 0x00
data[3] = 0x10
data[4] = 0x00
data[5] = 0x20
data[6] = 0x98
data[7] = 0x00
data[8] = 0x01
data[9] = 0x01
genPkt.addSubPkt(0x2, 0, 0x021e, 0x1, 10, data)
data = [0,] * 30
data[0] = 0x58 + 0x80 + 0x98
data[1] = 0x00
data[2] = 0x00
data[3] = 0x10
data[4] = 0x00
data[5] = 0x30
data[6] = 0x81
data[7] = 0x00
data[8] = 0x01
data[9] = 0x01
genPkt.addSubPkt(0x3, 0, 0x021e, 0x1, 10, data)
data = [0,] * 30
data[0] = 0x58 + 0x80 + 0x98 + 0x81
data[1] = 0x00
data[2] = 0x00
data[3] = 0x10
data[4] = 0x00
data[5] = 0x40
data[6] = 0x8c
data[7] = 0x00
data[8] = 0x01
data[9] = 0x01
genPkt.addSubPkt(0x4, 0, 0x021e, 0x1, 10, data)
gen_file_def = "ebmmu_tc4_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,] * 550
genPkt.addSubPkt(0x1000, 2, 0x0058, 0x0, 0x80+0x98+0x81+0x8c, data)
gen_file_def = "ebmmu_tc4_read"
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)