diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 986bd41..65c82d2 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -756,15 +756,13 @@ initial begin spi_trans( (16'h25), (`SPI_WRITE), (2), (`IF_IDX(0)) ); //清除替换时间戳替换地址寄存器 - - //设置SM1在写入52 len触发enq - txBuf[0+3] = 8'd52; + txBuf[0+3] = 8'h94; txBuf[1+3] = 8'h00; spi_trans( (16'h0302), (`SPI_WRITE), (2), (`IF_IDX(0)) ); spi_trans( (16'h0306), (`SPI_WRITE), (2), (`IF_IDX(0)) ); `include "sync_sig_pkt.vh" - spi_trans( (16'h1000), (`SPI_WRITE), (52), (`IF_IDX(0)) ); //写入SM1 + spi_trans( (16'h1000), (`SPI_WRITE), (8'h94), (`IF_IDX(0)) ); //写入SM1 //发布请求 txBuf[0+3] = 8'h01; @@ -773,7 +771,21 @@ initial begin spi_trans( (16'h833), (`SPI_READ), (1), (`IF_IDX(0)) );//读一下SM0的切换地址,将fifo弹出 end - #50 + + + //spi_trans( (16'h0100), (`SPI_READ), (32), (`IF_IDX(0)) ); + spi_trans( (16'h0100), (`SPI_READ), (32), (`IF_IDX(1)) ); + spi_trans( (16'h0130), (`SPI_READ), (32), (`IF_IDX(1)) ); + spi_trans( (16'h0100), (`SPI_READ), (32), (`IF_IDX(2)) ); + spi_trans( (16'h0130), (`SPI_READ), (32), (`IF_IDX(2)) ); + spi_trans( (16'h0100), (`SPI_READ), (32), (`IF_IDX(3)) ); + spi_trans( (16'h0130), (`SPI_READ), (32), (`IF_IDX(3)) ); + spi_trans( (16'h0100), (`SPI_READ), (32), (`IF_IDX(4)) ); + spi_trans( (16'h0130), (`SPI_READ), (32), (`IF_IDX(4)) ); + + + + #10000 //清脉冲 txBuf[0+3] = 0; //负载0x122 sync0脉冲宽度 txBuf[1+3] = 0; //负载0x123 @@ -783,13 +795,10 @@ initial begin txBuf[5+3] = 0; //负载0x127 txBuf[6+3] = 0; //负载0x128 sync3脉冲宽度 txBuf[7+3] = 0; //负载0x129 - spi_trans( (16'h0122), (`SPI_READ), (8), (`IF_IDX(2)) ); //slv2 - - spi_trans( (16'h0100), (`SPI_READ), (32), (`IF_IDX(0)) ); - spi_trans( (16'h0100), (`SPI_READ), (32), (`IF_IDX(1)) ); - spi_trans( (16'h0100), (`SPI_READ), (32), (`IF_IDX(2)) ); - spi_trans( (16'h0100), (`SPI_READ), (32), (`IF_IDX(3)) ); - spi_trans( (16'h0100), (`SPI_READ), (32), (`IF_IDX(4)) ); + spi_trans( (16'h0122), (`SPI_WRITE), (8), (`IF_IDX(1)) ); //slv2 + spi_trans( (16'h0122), (`SPI_WRITE), (8), (`IF_IDX(2)) ); //slv2 + spi_trans( (16'h0122), (`SPI_WRITE), (8), (`IF_IDX(3)) ); //slv2 + spi_trans( (16'h0122), (`SPI_WRITE), (8), (`IF_IDX(4)) ); //slv2 end diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index b644205..7154e2a 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -175,20 +175,22 @@ if __name__ == '__main__': data = bytearray(b"\0" * 0x28) data[0] = 0xff #地址0x120 - data[16] = 0x90 #地址0x130, sync同步点 - data[17] = 0x88 #地址0x131 + data[16] = 0x00 #地址0x130, sync同步点 + data[17] = 0xf0 #地址0x131 #data[18] = 0x10 - data[24] = 0xff #地址0x138, sync周期 4B - data[25] = 0x0f #地址0x139 + data[24] = 0x00 #地址0x138, sync周期 4B + data[25] = 0x20 #地址0x139 data[28] = 0x0a #sync1偏移 data[29] = 0x0 - data[36] = 0x0 #sync3偏移 - data[37] = 0x01 + data[36] = 0x80 #sync3偏移 + data[37] = 0x00 genPkt.addSubPkt(0x2, 0, 0x120, 0x1, 0x28, data) + genPkt.addSubPkt(0x1, 0, 0x120, 0x1, 0x28, data) + genPkt.addSubPkt(0x4, 0, 0x120, 0x1, 0x28, data) genPkt.gen("./generated/shin/sync_sig_pkt.vh") \ No newline at end of file