当前位置:   article > 正文

Vivado FFT v9.1 手册基础解读(一)-------- IP核输入输出信号与通信协议_vivado fft ip核数据手册

vivado fft ip核数据手册

Xilinx快速傅立叶变换(FFT IP)内核实现了Cooley-Tukey FFT算法,这是一种计算有效的方法,用于计算离散傅立叶变换(DFT)

IP核引脚及功能概览

在这里插入图片描述

a 信号 [时钟]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UBILZLRh-1619847900623)(FFT.assets/1619763544900.png)]

引脚I/O功能
aclkI时钟信号
aresetnI低电平同步复位信号
aclkenI时钟(IP核)使能信号,高有效

s_axis_config 信号 [配置]

在这里插入图片描述

引脚I/O功能
s_axis_config_tvalidI通知IP核可从tdata读取配置数据
s_axis_config_treadyO已准备好接收配置数据,高有效
s_axis_config_tdataI配置通道,并行输入

s_axis_data 信号[数据输入]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YzVicylY-1619847900626)(FFT.assets/1619764294518.png)]

引脚I/O功能
s_axis_data_tvalidI通知IP核此时所有输入数据有效,每个上升沿读一次
s_axis_data_treadyOIP核已准备好接收配置数据,高有效
s_axis_data_tdataI数据通道,并行输入
s_axis_data_tlastI最后一个输入数据时,手动拉高(该数据被读取后,数据将不被读取)

m_axis_data 信号[数据输出]

在这里插入图片描述

引脚I/O功能
m_axis_data_tvalidO通知外部设备此时所有输出数据有效,每个上升沿出一个数据
m_axis_data_treadyI外设已准备好接收配置数据,高有效
m_axis_data_tdataO数据通道,并行输出
m_axis_data_tuserO将数据分为实部XK_RE与虚部XK_IM分别输出
m_axis_data_tlastO最后一个输出数据时,自动拉高

m_axis_status 信号[数据约束]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oT3EIhOg-1619847900629)(FFT.assets/1619766767996.png)]

引脚I/O功能
s_axis_status_tvalidO通知外部设备可读取tdata上的数据,与m_axis_data_tdata同步
s_axis_status_treadyI外设已准备好接收数据,高有效
s_axis_status_tdataO数据指数和溢出标志,并行输出

event 信号

在这里插入图片描述

引脚I/O功能
event_frame_startedO新帧:在IP开始处理新帧时,出现一个周期的高电平
event_tlast_missingO断帧:数据未满一帧但s_axis_dataLtlast却被拉高
event_tlast_unexpectedO错帧:数据满一帧但s_axis_dataLtlast却未被拉高
event_fft_overflowO溢出:计算结果溢出,在使用缩放定点和单精度浮点时才会出现,仅当溢出是有效选项时才出现
event_data_in_channel_haltOIP核需要数据而输入端口不能够提供数据
event_data_out_channel_haltOIP核要输出数据但是输出缓冲区已满,只出现在非实时模式
event_status_channel_haltOIP核写状态寄存器但无法写入,只出现在非实时模式

AXI4-Stream 通信协议

在这里插入图片描述

标准化AXI4-Stream接口:

​ ACLK,ARESETN,ACLKEN -------- 常规控制信号

​ TVALID,TDATA -------- 必填通信字段

​ TREADY,TUSER,TLAST -------- 可选通信字段

TVALID由主机驱动,表示字段TDATA,TUSER,TLAST中的值有效

TREADY由从机驱动,表示从机已准备好接收数据

只有在TVALID,TREADY均为TRUE时,才发生数据传输

s_axis_config_tdata详解

在这里插入图片描述

所有的AXI通道都必须与字节边界(8bits)对齐

PAD+NFFT(可选)

占用:s_axis_config_tdata[ 7:0 ],8bits

NFFT = log2(最大变换点数)

不足8位的高位补0

PAD+CP_LEN(可选)

占用:s_axis_config_tdata[ 15:8 ],8bits

从转换结束起,在输出整个转换之前,最初作为循环前缀输出的样本数。

CP_LEN可以是小于点大小的从零到一的任何数字。该字段仅在循环前缀插入时出现。

FWD/INV

选择对应通道为 FFT变换 / IFFT变换

当FWD_INV = 1时,将计算正变换。如果FWD_INV = 0,则计算逆变换。

SCALE_SCH

伸缩时间表:在每层蝶形单元输出上加权,按比例减小输出,只影响幅度,不影响相位

①突发I/O架构

在这里插入图片描述

每两位SCALE_SCH对应1个阶段,SCALE_SCH[1 : 0]代表第一阶段

Radix-2 Burst I/O或Radix-2 Lite Burst I/O为基2FFT,对应阶段数=NFFT = log2(最大变换点数)

每阶段缩小系数可为0-1-2-3,对应缩小倍数实际为0-2-4-8倍

②流水线I/O结构

在这里插入图片描述

每两位SCALE_SCH对应2个阶段,SCALE_SCH[1 : 0]代表第一、二阶段

Pipelined,Streaming I/O,对应阶段数=NFFT = log4(最大变换点数)

当最大变换点数为4的幂时,每2个阶段缩小系数可为0-1-2-3,对应缩小倍数实际为0-2-4-8倍

当最大变换点数不为4的幂时,最后阶段缩小系数只能为0-1,对应缩小倍数实际为0-2倍

=====================================================
内容来源:pg109
参考手册:pg109
参考文章:https://mp.weixin.qq.com/s/r6VFiTjC4a3inro5adiwEA
参考配置视频:https://mp.weixin.qq.com/s/1TeuQuBGIEbSB-X_0KKnbg
仅供学习交流,后续给出Verilog驱动代码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/669441
推荐阅读
相关标签
  

闽ICP备14008679号