Q:
在 2020-04-26 14:46:53,"ht15510091272" <ht15510091272@163.com> 写道:
杜勇老师您好:
1.在讲解fft的IP核里,数字通信和数字滤波2书本里采用的是Burst结构,这里关于时延,程序里说不超过2048个时钟周期,但是打开ip核,Latency Estimates两个时间都远远超过2048个周期了,这里怎么理解?
2.Burst结构,fft核内已经有了RAM存取器,这样实际应用中,是否就可以免去fifo,直接对采集到的数据进行fft计算?
希望能够得到杜老师解答,谢谢!
补充:书中原文“Burst结构,当fft变换启动时,输入数据说先在时钟控制下同步载入到fft核内部的存储器内,当一帧数载入完成之后,才开始fft运算。”
这里如果做512点的fft,那么前512个时钟,应该是数据输入时刻,sink_valid fft启动信号,从第一个时刻就开始 if ((count>=1) & (count<=512)) sink_valid <= 1'b1;
这里这么写有问题吗?
再次感谢!
A:
1)关于FFT核Burst结构的延时,这与设置的转换长度、数据位宽等参数有关,《数字滤波器的MATLAB与FPGA实现——Altera/Verilog版(第2版)》第282页有参数设置界面图,可参考相关参数。如果你设置的参数与书中不一致,为验证时延等参数,最简单有效的方法是仿真测试。
2)关于FFT FIFO或RAM核的问题。FFT中的RAM核是包括在FFT核中的,用户不可见。用户只需了解FFT核提供的接口信号时序即可。再根据接口信号时序完成其它模块的设计。
3) if ((count>=1) & (count<=512)) sink_valid <= 1'b1;这里这么写有问题吗?
类似问题,最简单有效的方法,用ModelSim仿真,一看波形即可知呵。