From ca37438abf22bdf6ee93ef7063c522f8ef8fa803 Mon Sep 17 00:00:00 2001 From: bacon Date: Wed, 4 Jun 2025 09:50:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A3=80=E6=B5=8B=E4=B8=AD?= =?UTF-8?q?=E6=96=AD=E4=BF=A1=E5=8F=B7=E7=9A=84=E5=BB=BA=E7=AB=8B=E5=92=8C?= =?UTF-8?q?=E6=B8=85=E9=99=A4=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 | 45 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 7f3ca81..40b7dab 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -3,6 +3,7 @@ `define ENABLE_REG_RW_TEST `define ENABLE_DET_TEST `define ENABLE_SET_ADDR_TEST +`define ENABLE_INT_INIT_TEST //`define ENABLE_SM1_SEND_TEST //`define ENABLE_SMx_SEND_TEST @@ -501,6 +502,48 @@ task spi_trans( input [15:0] saddress, input [7:0] scmd, input [12:0] slength,in endtask +always @(posedge io_int_sig[0]) begin + $fdisplay(spidata_file, "MST INT SETUP: %tns", $time / 1000); +end + +always @(posedge io_int_sig[1]) begin + $fdisplay(spidata_file, "SLV0 INT SETUP: %tns", $time / 1000); +end + +always @(posedge io_int_sig[2]) begin + $fdisplay(spidata_file, "SLV1 INT SETUP: %tns", $time / 1000); +end + +always @(posedge io_int_sig[3]) begin + $fdisplay(spidata_file, "SLV2 INT SETUP: %tns", $time / 1000); +end + +always @(posedge io_int_sig[4]) begin + $fdisplay(spidata_file, "SLV3 INT SETUP: %tns", $time / 1000); +end + + +always @(negedge io_int_sig[0]) begin + $fdisplay(spidata_file, "MST INT CLEAR: %tns", $time / 1000); +end + +always @(negedge io_int_sig[1]) begin + $fdisplay(spidata_file, "SLV0 INT CLEAR: %tns", $time / 1000); +end + +always @(negedge io_int_sig[2]) begin + $fdisplay(spidata_file, "SLV1 INT CLEAR: %tns", $time / 1000); +end + +always @(negedge io_int_sig[3]) begin + $fdisplay(spidata_file, "SLV2 INT CLEAR: %tns", $time / 1000); +end + +always @(negedge io_int_sig[4]) begin + $fdisplay(spidata_file, "SLV3 INT CLEAR: %tns", $time / 1000); +end + + `define INTERFACE_IDX 0 //internal spi `define IF_IDX(idx) ((`INTERFACE_IDX)+(idx)) @@ -610,6 +653,7 @@ initial begin spi_trans( (16'h00), (`SPI_READ), (1), (`IF_IDX(4)) ); end +`ifdef ENABLE_INT_INIT_TEST begin:CHECK_INTERRUPT_SIG $fdisplay(spidata_file, "\n\n测试用例:检查设备的INTERRUPT信号"); @@ -693,6 +737,7 @@ initial begin spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(3)) ); spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(4)) ); end +`endif `ifdef ENABLE_DET_TEST /*---------------------------------------------------------------------------------------------------------