生活随笔
收集整理的這篇文章主要介紹了
根据状态转移写状态机-三段式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
根據狀態轉移寫狀態機-三段式
題目描述
如圖所示為兩種狀態機中的一種,請根據狀態轉移圖寫出代碼,狀態轉移線上的0/0等表示的意思是過程中data/flag的值。
要求:
1、 必須使用對應類型的狀態機
2、 使用三段式描述方法,輸出判斷要求要用到對現態的判斷
注意rst為低電平復位
信號示意圖
`timescale 1ns/1nsmodule fsm1(input wire clk ,input wire rst ,input wire data ,output reg flag
);
//*************code***********//parameter s0 = 4'b0001;parameter s1 = 4'b0010;parameter s2 = 4'b0100;parameter s3 = 4'b1000;reg[3:0] c_state,n_state;always@(posedge clk or negedge rst)beginif(!rst)c_state <= s0;elsec_state <= n_state;endalways@(*)begincase(c_state)s0:beginif(data == 1'b1)n_state = s1;elsen_state = s0;ends1:beginif(data == 1'b1)n_state = s2;elsen_state = s1;ends2:beginif(data == 1'b1)n_state = s3;elsen_state = s2;ends3:beginif(data == 1'b1)n_state = s0;elsen_state = s3;enddefault:n_state = s0;endcaseendalways@(posedge clk or negedge rst)beginif(!rst)flag <= 1'b0;else if(c_state == s3 && data == 1'b1)flag <= 1'b1;elseflag <= 1'b0;end
//*************code***********//
endmodule
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的根据状态转移写状态机-三段式的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。