diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 3bb1c4c..25e3365 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -446,8 +446,8 @@ begin `ifdef VCS_COMPILE $dumpfile("./generated/wave.vcd"); //生成的vcd文件名称 - //$dumpvars(0, ShinTopSpiTb);//tb模块名称 - $dumpvars(0, ShinTopSpiTb.s_ShinTop_Mst);//tb模块名称 + $dumpvars(0, ShinTopSpiTb);//tb模块名称 + //$dumpvars(0, ShinTopSpiTb.s_ShinTop_Mst);//tb模块名称 //$dumpvars(0, ShinTopSpiTb.s_ShinTop_slv124);//tb模块名称 //$dumpvars(0, ShinTopSpiTb.s_ShinTop_slv125);//tb模块名称 //$dumpvars(0, ShinTopSpiTb.s_ShinTop_slv126);//tb模块名称 @@ -495,12 +495,12 @@ end reg [16:0] idx; `ifndef OLD_SPI_SUPPORT - reg spi_1to4 = 1;//(idx < (`ALL_DEV_NUM * 4)); + reg spi_1to4;//(idx < (`ALL_DEV_NUM * 4)); `endif assign spi_mosi = exChangeRego[7]; `ifndef OLD_SPI_SUPPORT - assign qspi_mosi = (spi_1to4 & byteCnt < 4)? {3'h0, exChangeRego[7]}:exChangeRego[7:4]; + assign qspi_mosi = (spi_1to4 & transCnt <= 4)? {3'h0, exChangeRego[7]}:exChangeRego[7:4]; `else assign qspi_mosi = exChangeRego[7:4]; `endif @@ -575,7 +575,7 @@ always @(negedge sck) begin `else //当单线转4线的协议生效时,且传输命令+地址,使用单线 //否则使用接口的固定模式 - if (spi_1to4 & byteCnt < 4) begin + if (spi_1to4 & transCnt <= 4) begin exChangeRego <= exChangeRego << 1; end else begin exChangeRego <= isQspi ? exChangeRego << 4 : exChangeRego << 1; @@ -590,6 +590,7 @@ always @(negedge sck) begin if( isBusy ) begin if( transCnt == length & &bitCnt ) begin spi_csn[idx] <= #(`SCKFRE/2) 1'b1; + exChangeRego <= 0; end end end @@ -603,7 +604,7 @@ always @(posedge sck) begin bitCnt <= ~bitCnt; `else //当单线转4线的协议生效时,且传输命令+地址,使用单线;数据使用4线 - if ((byteCnt < 4) & (spi_1to4)) begin + if ((transCnt <= 4) & (spi_1to4)) begin bitCnt <= bitCnt + 1; end else begin bitCnt <= ~bitCnt; @@ -666,7 +667,7 @@ always @(posedge sck) begin end end else begin //字节数小于4个字节,且启动了QSPI的1线命令4线数据 - if ((byteCnt < 4) & (spi_1to4)) begin + if ((transCnt <= 4) & (spi_1to4)) begin exChangeRegi <= isQspi ? {exChangeRegi[6:0], qspi_mux_miso[0]} : {exChangeRegi[6:0], spi_mux_miso}; end else begin exChangeRegi <= isQspi ? {exChangeRegi[3:0], qspi_mux_miso} : {exChangeRegi[6:0], spi_mux_miso}; @@ -704,11 +705,13 @@ task spi_trans( input [15:0] saddress, input [7:0] scmd, input [12:0] slength, i if (sidx < (`ALL_DEV_NUM * 3)) begin length <= slength + 4; end else if (sidx < (`ALL_DEV_NUM * 4)) begin - length <= slength + 4 + 1; + //length <= slength + 4 + 1; + length <= slength + 4; end else if (sidx < (`ALL_DEV_NUM * 5)) begin length <= slength + 4; end else begin - length <= slength + 4 + 1; + //length <= slength + 4 + 1; + length <= slength + 4; end `endif @@ -1078,7 +1081,7 @@ task wait_comm_finished(input [16:0] dev_idx); end #2000 - //$display("%x %x", rxBuf[3], rxBuf[6]); + $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); if ((rxBuf[`ARRAY_IDX_OFF] & 8'h02) == 8'h02) begin is_run = 0; diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index e9c3447..f3fdf27 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -74,12 +74,12 @@ if __name__ == '__main__': #''' add_tc_2_runlist(base.tc1()) - add_tc_2_runlist(base.tc2()) - add_tc_2_runlist(base.tc3()) - add_tc_2_runlist(base.tc4()) - add_tc_2_runlist(base.tc5()) - add_tc_2_runlist(base.tc6()) - add_tc_2_runlist(base.tc7()) + #add_tc_2_runlist(base.tc2()) + #add_tc_2_runlist(base.tc3()) + #add_tc_2_runlist(base.tc4()) + #add_tc_2_runlist(base.tc5()) + #add_tc_2_runlist(base.tc6()) + #add_tc_2_runlist(base.tc7()) ''' add_tc_2_runlist(base.tc8()) add_tc_2_runlist(base.tc9())