修正spi不能正常通讯的bug
This commit is contained in:
@@ -13,6 +13,7 @@ module ShinTopSpiTb(
|
||||
|
||||
`include "dev_predef.vh"
|
||||
|
||||
/*这个代码不会被使用 DOWN*/
|
||||
`ifdef DEFINE_SLAVE_DEVICE
|
||||
`define DEV_NUM 4 //slave num
|
||||
`define ALL_DEV_NUM (`DEV_NUM + 1) // slave + master
|
||||
@@ -55,7 +56,8 @@ module ShinTopSpiTb(
|
||||
( spi_miso[2] & ~`ESPI_CSN(2)) |\
|
||||
( spi_miso[3] & ~`ESPI_CSN(3)) |\
|
||||
( spi_miso[4] & ~`ESPI_CSN(4))
|
||||
`endif
|
||||
`endif/*这个代码不会被使用 UP*/
|
||||
|
||||
wire [(`DEV_NUM - 1):0] dDat_w;
|
||||
wire [(`DEV_NUM - 1):0] uDat_w;
|
||||
|
||||
@@ -175,6 +177,7 @@ ShinTop s_ShinTop_Mst(
|
||||
|
||||
`include "slave_dev_def.vh"
|
||||
|
||||
/*这个代码不会被使用 DOWN*/
|
||||
`ifdef DEFINE_SLAVE_DEVICE
|
||||
ShinTop s_ShinTop_slv0(
|
||||
.clock(clock),
|
||||
@@ -379,7 +382,7 @@ ShinTop s_ShinTop_slv3(
|
||||
.io_hwSerial(`HW_SERIAL),
|
||||
.io_uniCode(0)
|
||||
);
|
||||
`endif
|
||||
`endif/*这个代码不会被使用 UP*/
|
||||
|
||||
initial begin
|
||||
clock = 0;
|
||||
@@ -500,7 +503,9 @@ end
|
||||
|
||||
assign spi_mosi = exChangeRego[7];
|
||||
`ifndef OLD_SPI_SUPPORT
|
||||
assign qspi_mosi = (spi_1to4 & transCnt <= 4)? {3'h0, exChangeRego[7]}:exChangeRego[7:4];
|
||||
assign qspi_mosi = ((spi_1to4 && transCnt < 4)
|
||||
|| (spi_1to4 && transCnt == 4 && bitCnt < 7)
|
||||
|| (spi_1to4 && transCnt == 4 && bitCnt == 7 && sck == 1)) ? {3'h0, exChangeRego[7]}:exChangeRego[7:4];
|
||||
`else
|
||||
assign qspi_mosi = exChangeRego[7:4];
|
||||
`endif
|
||||
@@ -1040,6 +1045,8 @@ task f_write(input [31:0] logh, input [15:0] saddress, input [7:0] scmd, input [
|
||||
end
|
||||
endtask
|
||||
|
||||
wire [31:0] temp_int_status = s_ShinTop_Mst.mstSlvSwitch.interface_.cReg_intStatus;
|
||||
|
||||
task wait_comm_finished(input [16:0] dev_idx);
|
||||
begin:WAIT_COMM_FINISHED_CODE
|
||||
real st;
|
||||
@@ -1081,7 +1088,7 @@ task wait_comm_finished(input [16:0] dev_idx);
|
||||
|
||||
end
|
||||
#2000
|
||||
$display("%x %x %x %x %t", rxBuf[`ARRAY_IDX_OFF], rxBuf[`ARRAY_IDX_OFF + 1], rxBuf[`ARRAY_IDX_OFF + 2], rxBuf[`ARRAY_IDX_OFF + 3], $realtime);
|
||||
$display("%x %x %x %x %x %t", rxBuf[`ARRAY_IDX_OFF], rxBuf[`ARRAY_IDX_OFF + 1], rxBuf[`ARRAY_IDX_OFF + 2], rxBuf[`ARRAY_IDX_OFF + 3], temp_int_status, $realtime);
|
||||
if ((rxBuf[`ARRAY_IDX_OFF] & 8'h02) == 8'h02)
|
||||
begin
|
||||
is_run = 0;
|
||||
|
||||
Reference in New Issue
Block a user