FPGA的斐波那契数列Fibonacci设计verilog,代码和视频

名称:斐波那契数列Fibonacci设计verilog

软件:Quartus

语言:Verilog

代码功能:

设计一个产生斐波那契数列(也叫黄金分割数列)的硬件电路:

斐波那契数列中每个数为其相邻前两个数的和:即FN=FN1+FN2,(数列的前两个数F和F均为1) 

(1)基本要求 

根据不同输入N(>=3),产生FN最大为32位,在新的F产生出来前,N将维持不变;F应保持不变直到N又发生变化 

2画出设计结构图:数据通路和控制通路、控制策略

3写出该设计的 Verilog描述 

(2)扩展功能 

随机生成指定范围内的N整数,并计算斐波那契数列F产生次数。

本代码支持使用modelsim仿真和quartus仿真

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

quartus仿真演示视频:



http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=211

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

代码下载:

斐波那契数列Fibonacci设计verilog(代码在文末付费下载)软件:Quartus语言:Verilog代码功能:设计一个产生斐波那契数列(也叫黄金分割数列)的硬件电路:斐波那契数列中每个数为其相邻前两个数的和:即FN=FN1+FN2,(数列的前两个数F和F均为1) (1)基本要求 根据不同输入N(>=3),产生FN最大为32位,在新的F产生出来前,N将维持不变;F应保持不变直到名称:斐波那契数列Fibonacci设计verilog(代码在文末付费下载)软件:Quartus语言:Verilog代码功能:设计一个产生斐波那契数列(也叫黄金分割数列)的硬件电路:斐波那契数列中每个数为其相邻前两个数的和:即FN=FN1+FN2,(数列的前两个数F和F均为1) (1)基本要求 根据不同输入N(>=3),产生FN最大为32位,在新的F产生出来前,N将维持不变;F应保持不变直到icon-default.png?t=N7T8http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=211

部分代码展示

//斐波那契数列
//斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、34
// 这个数列从第3项开始,每一项都等于前两项之和
module Fibonacci(
input clk,//时钟
input rst_p,//复位
input N_en,//输入N有效指示信号
input [31:0] N,//输入N
output [31:0] FN//输出Fn
);
wire [2:0] current_state;//输出状态值
//状态机控制模块
state_ctrl i_state_ctrl(
. clk(clk),//时钟
. rst_p(rst_p),//复位
. N_en(N_en),//输入N有效指示信号
. N(N),//输入N
. current_state(current_state)//输出状态值
);
//序列产生模块
sequence_gen i_sequence_gen(
. clk(clk),//时钟
. rst_p(rst_p),//复位
. current_state(current_state),//输出状态值
. FN(FN)//输出Fn
);
endmodule
//序列产生模块
module sequence_gen(
input clk,//时钟
input rst_p,//复位
input [2:0] current_state,//输出状态值
output reg [31:0] FN//输出Fn
);
parameter s_idle=3'd0;
parameter s_start=3'd1;
parameter s_sum=3'd2;
parameter s_end=3'd3;
//数列计算
reg [31:0] Fib_sequence=32'd1;
reg [31:0] Fib_sequence_delay=32'd1;
always@(posedge clk)
if(rst_p)
Fib_sequence<=32'd1;
else
if(current_state==s_sum)//累加状态下
begin
Fib_sequence_delay<=Fib_sequence;//缓存前一个数到Fib_sequence_delay
Fib_sequence<=Fib_sequence+Fib_sequence_delay;//前两项之和
end
else if(current_state==s_end)begin//结束
Fib_sequence<=32'd1;
Fib_sequence_delay<=32'd1;
end

设计文档:

设计文档.doc

1. 数列

2. 工程文件

3. 程序文件

4. 程序编译

5. RTL图

状态机视图

6. Testbench

7. 仿真图

整体仿真图

数列第0个为1,第1个为1,第2个为2.。。。。第10个为89,第20个为10946。。。

可以看到仿真图第10个为89,第20个为10946正确。

状态机控制模块

数列产生模块

quarttusII自带仿真

整体仿真

数列第0个为1,第1个为1,第2个为2.。。。。第5个为8,第20个为10946。。。

可以看到仿真图第5个为8,第20个为10946正确。

状态控制模块

数列产生模块

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

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

相关文章

Python:函数篇(每周练习)

编程题&#xff1a; Python第四章作业&#xff08;初级&#xff09; (educoder.net) 题一&#xff1a;无参无返回值函数 def print_hi_human(): # 函数名用小写字母print("人类&#xff0c;你好&#xff01;")if __name__ __main__:print_hi_human() 题二&#…

设计模式篇---组合模式

文章目录 概念结构实例总结 概念 组合模式&#xff1a;组合多个对象形成树形结构以表示具有部分-整体关系的层次结构。组合模式让客户端可以统一对待单个对象和组合对象。 当我们开发中遇到树形结构的业务时&#xff0c;可以考虑使用组合模式。&#xff08;我也没有想明白为啥…

Mysql数据库 2.SQL语言 数据类型与字段约束

Mysql数据类型 数据类型&#xff1a;指的是数据表中的列文件支持存放的数据类型 1.数值类型 Mysql当中有多种数据类型可以存放数值&#xff0c;不同的类型存放的数值的范围或者形式是不同的 注&#xff1a;前三种数字类型我们在实际研发中用的很少&#xff0c;一般整数类型…

空中计算(Over-the-Air Computation)学习笔记

文章目录 写在前面 写在前面 本文是论文A Survey on Over-the-Air Computation的阅读笔记&#xff1a; 通信和计算通常被视为独立的任务。 从工程的角度来看&#xff0c;这种方法是非常有效的&#xff0c;因为可以执行孤立的优化。 然而&#xff0c;对于许多面向计算的应用程序…

游戏反虚拟框架检测方案

游戏风险环境&#xff0c;是指独立于原有设备或破坏设备原有系统的环境。常见的游戏风险环境有&#xff1a;iOS越狱、安卓设备root、虚拟机、虚拟框架、云手机等。 因为这类风险环境可以为游戏外挂、破解提供所需的高级别设备权限&#xff0c;所以当游戏处于这些设备环境下&am…

ARM可用的可信固件项目简介

安全之安全(security)博客目录导读 目录 一、TrustedFirmware-A (TF-A) 二、MCUboot 三、TrustedFirmware-M (TF-M) 四、TF-RMM 五、OP-TEE 六、Mbed TLS 七、Hafnium 八、Trusted Services 九、Open CI 可信固件为Armv8-A、Armv9-A和Armv8-M提供了安全软件的参考实现…

【UE5】 ListView使用DataTable数据的蓝图方法

【UE5】 ListView使用DataTable数据的蓝图方法 ListView 是虚幻引擎中的一种用户界面控件&#xff0c;用于显示可滚动的列表。它可以用于显示大量的数据&#xff0c;并提供了各种功能和自定义选项来满足不同的需求。 DataTable是虚幻引擎中的一种数据表格结构&#xff0c;用于存…

Vue Router - 路由的使用、两种切换方式、两种传参方式、嵌套方式

目录 一、Vue Router 1.1、下载 1.2、基本使用 a&#xff09;引入 vue-router.js&#xff08;注意&#xff1a;要在 Vue.js 之后引入&#xff09;. b&#xff09;创建好路由规则 c&#xff09;注册到 Vue 实例中 d&#xff09;展示路由组件 1.3、切换路由的两种方式 1.…

ubuntu20.04 nvidia显卡驱动掉了,变成开源驱动,在软件与更新里选择专有驱动,下载出错,调整ubuntu镜像源之后成功修复

驱动配置好&#xff0c;环境隔了一段时间&#xff0c;打开Ubuntu发现装好的驱动又掉了&#xff0c;软件与更新 那里&#xff0c;附加驱动&#xff0c;显示开源驱动&#xff0c;命令行输入 nvidia-smi 命令查找不到驱动。 点击上面的 nvidia-driver-470&#xff08;专有&#x…

wps excel js编程

定义全局变量 const a "dota" function test() {Debug.Print(a) }获取表格中单元格内容 function test() {Debug.Print("第一行第二列",Cells(1,2).Text)Debug.Print("A1:",Range("A1").Text) }写单元格 Range("C1").Val…

【面试经典150 | 栈】有效的括号

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;栈哈希表 其他语言cpython3 写在最后 Tag 【栈】 题目来源 20. 有效的括号 题目解读 括号有三种类型&#xff0c;分别是小括号、中括号和大括号&#xff0c;每种括号的左右两半括号必须一一对应才是有效的括号&#…

JetBrains系列IDE全家桶激活

jetbrains全家桶 正版授权&#xff0c;这里有账号授权的渠道&#xff1a; https://www.mano100.cn/thread-1942-1-1.html 附加授权后的一张图片

【MySQL】8.0新特性、窗口函数和公用表表达式

文章目录 1. 新增特性2. 移除旧特性2.1 优点2.2 缺点 3. 新特性1&#xff1a;窗口函数3.1 使用窗口函数前后对比3.2 窗口函数分类3.3 语法结构3.4 分类讲解3.4.1 序号函数3.4.1.1 ROW_NUMBER()函数3.4.1.2 RANK()函数3.4.1.3 DENSE_RANK()函数 3.4.2 分布函数3.4.2.1 PERCENT_R…

【RNA structures】RNA-seq 分析: RNA转录的重构和前沿测序技术

文章目录 RNA转录重建1 先简单介绍一下测序相关技术2 Map to Genome Methods2.1 Step1 Mapping reads to the genome2.2 Step2 Deal with spliced reads2.3 Step 3 Resolve individual transcripts and their expression levels 3 Align-de-novo approaches3.1 Step 1: Generat…

Vue2基础知识(一) 认识Vue

&#x1f48c; 所属专栏&#xff1a;【Vue2】&#x1f600; 作 者&#xff1a;长安不及十里&#x1f4bb;工作&#xff1a;目前从事电力行业开发&#x1f308;目标&#xff1a;全栈开发&#x1f680; 个人简介&#xff1a;一个正在努力学技术的Java工程师&#xff0c;专注基础和…

【JavaEE初阶】 线程池详解与实现

文章目录 &#x1f334;线程池的概念&#x1f384;标准库中的线程池&#x1f340;ThreadPoolExecutor 类&#x1f6a9;corePoolSize与maximumPoolSize&#x1f6a9;keepAliveTime&#x1f6a9;ThreadFactory&#x1f6a9;workQueue&#x1f6a9;RejectedExecutionHandler handl…

PDF编辑阅读 PDF Expert v3.5.2

PDF Expert是由Readdle开发的一款专业的PDF编辑和阅读工具。它可以帮助用户在Mac、iPad和iPhone等设备上查看、注释、编辑、填写和签署PDF文档。 以下是PDF Expert的特点&#xff1a; PDF编辑&#xff1a;PDF Expert提供了丰富的PDF编辑功能&#xff0c;包括添加、删除、移动…

SQL基础语法总结(查询)

学习网站&#xff1a;https://www.w3schools.com/sql/&#xff0c;提供在线编程 以下内容仅SQL常见语法总结 数据 Customers表 Products表 OrderDetails表 Orders表 Shippers表 Employees表 选择查询 SELECT select语句用来从头数据库中选择数据 SELECT column1, column2,…

【论文阅读笔记】 Curated Pacific Northwest AI-ready Seismic Dataset

Curated Pacific Northwest AI-ready Seismic Dataset 太平洋西北部人工智能地震数据集 摘要 描述了一个AI就绪地震数据集包括各种地震事件参数 仪器元数据 地震波行描述地震目录和事件属性&#xff08;事件震级类型&#xff0c;信道类型&#xff0c;波形极性&#xff0c;信…

BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain

BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain----《BadNets:识别机器学习模型供应链中的漏洞》 背景&#xff1a; 许多用户将训练过程外包给云计算&#xff0c;或者依赖于经过训练的模型&#xff0c;然后根据特定的任务对模型进行微调。这…