改变调试输出的模式,讲包中的子包按照逻辑分开,便于调试查看
This commit is contained in:
@@ -25,6 +25,8 @@ module ShinTopSpiTb(
|
||||
|
||||
integer spidata_file;
|
||||
integer c_line;
|
||||
integer _pos;
|
||||
integer _len;
|
||||
|
||||
wire [4:0] isSoftReset;
|
||||
|
||||
@@ -395,6 +397,55 @@ 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],
|
||||
((txBuf[2] == 0)? "Write":" Read"), slength);
|
||||
|
||||
if ( ((saddress == 16'h0800)
|
||||
|| (saddress == 16'h1000)
|
||||
|| (saddress == 16'h1800)
|
||||
|| (saddress == 16'h2000)
|
||||
|| (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]);
|
||||
@@ -414,6 +465,7 @@ task spi_trans( input [15:0] saddress, input [7:0] scmd, input [12:0] slength,in
|
||||
c_line = 0;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
endtask
|
||||
|
||||
@@ -549,6 +601,7 @@ initial begin
|
||||
spi_trans( (`MST_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||
|
||||
//无子报文
|
||||
$fdisplay(spidata_file, "<<发包:");
|
||||
`DEF_detect_pkt(txBuf);
|
||||
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)) );
|
||||
|
||||
//子报文
|
||||
$fdisplay(spidata_file, "<<发包:");
|
||||
`DEF_set_addr_pkt(txBuf);
|
||||
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, "--->>>嗅探");
|
||||
//设置SM1在写入0x3地址触发enq
|
||||
//txBuf[0+3] = 8'h04;
|
||||
//txBuf[1+3] = 8'h00;
|
||||
|
||||
`DEF_detect_pkt_sm(txBuf);
|
||||
spi_trans( (`MST_TX_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);
|
||||
spi_trans( (`MST_TX_ADDR), (`SPI_WRITE), (`DEF_detect_pkt_len), (`IF_IDX(0)) ); //写入SM1
|
||||
|
||||
@@ -685,14 +738,12 @@ initial begin
|
||||
|
||||
$fdisplay(spidata_file, "--->>>嗅探");
|
||||
//设置SM1在写入0x3地址触发enq
|
||||
//txBuf[0+3] = 8'h04;
|
||||
//txBuf[1+3] = 8'h00;
|
||||
`DEF_detect_pkt_sm(txBuf);
|
||||
spi_trans( (`MST_TX1_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||
spi_trans( (`MST_RX1_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||
|
||||
//无子报文MST_TX1_LEN_ADDR
|
||||
//`include "detect_pkt.vh"
|
||||
$fdisplay(spidata_file, "<<发包:");
|
||||
`DEF_detect_pkt(txBuf);
|
||||
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_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||
|
||||
$fdisplay(spidata_file, "<<发包:");
|
||||
`DEF_seq_0_pkt(txBuf);
|
||||
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_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||
|
||||
$fdisplay(spidata_file, "<<发包:");
|
||||
`DEF_seq_1_pkt(txBuf);
|
||||
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"
|
||||
|
||||
$fdisplay(spidata_file, "<<发包:");
|
||||
`DEF_seq_2_pkt_sm(txBuf);
|
||||
spi_trans( (`MST_TX_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_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||
|
||||
$fdisplay(spidata_file, "<<发包:");
|
||||
`DEF_bc_r_pkt(txBuf);
|
||||
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_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||
|
||||
$fdisplay(spidata_file, "<<发包:");
|
||||
`DEF_bc_w_pkt(txBuf);
|
||||
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_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||
|
||||
$fdisplay(spidata_file, "<<发包:");
|
||||
`DEF_sync_pkt(txBuf);
|
||||
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_RX_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );
|
||||
|
||||
$fdisplay(spidata_file, "<<发包:");
|
||||
`DEF_sync_sig_pkt(txBuf);
|
||||
//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
|
||||
|
||||
Reference in New Issue
Block a user