搜索
bottom↓
回复: 4

quartuseII 9.1 FFT ip核问题

[复制链接]

出0入0汤圆

发表于 2013-8-4 18:34:24 | 显示全部楼层 |阅读模式
我很认真的看了一下fft的user guide,但是那个是最新版的,我用的9.1版的FFT。手册上说的是最快运行速度可以到300Mhz “Maximum system clock frequency more than 300 MHz”
但是我给的频率只有100MHz,但是没有输出,时序管脚控制上我觉得都没有大问题,控制器的时序仿真也没有问题。
请大神帮忙看看代码吧,谢了
我写了一个FFT的控制器,代码下面附上
module FFT_CTR(clk,rst,sw, sop, eop ,source_ready, valid ,inverse ,sink_real,sink_image);
input clk, rst, sw;
output sop,eop,source_ready,valid,inverse;
output[7:0] sink_real,sink_image;

reg sop,eop,valid;
reg[7:0] sink_image,realcnt;
wire[7:0] sink_real;
reg[3:0] state;

assign source_ready = 1;
assign inverse = 0;
assign sink_real = realcnt;

reg key_reg1,key_reg2;

always @(posedge clk or negedge rst)
        if(!rst) key_reg1<=1'b1;
        else key_reg1<=sw;
always @(posedge clk or negedge rst)
        if(!rst) key_reg2<=1'b1;
        else key_reg2<=key_reg1;

wire up = key_reg2&(~key_reg1);

//reg[15:0] key_time;

//always @(posedge clk or negedge rst)
//        if(!rst) key_time <= 16'h0000;
//        else if(key_out)key_time <= 16'h0000;
//        else key_time <= key_time + 16'h0001;
       
//reg low_sw;

//always @(posedge clk or negedge rst)
//        if(!rst) low_sw<=1'b1;
//        else if(&key_time) low_sw<= sw;
       
//reg low_sw_r;

//always @(posedge clk or negedge rst)
//        if(!rst) low_sw_r<=1'b1;
//        else low_sw_r<= low_sw;
       
//wire up = low_sw_r&(~low_sw);


parameter   Idle=4'b0001,
                        Oken=4'b0010,
                        Start=4'b0100,
                        Endput=4'b1000;
                       
always @ (posedge clk or negedge rst)
begin
        if(!rst)
                begin
                state <= Idle;
                sop <= 0;
                eop <=0;
                valid<=0;
                //sink_real <=8'd1;
                sink_image <=0;
                realcnt <= 8'd1;
                end
        else
                case(state)
                Idle:
                        if(up)
                                begin
                                state<=Oken;       
                                sop <= 1'b1;
                                valid<=1'b1;
                                end
                        else
                                begin
                                state<=Idle;
                                end
                Oken:
                        begin
                                state <= Start;
                                sop <= 0;       
                        end
                Start:
                        begin
                                if(realcnt == 8'd255)
                                        begin
                                                state <= Endput;
                                                eop <=1'b1;
                                                valid <=0;
                                        end
                                else
                                        begin
                                                realcnt <= realcnt + 8'd1;
                                                state <= Start;
                                                //ink_real <= realcnt;
                                                sink_image <= 0;
                                               
                                        end
                        end
                Endput:
                        begin
                                state <= Idle;
                                eop <=0;
                        end
                default: state<= Idle;
                endcase
end
endmodule

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2013-8-4 20:41:07 | 显示全部楼层
不要沉啊,,
编译的时候有
Warning (14320): Synthesized away node "FFT:inst4|asj_fft_sglstream_fft_91:asj_fft_sglstream_fft_91_inst|auk_dspip_avalon_streaming_sink_fft_91:auk_dsp_atlantic_sink_1|scfifo:\normal_fifo:fifo_eab_on:in_fifo|scfifo_e9h1:auto_generated|a_dpfifo_7k81:dpfifo|altsyncram_eof1:FIFOram|q_b[16]"
这句话什么意思?
好像是说综合的时候没有综合这个部分?为什么会这个样子?

出0入0汤圆

发表于 2013-8-5 11:07:35 | 显示全部楼层
帮顶!

出0入0汤圆

发表于 2013-8-5 22:05:05 | 显示全部楼层
楼主,你说你的时序仿真没有问题,那source_sop上升沿之后source_real出来的是什么?可否附上图?还有,你用的是哪种数据流结构啊?

出0入0汤圆

 楼主| 发表于 2013-8-8 19:58:57 | 显示全部楼层
ledatou 发表于 2013-8-5 22:05
楼主,你说你的时序仿真没有问题,那source_sop上升沿之后source_real出来的是什么?可否附上图?还有,你 ...

source——sop我没观察过,我只注意了source_real还有source_imag,这两个值都是0,所以我觉得有问题,
其次,问我不太懂什么数据流,。刚刚入门呢。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 03:18

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表