axis 数据流

Posted 木心的木偶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axis 数据流相关的知识,希望对你有一定的参考价值。

产生数据流的代码

`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: kc
// Engineer: ys
//////////////////////////////////////////////////////////////////////////////////


module RMS_Detection_top_tb(

    );
        reg [15:0]axis_data_cnt=d0;
    reg [15:0]axis_data_frame_cnt=d0;
    reg [5:0]delay_cnt=d0;
reg    clk;
reg rst_n;
reg start_peak;
reg stop_peak;
reg [31:0]frameCount;
reg clear_com=1;
reg [23:0]s_axis_dpx_data;
reg [23:0]s_axis_dpx_addr;
reg [11:0]s_axis_dpx_user;
reg s_axis_dpx_last;
reg s_axis_dpx_valid;
//////////////////////////
//debug
// wire dpram_write_en;
// wire [11:0]dpram_write_addr;
// // wire [23:0]dpram_write_data;
    // wire [23:0]data_write;
// wire [11:0]dpram_read_addr;
// wire [23:0]dpram_read_data;

//////////////////////////////

wire [11:0]m_axis_user;
wire [23:0]m_axis_data;
wire m_axis_valid;
wire m_axis_last;
wire [2:0]state;
    
 RMS_Detection_top myIP1(
.clk(clk),
.rst_n(rst_n),
.start_peak(start_peak),
.stop_peak(stop_peak),
.frameCount(d8),
.fft_point(d512),

.s_axis_data(s_axis_dpx_data),
.s_axis_user(s_axis_dpx_addr[11:0]),
.s_axis_last(s_axis_dpx_last),
.s_axis_valid(s_axis_dpx_valid),
//////////////////////////
//debug
// .dpram_write_en(dpram_write_en),
// .dpram_write_addr(dpram_write_addr),
// .dpram_write_data(),
    
// .dpram_read_addr(dpram_read_addr),
// .dpram_read_data(dpram_read_data),
// .data_write(data_write),
// .STATE_CASE(state),
//////////////////////////////

.m_axis_user(m_axis_user),
.m_axis_data(m_axis_data),
.m_axis_valid(m_axis_valid),
.m_axis_last(m_axis_last)
    );
    initial begin
    #10 clk=0;
    forever begin
    #3.334 clk=~clk;
    end
    end
    initial 
        begin
        #20 rst_n=0;
        #100 rst_n=1;
        #300 rst_n=0;
        #100 rst_n=1;
        end
    initial begin
        #10 start_peak=1;
        stop_peak=0;
    end
    always @(posedge clk)
        begin
            if(!rst_n)
                begin
                    s_axis_dpx_data<=d0;
                    s_axis_dpx_addr<=d0;
                    s_axis_dpx_valid<=0;
                    s_axis_dpx_last<=0;
                    axis_data_frame_cnt<=d0;
                    delay_cnt<=d0;
                    axis_data_cnt<=d0;
                end
           else
            begin
                if(clear_com)
                     begin
                        if(axis_data_frame_cnt<=d51200)//22*10  10frame
                            begin
                                axis_data_frame_cnt<=axis_data_frame_cnt+1;
                                if(axis_data_cnt<16d510)
                                    begin
                                        if(delay_cnt==d7)
                                        begin
                                            delay_cnt<=d0;
                                            s_axis_dpx_data<=s_axis_dpx_data+1;
                                            s_axis_dpx_addr<=s_axis_dpx_addr+1;
                                            axis_data_cnt<=axis_data_cnt+1;
                                            s_axis_dpx_valid<=1;
                                            s_axis_dpx_last<=0;
                                        end
                                        else
                                        begin
                                            delay_cnt<=delay_cnt+1;
                                            s_axis_dpx_data<=s_axis_dpx_data;
                                            s_axis_dpx_addr<=s_axis_dpx_addr;
                                            axis_data_cnt<=axis_data_cnt;
                                            s_axis_dpx_valid<=0;
                                            s_axis_dpx_last<=0;
                                        end
                                    end
                                else if(axis_data_cnt ==16d510)
                                    begin
                                        if(delay_cnt==d7)
                                        begin
                                        delay_cnt<=d0;
                                        s_axis_dpx_data<=s_axis_dpx_data+1;
                                        s_axis_dpx_addr<=s_axis_dpx_addr+1;
                                        s_axis_dpx_valid<=1;
                                        s_axis_dpx_last<=1;
                                        axis_data_cnt<=axis_data_cnt+1;
                                        end
                                        else
                                        begin
                                        delay_cnt<=delay_cnt+1;
                                        s_axis_dpx_data<=s_axis_dpx_data;
                                        s_axis_dpx_addr<=s_axis_dpx_addr;
                                        s_axis_dpx_valid<=0;
                                        s_axis_dpx_last<=0;
                                        axis_data_cnt<=axis_data_cnt;
                                        end
                                    end
                                else if(axis_data_cnt==16d511)
                                    begin
                                    if(delay_cnt==d7)
                                        begin
                                            delay_cnt<=d0;
                                            s_axis_dpx_data<=s_axis_dpx_data;
                                            s_axis_dpx_addr<=s_axis_dpx_addr;
                                            s_axis_dpx_valid<=d0;
                                            axis_data_cnt<=axis_data_cnt+1;
                                            s_axis_dpx_last<=0;
                                        end
                                    else
                                        begin
                                            delay_cnt<=delay_cnt+1;
                                            s_axis_dpx_data<=s_axis_dpx_data;
                                            s_axis_dpx_addr<=s_axis_dpx_addr;
                                            s_axis_dpx_valid<=d0;
                                            axis_data_cnt<=axis_data_cnt;
                                            s_axis_dpx_last<=0;
                                        end
                                    end
                                 else
                                    begin
                                    //if(delay_cnt==‘d3)
                                        delay_cnt<=d0;
                                        s_axis_dpx_data<=s_axis_dpx_data;
                                        s_axis_dpx_addr<=d0;
                                        s_axis_dpx_valid<=d1;
                                        axis_data_cnt<=0;
                                        s_axis_dpx_last<=0;
                                    end
                            end
                       
                        else
                            begin
                                        axis_data_frame_cnt<=axis_data_frame_cnt;
                                        s_axis_dpx_data<=d1;
                                        s_axis_dpx_addr<=d1;
                                        s_axis_dpx_valid<=d0;
                                        s_axis_dpx_last<=0;
                                        axis_data_cnt<=16d20;
                            end
                    end
            end
        end
    // always @(posedge clk)
        // begin
            // if(!rst_n)
                // begin
                    // s_axis_dpx_data<=‘d0;
                    // s_axis_dpx_addr<=‘d0;
                    // s_axis_dpx_valid<=0;
                    // s_axis_dpx_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==‘d3)
                                        // // begin
                                            // // delay_cnt<=‘d0;
                                            // s_axis_dpx_data<=s_axis_dpx_data+1;
                                            // s_axis_dpx_addr<=s_axis_dpx_addr+1;
                                            // axis_data_cnt<=axis_data_cnt+1;
                                            // s_axis_dpx_valid<=1;
                                            // s_axis_dpx_last<=0;
                                        // // end
                                        // // else
                                        // // begin
                                            // // delay_cnt<=delay_cnt+1;
                                            // // s_axis_dpx_data<=s_axis_dpx_data;
                                            // // axis_data_cnt<=axis_data_cnt;
                                            // // s_axis_dpx_valid<=0;
                                            // // s_axis_dpx_last<=0;
                                        // // end
                                    // end
                                // else if(axis_data_cnt==16‘d510)
                                    // begin
                                        // // if(delay_cnt==‘d3)
                                        // // begin
                                        // delay_cnt<=‘d0;
                                        // s_axis_dpx_data<=s_axis_dpx_data+1;
                                        // s_axis_dpx_addr<=s_axis_dpx_addr+1;
                                        // s_axis_dpx_valid<=1;
                                        // s_axis_dpx_last<=1;
                                        // axis_data_cnt<=axis_data_cnt+1;
                                        // // end
                                        // // else
                                        // // begin
                                        // // delay_cnt<=delay_cnt+1;
                                        // // s_axis_dpx_data<=s_axis_dpx_data;
                                        // // s_axis_dpx_valid<=0;
                                        // // s_axis_dpx_last<=0;
                                        // // axis_data_cnt<=axis_data_cnt;
                                        // // end
                                    // end
                                // else if(axis_data_cnt==16‘d511)
                                    // begin
                                    // if(delay_cnt==‘d3)
                                        // begin
                                            // delay_cnt<=‘d0;
                                            // s_axis_dpx_data<=s_axis_dpx_data;
                                            // s_axis_dpx_addr<=s_axis_dpx_addr;
                                            // s_axis_dpx_valid<=‘d0;
                                            // axis_data_cnt<=axis_data_cnt+1;
                                            // s_axis_dpx_last<=0;
                                        // end
                                    // else
                                        // begin
                                            // delay_cnt<=delay_cnt+1;
                                            // s_axis_dpx_data<=s_axis_dpx_data;
                                            // s_axis_dpx_addr<=s_axis_dpx_addr;
                                            // s_axis_dpx_valid<=‘d0;
                                            // axis_data_cnt<=axis_data_cnt;
                                            // s_axis_dpx_last<=0;
                                        // end
                                    // end
                                 // else
                                    // begin
                                    // //if(delay_cnt==‘d3)
                                        // delay_cnt<=‘d0;
                                        // s_axis_dpx_data<=s_axis_dpx_data;
                                        // s_axis_dpx_addr<=‘d0;
                                        // s_axis_dpx_valid<=‘d1;
                                        // axis_data_cnt<=0;
                                        // s_axis_dpx_last<=0;
                                    // end
                            // end
                       
                        // else
                            // begin
                                        // axis_data_frame_cnt<=axis_data_frame_cnt;
                                        // s_axis_dpx_data<=‘d1;
                                        // s_axis_dpx_addr<=‘d1;
                                        // s_axis_dpx_valid<=‘d0;
                                        // s_axis_dpx_last<=0;
                                        // axis_data_cnt<=16‘d20;
                            // end
                    // end
            // end
        // end
endmodule

 

以上是关于axis 数据流的主要内容,如果未能解决你的问题,请参考以下文章

有人可以用 Python 中的迭代来解释 axis=0 或 1 吗? [复制]

数据聚合与分组运算

对numpy axis(轴)的理解

根据wsdl,axis2工具生成客户端代码

matplotlib.axis.axes 体积的 mplfinance 错误

Axis2生成wsdl客户端代码并实现webservice调用