diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index b902a34..2a07323 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -637,6 +637,53 @@ initial begin spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(4)) ); end + begin:CHECK_INTERRUPT_CFG_REG + $fdisplay(spidata_file, "\n\n测试用例:检查设备的INTERRUPT信号设置寄存器"); + + $fdisplay(spidata_file, "--->>>检查中断"); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(0)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(1)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(2)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(3)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`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'h00; + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(0)) ); + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(1)) ); + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(2)) ); + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(3)) ); + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(4)) ); + + $fdisplay(spidata_file, "--->>>检查中断"); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(0)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(1)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(2)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(3)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(4)) ); + + $fdisplay(spidata_file, "--->>>设置中断"); + txBuf[0+3] = 8'h0F; + txBuf[1+3] = 8'h00; + txBuf[2+3] = 8'h00; + txBuf[3+3] = 8'h00; + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(0)) ); + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(1)) ); + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(2)) ); + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(3)) ); + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(4)) ); + + $fdisplay(spidata_file, "--->>>检查中断"); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(0)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(1)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(2)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(3)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(4)) ); + end + `ifdef ENABLE_DET_TEST /*--------------------------------------------------------------------------------------------------------- 测试用例3