vs实现fft比matlab慢,实例化FFT(vivado) 以及matlab和fpga的fft结果对比

实例化FFT(vivado) 以及matlab和fpga的fft结果对比

实例化FFT(vivado) 以及matlab和fpga的fft结果对比

前言

我是fpga小白,在vivado软件上实例化fft单元的时候,走了不少弯路;记录下来,能加深记忆,也希望能够帮助向我一样的小白,快速上手fft。

一、FFT

fft就是快速傅里叶变换,具体理论,课堂上课本上博客上都有,不赘述了。在这里我将使用vivado软件实例化一个长度为64的快速傅里叶变换IP核,并将运算结果和matlab中的运算结果相比较。

二、使用步骤

706c0f2cc9ad11badb650d0c644dff57.png

新建工程没啥好说的,如果有开发板,那就按照对应的型号芯片来创建,然后点击一万个next一万个finish就好了。

下面是我建立好的工程:

d0d74833b2df5182087a247d3ba8a108.png

截图的时候我的相关文件代码都搞好了,所以design sources后面的()里面是3,新建的应该都是零。

2.1 按照途中顺序操作:

5ed32cdb46e0813115c95e79cbfe02bb.png

2.2 configuration

双击完了axi4-stream的那个fft就弹出来了配置页面

d69db5ab39d4bef35a42f7089bc5c74a.png

图中最关键的就是Transform Length,就是fft的点数,我设置的是64;Number of Channel应该指的是例化fft的个数,如果是1,就是一个64位的fft单元,如果是2,就是有两个64位的单元,组成了两个通道,这样就避免了重复配置。

2.3  implementation

下面是implementation子目录截图:

5e2f3c46455a87a347a85357bc84b758.png

数据格式,定点,初次学习,定点方便理解;浮点数比较复杂,可以单独去学习;剩下的就按照图中配置,记得给xk_index打上钩,这个是fft结果的索引,换个说法,如果fft结果是个数据流,那打了对勾,这个数数据流就自带下标。

481de0ae7cc925c2c265a54e63aeaca7.png

剩下的也是如图配置;在latency标签下面可以看到最终的延迟:

a82ffc55e516bac3fb715fa5e5253f5c.png

点击ok生成等待,ip核就可以用了,怎么用,下面讲。

511a03d3022eb57c777746967ae2f376.png

vivado软件很人性化,会自动生成ip核的调用方式的模板,位置如图所示:

84463a2a324d42e50d55de5903806cc3.png

双击.veo也就是Verilog版本的例化模板可以看到这些东西:

6feac9faae810c2fdbef70ba02d19562.png

把选中的部分复制下来;开始写top文件,也就是驱动这个ip

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值