diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 73191ff..fab86c6 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -528,11 +528,8 @@ initial begin end - - - // 顺序索引 - #50000 + //#50000 #50000 #50000 $fdisplay(spidata_file, "--->>>嗅探后,检查链路状态寄存器"); @@ -605,8 +602,6 @@ initial begin //读写 #50000 #50000 - #50000 - #50000 $fdisplay(spidata_file, "--->>>设置顺序地址后,检查顺序地址"); //spi_trans( (16'h0010), (`SPI_READ), (5), (`IF_IDX(0)) ); spi_trans( (16'h0000), (`SPI_READ), (16), (`IF_IDX(1)) ); @@ -614,7 +609,55 @@ initial begin spi_trans( (16'h0000), (`SPI_READ), (16), (`IF_IDX(3)) ); spi_trans( (16'h0000), (`SPI_READ), (16), (`IF_IDX(4)) ); - $fdisplay(spidata_file, "\n\n测试用例5-交换数据"); + + //嗅探 + #10000 + $fdisplay(spidata_file, "\n\n测试用例5-发送嗅探包,需要在波形文件里检查"); + begin + $fdisplay(spidata_file, "--->>>嗅探前,检查链路状态寄存器"); + //spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(0)) ); + spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(1)) ); + spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(2)) ); + spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(3)) ); + spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(4)) ); + + $fdisplay(spidata_file, "--->>>嗅探"); + //设置SM1在写入0x3地址触发enq + txBuf[0+3] = 8'h03; + txBuf[1+3] = 8'h00; + spi_trans( (16'h0202), (`SPI_WRITE), (2), (`IF_IDX(0)) ); + + //无子报文 + `include "detect_pkt.vh" + spi_trans( (16'h1000), (`SPI_WRITE), (4), (`IF_IDX(0)) ); //写入SM1 + + //发布请求 + txBuf[0+3] = 8'h04; + txBuf[1+3] = 8'h00; + spi_trans( (16'h21), (`SPI_WRITE), (2), (`IF_IDX(0)) );//写入长度 + + txBuf[0+3] = 8'h01; + spi_trans( (16'h20), (`SPI_WRITE), (1), (`IF_IDX(0)) );//发送SM0 接收SM0, 请求发送 + @(posedge isResp) #5 begin end + + end + + + // 顺序索引 + //#50000 + #50000 + #50000 + $fdisplay(spidata_file, "--->>>嗅探后,检查链路状态寄存器"); + //spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(0)) ); + spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(1)) ); + spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(2)) ); + spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(3)) ); + spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(4)) ); + + + #50000 + #50000 + $fdisplay(spidata_file, "\n\n测试用例6-交换数据"); $display("read&write @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp); begin @@ -625,9 +668,6 @@ initial begin `include "seq_pkt.vh" spi_trans( (16'h1000), (`SPI_WRITE), (516), (`IF_IDX(0)) ); //写入SM1 - - - //发布请求 txBuf[0+3] = 8'h04; txBuf[1+3] = 8'h02;