Merge branch 'feature/ShinTop' of github.com:whutddk/RISCV-MAC-SWICH into feature/ShinTop

This commit is contained in:
Ruige Lee
2025-05-30 15:16:22 +08:00
2 changed files with 30 additions and 26 deletions

View File

@@ -3,13 +3,13 @@
`define ENABLE_REG_RW_TEST `define ENABLE_REG_RW_TEST
`define ENABLE_DET_TEST `define ENABLE_DET_TEST
`define ENABLE_SET_ADDR_TEST `define ENABLE_SET_ADDR_TEST
`define ENABLE_SM1_SEND_TEST //`define ENABLE_SM1_SEND_TEST
`define ENABLE_SMx_SEND_TEST //`define ENABLE_SMx_SEND_TEST
`define ENABLE_EXCHG_DATA_SEQ_TEST `define ENABLE_EXCHG_DATA_SEQ_TEST
`define ENABLE_EXCHG_DATA_SEQ0_TEST //`define ENABLE_EXCHG_DATA_SEQ0_TEST
`define ENABLE_EXCHG_DATA_SEQ1_TEST //`define ENABLE_EXCHG_DATA_SEQ1_TEST
`define ENABLE_EXCHG_DATA_SEQ2_TEST //`define ENABLE_EXCHG_DATA_SEQ2_TEST
`define ENABLE_EXCHG_DATA_BC_TEST //`define ENABLE_EXCHG_DATA_BC_TEST
`define ENABLE_SYNC_TEST `define ENABLE_SYNC_TEST
`define ENABLE_SYNC_SIG0_TEST `define ENABLE_SYNC_SIG0_TEST
`define ENABLE_SYNC_SIG1_TEST `define ENABLE_SYNC_SIG1_TEST
@@ -417,7 +417,7 @@ task spi_trans( input [15:0] saddress, input [7:0] scmd, input [12:0] slength,in
begin begin
//$fwrite(spidata_file, "------------%5t------------\n", $time); //$fwrite(spidata_file, "------------%5t------------\n", $time);
$fwrite(spidata_file, "T:%2tns \tdev:%4d, addr:0x%02h%02h, %s, len:%4d\n", $fwrite(spidata_file, "T:%2tns \tdev:%4d, addr:0x%02h%02h, %s, len:%4d\n",
$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[0], txBuf[1],
((txBuf[2] == 0)? "Write":" Read"), slength); ((txBuf[2] == 0)? "Write":" Read"), slength);
if ( ((saddress == 16'h0800) if ( ((saddress == 16'h0800)
@@ -618,10 +618,10 @@ initial begin
$fdisplay(spidata_file, "--->>>嗅探前,检查链路状态寄存器"); $fdisplay(spidata_file, "--->>>嗅探前,检查链路状态寄存器");
//spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(0)) ); //spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(0)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(1)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(1)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(2)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(2)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(3)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(3)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(4)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(4)) );
$fdisplay(spidata_file, "--->>>嗅探"); $fdisplay(spidata_file, "--->>>嗅探");
@@ -632,10 +632,10 @@ initial begin
#1000 #1000
$fdisplay(spidata_file, "--->>>嗅探后,检查链路状态寄存器"); $fdisplay(spidata_file, "--->>>嗅探后,检查链路状态寄存器");
//spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(0)) ); //spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(0)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(1)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(1)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(2)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(2)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(3)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(3)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(4)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(4)) );
_t_end = $time; _t_end = $time;
$fdisplay(spidata_file, "该测试用例运行时间:%2tns\n", (_t_end - _t_start) / 1000); $fdisplay(spidata_file, "该测试用例运行时间:%2tns\n", (_t_end - _t_start) / 1000);
end end
@@ -693,10 +693,10 @@ initial begin
$fdisplay(spidata_file, "嗅探使用SM0"); $fdisplay(spidata_file, "嗅探使用SM0");
$fdisplay(spidata_file, "--->>>嗅探前,检查链路状态寄存器"); $fdisplay(spidata_file, "--->>>嗅探前,检查链路状态寄存器");
//spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(0)) ); //spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(0)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(1)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(1)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(2)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(2)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(3)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(3)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(4)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(4)) );
$fdisplay(spidata_file, "--->>>嗅探"); $fdisplay(spidata_file, "--->>>嗅探");
//设置SM1在写入0x3地址触发enq //设置SM1在写入0x3地址触发enq
@@ -705,10 +705,10 @@ initial begin
$fdisplay(spidata_file, "--->>>嗅探后,检查链路状态寄存器"); $fdisplay(spidata_file, "--->>>嗅探后,检查链路状态寄存器");
//spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(0)) ); //spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(0)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(1)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(1)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(2)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(2)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(3)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(3)) );
spi_trans( (16'h00c0), (`SPI_READ), (6), (`IF_IDX(4)) ); spi_trans( (16'h00c0), (`SPI_READ), (4), (`IF_IDX(4)) );
_t_end = $time; _t_end = $time;
$fdisplay(spidata_file, "该测试用例运行时间:%2tns\n", (_t_end - _t_start) / 1000); $fdisplay(spidata_file, "该测试用例运行时间:%2tns\n", (_t_end - _t_start) / 1000);
end end

View File

@@ -225,8 +225,12 @@ def genDisableInsertTimeCode():
+ '''$fdisplay(spidata_file, "--清除时间戳插入");\n'''\ + '''$fdisplay(spidata_file, "--清除时间戳插入");\n'''\
+ '''txBuf[0+3] = 8'h00;\n'''\ + '''txBuf[0+3] = 8'h00;\n'''\
+ '''txBuf[1+3] = 8'h00;\n'''\ + '''txBuf[1+3] = 8'h00;\n'''\
+ '''spi_trans( (16'h25), (`SPI_WRITE), (2), (`IF_IDX(0)) ); //清除替换时间戳替换地址寄存器\n''' + '''spi_trans( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(0)) ); //清除替换时间戳替换地址寄存器\n'''
def genCheckInsertTimeCode():
return '''\n//检查替换时间戳替换地址\n'''\
+ '''$fdisplay(spidata_file, "--检查时间戳插入");\n'''\
+ '''spi_trans( (16'h24), (`SPI_READ), (2), (`IF_IDX(0)) ); //检查替换时间戳替换地址寄存器\n'''
if __name__ == '__main__': if __name__ == '__main__':
genPkt = GenPkt() genPkt = GenPkt()
@@ -457,7 +461,7 @@ if __name__ == '__main__':
+genWriteTransPktCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx)
+genTrgTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx)
+genReadAckPktCode(gen_file_def, sm_idx) +genReadAckPktCode(gen_file_def, sm_idx)
+genDisableInsertTimeCode()) +genCheckInsertTimeCode()) #+genDisableInsertTimeCode())
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)