复位将在spi写操作0x40地址任意值后16拍触发,引出为外部输出io

This commit is contained in:
Ruige Lee
2025-05-21 16:04:39 +08:00
parent f8712482ee
commit 72e725a11f
3 changed files with 35 additions and 43 deletions

View File

@@ -26,9 +26,11 @@ module ShinTopSpiTb(
integer spidata_file;
integer c_line;
wire [4:0] isSoftReset;
ShinTop s_ShinTop_Mst(
.clock(clock),
.reset(reset),
.reset(reset | isSoftReset[0]),
.io_clk8x(clk8x),
.io_dDatIn(1'b0),
@@ -55,13 +57,13 @@ ShinTop s_ShinTop_Mst(
.io_oqspi_csn(spi_csn[10]),
.io_rsp_valid(isResp),
.io_rsp_bits_isError()
// .io_rsp_bits_length()
.io_rsp_bits_isError(),
.io_isSoftReset(isSoftReset[0])
);
ShinTop s_ShinTop_slv0(
.clock(clock),
.reset(reset),
.reset(reset | isSoftReset[1]),
.io_clk8x(clk8x),
.io_dDatIn(dDat_w[0]),
@@ -87,13 +89,13 @@ ShinTop s_ShinTop_slv0(
.io_oqspi_csn(spi_csn[11]),
.io_rsp_valid(),
.io_rsp_bits_isError()
// .io_rsp_bits_length()
.io_rsp_bits_isError(),
.io_isSoftReset(isSoftReset[1])
);
ShinTop s_ShinTop_slv1(
.clock(clock),
.reset(reset),
.reset(reset | isSoftReset[2]),
.io_clk8x(clk8x),
.io_dDatIn(dDat_w[1]),
@@ -119,13 +121,13 @@ ShinTop s_ShinTop_slv1(
.io_oqspi_csn(spi_csn[12]),
.io_rsp_valid(),
.io_rsp_bits_isError()
// .io_rsp_bits_length()
.io_rsp_bits_isError(),
.io_isSoftReset(isSoftReset[2])
);
ShinTop s_ShinTop_slv2(
.clock(clock),
.reset(reset),
.reset(reset | isSoftReset[3]),
.io_clk8x(clk8x),
.io_dDatIn(dDat_w[2]),
@@ -151,13 +153,13 @@ ShinTop s_ShinTop_slv2(
.io_oqspi_csn(spi_csn[13]),
.io_rsp_valid(),
.io_rsp_bits_isError()
// .io_rsp_bits_length()
.io_rsp_bits_isError(),
.io_isSoftReset(isSoftReset[3])
);
ShinTop s_ShinTop_slv3(
.clock(clock),
.reset(reset),
.reset(reset | isSoftReset[4]),
.io_clk8x(clk8x),
.io_dDatIn(dDat_w[3]),
@@ -183,8 +185,8 @@ ShinTop s_ShinTop_slv3(
.io_oqspi_csn(spi_csn[14]),
.io_rsp_valid(),
.io_rsp_bits_isError()
// .io_rsp_bits_length()
.io_rsp_bits_isError(),
.io_isSoftReset(isSoftReset[4])
);
@@ -766,6 +768,11 @@ initial begin
txBuf[6+3] = 0; //负载0x128 sync3脉冲宽度
txBuf[7+3] = 0; //负载0x129
spi_trans( (16'h0122), (`SPI_WRITE), (8), (`IF_IDX(2)) ); //slv2
//复位系统
txBuf[0+3] = 8'h01;
spi_trans( (16'h40), (`SPI_WRITE), (1), (`IF_IDX(0)) );//复位主站
spi_trans( (16'h40), (`SPI_WRITE), (1), (`IF_IDX(3)) );//复位从站2
end