产生数据流的代码
模板
重新修改了下
reg [15:0]axis_data_cnt='d0; reg [15:0]axis_data_frame_cnt='d0; reg [5:0]delay_cnt='d0; initial begin #10 clk=0; forever begin #5 clk=~clk; end end initial begin #20 rst_n=0; #100 rst_n=1; #300 rst_n=0; #100 rst_n=1; end always @(posedge clk) begin if(!rst_n) begin s_axis_data<='d0; s_axis_valid<=0; s_axis_last<=0; axis_data_frame_cnt<='d0; delay_cnt<='d0; axis_data_cnt<='d0; end else begin if(1) begin if(axis_data_frame_cnt<='d51200)//22*10 10frame begin axis_data_frame_cnt<=axis_data_frame_cnt+1; if(axis_data_cnt<16'd510) begin if(delay_cnt=='d7) begin delay_cnt<='d0; s_axis_data<=s_axis_data+1; axis_data_cnt<=axis_data_cnt+1; s_axis_valid<=1; s_axis_last<=0; end else begin delay_cnt<=delay_cnt+1; s_axis_data<=s_axis_data; axis_data_cnt<=axis_data_cnt; s_axis_valid<=0; s_axis_last<=0; end end else if(axis_data_cnt ==16'd510) begin if(delay_cnt=='d7) begin delay_cnt<='d0; s_axis_data<=s_axis_data+1; s_axis_valid<=1; s_axis_last<=1; axis_data_cnt<=axis_data_cnt+1; end else begin delay_cnt<=delay_cnt+1; s_axis_data<=s_axis_data; s_axis_valid<=0; s_axis_last<=0; axis_data_cnt<=axis_data_cnt; end end else if(axis_data_cnt==16'd511) begin if(delay_cnt=='d7) begin delay_cnt<='d0; s_axis_data<=s_axis_data; s_axis_valid<='d0; axis_data_cnt<=axis_data_cnt+1; s_axis_last<=0; end else begin delay_cnt<=delay_cnt+1; s_axis_data<=s_axis_data; s_axis_valid<='d0; axis_data_cnt<=axis_data_cnt; s_axis_last<=0; end end else begin delay_cnt<='d0; s_axis_data<=s_axis_data; s_axis_valid<='d1; axis_data_cnt<=0; s_axis_last<=0; end end else begin axis_data_frame_cnt<=axis_data_frame_cnt; s_axis_data<='d1; s_axis_valid<='d0; s_axis_last<=0; axis_data_cnt<=16'd20; end end end end