diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 25e3365..e0bb0df 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -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,11 +1045,13 @@ 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; integer is_run; - + st = $realtime; is_run = 1; @@ -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;