FFT的IP核使用报错的检查流程

一、config部分

拉出clk

resetn,

s_axis_config_tdata,

s_axis_config_tready,

s_axis_config_tvalid .这四个信号。

时序行为解释:s_axis_config_tdata是FFT的配置信息,在resetn信号之后,valid信号拉高且只拉高一个时钟周期,然后就能发现s_axis_config_tready拉低了,因为这个时候FFT的配置已经完毕了,过一段时间后s_axis_config_tready信号又会拉高,这时候就不用管了, 因为这个时候拉高是为了实现FFT的重配置功能,一般情况下用不到。

 二、tdata部分

拉出s_axis_data_tready

s_axis_data_tvalid

s_axis_data_tdata

s_axis_data_tlast 

时序行为解释:s_axis_data_tready会一直拉高,中间这段s_axis_data_tready拉低了一段,我也不知道为什么(规律是第一个数据输入了之后会停下来一个时钟周期,这对于流水线简直是灾难),但是我的读取下一个值的计数器是s_axis_data_tready 有效才会读取下一个数据,所以影响不大。

s_axis_data_tvalid在需要进行FFT的数据s_axis_data_tdata开始的地方拉高就可以。

s_axis_data_tlast 

@(posedge clk)begin
            if(s_axis_data_tready == 1)begin
                // 此时给输入数据有效也拉高,准备传输需要做fft的数据
                // reg [data_length*2-1:0] s_axis_data_tdata
                // 高data_length位是输入数据的虚部,低data_length位是输入数据的实部
                // 因为输入数据是正弦波,转化为二进制浮点数,肯定是没有虚部,高data_length位置0就行
                // 注意,这个32后边要改,因为不适合在点数变化的时候使用


                #1;
                s_axis_data_tdata = {data_in_im[data_in_cnt],data_in_re[data_in_cnt]};
                    if(data_in_cnt == transform_length-1)begin
                        // 当输入数据完毕,停止读取,tlast信号持续一个时钟周期
                        data_in_cnt         = 0;
                        s_axis_data_tlast   = 1;
                        // 满足AXI协议的tlast信号要求,在信号结束的时候拉低,注意,需要找方法改进
                        #10;
                        s_axis_data_tlast   = 0         ;
                        data_in_cnt         = 1         ;
                    end
                    else begin
                        data_in_cnt = data_in_cnt + 1   ;
                    end
            end
            #1;
            s_axis_data_tvalid = 1;
        end

补充:为什么s_axis_data_tready会拉低一个时钟周期呢?

因为real time mode需要buffer一个数据

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值