From c1067f48e14353b6df9404a789affb59a6d41833 Mon Sep 17 00:00:00 2001 From: bacon Date: Fri, 23 May 2025 12:56:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=8F=98=E8=B0=83=E8=AF=95=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E7=9A=84=E6=A8=A1=E5=BC=8F,=E8=AE=B2=E5=8C=85?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E5=AD=90=E5=8C=85=E6=8C=89=E7=85=A7=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E5=88=86=E5=BC=80,=E4=BE=BF=E4=BA=8E=E8=B0=83?= =?UTF-8?q?=E8=AF=95=E6=9F=A5=E7=9C=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 98 ++++++++++++++++++++++++++++++-------- 1 file changed, 78 insertions(+), 20 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 8de3a0e..60cb3c9 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -25,6 +25,8 @@ module ShinTopSpiTb( integer spidata_file; integer c_line; + integer _pos; + integer _len; wire [4:0] isSoftReset; @@ -395,23 +397,73 @@ task spi_trans( input [15:0] saddress, input [7:0] scmd, input [12:0] slength,in $time/1000, ((sidx >= 5)? ((sidx >= 10)? (sidx - 10):(sidx - 5)):sidx), txBuf[1], txBuf[0], ((txBuf[2] == 0)? "Write":" Read"), slength); - for (integer i=0; i>>嗅探"); //设置SM1在写入0x3地址触发enq - //txBuf[0+3] = 8'h04; - //txBuf[1+3] = 8'h00; + `DEF_detect_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)) ); //无子报文 - //`include "detect_pkt.vh" + $fdisplay(spidata_file, "<<发包:"); `DEF_detect_pkt(txBuf); spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_detect_pkt_len), (`IF_IDX(0)) ); //写入SM1 @@ -685,14 +738,12 @@ initial begin $fdisplay(spidata_file, "--->>>嗅探"); //设置SM1在写入0x3地址触发enq - //txBuf[0+3] = 8'h04; - //txBuf[1+3] = 8'h00; `DEF_detect_pkt_sm(txBuf); spi_trans( (`MST_TX1_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) ); spi_trans( (`MST_RX1_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) ); //无子报文MST_TX1_LEN_ADDR - //`include "detect_pkt.vh" + $fdisplay(spidata_file, "<<发包:"); `DEF_detect_pkt(txBuf); spi_trans( (`MST_TX1_ADDR), (`SPI_WRITE), (`DEF_detect_pkt_len), (`IF_IDX(0)) ); //写入SM1 @@ -736,6 +787,7 @@ initial begin spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) ); spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) ); + $fdisplay(spidata_file, "<<发包:"); `DEF_seq_0_pkt(txBuf); spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_seq_0_pkt_len), (`IF_IDX(0)) ); //写入SM1 //发布请求 @@ -756,6 +808,7 @@ initial begin spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) ); spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) ); + $fdisplay(spidata_file, "<<发包:"); `DEF_seq_1_pkt(txBuf); spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_seq_1_pkt_len), (`IF_IDX(0)) ); //写入SM1 //发布请求 @@ -817,6 +870,7 @@ initial begin `include "seq_2_pkt.vh" + $fdisplay(spidata_file, "<<发包:"); `DEF_seq_2_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)) ); @@ -842,6 +896,7 @@ initial begin spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) ); spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) ); + $fdisplay(spidata_file, "<<发包:"); `DEF_bc_r_pkt(txBuf); spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_bc_r_pkt_len), (`IF_IDX(0)) ); //写入SM1 //发布请求 @@ -864,6 +919,7 @@ initial begin spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) ); spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) ); + $fdisplay(spidata_file, "<<发包:"); `DEF_bc_w_pkt(txBuf); spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_bc_w_pkt_len), (`IF_IDX(0)) ); //写入SM1 //发布请求 @@ -897,6 +953,7 @@ initial begin spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) ); spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) ); + $fdisplay(spidata_file, "<<发包:"); `DEF_sync_pkt(txBuf); spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_sync_pkt_len), (`IF_IDX(0)) ); //写入SM1 @@ -924,6 +981,7 @@ initial begin spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) ); spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) ); + $fdisplay(spidata_file, "<<发包:"); `DEF_sync_sig_pkt(txBuf); //spi_trans( (16'h1000), (`SPI_WRITE), (8'h94), (`IF_IDX(0)) ); //写入SM1 spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_sync_sig_pkt_len), (`IF_IDX(0)) ); //写入SM1