Vivado FFT v9.1 手册基础解读(一)-------- 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驱动代码

  • 5
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Vivado IP是Xilinx公司开发的一种可配置的IP生成工具,可以用于快速生成各种功能的IP。其中,MIPI D-PHY是一种用于手机、摄像头、显示器等设备的高速串行接口协议。 MIPI D-PHY测试可以通过使用Vivado IP生成MIPI D-PHY,并在FPGA平台上进行测试来完成。首先,我们需要在Vivado中创建一个新的项目,选择适当的FPGA型号和开发板。然后,通过Vivado IP生成我们所需要的MIPI D-PHY,并将其添加到我们的项目中。 在项目中添加MIPI D-PHY IP后,我们可以对其进行配置,并将其连接到其他逻辑电路或外部设备。配置参数包括数据通道的位宽、时钟频率、电源电压等。我们还可以配置其他相关的设置,如时钟延迟、电源方案等。 完成配置后,我们可以执行仿真来验证MIPI D-PHY的功能。可以通过发送和接收模拟数据来模拟实际的通信过程,并检查传输的正确性和稳定性。仿真结果应该与预期的规格要求相符。 完成仿真后,可以通过将设计生成比特流文件并下载到FPGA平台上来进行硬件验证。在FPGA上运行实际的测试数据,观察MIPI D-PHY的性能指标,例如误码率、数据传输速率等。这些指标应该与设计规格及MIPI D-PHY协议相符。 总结来说,通过使用Vivado IP生成MIPI D-PHY,并在FPGA平台上进行测试,我们可以验证MIPI D-PHY的功能和性能,确保其正常工作并符合规格要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值