FFTIP核使用指南.doc

上传人:仙人指路1688 文档编号:4131677 上传时间:2023-04-06 格式:DOC 页数:8 大小:468.50KB
返回 下载 相关 举报
FFTIP核使用指南.doc_第1页
第1页 / 共8页
FFTIP核使用指南.doc_第2页
第2页 / 共8页
FFTIP核使用指南.doc_第3页
第3页 / 共8页
FFTIP核使用指南.doc_第4页
第4页 / 共8页
FFTIP核使用指南.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《FFTIP核使用指南.doc》由会员分享,可在线阅读,更多相关《FFTIP核使用指南.doc(8页珍藏版)》请在三一办公上搜索。

1、FFT IP核使用指南一、 硬件平台:EP4CE22F17C6 软件平台:Quartus10.1、FFT MegaCore Function v10.1二、 FFT的架构及参数说明: 1.点击IP Toolbench中的parameterize进入参数设置对话框 2. 关于参数的解释Transfrom length:转换长度,默认的为1024点,它的范围:6465536 点数越多,消耗的时间和资源越多。Data Precision:输入数据的精度,12为的精度即输入的二进制数的位 数为12,当然位数越长,精度越高,消耗的资源越 多。Twiddle precision:转换因子精度:和Data

2、Precision一样,精度越高 消耗的资源越多。但是旋转因子精度必须小于或 等于数据精度。注意:在设置参数的时候,ALTERA 使用的是“Data Precision 和 Twiddle Precision”,用了“precision”这个词,而不是“width”3、 关于结构(Architecture)的解释:设置好 FFT 兆核函数参数设置对话框的 Parameters标签页以后,选择 Architecture标签页:在Architecture栏内, 主要可进行I/O Data Flow和Engine Option两部分的设置。主要是决定FFT MegaCore的内部结构。 I/O Da

3、ta Flow 的设置共有三种选择:Streaming、Buffer Burst和 Burst。 在不同的 FFT 系统中,有时候使用连续的数据流,数据不断地被送到FFT核, 经过变换之后再连续的输出。 但是 FFT的运算是需要一定时间的,而在这个时间内新来的数据还是被源源不断地送到 FFT核,所以为了能保证这些数据也能被处理,就需要一个足够大的 RAM。新来的数据先被暂存起来,等FFT核工作完后再送入。从整体上来看,FFT的工作是不间断的,输入和输出都是连续不断的数据。 在有的系统中,数据是突发的,比如在网络中。有时候会一次来一个数据包,而有时候系统会没有数据,这时候FFT是空间的。所以在这

4、种系统中,就不需要那么多的RAM 资源了。 I/O Data Flow 主要就是设置这个选项。Streaming 针对连续的数据处理,Buffer Burst 和 Burst 都是针对突发数据的情况。Streaming 模型下使用的RAM 最多,Buffer Burst又比 Burst 的 RAM 多一些。 假定在突发模式下,突发一个数据包的机率非常高的话。那么相比于Burst 模式,Buffer Burst 虽然多用了一些 RAM,但是效率更高。因为它有更多的 RAM 用来缓存数据,而对于 Burst,由于没有额外用来缓冲数据的 RAM,只能是收到一个包后就拒绝再收包,直到它把这些数据处理完

5、为止。 FFT运算过程中的数据处理模块,FFT Engine 只有在Buffer Burst和Burst的数据流结构下才能被设置。可以在参数中设置它的结构和数目。下面引用原手册中的两张图片,说明Quad 和Single两种结构的区别。 其实我们可以不用太深究这两种结构到底差别在哪里,只是在性能和资源间进行折衷就好了。Quad Output 比 Single Output性能好,FFT引擎数目越多性能也越好,当然,性能越好所需的资源也越多。 4. 关于(Implementation Options)的说明: 复数乘法器的实现可以选择是用三个乘法器/五个加法器的方案实现还是四个乘法器/两个加法器实

6、现。根据 FFT MegaCore v2.2.0 的勘误表2,在 Cyclone II 系列 FPGA 上如果采用四/二的结构,实际性能会和手册上相差很远,值得注意一下。 另外, 也可以选择具体用什么资源实现乘法器, 是用门的 DSP Block还是用纯LE实现。 二、 顶层原理图以及个引脚的说明: 输入信号:clk :输入时钟;rest_n:输入复位信号;Inverse:转换方向,0的时候是正变换,1的时候是反变换;sink_valid:每帧输入数据有效时为高电平;sink_sop:用来指示每帧输入数据的第一个数据 ;sink_eop:用来指示每帧输入数据的最后一个数据;sink_real1

7、1:0:输入数据的实部,精度为十二位;sink_imag11:0:输入数据的虚部,精度为十二位;sink_error1:0: 输入错误标志位;source_ready: .输出信号:source_ready: .source_error1:0: 输出错误标志错误位;source_sop:用来指示每帧输出数据的第一个数据 ;source_eop:用来指示每帧输出数据的最后一个数据;source_valid:输出数据有效标志位;source_exp5:0: 输出数据的的指数位;source_real11:0:输入数据的实部,精度为十二位;source_imag11:0:输入数据的虚部,精度为十二位

8、;在前文中已经叙述过,FFT MegaCore使用的不是浮点数,但是它又不全是定点数,而是一种特殊的结构。浮点数是 FFT变换中的每个数各自有各自的指数,而 FFT MegaCore的结构则是所有的数共用一个指数,这个指数是所有数中最大的数的指数。管脚的具体时序控制请参照以下波形仿真图: 对应例化如下: fft fft_test(.clk(divclk),.reset_n(1),.inverse(0),.sink_valid(1),.sink_sop(sink_sop),.sink_eop(sink_eop),.sink_real(ad1_d_r),.sink_imag(0),.sink_error(00),.source_ready(1),.sink_ready(),.source_error(),.source_sop(),.source_eop(),.source_valid(),.source_exp(),.source_real(da1_d_r),.source_imag(); 关于文档的说明:本文档参考网络资源以及Altera官网FFT IP User Duide整理而得,具体详细使用方法还请查阅官网资料。2011-8-27By Zengqf

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号