FFT_IP核使用指南.doc_第1页
FFT_IP核使用指南.doc_第2页
FFT_IP核使用指南.doc_第3页
FFT_IP核使用指南.doc_第4页
FFT_IP核使用指南.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

fft ip核使用指南1、 硬件平台:ep4ce22f17c6 软件平台:quartus10.1、fft megacore function v10.12、 fft的架构及参数说明: 1.点击ip toolbench中的parameterize进入参数设置对话框 2. 关于参数的解释transfrom length:转换长度,默认的为1024点,它的范围:6465536 点数越多,消耗的时间和资源越多。data precision:输入数据的精度,12为的精度即输入的二进制数的位 数为12,当然位数越长,精度越高,消耗的资源越 多。twiddle precision:转换因子精度:和data precision一样,精度越高 消耗的资源越多。但是旋转因子精度必须小于或 等于数据精度。注意:在设置参数的时候,altera 使用的是“data precision 和 twiddle precision”,用了“precision”这个词,而不是“width”3、 关于结构(architecture)的解释:设置好 fft 兆核函数参数设置对话框的 parameters标签页以后,选择 architecture标签页:在architecture栏内, 主要可进行i/o data flow和engine option两部分的设置。主要是决定fft megacore的内部结构。 i/o data flow 的设置共有三种选择:streaming、buffer burst和 burst。 在不同的 fft 系统中,有时候使用连续的数据流,数据不断地被送到fft核, 经过变换之后再连续的输出。 但是 fft的运算是需要一定时间的,而在这个时间内新来的数据还是被源源不断地送到 fft核,所以为了能保证这些数据也能被处理,就需要一个足够大的 ram。新来的数据先被暂存起来,等fft核工作完后再送入。从整体上来看,fft的工作是不间断的,输入和输出都是连续不断的数据。 在有的系统中,数据是突发的,比如在网络中。有时候会一次来一个数据包,而有时候系统会没有数据,这时候fft是空间的。所以在这种系统中,就不需要那么多的ram 资源了。 i/o data flow 主要就是设置这个选项。streaming 针对连续的数据处理,buffer burst 和 burst 都是针对突发数据的情况。streaming 模型下使用的ram 最多,buffer burst又比 burst 的 ram 多一些。 假定在突发模式下,突发一个数据包的机率非常高的话。那么相比于burst 模式,buffer burst 虽然多用了一些 ram,但是效率更高。因为它有更多的 ram 用来缓存数据,而对于 burst,由于没有额外用来缓冲数据的 ram,只能是收到一个包后就拒绝再收包,直到它把这些数据处理完为止。 fft运算过程中的数据处理模块,fft engine 只有在buffer burst和burst的数据流结构下才能被设置。可以在参数中设置它的结构和数目。下面引用原手册中的两张图片,说明quad 和single两种结构的区别。 其实我们可以不用太深究这两种结构到底差别在哪里,只是在性能和资源间进行折衷就好了。quad output 比 single output性能好,fft引擎数目越多性能也越好,当然,性能越好所需的资源也越多。 4. 关于(implementation options)的说明: 复数乘法器的实现可以选择是用三个乘法器/五个加法器的方案实现还是四个乘法器/两个加法器实现。根据 fft megacore v2.2.0 的勘误表2,在 cyclone ii 系列 fpga 上如果采用四/二的结构,实际性能会和手册上相差很远,值得注意一下。 另外, 也可以选择具体用什么资源实现乘法器, 是用门的 dsp block还是用纯le实现。 2、 顶层原理图以及个引脚的说明: 输入信号:clk :输入时钟;rest_n:输入复位信号;inverse:转换方向,0的时候是正变换,1的时候是反变换;sink_valid:每帧输入数据有效时为高电平;sink_sop:用来指示每帧输入数据的第一个数据 ;sink_eop:用来指示每帧输入数据的最后一个数据;sink_real11: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:输入数据的虚部,精度为十二位;在前文中已经叙述过,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(),.sour

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论