调整同步的测试用例
This commit is contained in:
@@ -11,6 +11,8 @@
|
||||
//`define ENABLE_EXCHG_DATA_SEQ2_TEST
|
||||
//`define ENABLE_EXCHG_DATA_BC_TEST
|
||||
`define ENABLE_SYNC_TEST
|
||||
`define ENABLE_SYNC_SIG0_TEST
|
||||
`define ENABLE_SYNC_SIG1_TEST
|
||||
|
||||
module ShinTopSpiTb(
|
||||
|
||||
@@ -950,7 +952,7 @@ initial begin
|
||||
---------------------------------------------------------------------------------------------------------*/
|
||||
// 同步
|
||||
|
||||
begin:SYNC_TESTCASE
|
||||
begin:SYNC_TESTCASE0
|
||||
_t_start = $time;
|
||||
#1000
|
||||
|
||||
@@ -986,40 +988,16 @@ initial begin
|
||||
|
||||
spi_trans( (16'h25), (`SPI_WRITE), (2), (`IF_IDX(0)) ); //清除替换时间戳替换地址寄存器
|
||||
|
||||
_t_end = $time;
|
||||
$fdisplay(spidata_file, "该测试用例运行时间:%2tns", (_t_end - _t_start) / 1000);
|
||||
end
|
||||
`endif
|
||||
|
||||
`ifdef ENABLE_SYNC_SIG0_TEST
|
||||
begin:SYNC_TESTCASE1
|
||||
_t_start = $time;
|
||||
#1000
|
||||
`include "sync_sig_pkt.vh"
|
||||
`DEF_sync_sig_pkt_sm(txBuf);
|
||||
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||
|
||||
spi_trans( (16'h0100), (`SPI_READ), (8), (`IF_IDX(0)));
|
||||
_temp_time = rxBuf[3] + (rxBuf[4] << 8) + (rxBuf[5] << 16) + (rxBuf[6] << 24) +
|
||||
(rxBuf[7] << 32) + (rxBuf[8] << 40) + (rxBuf[9] << 48) + (rxBuf[10] << 56);
|
||||
/*
|
||||
$fdisplay(spidata_file, "读取时间:%d\n", _temp_time);
|
||||
*/
|
||||
_temp_time = _temp_time + 32'h3000;
|
||||
/*
|
||||
$fdisplay(spidata_file, "读取时间:%2h %2h %2h\n",
|
||||
(_temp_time & 8'hff),
|
||||
((_temp_time >> 8) & 8'hff),
|
||||
((_temp_time >> 16) & 8'hff));
|
||||
*/
|
||||
|
||||
$fdisplay(spidata_file, "<<发包:");
|
||||
`DEF_sync_sig_pkt(txBuf);
|
||||
|
||||
txBuf[16 + 3 + 12] = (_temp_time & 8'hff);
|
||||
txBuf[17 + 3 + 12] = (_temp_time >> 8) & 8'hff;
|
||||
txBuf[18 + 3 + 12] = (_temp_time >> 16) & 8'hff;
|
||||
|
||||
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_sync_sig_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
||||
|
||||
//发布请求
|
||||
txBuf[0+3] = `MST_TX_TRG;
|
||||
spi_trans( (16'h20), (`SPI_WRITE), (1), (`IF_IDX(0)) );//发送SM0 接收SM0, 请求发送
|
||||
@(posedge isResp) #5 begin end
|
||||
$fdisplay(spidata_file, ">>回包:");
|
||||
spi_trans( (`MST_RX_ADDR), (`SPI_READ), (`DEF_sync_sig_pkt_len), (`IF_IDX(0)) );//读一下SM0的切换地址,将fifo弹出
|
||||
|
||||
//spi_trans( (16'h0100), (`SPI_READ), (32), (`IF_IDX(0)) );
|
||||
spi_trans( (16'h0100), (`SPI_READ), (16'h48), (`IF_IDX(1)) );
|
||||
@@ -1027,8 +1005,8 @@ initial begin
|
||||
spi_trans( (16'h0100), (`SPI_READ), (16'h48), (`IF_IDX(3)) );
|
||||
spi_trans( (16'h0100), (`SPI_READ), (16'h48), (`IF_IDX(4)) );
|
||||
|
||||
/*
|
||||
#10000
|
||||
|
||||
#100000
|
||||
//清脉冲
|
||||
txBuf[0+3] = 0; //负载0x122 sync0脉冲宽度
|
||||
txBuf[1+3] = 0; //负载0x123
|
||||
@@ -1042,11 +1020,14 @@ initial begin
|
||||
spi_trans( (16'h0122), (`SPI_WRITE), (8), (`IF_IDX(2)) ); //slv2
|
||||
spi_trans( (16'h0122), (`SPI_WRITE), (8), (`IF_IDX(3)) ); //slv2
|
||||
spi_trans( (16'h0122), (`SPI_WRITE), (8), (`IF_IDX(4)) ); //slv2
|
||||
*/
|
||||
|
||||
#100000
|
||||
_t_end = $time;
|
||||
$fdisplay(spidata_file, "该测试用例运行时间:%2tns", (_t_end - _t_start) / 1000);
|
||||
end
|
||||
`endif
|
||||
|
||||
`ifdef ENABLE_SYNC_SIG1_TEST
|
||||
begin:SYNC_TESTCASE2
|
||||
_t_start = $time;
|
||||
#1000
|
||||
@@ -1075,7 +1056,7 @@ initial begin
|
||||
spi_trans( (16'h40), (`SPI_WRITE), (1), (`IF_IDX(1)) );//复位从站2
|
||||
*/
|
||||
|
||||
#2000000
|
||||
#1000000
|
||||
$display("Testcase Finished! Time Out !!!");
|
||||
$fclose(spidata_file);
|
||||
$stop;
|
||||
|
||||
Reference in New Issue
Block a user