改变调试输出的模式,讲包中的子包按照逻辑分开,便于调试查看
This commit is contained in:
@@ -25,6 +25,8 @@ module ShinTopSpiTb(
|
|||||||
|
|
||||||
integer spidata_file;
|
integer spidata_file;
|
||||||
integer c_line;
|
integer c_line;
|
||||||
|
integer _pos;
|
||||||
|
integer _len;
|
||||||
|
|
||||||
wire [4:0] isSoftReset;
|
wire [4:0] isSoftReset;
|
||||||
|
|
||||||
@@ -395,23 +397,73 @@ task spi_trans( input [15:0] saddress, input [7:0] scmd, input [12:0] slength,in
|
|||||||
$time/1000, ((sidx >= 5)? ((sidx >= 10)? (sidx - 10):(sidx - 5)):sidx), txBuf[1], txBuf[0],
|
$time/1000, ((sidx >= 5)? ((sidx >= 10)? (sidx - 10):(sidx - 5)):sidx), txBuf[1], txBuf[0],
|
||||||
((txBuf[2] == 0)? "Write":" Read"), slength);
|
((txBuf[2] == 0)? "Write":" Read"), slength);
|
||||||
|
|
||||||
for (integer i=0; i<slength; i++) begin
|
if ( ((saddress == 16'h0800)
|
||||||
if (scmd == 0) begin
|
|| (saddress == 16'h1000)
|
||||||
$fwrite(spidata_file, "%02h ", txBuf[i + 3]);
|
|| (saddress == 16'h1800)
|
||||||
end else begin
|
|| (saddress == 16'h2000)
|
||||||
$fwrite(spidata_file, "%02h ", rxBuf[i + 3]);
|
|| (saddress == 16'h2800)
|
||||||
|
|| (saddress == 16'h3000)
|
||||||
|
|| (saddress == 16'h3800)
|
||||||
|
|| (saddress == 16'h4000))
|
||||||
|
&& ((sidx == 0) || (sidx == 5) || (sidx == 10))) begin
|
||||||
|
_pos = 3;
|
||||||
|
for (integer _k = 0; _k < 4; _k++) begin
|
||||||
|
if (scmd == 0) begin
|
||||||
|
$fwrite(spidata_file, "%02h ", txBuf[_k + _pos]);
|
||||||
|
end else begin
|
||||||
|
$fwrite(spidata_file, "%02h ", rxBuf[_k + _pos]);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
$fwrite(spidata_file, "\n");
|
||||||
|
_pos = 4 + _pos;
|
||||||
|
for (; _pos < slength; ) begin
|
||||||
|
for (integer _k = 0; _k < 8; _k++) begin
|
||||||
|
if (scmd == 0) begin
|
||||||
|
$fwrite(spidata_file, "%02h ", txBuf[_k + _pos]);
|
||||||
|
_len = txBuf[_pos + 5] + (txBuf[_pos + 4] & 8'h0f) * 256;
|
||||||
|
end else begin
|
||||||
|
$fwrite(spidata_file, "%02h ", rxBuf[_k + _pos]);
|
||||||
|
_len = rxBuf[_pos + 5] + (rxBuf[_pos + 4] & 8'h0f) * 256;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
$fwrite(spidata_file, "\n{{ ");
|
||||||
|
_pos = _pos + 8;
|
||||||
|
for (integer _k = 0; _k < _len; _k++) begin
|
||||||
|
if (scmd == 0) begin
|
||||||
|
$fwrite(spidata_file, "%02h ", txBuf[_k + _pos]);
|
||||||
|
end else begin
|
||||||
|
$fwrite(spidata_file, "%02h ", rxBuf[_k + _pos]);
|
||||||
|
end
|
||||||
|
c_line = 0;
|
||||||
|
if ((_k + 2)%16 == 0) begin
|
||||||
|
$fwrite(spidata_file, "\n");
|
||||||
|
c_line = 1;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
$fwrite(spidata_file, "}}\n");
|
||||||
|
_pos = _pos + _len;
|
||||||
|
end
|
||||||
|
end else begin
|
||||||
|
for (integer i=0; i<slength; i++) begin
|
||||||
|
if (scmd == 0) begin
|
||||||
|
$fwrite(spidata_file, "%02h ", txBuf[i + 3]);
|
||||||
|
end else begin
|
||||||
|
$fwrite(spidata_file, "%02h ", rxBuf[i + 3]);
|
||||||
|
end
|
||||||
|
c_line = 0;
|
||||||
|
if ((i+1)%16 == 0) begin
|
||||||
|
$fwrite(spidata_file, "\n");
|
||||||
|
c_line = 1;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if (c_line == 0) begin
|
||||||
|
$fwrite(spidata_file, "\n");
|
||||||
end
|
end
|
||||||
c_line = 0;
|
c_line = 0;
|
||||||
if ((i+1)%16 == 0) begin
|
|
||||||
$fwrite(spidata_file, "\n");
|
|
||||||
c_line = 1;
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if (c_line == 0) begin
|
|
||||||
$fwrite(spidata_file, "\n");
|
|
||||||
end
|
|
||||||
c_line = 0;
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -549,6 +601,7 @@ initial begin
|
|||||||
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
|
|
||||||
//无子报文
|
//无子报文
|
||||||
|
$fdisplay(spidata_file, "<<发包:");
|
||||||
`DEF_detect_pkt(txBuf);
|
`DEF_detect_pkt(txBuf);
|
||||||
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_detect_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_detect_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
||||||
|
|
||||||
@@ -597,6 +650,7 @@ initial begin
|
|||||||
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
|
|
||||||
//子报文
|
//子报文
|
||||||
|
$fdisplay(spidata_file, "<<发包:");
|
||||||
`DEF_set_addr_pkt(txBuf);
|
`DEF_set_addr_pkt(txBuf);
|
||||||
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_set_addr_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_set_addr_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
||||||
|
|
||||||
@@ -644,14 +698,13 @@ initial begin
|
|||||||
|
|
||||||
$fdisplay(spidata_file, "--->>>嗅探");
|
$fdisplay(spidata_file, "--->>>嗅探");
|
||||||
//设置SM1在写入0x3地址触发enq
|
//设置SM1在写入0x3地址触发enq
|
||||||
//txBuf[0+3] = 8'h04;
|
|
||||||
//txBuf[1+3] = 8'h00;
|
|
||||||
`DEF_detect_pkt_sm(txBuf);
|
`DEF_detect_pkt_sm(txBuf);
|
||||||
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
|
|
||||||
//无子报文
|
//无子报文
|
||||||
//`include "detect_pkt.vh"
|
$fdisplay(spidata_file, "<<发包:");
|
||||||
`DEF_detect_pkt(txBuf);
|
`DEF_detect_pkt(txBuf);
|
||||||
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_detect_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_detect_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
||||||
|
|
||||||
@@ -685,14 +738,12 @@ initial begin
|
|||||||
|
|
||||||
$fdisplay(spidata_file, "--->>>嗅探");
|
$fdisplay(spidata_file, "--->>>嗅探");
|
||||||
//设置SM1在写入0x3地址触发enq
|
//设置SM1在写入0x3地址触发enq
|
||||||
//txBuf[0+3] = 8'h04;
|
|
||||||
//txBuf[1+3] = 8'h00;
|
|
||||||
`DEF_detect_pkt_sm(txBuf);
|
`DEF_detect_pkt_sm(txBuf);
|
||||||
spi_trans( (`MST_TX1_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_TX1_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
spi_trans( (`MST_RX1_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_RX1_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
|
|
||||||
//无子报文MST_TX1_LEN_ADDR
|
//无子报文MST_TX1_LEN_ADDR
|
||||||
//`include "detect_pkt.vh"
|
$fdisplay(spidata_file, "<<发包:");
|
||||||
`DEF_detect_pkt(txBuf);
|
`DEF_detect_pkt(txBuf);
|
||||||
spi_trans( (`MST_TX1_ADDR), (`SPI_WRITE), (`DEF_detect_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
spi_trans( (`MST_TX1_ADDR), (`SPI_WRITE), (`DEF_detect_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
||||||
|
|
||||||
@@ -736,6 +787,7 @@ initial begin
|
|||||||
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
|
|
||||||
|
$fdisplay(spidata_file, "<<发包:");
|
||||||
`DEF_seq_0_pkt(txBuf);
|
`DEF_seq_0_pkt(txBuf);
|
||||||
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_seq_0_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_seq_0_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
||||||
//发布请求
|
//发布请求
|
||||||
@@ -756,6 +808,7 @@ initial begin
|
|||||||
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
|
|
||||||
|
$fdisplay(spidata_file, "<<发包:");
|
||||||
`DEF_seq_1_pkt(txBuf);
|
`DEF_seq_1_pkt(txBuf);
|
||||||
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_seq_1_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_seq_1_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
||||||
//发布请求
|
//发布请求
|
||||||
@@ -817,6 +870,7 @@ initial begin
|
|||||||
|
|
||||||
`include "seq_2_pkt.vh"
|
`include "seq_2_pkt.vh"
|
||||||
|
|
||||||
|
$fdisplay(spidata_file, "<<发包:");
|
||||||
`DEF_seq_2_pkt_sm(txBuf);
|
`DEF_seq_2_pkt_sm(txBuf);
|
||||||
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
@@ -842,6 +896,7 @@ initial begin
|
|||||||
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
|
|
||||||
|
$fdisplay(spidata_file, "<<发包:");
|
||||||
`DEF_bc_r_pkt(txBuf);
|
`DEF_bc_r_pkt(txBuf);
|
||||||
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_bc_r_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_bc_r_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
||||||
//发布请求
|
//发布请求
|
||||||
@@ -864,6 +919,7 @@ initial begin
|
|||||||
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
|
|
||||||
|
$fdisplay(spidata_file, "<<发包:");
|
||||||
`DEF_bc_w_pkt(txBuf);
|
`DEF_bc_w_pkt(txBuf);
|
||||||
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_bc_w_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_bc_w_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
||||||
//发布请求
|
//发布请求
|
||||||
@@ -897,6 +953,7 @@ initial begin
|
|||||||
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
|
|
||||||
|
$fdisplay(spidata_file, "<<发包:");
|
||||||
`DEF_sync_pkt(txBuf);
|
`DEF_sync_pkt(txBuf);
|
||||||
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_sync_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_sync_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
||||||
|
|
||||||
@@ -924,6 +981,7 @@ initial begin
|
|||||||
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_TX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||||
|
|
||||||
|
$fdisplay(spidata_file, "<<发包:");
|
||||||
`DEF_sync_sig_pkt(txBuf);
|
`DEF_sync_sig_pkt(txBuf);
|
||||||
//spi_trans( (16'h1000), (`SPI_WRITE), (8'h94), (`IF_IDX(0)) ); //写入SM1
|
//spi_trans( (16'h1000), (`SPI_WRITE), (8'h94), (`IF_IDX(0)) ); //写入SM1
|
||||||
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_sync_sig_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_sync_sig_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
||||||
|
|||||||
Reference in New Issue
Block a user