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

mealy型狀態(tài)機設(shè)計Verilog代碼Quartus 開發(fā)板

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

2-25051611333W15.doc

共1個文件

名稱:mealy型狀態(tài)機設(shè)計Verilog代碼Quartus? 開發(fā)板

軟件:Quartus

語言:Verilog

代碼功能:

1)、使用原理圖輸入法或 Verilog HDI語言設(shè)計一個 Mealy有限狀態(tài)機,用七段數(shù)碼管顯示輸出編碼;

2)、用 Quartus II軟件進(jìn)行編譯,并用 Mode lsim軟件進(jìn)行仿真,最后將編譯程序下載到設(shè)計平臺上進(jìn)行驗證。

2、設(shè)計要求

1)、 MEALY狀態(tài)機分為2個狀態(tài):(1)初始狀態(tài)或復(fù)位SO鍵觸發(fā),僅LED燈5點亮

(2)SW0為1觸發(fā),FLAG位用燈0點亮,LED燈展現(xiàn)燈3、燈5、燈7、燈9的走馬燈效果,

旦狀態(tài)發(fā)生變化,SW0為0保持當(dāng)前狀態(tài)不變

2)、狀態(tài)(1)用LCD中的第二位“B”表示,狀態(tài)(2)中的走馬燈狀態(tài)分別用LCD中

的第一位“A”、第二位“B”、第三位“C”第四位“D”分別顯示。

3、設(shè)計原理

數(shù)字系統(tǒng)控制部分的每一個控制態(tài)可以看作一種狀態(tài),與每一個控制態(tài)相關(guān)的轉(zhuǎn)換條件指定了狀態(tài)的下一個狀態(tài)和輸出。根據(jù)有限狀態(tài)機的輸出與當(dāng)前狀態(tài)與當(dāng)前輸入的關(guān)系,狀態(tài)機可以分成 Moore型和 Mealy型兩種類型的有限狀態(tài)機。其中, Mealy有限狀態(tài)機的輸出不但與當(dāng)前狀態(tài)有關(guān),而且與輸入信號的當(dāng)前值有關(guān),如圖1所示。

mealy型狀態(tài)機設(shè)計.jpg

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

本代碼已在開發(fā)板驗證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:開發(fā)板 (1).jpg

演示視頻:

設(shè)計文檔:

1、工程文件

2、程序文件

3、程序編譯

4、RTL圖

5、管腳分配

6、Testbench

7、仿真圖

整體仿真圖

狀態(tài)控制模塊

數(shù)碼管顯示模塊

部分代碼展示:

module?mealy_state(
input?clk,//50M
input?rst_n,//復(fù)位
input?SW0,
output?LED0,//S2?flag(LED0)
output?LED1,
output?LED2,
output?LED3,
output?LED4,
output?LED5,
output?LED6,
output?LED7,
output?LED8,
output?LED9,
output?LED10,
output?[7:0]?sel,//數(shù)碼管位選
output?[7:0]?segment//數(shù)碼管段選
);
wire?flag;//S2?flag(LED0)
wire?A;
wire?B;
wire?C;
wire?D;
assign?LED0=flag;//S2?flag(LED0)
assign?LED3=A;
assign?LED5=B;
assign?LED7=C;
assign?LED9=D;
assign?LED1=1'b0;
assign?LED2=1'b0;
assign?LED4=1'b0;
assign?LED6=1'b0;
assign?LED8=1'b0;
assign?LED10=1'b0;

點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1529

  • 2-25051611333W15.doc
    下載

相關(guān)推薦