diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index bdcb9be..5020b89 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -563,32 +563,15 @@ initial begin $fdisplay(spidata_file, "--->>>设置顺序地址"); - + `include "set_addr_pkt.vh" //长度 - txBuf[0+3] = 8'h0e; - txBuf[1+3] = 8'h00; + `DEF_set_addr_pkt_sm(txBuf); spi_trans( (16'h0302), (`SPI_WRITE), (2), (`IF_IDX(0)) ); spi_trans( (16'h0306), (`SPI_WRITE), (2), (`IF_IDX(0)) ); - txBuf[0+3] = 8'h00; - txBuf[1+3] = 8'ha0;//heeader length 10 - txBuf[2+3] = 8'h00; - txBuf[3+3] = 8'h00; - //子报文 - //设置顺序地址 - txBuf[4+3] = 8'h0; //设备索引 - txBuf[5+3] = 8'h0; //设备索引、类型 - txBuf[6+3] = $random; //地址 - txBuf[7+3] = $random; //地址 - txBuf[8+3] = 8'hd0; //命令d 负载长度2 - txBuf[9+3] = 8'd02; //负载长度2 - txBuf[10+3] = 8'h0; //工作计数0 - txBuf[11+3] = 8'h0; //工作计数0 - - txBuf[12+3] = 8'h0; //负载 - txBuf[13+3] = 8'h0; //负载 - spi_trans( (16'h1000), (`SPI_WRITE), (14), (`IF_IDX(0)) ); //写入SM1 + `DEF_set_addr_pkt(txBuf); + spi_trans( (16'h1000), (`SPI_WRITE), (`DEF_set_addr_pkt_len), (`IF_IDX(0)) ); //写入SM1 //发布请求 txBuf[0+3] = 8'h01; @@ -597,7 +580,6 @@ initial begin rxBuf[0+3] = 0; spi_trans( (16'h80D), (`SPI_READ), (1), (`IF_IDX(0)) );//读一下SM0的切换地址,将fifo弹出 - end diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index 41f7a33..5758c13 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -191,7 +191,7 @@ if __name__ == '__main__': genPkt.clean() genPkt.setPktType(0) #subPkt参数:索引、索引类型、地址、命令、长度、数据 - genPkt.addSubPkt(0x0, 0, random.randint(0, 65536), 0xe, 12, b'\0'*12) + genPkt.addSubPkt(0x0, 0, random.randint(0, 65535), 0xe, 12, b'\0'*12) genPkt.gen("./generated/shin/sync_pkt.vh", 1) #------------------------------------------------------------------------- @@ -221,4 +221,19 @@ if __name__ == '__main__': genPkt.addSubPkt(0x4, 0, 0x120, 0x1, 0x28, data) - genPkt.gen("./generated/shin/sync_sig_pkt.vh", 1) \ No newline at end of file + genPkt.gen("./generated/shin/sync_sig_pkt.vh", 1) + + + #------------------------------------------------------------------------- + #>>>>>>设置顺序地址 + genPkt.clean() + genPkt.setPktType(0) + + data = bytearray(b"\0" * 2) + data[0] = 0x3f + data[1] = 0xff + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0x0, 0, random.randint(0, 65535), 0xd, 2, data) + + + genPkt.gen("./generated/shin/set_addr_pkt.vh", 1) \ No newline at end of file