From 1e04b9f8c7d2e2b5e03793af6d5873a884ed2058 Mon Sep 17 00:00:00 2001 From: bacon Date: Tue, 3 Jun 2025 17:07:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9=E4=B8=AD=E6=96=AD?= =?UTF-8?q?=E4=BF=A1=E5=8F=B7=E7=9A=84=E6=A3=80=E6=B5=8B=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 2a07323..7f3ca81 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -51,6 +51,8 @@ module ShinTopSpiTb( wire [4:0] isSoftReset; + wire [4:0] io_int_sig; + ShinTop s_ShinTop_Mst( .clock(clock), .reset(reset | isSoftReset[0]), @@ -82,7 +84,7 @@ ShinTop s_ShinTop_Mst( .io_rsp_valid(isResp), .io_rsp_bits_isError(), .io_isSoftReset(isSoftReset[0]), - .io_interrupt() + .io_interrupt(io_int_sig[0]) ); ShinTop s_ShinTop_slv0( @@ -115,7 +117,7 @@ ShinTop s_ShinTop_slv0( .io_rsp_valid(), .io_rsp_bits_isError(), .io_isSoftReset(isSoftReset[1]), - .io_interrupt() + .io_interrupt(io_int_sig[1]) ); ShinTop s_ShinTop_slv1( @@ -148,7 +150,7 @@ ShinTop s_ShinTop_slv1( .io_rsp_valid(), .io_rsp_bits_isError(), .io_isSoftReset(isSoftReset[2]), - .io_interrupt() + .io_interrupt(io_int_sig[2]) ); ShinTop s_ShinTop_slv2( @@ -181,7 +183,7 @@ ShinTop s_ShinTop_slv2( .io_rsp_valid(), .io_rsp_bits_isError(), .io_isSoftReset(isSoftReset[3]), - .io_interrupt() + .io_interrupt(io_int_sig[3]) ); ShinTop s_ShinTop_slv3( @@ -214,7 +216,7 @@ ShinTop s_ShinTop_slv3( .io_rsp_valid(), .io_rsp_bits_isError(), .io_isSoftReset(isSoftReset[4]), - .io_interrupt() + .io_interrupt(io_int_sig[4]) ); @@ -611,6 +613,14 @@ initial begin begin:CHECK_INTERRUPT_SIG $fdisplay(spidata_file, "\n\n测试用例:检查设备的INTERRUPT信号"); + @(posedge clock) begin + if (io_int_sig[0]) $fdisplay(spidata_file, "MST Interrupt!"); + if (io_int_sig[1]) $fdisplay(spidata_file, "SLV0 Interrupt!"); + if (io_int_sig[2]) $fdisplay(spidata_file, "SLV1 Interrupt!"); + if (io_int_sig[3]) $fdisplay(spidata_file, "SLV2 Interrupt!"); + if (io_int_sig[4]) $fdisplay(spidata_file, "SLV3 Interrupt!"); + end + $fdisplay(spidata_file, "--->>>检查中断"); spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(0)) ); spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(1)) );