`timescale 1 ns / 1 ps module ShinTopTb( ); reg clock; reg reset; wire [3:0] io_down_ready; wire [3:0] io_down_valid; wire [31:0] io_down_bits_tdata; wire [3:0] io_down_bits_tlast; wire [3:0] io_down_bits_tuser; wire [3:0] io_up_ready; wire [3:0] io_up_valid; wire [31:0] io_up_bits_tdata; wire [3:0] io_up_bits_tlast; wire [3:0] io_up_bits_tuser; reg [63:0] timeStamp = 0; reg [10:0] sram_w_0_addrw; reg [7:0] sram_w_0_dataw; reg sram_w_0_enw = 1'b0; reg txCmf = 1'b0; reg req_valid = 1'b0; reg [14:0] req_bits_txAddr; reg [14:0] req_bits_rxAddr; reg [11:0] req_bits_length; ShinTop s_ShinTop_Mst( .clock(clock), .reset(reset), .io_downIn_ready (), .io_downIn_valid (1'b0), .io_downIn_bits_tdata (8'd0), .io_downIn_bits_tlast (1'b0), .io_downIn_bits_tuser (1'b0), .io_downOut_ready (io_down_ready[0]), .io_downOut_valid (io_down_valid[0]), .io_downOut_bits_tdata(io_down_bits_tdata[7:0]), .io_downOut_bits_tlast(io_down_bits_tlast[0]), .io_downOut_bits_tuser(io_down_bits_tuser[0]), .io_upIn_ready (io_up_ready[0]), .io_upIn_valid (io_up_valid[0]), .io_upIn_bits_tdata (io_up_bits_tdata[7:0]), .io_upIn_bits_tlast (io_up_bits_tlast[0]), .io_upIn_bits_tuser (io_up_bits_tuser[0]), .io_upOut_ready (1'b1), .io_upOut_valid (), .io_upOut_bits_tdata (), .io_upOut_bits_tlast (), .io_upOut_bits_tuser (), .io_timeStamp(timeStamp), .io_dSMdeq_0(1'b0), .io_dSMdeq_1(1'b0), .io_dSMdeq_2(1'b0), .io_dSMdeq_3(1'b0), .io_uSMenq_0(txCmf), .io_uSMenq_1(1'b0), .io_uSMenq_2(1'b0), .io_uSMenq_3(1'b0), .io_sram_w_0_addrw(sram_w_0_addrw), .io_sram_w_0_dataw(sram_w_0_dataw), .io_sram_w_0_enw (sram_w_0_enw), .io_sram_w_1_addrw(11'd0), .io_sram_w_1_dataw(8'h0), .io_sram_w_1_enw(1'b0), .io_sram_w_2_addrw(11'd0), .io_sram_w_2_dataw(8'h0), .io_sram_w_2_enw(1'b0), .io_sram_w_3_addrw(11'd0), .io_sram_w_3_dataw(8'h0), .io_sram_w_3_enw(1'b0), .io_sram_r_0_addrr(11'd0), .io_sram_r_0_datar(), .io_sram_r_0_enr(1'b0), .io_sram_r_1_addrr(11'd0), .io_sram_r_1_datar(), .io_sram_r_1_enr(1'b0), .io_sram_r_2_addrr(11'd0), .io_sram_r_2_datar(), .io_sram_r_2_enr(1'b0), .io_sram_r_3_addrr(11'd0), .io_sram_r_3_datar(), .io_sram_r_3_enr(1'b0), .io_modeSel(1'b1), //主机模式 .io_req_valid (req_valid), .io_req_bits_txAddr(req_bits_txAddr), .io_req_bits_rxAddr(req_bits_rxAddr), .io_req_bits_length(req_bits_length), .io_rsp_valid(), .io_rsp_bits_isError(), .io_rsp_bits_length() ); ShinTop s_ShinTop_slv0( .clock(clock), .reset(reset), .io_downIn_ready (io_down_ready[0]), .io_downIn_valid (io_down_valid[0]), .io_downIn_bits_tdata (io_down_bits_tdata[7:0]), .io_downIn_bits_tlast (io_down_bits_tlast[0]), .io_downIn_bits_tuser (io_down_bits_tuser[0]), .io_downOut_ready (io_down_ready[1]), .io_downOut_valid (io_down_valid[1]), .io_downOut_bits_tdata(io_down_bits_tdata[15:8]), .io_downOut_bits_tlast(io_down_bits_tlast[1]), .io_downOut_bits_tuser(io_down_bits_tuser[1]), .io_upIn_ready (io_up_ready[1]), .io_upIn_valid (io_up_valid[1]), .io_upIn_bits_tdata (io_up_bits_tdata[15:8]), .io_upIn_bits_tlast (io_up_bits_tlast[1]), .io_upIn_bits_tuser (io_up_bits_tuser[1]), .io_upOut_ready (io_up_ready[0]), .io_upOut_valid (io_up_valid[0]), .io_upOut_bits_tdata (io_up_bits_tdata[7:0]), .io_upOut_bits_tlast (io_up_bits_tlast[0]), .io_upOut_bits_tuser (io_up_bits_tuser[0]), .io_timeStamp(timeStamp), .io_dSMdeq_0(1'b0), .io_dSMdeq_1(1'b0), .io_dSMdeq_2(1'b0), .io_dSMdeq_3(1'b0), .io_uSMenq_0(1'b0), .io_uSMenq_1(1'b0), .io_uSMenq_2(1'b0), .io_uSMenq_3(1'b0), .io_sram_w_0_addrw(11'd0), .io_sram_w_0_dataw(8'h0), .io_sram_w_0_enw(1'b0), .io_sram_w_1_addrw(11'd0), .io_sram_w_1_dataw(8'h0), .io_sram_w_1_enw(1'b0), .io_sram_w_2_addrw(11'd0), .io_sram_w_2_dataw(8'h0), .io_sram_w_2_enw(1'b0), .io_sram_w_3_addrw(11'd0), .io_sram_w_3_dataw(8'h0), .io_sram_w_3_enw(1'b0), .io_sram_r_0_addrr(11'd0), .io_sram_r_0_datar(), .io_sram_r_0_enr(1'b0), .io_sram_r_1_addrr(11'd0), .io_sram_r_1_datar(), .io_sram_r_1_enr(1'b0), .io_sram_r_2_addrr(11'd0), .io_sram_r_2_datar(), .io_sram_r_2_enr(1'b0), .io_sram_r_3_addrr(11'd0), .io_sram_r_3_datar(), .io_sram_r_3_enr(1'b0), .io_modeSel(1'b0), .io_req_valid(1'b0), .io_req_bits_txAddr(15'h0), .io_req_bits_rxAddr(15'h0), .io_req_bits_length(12'd0), .io_rsp_valid(), .io_rsp_bits_isError(), .io_rsp_bits_length() ); ShinTop s_ShinTop_slv1( .clock(clock), .reset(reset), .io_downIn_ready (io_down_ready[1]), .io_downIn_valid (io_down_valid[1]), .io_downIn_bits_tdata (io_down_bits_tdata[15:8]), .io_downIn_bits_tlast (io_down_bits_tlast[1]), .io_downIn_bits_tuser (io_down_bits_tuser[1]), .io_downOut_ready (io_down_ready[2]), .io_downOut_valid (io_down_valid[2]), .io_downOut_bits_tdata(io_down_bits_tdata[23:16]), .io_downOut_bits_tlast(io_down_bits_tlast[2]), .io_downOut_bits_tuser(io_down_bits_tuser[2]), .io_upIn_ready (io_up_ready[2]), .io_upIn_valid (io_up_valid[2]), .io_upIn_bits_tdata (io_up_bits_tdata[23:16]), .io_upIn_bits_tlast (io_up_bits_tlast[2]), .io_upIn_bits_tuser (io_up_bits_tuser[2]), .io_upOut_ready (io_up_ready[1]), .io_upOut_valid (io_up_valid[1]), .io_upOut_bits_tdata (io_up_bits_tdata[15:8]), .io_upOut_bits_tlast (io_up_bits_tlast[1]), .io_upOut_bits_tuser (io_up_bits_tuser[1]), .io_timeStamp(timeStamp), .io_dSMdeq_0(1'b0), .io_dSMdeq_1(1'b0), .io_dSMdeq_2(1'b0), .io_dSMdeq_3(1'b0), .io_uSMenq_0(1'b0), .io_uSMenq_1(1'b0), .io_uSMenq_2(1'b0), .io_uSMenq_3(1'b0), .io_sram_w_0_addrw(11'd0), .io_sram_w_0_dataw(8'h0), .io_sram_w_0_enw(1'b0), .io_sram_w_1_addrw(11'd0), .io_sram_w_1_dataw(8'h0), .io_sram_w_1_enw(1'b0), .io_sram_w_2_addrw(11'd0), .io_sram_w_2_dataw(8'h0), .io_sram_w_2_enw(1'b0), .io_sram_w_3_addrw(11'd0), .io_sram_w_3_dataw(8'h0), .io_sram_w_3_enw(1'b0), .io_sram_r_0_addrr(11'd0), .io_sram_r_0_datar(), .io_sram_r_0_enr(1'b0), .io_sram_r_1_addrr(11'd0), .io_sram_r_1_datar(), .io_sram_r_1_enr(1'b0), .io_sram_r_2_addrr(11'd0), .io_sram_r_2_datar(), .io_sram_r_2_enr(1'b0), .io_sram_r_3_addrr(11'd0), .io_sram_r_3_datar(), .io_sram_r_3_enr(1'b0), .io_modeSel(1'b0), .io_req_valid(1'b0), .io_req_bits_txAddr(15'h0), .io_req_bits_rxAddr(15'h0), .io_req_bits_length(12'd0), .io_rsp_valid(), .io_rsp_bits_isError(), .io_rsp_bits_length() ); ShinTop s_ShinTop_slv2( .clock(clock), .reset(reset), .io_downIn_ready (io_down_ready[2]), .io_downIn_valid (io_down_valid[2]), .io_downIn_bits_tdata (io_down_bits_tdata[23:16]), .io_downIn_bits_tlast (io_down_bits_tlast[2]), .io_downIn_bits_tuser (io_down_bits_tuser[2]), .io_downOut_ready (io_down_ready[3]), .io_downOut_valid (io_down_valid[3]), .io_downOut_bits_tdata(io_down_bits_tdata[31:24]), .io_downOut_bits_tlast(io_down_bits_tlast[3]), .io_downOut_bits_tuser(io_down_bits_tuser[3]), .io_upIn_ready (io_up_ready[3]), .io_upIn_valid (io_up_valid[3]), .io_upIn_bits_tdata (io_up_bits_tdata[31:24]), .io_upIn_bits_tlast (io_up_bits_tlast[3]), .io_upIn_bits_tuser (io_up_bits_tuser[3]), .io_upOut_ready (io_up_ready[2]), .io_upOut_valid (io_up_valid[2]), .io_upOut_bits_tdata (io_up_bits_tdata[23:16]), .io_upOut_bits_tlast (io_up_bits_tlast[2]), .io_upOut_bits_tuser (io_up_bits_tuser[2]), .io_timeStamp(timeStamp), .io_dSMdeq_0(1'b0), .io_dSMdeq_1(1'b0), .io_dSMdeq_2(1'b0), .io_dSMdeq_3(1'b0), .io_uSMenq_0(1'b0), .io_uSMenq_1(1'b0), .io_uSMenq_2(1'b0), .io_uSMenq_3(1'b0), .io_sram_w_0_addrw(11'd0), .io_sram_w_0_dataw(8'h0), .io_sram_w_0_enw(1'b0), .io_sram_w_1_addrw(11'd0), .io_sram_w_1_dataw(8'h0), .io_sram_w_1_enw(1'b0), .io_sram_w_2_addrw(11'd0), .io_sram_w_2_dataw(8'h0), .io_sram_w_2_enw(1'b0), .io_sram_w_3_addrw(11'd0), .io_sram_w_3_dataw(8'h0), .io_sram_w_3_enw(1'b0), .io_sram_r_0_addrr(11'd0), .io_sram_r_0_datar(), .io_sram_r_0_enr(1'b0), .io_sram_r_1_addrr(11'd0), .io_sram_r_1_datar(), .io_sram_r_1_enr(1'b0), .io_sram_r_2_addrr(11'd0), .io_sram_r_2_datar(), .io_sram_r_2_enr(1'b0), .io_sram_r_3_addrr(11'd0), .io_sram_r_3_datar(), .io_sram_r_3_enr(1'b0), .io_modeSel(1'b0), .io_req_valid(1'b0), .io_req_bits_txAddr(15'h0), .io_req_bits_rxAddr(15'h0), .io_req_bits_length(12'd0), .io_rsp_valid(), .io_rsp_bits_isError(), .io_rsp_bits_length() ); ShinTop s_ShinTop_slv3( .clock(clock), .reset(reset), .io_downIn_ready (io_down_ready[3]), .io_downIn_valid (io_down_valid[3]), .io_downIn_bits_tdata (io_down_bits_tdata[31:24]), .io_downIn_bits_tlast (io_down_bits_tlast[3]), .io_downIn_bits_tuser (io_down_bits_tuser[3]), .io_downOut_ready (1'b0), .io_downOut_valid (), .io_downOut_bits_tdata(), .io_downOut_bits_tlast(), .io_downOut_bits_tuser(), .io_upIn_ready (), .io_upIn_valid (1'b0), .io_upIn_bits_tdata (8'd0), .io_upIn_bits_tlast (1'b0), .io_upIn_bits_tuser (1'b0), .io_upOut_ready (io_up_ready[3]), .io_upOut_valid (io_up_valid[3]), .io_upOut_bits_tdata (io_up_bits_tdata[31:24]), .io_upOut_bits_tlast (io_up_bits_tlast[3]), .io_upOut_bits_tuser (io_up_bits_tuser[3]), .io_timeStamp(timeStamp), .io_dSMdeq_0(1'b0), .io_dSMdeq_1(1'b0), .io_dSMdeq_2(1'b0), .io_dSMdeq_3(1'b0), .io_uSMenq_0(1'b0), .io_uSMenq_1(1'b0), .io_uSMenq_2(1'b0), .io_uSMenq_3(1'b0), .io_sram_w_0_addrw(11'd0), .io_sram_w_0_dataw(8'h0), .io_sram_w_0_enw(1'b0), .io_sram_w_1_addrw(11'd0), .io_sram_w_1_dataw(8'h0), .io_sram_w_1_enw(1'b0), .io_sram_w_2_addrw(11'd0), .io_sram_w_2_dataw(8'h0), .io_sram_w_2_enw(1'b0), .io_sram_w_3_addrw(11'd0), .io_sram_w_3_dataw(8'h0), .io_sram_w_3_enw(1'b0), .io_sram_r_0_addrr(11'd0), .io_sram_r_0_datar(), .io_sram_r_0_enr(1'b0), .io_sram_r_1_addrr(11'd0), .io_sram_r_1_datar(), .io_sram_r_1_enr(1'b0), .io_sram_r_2_addrr(11'd0), .io_sram_r_2_datar(), .io_sram_r_2_enr(1'b0), .io_sram_r_3_addrr(11'd0), .io_sram_r_3_datar(), .io_sram_r_3_enr(1'b0), .io_modeSel(1'b0), .io_req_valid(1'b0), .io_req_bits_txAddr(15'h0), .io_req_bits_rxAddr(15'h0), .io_req_bits_length(12'd0), .io_rsp_valid(), .io_rsp_bits_isError(), .io_rsp_bits_length() ); always @(posedge clock) begin timeStamp <= timeStamp + 64'd1; end initial begin clock = 0; reset = 0; #100 reset <= 1; #100 reset <= 0; #1000000 $display("Time Out !!!"); $stop; end initial begin forever begin #10 clock <= ~clock; end end initial begin $dumpfile("./tb/build/wave.vcd"); //生成的vcd文件名称 $dumpvars(0, ShinTopTb);//tb模块名称 end reg [7:0] dataBuf[0:2047]; initial begin end // for( integer i = 0; i < 8; i = i + 1 ) begin // if( i != 5 ) begin // dataBuf[3 + 64 * i + 0] = $random; // dataBuf[3 + 64 * i + 1] = $random; // dataBuf[3 + 64 * i + 2] = $random; // dataBuf[3 + 64 * i + 3] = $random; // dataBuf[3 + 64 * i + 4] = 8'h0; // dataBuf[3 + 64 * i + 5] = 8'd56; // dataBuf[3 + 64 * i + 6] = $random; // dataBuf[3 + 64 * i + 7] = $random; // end // end initial begin //嗅探 #1000 dataBuf[0] = 8'h00; dataBuf[1] = 8'h01;//heeader length 0 嗅探包1 dataBuf[2] = 8'h00; dataBuf[3] = 8'h00; //无子报文 //装填sram for( integer i = 0; i < 4; i = i + 1 ) begin @(posedge clock) #3 sram_w_0_enw = 1'b1; sram_w_0_addrw = i; sram_w_0_dataw = dataBuf[i]; end @(posedge clock) #3 sram_w_0_enw = 1'b0; sram_w_0_addrw = 15'h0; sram_w_0_dataw = 8'h0; //提交SM @(posedge clock) #3 txCmf = 1'b1; @(posedge clock) #3 txCmf = 1'b0; //发布请求 @(posedge clock) #3 req_valid = 1'b1; req_bits_txAddr = 0; req_bits_rxAddr = 0; req_bits_length = 4; @(posedge clock) #3 req_valid = 1'b0; // 顺序索引 #10000 dataBuf[0] = 8'h00; dataBuf[1] = 8'ha0;//heeader length 10 dataBuf[2] = 8'h00; dataBuf[3] = 8'h00; //子报文 //设置顺序地址 dataBuf[4] = 8'h0; //设备索引 dataBuf[5] = 8'h0; //设备索引、类型 dataBuf[6] = $random; //地址 dataBuf[7] = $random; //地址 dataBuf[8] = 8'hd0; //命令d 负载长度2 dataBuf[9] = 8'd02; //负载长度2 dataBuf[10] = 8'h0; //工作计数0 dataBuf[11] = 8'h0; //工作计数0 dataBuf[12] = 8'h0; //负载 dataBuf[13] = 8'h0; //负载 for( integer i = 0; i < 14; i = i + 1 ) begin @(posedge clock) #3 sram_w_0_enw = 1'b1; sram_w_0_addrw = i; sram_w_0_dataw = dataBuf[i]; end @(posedge clock) #3 sram_w_0_enw = 1'b0; sram_w_0_addrw = 15'h0; sram_w_0_dataw = 8'h0; @(posedge clock) #3 txCmf = 1'b1; @(posedge clock) #3 txCmf = 1'b0; @(posedge clock) #3 req_valid = 1'b1; req_bits_txAddr = 0; req_bits_rxAddr = 0; req_bits_length = 14; @(posedge clock) #3 req_valid = 1'b0; end // always @(posedge clock) begin // end // initial begin // #1000 // s_ShinTop.slaveParser.localDevIndex = 3; //强制设备索引为3,测试子报文操作 // //主帧头 // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = 8'h20; // @( io_downIn_valid & io_downIn_ready) // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = 8'h00; //heeader length 512 // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = 8'h00; // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = 8'h00; // //子报文 // for( integer i = 0; i < 8; i = i + 1 ) begin // if( i != 5 ) begin // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = $random; // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = $random; // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = $random; // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = $random; // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = 8'h0; // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = 8'd56; // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = $random; // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = $random; // for( integer j = 0; j < 64-8; j = j+ 1 ) begin // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = 8'ha5; //heeader length 512 // end // end else begin //第5个子报文操作 // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = 8'h0; // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = 8'hC; //3号设备 类型空 // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = 8'h08; //地址 //SM0 // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = 8'h30; //地址 //偏置 // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = 8'h30; //命令3 长度56 // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = 8'd56; //长度56 // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = $random; //工作计数 // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = $random; //工作计数 // for( integer j = 0; j < 64-8; j = j+ 1 ) begin // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = 8'h55; //heeader length 512 // end // end // end // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = $random; // io_downIn_bits_tlast = 0; // io_downIn_bits_tuser = 0; // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = $random; // io_downIn_bits_tlast = 0; // io_downIn_bits_tuser = 0; // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = $random; // io_downIn_bits_tlast = 0; // io_downIn_bits_tuser = 0; // @(posedge clock) #3 // io_downIn_valid = 1; // io_downIn_bits_tdata = $random; // io_downIn_bits_tlast = 1; // io_downIn_bits_tuser = 0; // @(posedge clock) #3 // io_downIn_valid = 0; // io_downIn_bits_tlast = 0; // #1000 // #1000 // #1000 // #1000 // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = 8'h20; // @( io_upIn_valid & io_upIn_ready) // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = 8'h00; //heeader length 512 // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = 8'h00; //heeader frameInfo // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = 8'h00; //heeader frameInfo // for( integer i = 0; i < 8; i = i + 1 ) begin // if( i != 5 ) begin // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = $random; // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = $random; // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = $random; // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = $random; // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = 8'h0; // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = 8'd56; // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = $random; // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = $random; // for( integer j = 0; j < 64-8; j = j+ 1 ) begin // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = 8'ha5; //heeader length 512 // end // end else begin //第5个子报文操作 // // io_sram_r_datar = 8'hec; // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = 8'h0; // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = 8'hC; //3号设备 类型空 // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = 8'h10; //地址SM1 // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = 8'h10; //地址偏置 // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = 8'h30; //命令3 长度56 // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = 8'd56; //长度56 // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = $random; //工作计数 // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = $random; //工作计数 // for( integer j = 0; j < 64-8; j = j+ 1 ) begin // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = 8'h55; //heeader length 512 // end // end // end // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = $random; // io_upIn_bits_tlast = 0; // io_upIn_bits_tuser = 0; // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = $random; // io_upIn_bits_tlast = 0; // io_upIn_bits_tuser = 0; // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = $random; // io_upIn_bits_tlast = 0; // io_upIn_bits_tuser = 0; // @(posedge clock) #3 // io_upIn_valid = 1; // io_upIn_bits_tdata = $random; // io_upIn_bits_tlast = 1; // io_upIn_bits_tuser = 0; // @(posedge clock) #3 // io_upIn_valid = 0; // io_upIn_bits_tlast = 0; // end endmodule