vivado FFT的实现

DSP中最常用最基础的FFT运算。

创建FFT核

首先,什么是IP核

在集成电路中,IP(intellectual property)核是指某一方提供的、形式为逻辑单元、芯片设计的可重用模块。

在FPGA的设计中,适当的调用IP核可以提高设计效率,节省设计时间。同时,有些IP核比如 高速接口IP,与FPGA底层的硬件电路资源息息相关。我们在调用IP核时,需要先翻阅IP核的参考资料,了解IP核的结构以及接口定义,方便我们在设计中调用。

可以调用xilinx提供的IP核、第三方的IP核、自己封装的IP核。

配置FFT核:

vivado FFT的实现

IP核

只要IP catalog界面中Fast fourier transform 的license状态为“included”即可正常使用。

 

双击Fast Fourier Transform,选择Customize IP,主界面如下:

vivado FFT的实现

vivado的FFT IP核配置起来更加复杂,功能也更加强大。左边是IP核的接口图(IP Symbol)、实现消耗的资源等信息(Implementation Details)、计算FFT所需的时间(Latency);右边是configuration、Implementation和Detailed Implementation三个标签卡。

 

需要配置的参数有三个标签页,需要一一配置

第一个标签页IP Symbol,主要配置通道数、点数、时钟、吞吐量、可以运行时配置,需要注意的是结构的配置回影响调整因子。

vivado FFT的实现

vivado的FFT IP核支持多通道输入(Number of channels)、实时更改FFT的点数(Run time configurable tranform length)、FFT的点数(transform length)、工作时钟(target clock frequency)、选择一种FFT结构,包括pipelined streaming、基4 burst、基2 burst、轻量级基2 burst,计算速度和消耗的资源依次减少。

第二个配置页(implementation),主要是 数据宽度、格式、控制信号、输出方式、可选的控制信号。

vivado FFT的实现

implementation标签卡下设置FFT的数据格式为定点fixed point或者浮点float point;设置输入数据的位宽和相位因子位宽(相当于旋转因子);还有一些可选的附件信号;output ordering设置FFT计算结果以自然顺序(nature order)或位/数值反序(bit/digit reversed order)输出。

第三配置页(detailed implementation)主要配置内部数据块的使用和优化方式、存储类型、是否使用DSP单元等于综合、实现有关的信息,比如可以选择复数乘法器和蝶形运算单元的实现结构。

vivado FFT的实现

所有这些配置完成后,可以在左侧一列中查看配置的结果,IP symbol中主要查看各种接口;implementation detals中有较多的信息,比如 结构、长度、数据带宽等,需要注的是CONFIG TDATA这一项,与配置接口的参数有关,在使用中需要正确配置。在当前的配置, FWD_INV使用1bit,bit10:bit1用于调整因子,前面已经说过不同的结构调整因子不同,详细的可以参看FFT的核文献;latency显示出计算FFT所需的时间。