增加对中断信号的检测代码
This commit is contained in:
@@ -51,6 +51,8 @@ module ShinTopSpiTb(
|
|||||||
|
|
||||||
wire [4:0] isSoftReset;
|
wire [4:0] isSoftReset;
|
||||||
|
|
||||||
|
wire [4:0] io_int_sig;
|
||||||
|
|
||||||
ShinTop s_ShinTop_Mst(
|
ShinTop s_ShinTop_Mst(
|
||||||
.clock(clock),
|
.clock(clock),
|
||||||
.reset(reset | isSoftReset[0]),
|
.reset(reset | isSoftReset[0]),
|
||||||
@@ -82,7 +84,7 @@ ShinTop s_ShinTop_Mst(
|
|||||||
.io_rsp_valid(isResp),
|
.io_rsp_valid(isResp),
|
||||||
.io_rsp_bits_isError(),
|
.io_rsp_bits_isError(),
|
||||||
.io_isSoftReset(isSoftReset[0]),
|
.io_isSoftReset(isSoftReset[0]),
|
||||||
.io_interrupt()
|
.io_interrupt(io_int_sig[0])
|
||||||
);
|
);
|
||||||
|
|
||||||
ShinTop s_ShinTop_slv0(
|
ShinTop s_ShinTop_slv0(
|
||||||
@@ -115,7 +117,7 @@ ShinTop s_ShinTop_slv0(
|
|||||||
.io_rsp_valid(),
|
.io_rsp_valid(),
|
||||||
.io_rsp_bits_isError(),
|
.io_rsp_bits_isError(),
|
||||||
.io_isSoftReset(isSoftReset[1]),
|
.io_isSoftReset(isSoftReset[1]),
|
||||||
.io_interrupt()
|
.io_interrupt(io_int_sig[1])
|
||||||
);
|
);
|
||||||
|
|
||||||
ShinTop s_ShinTop_slv1(
|
ShinTop s_ShinTop_slv1(
|
||||||
@@ -148,7 +150,7 @@ ShinTop s_ShinTop_slv1(
|
|||||||
.io_rsp_valid(),
|
.io_rsp_valid(),
|
||||||
.io_rsp_bits_isError(),
|
.io_rsp_bits_isError(),
|
||||||
.io_isSoftReset(isSoftReset[2]),
|
.io_isSoftReset(isSoftReset[2]),
|
||||||
.io_interrupt()
|
.io_interrupt(io_int_sig[2])
|
||||||
);
|
);
|
||||||
|
|
||||||
ShinTop s_ShinTop_slv2(
|
ShinTop s_ShinTop_slv2(
|
||||||
@@ -181,7 +183,7 @@ ShinTop s_ShinTop_slv2(
|
|||||||
.io_rsp_valid(),
|
.io_rsp_valid(),
|
||||||
.io_rsp_bits_isError(),
|
.io_rsp_bits_isError(),
|
||||||
.io_isSoftReset(isSoftReset[3]),
|
.io_isSoftReset(isSoftReset[3]),
|
||||||
.io_interrupt()
|
.io_interrupt(io_int_sig[3])
|
||||||
);
|
);
|
||||||
|
|
||||||
ShinTop s_ShinTop_slv3(
|
ShinTop s_ShinTop_slv3(
|
||||||
@@ -214,7 +216,7 @@ ShinTop s_ShinTop_slv3(
|
|||||||
.io_rsp_valid(),
|
.io_rsp_valid(),
|
||||||
.io_rsp_bits_isError(),
|
.io_rsp_bits_isError(),
|
||||||
.io_isSoftReset(isSoftReset[4]),
|
.io_isSoftReset(isSoftReset[4]),
|
||||||
.io_interrupt()
|
.io_interrupt(io_int_sig[4])
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@@ -611,6 +613,14 @@ initial begin
|
|||||||
begin:CHECK_INTERRUPT_SIG
|
begin:CHECK_INTERRUPT_SIG
|
||||||
$fdisplay(spidata_file, "\n\n测试用例:检查设备的INTERRUPT信号");
|
$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, "--->>>检查中断");
|
$fdisplay(spidata_file, "--->>>检查中断");
|
||||||
spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(0)) );
|
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(1)) );
|
||||||
|
|||||||
Reference in New Issue
Block a user