• 方案介紹
  • 附件下載
  • 相關推薦
申請入駐 產業(yè)圖譜

斐波那契數列Fibonacci設計verilog代碼

05/07 10:52
557
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

1-231022221Q0244.doc

共1個文件

名稱:斐波那契數列Fibonacci設計verilog(代碼在文末付費下載)

軟件:Quartus

語言:Verilog

代碼功能:

設計一個產生斐波那契數列(也叫黃金分割數列)的硬件電路:

斐波那契數列中每個數為其相鄰前兩個數的和:即FN=FN1+FN2,(數列的前兩個數F和F均為1)

(1)基本要求

根據不同輸入N(>=3),產生FN最大為32位,在新的F產生出來前,N將維持不變;F應保持不變直到N又發(fā)生變化

2畫出設計結構圖:數據通路和控制通路、控制策略

3寫出該設計的 Verilog描述

(2)擴展功能

隨機生成指定范圍內的N整數,并計算斐波那契數列F產生次數。

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

modelsim仿真演示視頻:

quartus仿真演示視頻:

FPGA代碼Verilog/VHDL代碼資源下載網:www.hdlcode.com

部分代碼展示

//斐波那契數列
//斐波那契數列指的是這樣一個數列: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;//輸出狀態(tài)值
//狀態(tài)機控制模塊
state_ctrl?i_state_ctrl(
.?clk(clk),//時鐘
.?rst_p(rst_p),//復位
.?N_en(N_en),//輸入N有效指示信號
.?N(N),//輸入N
.?current_state(current_state)//輸出狀態(tài)值
);
//序列產生模塊
sequence_gen?i_sequence_gen(
.?clk(clk),//時鐘
.?rst_p(rst_p),//復位
.?current_state(current_state),//輸出狀態(tài)值
.?FN(FN)//輸出Fn
);
endmodule
//序列產生模塊
module?sequence_gen(
input?clk,//時鐘
input?rst_p,//復位
input?[2:0]?current_state,//輸出狀態(tài)值
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)//累加狀態(tài)下
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

設計文檔:

1. 數列

2. 工程文件

3. 程序文件

4. 程序編譯

5. RTL圖

狀態(tài)機視圖

6. Testbench

7. 仿真圖

整體仿真圖

數列第0個為1,第1個為1,第2個為2.。。。。第10個為89,第20個為10946。。。

可以看到仿真圖第10個為89,第20個為10946正確。

狀態(tài)機控制模塊

數列產生模塊

quarttusII自帶仿真

整體仿真

數列第0個為1,第1個為1,第2個為2.。。。。第5個為8,第20個為10946。。。

可以看到仿真圖第5個為8,第20個為10946正確。

狀態(tài)控制模塊

數列產生模塊

  • 1-231022221Q0244.doc
    下載

相關推薦