主要内容

为FPGA实现FFT使用FFT HDL优化块

这个例子展示了如何使用FFT HDL优化块实现FFT硬件。

FFT和传输线HDL优化模块和系统对象支持许多应用程序仿真和HDL代码生成。金宝app他们提供了两种架构优化不同的用例:

  • 流基数2 ^ 2——高吞吐量的应用程序。达到每秒gigasamples (gsp)当您使用向量输入。

  • 破裂基数2——较低的地区应用。只使用一个复杂的蝴蝶。

这个例子包含两个模型,展示了如何使用FFT HDL的流和破裂架构优化块,分别。

流基数2 ^ 2体系结构

现代adc的采样信号在采样率几个gigasamples每秒。然而,最快的FPGA时钟速度达不到这个采样率。fpga通常运行在数百兆赫。在一个FPGA执行gsp时处理的一种方法是在同一时间处理多个样本时钟频率要低得多。许多现代fpga支持JESD204B金宝app标准接口,接受标量输入GHz时钟频率和产生的样本向量时钟频率较低。因此,现代信号处理需要向量处理。

流基数2 ^ 2架构的目的是支持高吞吐量的用例。金宝app这个示例模型使用一个输入向量的大小,和FFT计算使用流基数2 ^ 2体系结构。时间图,支持功能,FPGA资源使用情况,金宝app查看FFT HDL优化块引用页面。

modelname =“FFTHDLOptimizedExample_Streaming”;open_system (modelname);

InitFcn回调(模型属性> > InitFcn)回调参数模型。在这个例子中,参数控制FFT的大小和输入数据特征。

FFTLength = 512;

输入数据是两个正弦波,200 KHz和250 KHz,每个采样1 * 2 e6赫兹。输入向量的大小是8样本。

FrameSize = 8;Fs = 1 * 2 e6;

证明数据不需要不断,这个例子应用有效输入每隔一个周期。

ValidPattern = (1,0);

开放频谱查看器和运行示例模型。

open_system (“FFTHDLOptimizedExample_Streaming /频谱查看器/功率谱查看器”);sim (modelname);

破裂基数2(最低资源)体系结构

使用破裂基数2架构应用程序与FPGA资源有限,尤其是当FFT长度大。这种架构只使用一个复杂的蝴蝶计算FFT。设计接受数据准备好了断言,并开始处理一次整个FFT帧保存到内存中。在处理,设计不能接受数据,所以准备好了de-asserted。时间图,支持功能,FPGA资源使用情况,金宝app查看FFT HDL优化块引用页面。

modelname =“FFTHDLOptimizedExample_Burst”;open_system (modelname);

InitFcn回调(模型属性> > InitFcn)回调参数模型。在这个例子中,参数控制FFT的大小和输入数据特征。

FFTLength = 512;

输入数据是两个正弦波,200 KHz和250 KHz,每个采样1 * 2 e6赫兹。每周期数据是有效的。

Fs = 1 * 2 e6;ValidPattern = 1;

开放频谱查看器和运行示例模型。

open_system (“FFTHDLOptimizedExample_Burst /频谱查看器/功率谱查看器”);sim (modelname);

生成HDL代码和试验台

HDL编码™许可证需要为这个示例生成高密度脂蛋白。

选择一个模型生成HDL代码和试验台的:

systemname =“FFTHDLOptimizedExample_Burst /优化FFT HDL破裂”;

systemname =“FFTHDLOptimizedExample_Streaming / FFT HDL优化流”;

使用此命令可生成要么FFT的HDL代码模式。生成的可用于任何FPGA和ASIC的目标。

makehdl (systemname);

使用此命令来生成一个试验台相比,高密度脂蛋白模拟对模型模拟结果的行为。金宝app

makehdltb (systemname);