HDLBits (139) — 問(wèn)題8 設(shè)計(jì)一個(gè) Mealy 型有限狀態(tài)機(jī)
本題鏈接:
https://hdlbits.01xz.net/wiki/Exams/ece241_2013_q8
實(shí)現(xiàn)一個(gè)?Mealy?型有限狀態(tài)機(jī),它可以識(shí)別名為 x 的輸入信號(hào)上的序列“101”。?你設(shè)計(jì)的有限狀態(tài)機(jī)應(yīng)該有一個(gè)輸出信號(hào) z,當(dāng)檢測(cè)到“101”序列時(shí),它被斷言為邏輯 1。 ?你設(shè)計(jì)的有限狀態(tài)機(jī)還應(yīng)該有一個(gè)低電平有效的異步復(fù)位。 狀態(tài)機(jī)中可能只有 3 個(gè)狀態(tài)。 此有限狀態(tài)機(jī)還應(yīng)該能夠識(shí)別重疊序列。

題目

答案

輸出波形


有限狀態(tài)機(jī)(Finite-State Machine,F(xiàn)SM),簡(jiǎn)稱狀態(tài)機(jī),是表示有限個(gè)狀態(tài)以及在這些狀態(tài)之間的轉(zhuǎn)移和動(dòng)作等行為的數(shù)學(xué)模型。狀態(tài)機(jī)不僅是一種電路的描述工具,而且也是一種思想方法,在電路設(shè)計(jì)的系統(tǒng)級(jí)和 RTL 級(jí)有著廣泛的應(yīng)用。
Verilog 中狀態(tài)機(jī)主要用于同步時(shí)序邏輯的設(shè)計(jì),能夠在有限個(gè)狀態(tài)之間按一定要求和規(guī)律切換時(shí)序電路的狀態(tài)。狀態(tài)的切換方向不但取決于各個(gè)輸入值,還取決于當(dāng)前所在狀態(tài)。狀態(tài)機(jī)可分為 2 類:Moore?狀態(tài)機(jī)和?Mealy?狀態(tài)機(jī)。
Mealy 型狀態(tài)機(jī)
Mealy 型狀態(tài)機(jī)的輸出,不僅與當(dāng)前狀態(tài)有關(guān),還取決于當(dāng)前的輸入信號(hào)。
Mealy 型狀態(tài)機(jī)的輸出是在輸入信號(hào)變化以后立刻發(fā)生變化,且輸入變化可能出現(xiàn)在任何狀態(tài)的時(shí)鐘周期內(nèi)。因此,同種邏輯下,Mealy 型狀態(tài)機(jī)輸出對(duì)輸入的響應(yīng)會(huì)比 Moore 型狀態(tài)機(jī)早一個(gè)時(shí)鐘周期。

參考內(nèi)容:
6.3 Verilog 狀態(tài)機(jī)?| 菜鳥(niǎo)教程:
https://www.runoob.com/w3cnote/verilog-fsm.html