码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • FPGA的256点FFT调用Quartus IP核实现VHDL傅里叶变换


    名称:256点FFT调用Quartus IP核实现傅里叶变换

    软件:Quartus

    语言:VHDL

    代码功能:使用VHDL实现256点FFT,调用Quartus IP核实现傅里叶变换

    演示视频:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=210

    FPGA代码Verilog/VHDL代码资源下载网:www.hdlcode.com

    代码下载:256点FFT调用Quartus IP核实现傅里叶变换 软件:Quartus 语言:VHDL 代码功能:使用VHDL实现256点FFT,调用Quartus IP核实现傅里叶变换名称:256点FFT调用Quartus IP核实现傅里叶变换(代码在文末付费下载)软件:Quartus语言:VHDL代码功能:使用VHDL实现256点FFT,调用Quartus IP核实现傅里叶变换演示视频:FPGA代码verilog/VHDL代码资源下载网:www.hdlcode.com部分代码展示library ieee; use ieee.std_logic_1164.all; --256点icon-default.png?t=N7T8http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=210

    部分代码展示

    library ieee; 
    use ieee.std_logic_1164.all; 
    --256点FFT设计,16bit输入
    entity fft256 is port( 
     clk : IN STD_LOGIC; --时钟
     reset_n : IN STD_LOGIC; --复位
     sink_real : IN STD_LOGIC_VECTOR (15 DOWNTO 0); --16bit输入数据
     source_error : OUT STD_LOGIC_VECTOR (1 DOWNTO 0); --FFT IP核输出的报错指示信号
     source_sop : OUT STD_LOGIC; ----FFT IP核输出的数据第一位指示信号
     source_eop : OUT STD_LOGIC; ----FFT IP核输出的数据最后一位指示信号
     source_valid : OUT STD_LOGIC; --FFT IP核输出的数据有效指示信号
     source_exp : OUT STD_LOGIC_VECTOR (5 DOWNTO 0); --FFT IP核输出的指示信号
     source_real : OUT STD_LOGIC_VECTOR (15 DOWNTO 0); --FFT变换输出的实部
     source_imag : OUT STD_LOGIC_VECTOR (15 DOWNTO 0) --FFT变换输出的虚部
     ); 
    end fft256; 
    architecture one of fft256 is 
    --例化FFT IP 核
    component fft_burst 
     PORT ( 
     clk : IN STD_LOGIC; 
     reset_n : IN STD_LOGIC; 
     inverse : IN STD_LOGIC; 
     sink_valid : IN STD_LOGIC; 
     sink_sop : IN STD_LOGIC; 
     sink_eop : IN STD_LOGIC; 
     sink_real : IN STD_LOGIC_VECTOR (15 DOWNTO 0); 
     sink_imag : IN STD_LOGIC_VECTOR (15 DOWNTO 0); 
     sink_error : IN STD_LOGIC_VECTOR (1 DOWNTO 0); 
     source_ready : IN STD_LOGIC; 
     sink_ready : OUT STD_LOGIC; 
     source_error : OUT STD_LOGIC_VECTOR (1 DOWNTO 0); 
     source_sop : OUT STD_LOGIC; 
     source_eop : OUT STD_LOGIC; 
     source_valid : OUT STD_LOGIC; 
     source_exp : OUT STD_LOGIC_VECTOR (5 DOWNTO 0); 
     source_real : OUT STD_LOGIC_VECTOR (15 DOWNTO 0); 
     source_imag : OUT STD_LOGIC_VECTOR (15 DOWNTO 0) 
     ); 
    END component; 
    --例化FFT IP核控制模块
    component ctrl_fft port( 
     reset_n : in std_logic; 
     clk : in std_logic; 
     sink_ready : in std_logic; 
     sink_sop : out std_logic; 
     sink_eop : out std_logic; 
     sink_valid : out std_logic); 
    end component; 
    --定义连接信号
    signal sink_valid_i,sink_eop_i,sink_sop_i,sink_ready_i : std_logic; 
    begin 
    --调用FFT IP核
    u1 : fft_burst port map( 
     clk => clk, --时钟
     reset_n => reset_n, --复位
     inverse => '0', 
     sink_valid => sink_valid_i, --每帧输入数据有效时为高电平
     sink_sop => sink_sop_i, --用来指示每帧输入数据的第一个数据
     sink_eop => sink_eop_i,--用来指示每帧输入数据的最后一个数据 
     sink_real => sink_real, --16bit输入数据
     sink_imag => (others=>'0'), 
     sink_error => "00", 
     source_ready => '1', 
     sink_ready => sink_ready_i,  --指示可以输入待变换的数据
     source_error => source_error, --FFT IP核输出的报错指示信号
     source_sop => source_sop, --FFT IP核输出的数据第一位指示信号
     source_eop => source_eop, --FFT IP核输出的数据最后一位指示信号
     source_valid => source_valid, --FFT IP核输出的数据有效指示信号
     source_exp => source_exp, --FFT IP核输出的指示信号
     source_real => source_real, --FFT变换输出的实部
     source_imag => source_imag --FFT变换输出的虚部
     ); 
     
    --调用FFT IP核控制模块
    u2 : ctrl_fft port map( 
     reset_n => reset_n, 
     clk => clk, 
     sink_ready => sink_ready_i, --指示可以输入待变换的数据 
     sink_sop => sink_sop_i,--用来指示每帧输入数据的第一个数据 
     sink_eop => sink_eop_i,--用来指示每帧输入数据的最后一个数据 
     sink_valid => sink_valid_i --每帧输入数据有效时为高电平
     ); 
    end one;
    

    设计文档:

    设计文档.doc

    1. 工程文件

    2. 程序文件

    FFT IP 核设置

    3. 程序编译

    4. RTL图

    5. Testebcnh

    6. 仿真图

  • 相关阅读:
    java.lang.UnsupportedOperationException 关于Arrays.asList问题解决
    Github 生成SSH秘钥及相关问题
    redis的redis.service配置
    自动化运维工具Ansible(1)基础
    CCF大数据与计算智能大赛训练赛——图书推荐系统技术报告
    [qemu逃逸] DefconQuals2018-EC3
    网络聊天室(三)
    【基本算法题-2022.7.31】11. 分形之城
    C语言刷题系列——1.将三个整数按从大到小输出
    《流畅的python》阅读笔记 - 第五章:一等函数
  • 原文地址:https://blog.csdn.net/diaojiangxue/article/details/133967549
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号