diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index ef37d3f..aed854a 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -65,10 +65,6 @@ module ShinTopSpiTb( wire [4:0] io_int_sig; - - reg _reset_deadline_ind; - reg _deadline_ind; - reg[31:0] _deadline_ind_ctr; reg latch0; reg latch1; @@ -331,10 +327,6 @@ initial begin clk8x = 0; reset = 1; - _reset_deadline_ind = 0; - _deadline_ind = 0; - _deadline_ind_ctr = 0; - latch0 = 0; latch1 = 0; @@ -391,22 +383,6 @@ begin $dumpvars(0, ShinTopSpiTb);//tb模块名称 end -always @(posedge clock or posedge _reset_deadline_ind) begin - if (_reset_deadline_ind == 1) begin - _deadline_ind_ctr <= 0; - #30 _reset_deadline_ind <= 0; - end - else begin - _deadline_ind_ctr <= _deadline_ind_ctr + 1; - end - if (_deadline_ind_ctr >= 22000) begin - _deadline_ind <= 1; - end - else begin - _deadline_ind <= 0; - end -end - always @(posedge reset) begin _reset_deactive <= 1'b0; end @@ -820,8 +796,11 @@ task wait_comm_finished(); txBuf[1] = 8'h78; txBuf[2] = `SPI_WRITE; txBuf[3] = 8'h03; + txBuf[4] = 8'h00; + txBuf[5] = 8'h00; + txBuf[6] = 8'h00; - length = 8'h04; + length = 8'h07; idx = `IF_IQSPI(0); #5 @@ -858,18 +837,17 @@ task wait_comm_finished(); //$display("%x %x", rxBuf[3], rxBuf[6]); if ((rxBuf[3] & 8'h02) == 8'h02) begin - $display("1111111111"); is_run = 0; end if ((rxBuf[6] & 8'h60) != 8'h00) begin - $display("222222222"); + $display("error occur"); is_run = 0; end - if (($realtime - st) >= 1000000.0) + if (($realtime - st) >= 5000000.0) begin - $display("333333333"); - //is_run = 0; + $display("comm timeout."); + is_run = 0; end end end @@ -959,12 +937,6 @@ initial begin spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(3)) ); spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(4)) ); - /* - $display("------------------------------ start! %t", $realtime); - _reset_deadline_ind = 1; - @(posedge _deadline_ind) #5 begin end - $display("------------------------------ End! %t", $realtime); - */ end begin:CHECK_INTERRUPT_CFG_REG diff --git a/tb/shinTest/pyutils/GenPkt.py b/tb/shinTest/pyutils/GenPkt.py index 0736367..99072af 100644 --- a/tb/shinTest/pyutils/GenPkt.py +++ b/tb/shinTest/pyutils/GenPkt.py @@ -234,7 +234,6 @@ def genTrgTransPktCode(gen_name, sm_idx, wlog=True): def genReadAckPktCode(gen_name, sm_idx, wlog=True): return '''\n//等待回包\n'''\ - + '''_reset_deadline_ind = 1;\n'''\ + '''wait_comm_finished();\n'''\ + f'''$fdisplay(spidata_file, ">>读取回包,使用SM{sm_idx}:");\n'''\ + '''%s( (`MST_RX%d_ADDR), (`SPI_READ), (`DEF_%s_len), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, gen_name,) diff --git a/tb/shinTest/testcase/ebmmu.py b/tb/shinTest/testcase/ebmmu.py index 354d5f3..5267fa3 100644 --- a/tb/shinTest/testcase/ebmmu.py +++ b/tb/shinTest/testcase/ebmmu.py @@ -939,8 +939,10 @@ def tc8(): gen_file_def = "ebmmu_tc08" sm_idx = 0 - tc_des = "每个从站都使用ebmmu[0],共4个mmu,从0x1000_0000位置向后对齐,每个设备都映射0x800,每个设备占128个字节。\\n" \ + tc_des = "每个从站都使用ebmmu[0],从0x1000_0000位置向后对齐,每个设备都映射0x800,每个设备占128个字节。\\n" \ + "主站使用1个子包,将4个设备的数据一次性写下去。相当于使用单播命令模拟广播命令。\\n"\ + + "ebmmu放出的权限是0x1(只读),但子包的权限要求是只写,两相冲突,子包拒绝执行。\\n"\ + + "从站也无法得到真正有效的数据。\\n"\ + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" #-------------------------------------------------------------------------- diff --git a/tb/shinTest/testcase_result/ebmmu_tc08_result.log b/tb/shinTest/testcase_result/ebmmu_tc08_result.log index 18e5171..466e2b1 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc08_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc08_result.log @@ -27,10 +27,10 @@ 16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h80 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h80 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h80 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx -16'h0800 8'h01 16'h0080 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 -16'h0800 8'h01 16'h0080 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 -16'h0800 8'h01 16'h0080 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 -16'h0800 8'h01 16'h0080 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 +16'h0800 8'h01 16'h0080 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0800 8'h01 16'h0080 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0800 8'h01 16'h0080 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0800 8'h01 16'h0080 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00