From a2f55b6bf6a466e7b8bdee8e660efdbc21d03dcc Mon Sep 17 00:00:00 2001 From: bacon Date: Tue, 20 May 2025 16:03:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E5=89=B2=E6=B5=8B=E8=AF=95=E7=94=A8?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 37 +++++++++++++------------------------ 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index cd65420..6cdae78 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -430,17 +430,12 @@ endtask /*--------------------------------------------------------------------------------------------------------- - 测试用例1 - - ---------------------------------------------------------------------------------------------------------*/ initial begin #1000 $fdisplay(spidata_file, "测试用例1-从IP中读取寄存器,上电后的寄存器期望值为0"); - //spi_trans( (16'h00), (`SPI_READ), (1024), (`IF_IQSPI(0)) ); - //spi_trans( (16'h400), (`SPI_READ), (1024), (`IF_IQSPI(0)) ); spi_trans( (16'h00), (`SPI_READ), (64), (`IF_IQSPI(0)) ); spi_trans( (16'h00), (`SPI_READ), (64), (`IF_IQSPI(1)) ); spi_trans( (16'h00), (`SPI_READ), (64), (`IF_IQSPI(2)) ); @@ -470,10 +465,7 @@ initial begin /*--------------------------------------------------------------------------------------------------------- - 测试用例2 - - ---------------------------------------------------------------------------------------------------------*/ //设置主站从站 $fdisplay(spidata_file, "\n\n测试用例2-设置IP为主站或从站,并读取设置结果,期望:0主,1~4从"); @@ -552,10 +544,7 @@ initial begin spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(4)) ); /*--------------------------------------------------------------------------------------------------------- - -测试用例1 - - +测试用例4 ---------------------------------------------------------------------------------------------------------*/ $fdisplay(spidata_file, "\n\n测试用例4-设置顺序索引"); $display("index @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp); @@ -626,7 +615,9 @@ initial begin spi_trans( (16'h0000), (`SPI_READ), (16), (`IF_IDX(3)) ); spi_trans( (16'h0000), (`SPI_READ), (16), (`IF_IDX(4)) ); - +/*--------------------------------------------------------------------------------------------------------- +测试用例5 +---------------------------------------------------------------------------------------------------------*/ //嗅探 #10000 $fdisplay(spidata_file, "\n\n测试用例5-发送嗅探包,需要在波形文件里检查"); @@ -672,7 +663,9 @@ initial begin spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(3)) ); spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(4)) ); - +/*--------------------------------------------------------------------------------------------------------- +测试用例6 +---------------------------------------------------------------------------------------------------------*/ #50000 #50000 $fdisplay(spidata_file, "\n\n测试用例6-交换数据"); @@ -696,6 +689,10 @@ initial begin spi_trans( (16'ha03), (`SPI_READ), (1), (`IF_IDX(0)) );//读一下SM0的切换地址,将fifo弹出 +/*--------------------------------------------------------------------------------------------------------- +测试用例7 +测试 同步(sync) 和 同步输出 (sync_out) +---------------------------------------------------------------------------------------------------------*/ // 同步 #90000 @@ -714,10 +711,8 @@ initial begin #90000 $display("sync @ %d", s_ShinTop_Mst.interface__io_cReg_timeStamp); + $fdisplay(spidata_file, "\n\n测试用例-测试同步(sync)和同步输出(sync_out)"); begin - - - //设置SM1在写入 0x18 len触发enq txBuf[0+3] = 8'h18; txBuf[1+3] = 8'h00; @@ -747,8 +742,6 @@ initial begin - //设定sync信号 - //设置SM1在写入52 len触发enq txBuf[0+3] = 8'd52; txBuf[1+3] = 8'h00; @@ -765,8 +758,7 @@ initial begin spi_trans( (16'h833), (`SPI_READ), (1), (`IF_IDX(0)) );//读一下SM0的切换地址,将fifo弹出 end - - + //清脉冲 txBuf[0+3] = 0; //负载0x122 sync0脉冲宽度 txBuf[1+3] = 0; //负载0x123 @@ -777,9 +769,6 @@ initial begin txBuf[6+3] = 0; //负载0x128 sync3脉冲宽度 txBuf[7+3] = 0; //负载0x129 spi_trans( (16'h0122), (`SPI_WRITE), (8), (`IF_IDX(2)) ); //slv2 - - - end