HDLBits (124) — 簡(jiǎn)單的獨(dú)熱編碼狀態(tài)轉(zhuǎn)換 3
本題鏈接:
https://hdlbits.01xz.net/wiki/Fsm3onehot
以下是一輸入一輸出四狀態(tài)的?Moore 型狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移表。 使用以下獨(dú)熱碼:A=4'b0001, B=4'b0010, C=4'b0100, D=4'b1000。
假設(shè)獨(dú)熱碼通過(guò)檢查導(dǎo)出狀態(tài)轉(zhuǎn)換和輸出邏輯方程。 僅實(shí)現(xiàn)此狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換邏輯和輸出邏輯(組合邏輯部分)。? (測(cè)試臺(tái)將使用非一個(gè)熱輸入進(jìn)行測(cè)試,以確保您不會(huì)嘗試做更復(fù)雜的事情)。


題目
提示:
獨(dú)熱碼轉(zhuǎn)換邏輯的邏輯方程可以通過(guò)查看狀態(tài)轉(zhuǎn)換圖的邊緣來(lái)輸出。

答案

有限狀態(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ī)。
Moore 型狀態(tài)機(jī)
Moore 型狀態(tài)機(jī)的輸出只與當(dāng)前狀態(tài)有關(guān),與當(dāng)前輸入無(wú)關(guān)。
輸出會(huì)在一個(gè)完整的時(shí)鐘周期內(nèi)保持穩(wěn)定,即使此時(shí)輸入信號(hào)有變化,輸出也不會(huì)變化。輸入對(duì)輸出的影響要到下一個(gè)時(shí)鐘周期才能反映出來(lái)。這也是 Moore 型狀態(tài)機(jī)的一個(gè)重要特點(diǎn):輸入與輸出是隔離開來(lái)的。

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