FFT64点傅里叶变换verilog蝶形运算,代码和视频

名称:FFT64点verilog傅里叶变换

软件:Quartus

语言:Verilog

代码功能:

    使用verilog代码实现64点FFT变换,使用蝶形运算实现傅里叶变换

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

FPGA代码资源下载网:hdlcode.com

代码下载:

软件:Quartus 语言:Verilog 代码功能: 使用verilog代码实现64点FFT变换,使用蝶形运算实现傅里叶变换名称:FFT64点verilog傅里叶变换(代码在文末付费下载)软件:Quartus语言:Verilog代码功能: 使用verilog代码实现64点FFT变换,使用蝶形运算实现傅里叶变换演示视频:FPGA代码资源下载网:hdlcode.com部分代码展示`timescale 1ns / 1ps//64点FFTmodule top(input clk, input rst, input [icon-default.png?t=N7T8http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=208

部分代码展示

`timescale 1ns / 1ps
//64点FFT
module top(input clk,input rst,input [7:0] data_in_r,input [7:0] data_in_i,input data_in_ready,output [19:0] data_out_r,output [19:0] data_out_i,output reg data_out_ready
);
wire  working;
reg [5:0] count;
reg [5:0] count_out;
reg flag;
reg working_flag_0;
reg working_flag_1; 
reg working_flag_2;
reg working_flag_3; 
reg working_flag_4;
reg working_flag_5; 
reg working_flag_6;
reg working_flag_7; 
assign  working = data_in_ready || working_flag_1;
always @(posedge clk)
begin
if(rst)
begin
count<=6'd0;
end
else
begin
if(!data_in_ready)
count<=6'd0;
else
begin
if(count < 6'd63)
count<=count+6'b1;
else
count <= count;
end
end
end
always@(posedge clk)
begin
if(rst)
working_flag_0 <= 0;
else
if(working && working_flag_1 == 0)
working_flag_0 <= 1;
else
working_flag_0 <= 0;
end
always@(posedge clk)
begin
if(rst)
flag <= 0;
else
if(count == 6'd62 && flag == 0)
flag <= 1;
else
flag <= 0;
end
always@(posedge clk)
begin
if(rst)
working_flag_1 <= 0;
else
if(count == 6'd63 && flag == 1)
working_flag_1 <= 1;
else
working_flag_1 <= 0;
end
always@(posedge clk)
begin
if(rst)
working_flag_2 <= 0;
else
if(working_flag_1)
working_flag_2 <= 1;
else
working_flag_2 <= 0;
end
always@(posedge clk)
begin
if(rst)
working_flag_3 <= 0;
else
if(working_flag_2)
working_flag_3 <= 1;
else
working_flag_3 <= 0;
end
always@(posedge clk)
begin
if(rst)
working_flag_4 <= 0;
else
if(working_flag_3)
working_flag_4 <= 1;
else
working_flag_4 <= 0;
end
always@(posedge clk)
begin
if(rst)
working_flag_5 <= 0;
else
if(working_flag_4)
working_flag_5 <= 1;
else
working_flag_5 <= 0;
end
always@(posedge clk)
begin
if(rst)
working_flag_6 <= 0;
else
if(working_flag_5)
working_flag_6 <= 1;
else
working_flag_6 <= 0;
end
always@(posedge clk)
begin
if(rst)
working_flag_7 <= 0;
else
if(working_flag_6)
working_flag_7 <= 1;
else
if(count_out < 6'd63 && working_flag_7 == 1)
working_flag_7 <= 1;
else
working_flag_7 <= 0;
end
always@(posedge clk)
begin
if(rst)
count_out <= 0;
else
if(working_flag_6)
count_out <= 0;
else
if(count_out < 6'd63)
count_out <= count_out + 1;
else
count_out <= 0;
end
always@(posedge clk)
begin
if(rst)
data_out_ready <= 0;
else
if(working_flag_7 == 1 && data_out_ready == 0)
data_out_ready <= 1;
else
if(count_out < 6'd63)
data_out_ready <= data_out_ready;
else
data_out_ready <= 6'b0;
end
wire [15:0] data_in_r_15;
wire [15:0] data_in_i_15;
assign data_in_r_15={data_in_r[7],data_in_r[7],data_in_r[7],data_in_r[7],data_in_r[7],data_in_r[7],data_in_r[7],data_in_r[7],data_in_r};
assign data_in_i_15={data_in_i[7],data_in_i[7],data_in_i[7],data_in_i[7],data_in_i[7],data_in_i[7],data_in_i[7],data_in_i[7],data_in_i};
butterfly butterfly(.clk(clk),.rst(rst),.data_in_r(data_in_r_15),.data_in_i(data_in_i_15),.count(count),.count_out(count_out),.working_flag_0(working_flag_0),.working_flag_1(working_flag_1),.working_flag_2(working_flag_2),.working_flag_3(working_flag_3),.working_flag_4(working_flag_4),.working_flag_5(working_flag_5),.working_flag_6(working_flag_6),.working_flag_7(working_flag_7),.data_out_r(data_out_r),.data_out_i(data_out_i)
);
endmodule

设计文档:

64点fft设计.doc

1.工程文件

2. 程序文件

3.Testbench

4.modelsim仿真图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/115494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络】应用层协议--HTTP协议及HTTP报文格式

目录 1、HTTP是什么 2、HTTP请求与响应 3、HTTP请求的两种方法(get和post)及区别 (面试题) 4、几种常见的错误的说法 5、HTTP协议的特点 6、应用场景 7、HTTP报文格式 8、面试题&#xff1a;HTTP常见的状态码都有哪些&#xff1f; 1、HTTP是什么 HTTP协议是在Web上进行…

C# 关于托管调试助手 “FatalExecutionEngineError“:“运行时遇到了错误。解决方案

托管调试助手 “FatalExecutionEngineError”:“运行时遇到了错误。此错误的地址为 0x740161f8&#xff0c;在线程 0x1174 上。错误代码为 0xc0000005。此错误可能是 CLR 中的 bug&#xff0c;或者是用户代码的不安全部分或不可验证部分中的 bug。此 bug 的常见来源包括用户对 …

微信native-v3版支付对接流程及demo

1.将p12证书转为pem证书&#xff0c;得到商户私钥 openssl pkcs12 -in apiclient_cert.p12 -out apiclient_cert.pem -nodes 密码是&#xff1a;商户id 2.将获取到的apiclient_cert.pem证书&#xff0c;复制出这一块内容&#xff0c;其他的不要 3.下载这个工具包 https://gi…

macOS Sonoma 桌面小工具活学活用!

macOS Sonoma 虽然不算是很大型的改版&#xff0c;但当中触目的新功能是「桌面小工具」&#xff08;Widget&#xff09;。如果我们的萤幕够大&#xff0c;将能够放更多不同的Widget&#xff0c;令用户无须开App 就能显示资讯&#xff0c;实在相当方便。 所有iPhone Widget 也能…

openCV的CUDA GPU 版本安装 (Ubuntu windows 通用)

需要做template match, 比较注重时间&#xff0c;因此opencv 的普通版本不适用。需要用GPU 的。 下载 git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git确保准备好以下内容 1&#xff1a; visual studio &#xff0…

硬件信息查看工具 EtreCheckpro mac中文版功能介绍

etrecheckpro mac中文版是一款专业的硬件信息查看工具&#xff0c;它能够快速的检测Mac电脑的软硬件信息&#xff0c;加强用户对自己计算机的了解&#xff0c;EtreCheckPro for Mac下载首先会对电脑的软硬件信息进行扫描收集&#xff0c;之后才会显示出来。EtreCheck Mac版报告…

顶级玩家:一招搞定 App 自动化老大难问题

很多人在学习 App 自动化或者在项目中落地实践 App 自动化时&#xff0c;会发现编写的自动化脚本无缘无故的执行失败、不稳定。 而导致其问题很大原因是因为应用的各种弹窗&#xff08;升级弹窗、使用过程提示弹窗、评价弹窗等等&#xff09;&#xff0c;比如这样的&#xff1a…

汽车屏类产品(二):360全景环视(SVC)、多分割显示、行车记录

前言 随着新能源汽车的快速发展,带动了车载器件的大发展,大的比如域控,小的创新更是不断涌现。而车载显示屏可以说是一大类产品,产品形态也是愈发多样化,比如:仪表cluster、中控IVI、副驾屏、行车记录仪、流媒体后视镜、透明A柱屏、方向盘屏(替代方向盘按键)、门饰板显…

在mybatis的xml中使用枚举来做判断条件

1.枚举类 import com.baomidou.mybatisplus.annotation.IEnum; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import com.shinkeer.common.utils.StringUtils;import java.util.HashMap; import java.util.Map;…

服务器数据恢复-raid0硬盘故障导致服务器崩溃的数据恢复案例

服务器故障&分析&#xff1a; 某公司一台服务器&#xff0c;共2块磁盘组建了一组raid0磁盘阵列。RAID0阵列中有1块硬盘出现故障离线&#xff0c;导致服务器崩溃。 通过和用户方的沟通&#xff0c;北亚企安数据恢复工程师初步判断&#xff1a;故障服务器中出现故障离线的硬盘…

账号合租平台源码Thinkphp6.1|内置详细搭建教程

小白账号合租平台说明 系统采用的是常见的租号平台模式,现在网络上流出的这种类型的源码还很少 平台介绍 1.租号模式,用户可自行选择单独租号或采用合租的模式。 2.支付,采用易支付通用接口 3.邀请返利,为了站长能更好推广推荐了邀请返利功能 4.用户提现功能 5.工单…

让你随时随地访问金蝶云星空企业版v8.0,内网穿透轻松实现远程办公!

文章目录 前言1. 金蝶云星空企业版v8.0安装下载1.1 登录金蝶官网下载安装包1.2 常见的安装下载问题 2. 金蝶云星空配置SQL Sever数据库2.1 创建数据管理中心2.2 创建完成后在服务器登录管理站点 3. 下载安装注册cpolar3.1 公网访问测试 4. 固定连接公网地址 前言 金蝶云星空专注…

光环云入选“北京市算力互联互通试点参与企业”!

为进一步贯彻落实工业和信息化部等六部委联合印发的《算力基础设施高质量发展行动计划》&#xff0c;扩大北京市算力互联互通试点参与范围&#xff0c;助力建设全球数字经济标杆城市&#xff0c;北京市通信管理局组织相关专家对申报第二批参与试点企业开展评估&#xff0c;光环…

云HIS系统,Cloud HIS system,云HIS医院信息管理系统源码

通过云HIS平台,可以减少医院投资,无需自建机房和系统,快速实现信息化服务。系统升级及日常维护服务有云平台提供,无需配备专业IT维护人员进行系统维护。 一、his系统和云his系统的区别 His系统和云his系统是两种不同的计算平台&#xff0c;它们在技术架构上存在很大的差异。下…

HypeX Labs:充分释放加密资产的潜力

加密货币通常被视为是资产类别或投资工具&#xff0c;不过其代表了一种全新的意识形态&#xff0c;且与传统资产有着完全不同的底层价值逻辑&#xff0c;所以它们不仅可以被视为一种资产类别或投资工具&#xff0c;在大多数情况下可以被视为一种基于技术的实现。因此我们可以认…

1024程序员狂欢节有好礼 | 前沿技术、人工智能、集成电路科学与芯片技术、新一代信息与通信技术、网络空间安全技术

&#x1f339;欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 1024程序员狂欢节有好礼 &#x1f6a9;&#x1f6a9;&#x1f6a9;点击直达福利前言一、IT技术 IT Technology《速学Linux&#xff1a;系统应用从入门到精通》《Pytho…

k8s-----10、Controller-Deployment

Controller-Deployment 1、什么是controller2、 pod和controller关系3、Deployment控制器应用场景3.1 部署时yaml文件书写3.2 实际部署应用3.3 升级回滚3.3.1 升级3.3.2 回滚 3.4 弹性伸缩 1、什么是controller 在集群上管理和运行容器的对象 2、 pod和controller关系 pod是…

PHP代码审计工具

PHP代码审计工具 1 环境准备 Seay源代码审计系统.exe 和准备靶场的源码php 2 Seay下载地址 https://github.com/f1tz/cnseay安装Seay源代码审计系统.exe报错时&#xff0c;安装.net framework 3.5 # windows插件.net framework 3.5 下砸地址 https://www.microsoft.com/en…

Linux 后台开发必知的 I/O 优化知识总结

IO性能对于一个系统的影响是至关重要的。一个系统经过多项优化以后&#xff0c;瓶颈往往落在数据库&#xff1b;而数据库经过多种优化以后&#xff0c;瓶颈最终会落到IO。而IO性能的发展&#xff0c;明显落后于CPU的发展。Memchached也好&#xff0c;NoSql也好&#xff0c;这些…

Python脚本:让工作自动化起来

Python是一种流行的编程语言&#xff0c;以其简洁和易读性而闻名。它提供了大量的库和模块&#xff0c;使其成为自动化各种任务的绝佳选择。 本文将探讨Python脚本及其代码&#xff0c;可以帮助您自动化各种任务并提高工作效率。无论您是开发人员、数据分析师还是只是想简化工…