verilog學習筆記——三段式狀態機
https://blog.csdn.net/jason_child/article/details/60466050
摩爾狀態機的架構
狀態轉換圖
coding
module finite_fsm(
z_o,
clk,
Rst_n,
w_i
);
//輸出埠
output z_o;
//輸入埠
input clk;
input Rst_n;
input w_i;
//輸出埠型別宣告
reg z_o;
//引數宣告
parameter IDLE = 2'b00;
parameter S0 = 2'b01;
parameter S1 = 2'b10;
//內部訊號宣告
reg[1:0] current_state;
reg[1:0] next_state;
//狀態暫存器
always @ (posedge clk or negedge Rst_n) begin
if(!Rst_n)
current_state <= IDLE;
else
current_state <= next_state;
end
//次態的組合邏輯
always @ (w_i or current_state) begin
case(current_state)
IDLE:begin
if(w_i) next_state = S0;
else next_state = IDLE;
end
S0: begin
if(w_i) next_state = S1;
else next_state = IDLE;
end
S1: begin
if(w_i) next_state = S1;
else next_state = IDLE;
end
default : next_state = 2'bxx;
endcase
end
//輸出邏輯
always @ (*) beign
case(current)
IDLE: z_o = 1'b0;
S0: z_o = 1'b0;
S1: z_o = 1'b1;
default: z_0 = 1'b0;
endcase
end
endmodule
- 關於三段式狀態機的一點總結
1
確定輸入輸出訊號,及其型別(是wire還是reg);2
宣告內部訊號,一般需要定義current_state和next_state;3
用3個always語句描述狀態機;第一個用來次態和現態的轉換,第二個always用於現態在輸入情況下轉換為次態的組合邏輯;第三個語句用於現態到輸出的組合邏輯輸出。
相關文章
- React學習筆記-State(狀態)React筆記
- 設計模式學習筆記之狀態模式設計模式筆記
- 設計模式學習筆記(二十)狀態模式及其實現設計模式筆記
- 學習筆記----樹狀陣列筆記陣列
- 學習筆記-Verilog實現IIC匯流排協議筆記協議
- 動態規劃學習筆記動態規劃筆記
- 機率論 學習筆記筆記
- HDL/FPGA學習筆記八:verilog中task與function的使用FPGA筆記Function
- Mybatis學習筆記(6)-動態SQLMyBatis筆記SQL
- 學習 Avalonia 框架筆記 設定 X11 視窗從最小化狀態還原為正常狀態框架筆記
- IC學習筆記(一)——Verilog加減法及四捨五入筆記
- 學習筆記(2)IPC機制筆記
- 學習筆記-虛擬機器筆記虛擬機
- AC自動機學習筆記筆記
- AC 自動機學習筆記筆記
- 統計學習方法筆記-感知機學習方法筆記
- java反射之動態代理學習筆記Java反射筆記
- numpy的學習筆記\pandas學習筆記筆記
- Kubernetes學習筆記(九):StatefulSet--部署有狀態的多副本應用筆記
- Solidity語言學習筆記————40、儲存中狀態變數的佈局Solid筆記變數
- 字尾自動機學習筆記筆記
- MySQL 學習筆記(二)MVCC 機制MySql筆記MVC
- OS學習筆記四:同步機制筆記
- 期望 與 機率論 學習筆記筆記
- 搭建verilog/systemverilog學習環境
- Python學習筆記6——動態型別Python筆記型別
- 偽靜態和重定向(apache)學習筆記Apache筆記
- PHP學習筆記——延遲靜態繫結PHP筆記
- Javascript 設計模式系統講解與應用——學習筆記10-狀態模式JavaScript設計模式筆記
- IT學習筆記筆記
- 學習筆記筆記
- Flutter狀態管理--Getx學習2Flutter
- 飛機的 PHP 學習筆記九:安全PHP筆記
- 飛機的 PHP 學習筆記七:WebPHP筆記Web
- JVM學習筆記——類載入機制JVM筆記
- 隨機過程學習筆記——概論隨機筆記
- 3D機房前端學習筆記3D前端筆記
- Google Protocol buffer 學習筆記.下篇-動態編譯GoProtocol筆記編譯