我用FPGA的IP核例化了一个FFT,但是怎样验证,怎样对间隔一段的数据做FFT运算,还有就是怎样它的仿真程序

我用FPGA的IP核例化了一个FFT,但是怎样验证,怎样对间隔一段的数据做FFT运算,还有就是怎样它的仿真程序,第1张

用IP可以实现实时转换,简单易用,如果不用IP估计算法的复杂度你不能忍受。

FFT的IP有多种模式可以选,流水模式是实时的但是很消耗资源,如果你的片子资源有限考虑到你做的是图像处理其实速度要求不算高,可以考虑突发模式,如果你每次运算1024个点的话,我印象中好像是需要7000多个时钟周期,也就是说平均7时钟周期算一个点,通过抬高IP的工作时钟,然后再用双口RAM解决它与别的模块跨时钟域问题,这样就OK了

用megacorefunction生成ip的同时就生成了功能仿真模型(*.vo)testbench(*_tb.v)和激励文件(*imag_input.txt和*real_input.txt)

然后就是通用的仿真步骤 仿真的dut是这个模型(如果有源码可以直接仿真源码)

可以看一下FFT MegaCore Function User Guide的第二章Simulate with IP Functional Simulation Models

基跟你选择的点数没有关系,同样点数的fft、基2最慢、基8当然要比基2快,基2就是抽取2个数做蝶变,基8是抽取8个数做蝶变,这样理解当然就是抽取8个点要快,这个你应当看看FFT的算法原理。FPGA做FFT一般都是用IP核做,比较简单,基2还是基4自己选择就可以了。基4必须是2的偶次方,比如说你要是算128点,128是2的7次方,就不能用基4,软件会自动选择基2.你在看看FPGA的IP核吧!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11305336.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存