增加广播读写的测试用例,但是没有测试通过

This commit is contained in:
2025-05-30 16:06:38 +08:00
parent c27992f773
commit 0ccad7f894
2 changed files with 53 additions and 15 deletions

View File

@@ -5,11 +5,15 @@
`define ENABLE_SET_ADDR_TEST `define ENABLE_SET_ADDR_TEST
//`define ENABLE_SM1_SEND_TEST //`define ENABLE_SM1_SEND_TEST
//`define ENABLE_SMx_SEND_TEST //`define ENABLE_SMx_SEND_TEST
`define ENABLE_EXCHG_DATA_SEQ_TEST
//`define ENABLE_EXCHG_DATA_SEQ0_TEST //`define ENABLE_EXCHG_DATA_SEQ0_TEST
//`define ENABLE_EXCHG_DATA_SEQ1_TEST //`define ENABLE_EXCHG_DATA_SEQ1_TEST
//`define ENABLE_EXCHG_DATA_SEQ2_TEST //`define ENABLE_EXCHG_DATA_SEQ2_TEST
//`define ENABLE_EXCHG_DATA_BC_TEST
`define ENABLE_BC_R_TEST
`define ENABLE_BC_W_TEST
//`define ENABLE_BC_RW_TEST
`define ENABLE_SYNC_TEST `define ENABLE_SYNC_TEST
`define ENABLE_SYNC_SIG0_TEST `define ENABLE_SYNC_SIG0_TEST
`define ENABLE_SYNC_SIG1_TEST `define ENABLE_SYNC_SIG1_TEST
@@ -767,7 +771,6 @@ initial begin
`endif `endif
`ifdef ENABLE_EXCHG_DATA_SEQ_TEST
/*--------------------------------------------------------------------------------------------------------- /*---------------------------------------------------------------------------------------------------------
测试用例 测试用例
1. 交换数据sm0~sm7 1. 交换数据sm0~sm7
@@ -777,7 +780,7 @@ initial begin
4. 寄存器单读//读写寄存器广播读//读写 4. 寄存器单读//读写寄存器广播读//读写
5. 以上交换数据的错误形式 5. 以上交换数据的错误形式
---------------------------------------------------------------------------------------------------------*/ ---------------------------------------------------------------------------------------------------------*/
`ifdef ENABLE_EXCHG_DATA_SEQ0_TEST `ifdef ENABLE_EXCHG_DATA_SEQ0_TEST
begin:EXCHG_DATA_SEQ0_TESTCASE begin:EXCHG_DATA_SEQ0_TESTCASE
_t_start = $time; _t_start = $time;
#1000 #1000
@@ -791,9 +794,9 @@ initial begin
_t_end = $time; _t_end = $time;
$fdisplay(spidata_file, "该测试用例运行时间:%2tns\n", (_t_end - _t_start) / 1000); $fdisplay(spidata_file, "该测试用例运行时间:%2tns\n", (_t_end - _t_start) / 1000);
end end
`endif `endif
`ifdef ENABLE_EXCHG_DATA_SEQ1_TEST `ifdef ENABLE_EXCHG_DATA_SEQ1_TEST
begin:EXCHG_DATA_SEQ1_TESTCASE begin:EXCHG_DATA_SEQ1_TESTCASE
_t_start = $time; _t_start = $time;
#1000 #1000
@@ -809,9 +812,9 @@ initial begin
_t_end = $time; _t_end = $time;
$fdisplay(spidata_file, "该测试用例运行时间:%2tns\n", (_t_end - _t_start) / 1000); $fdisplay(spidata_file, "该测试用例运行时间:%2tns\n", (_t_end - _t_start) / 1000);
end end
`endif `endif
`ifdef ENABLE_EXCHG_DATA_SEQ2_TEST `ifdef ENABLE_EXCHG_DATA_SEQ2_TEST
begin:EXCHG_DATA_SEQ2_TESTCASE begin:EXCHG_DATA_SEQ2_TESTCASE
_t_start = $time; _t_start = $time;
#1000 #1000
@@ -860,10 +863,9 @@ initial begin
_t_end = $time; _t_end = $time;
$fdisplay(spidata_file, "该测试用例运行时间:%2tns\n", (_t_end - _t_start) / 1000); $fdisplay(spidata_file, "该测试用例运行时间:%2tns\n", (_t_end - _t_start) / 1000);
end end
`endif
`endif `endif
`ifdef ENABLE_EXCHG_DATA_BC_TEST `ifdef ENABLE_BC_R_TEST
begin:EXCHG_DATA_BC_R_TESTCASE begin:EXCHG_DATA_BC_R_TESTCASE
_t_start = $time; _t_start = $time;
@@ -877,9 +879,9 @@ initial begin
_t_end = $time; _t_end = $time;
$fdisplay(spidata_file, "该测试用例运行时间:%2tns\n", (_t_end - _t_start) / 1000); $fdisplay(spidata_file, "该测试用例运行时间:%2tns\n", (_t_end - _t_start) / 1000);
end end
`endif
`ifdef ENABLE_BC_W_TEST
begin:EXCHG_DATA_BC_W_TESTCASE begin:EXCHG_DATA_BC_W_TESTCASE
_t_start = $time; _t_start = $time;
#1000 #1000
@@ -898,6 +900,22 @@ initial begin
end end
`endif `endif
`ifdef ENABLE_BC_RW_TEST
begin:EXCHG_DATA_BC_RW_TESTCASE
_t_start = $time;
#1000
$display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp);
$fdisplay(spidata_file, "\n--->>>广播读写");
`include "bc_rw_pkt.vh"
spi_trans( (16'h0180), (`SPI_READ), (128), (`IF_IDX(1)) );
_t_end = $time;
$fdisplay(spidata_file, "该测试用例运行时间:%2tns\n", (_t_end - _t_start) / 1000);
end
`endif
`ifdef ENABLE_SYNC_TEST `ifdef ENABLE_SYNC_TEST
/*--------------------------------------------------------------------------------------------------------- /*---------------------------------------------------------------------------------------------------------

View File

@@ -682,6 +682,26 @@ if __name__ == '__main__':
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
#-------------------------------------------------------------------------
#>>>>>>广播读写
genPkt.clean()
genPkt.setPktType(0)
#subPkt参数索引、索引类型、地址、命令、长度、数据
data = bytearray(b"\0"*100)
for i in range(4):
data[i] = i + 1
genPkt.addSubPkt(random.randint(0, 2048), 0, 0x00c0, 0xf, 4, data)
gen_file_def = " "
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)