From cc88fff9226f5879cc4f81bc0fd6906e79803866 Mon Sep 17 00:00:00 2001 From: bacon Date: Tue, 3 Jun 2025 15:54:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=AD=E6=96=AD=E7=9A=84?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 39f0dae..b902a34 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -532,10 +532,6 @@ endtask `define MST_RX_LEN_ADDR (`MST_RX0_LEN_ADDR) `define MST_TX_LEN_ADDR (`MST_TX0_LEN_ADDR) - -/*--------------------------------------------------------------------------------------------------------- -测试用例1 ----------------------------------------------------------------------------------------------------------*/ initial begin #1000 @@ -612,6 +608,35 @@ initial begin spi_trans( (16'h00), (`SPI_READ), (1), (`IF_IDX(4)) ); end + begin:CHECK_INTERRUPT_SIG + $fdisplay(spidata_file, "\n\n测试用例:检查设备的INTERRUPT信号"); + + $fdisplay(spidata_file, "--->>>检查中断"); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(0)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(1)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(2)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(3)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(4)) ); + + $fdisplay(spidata_file, "--->>>清中断"); + txBuf[0+3] = 8'h00; + txBuf[1+3] = 8'h00; + txBuf[2+3] = 8'h00; + txBuf[3+3] = 8'h80; + spi_trans( (16'h78), (`SPI_WRITE), (4), (`IF_IDX(0)) ); + spi_trans( (16'h78), (`SPI_WRITE), (4), (`IF_IDX(1)) ); + spi_trans( (16'h78), (`SPI_WRITE), (4), (`IF_IDX(2)) ); + spi_trans( (16'h78), (`SPI_WRITE), (4), (`IF_IDX(3)) ); + spi_trans( (16'h78), (`SPI_WRITE), (4), (`IF_IDX(4)) ); + + $fdisplay(spidata_file, "--->>>检查中断"); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(0)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(1)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(2)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(3)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(4)) ); + end + `ifdef ENABLE_DET_TEST /*--------------------------------------------------------------------------------------------------------- 测试用例3