本文主要是介绍【IC设计】ICer‘s 乾坤大挪移——FSM状态机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 理论解读
- 写几段式状态机?
- 设计实战
- 两种state的FSM(异步复位)
理论解读
写几段式状态机?
设计实战
两种state的FSM(异步复位)
实现下图所示的摩尔状态机,复位为异步复位。
代码实现:
module top_module(input clk,input areset, // Asynchronous reset to state Binput in,output out);// parameter A=0, B=1; reg state, next;// State transition logicalways@(*)begin // This is a combinational always blockcase(state)A: next = in ? A : B;B: next = in ? B : A;endcaseend// State flip-flops with asynchronous resetalways @(posedge clk or posedge areset) begin // This is a sequential always blockif(areset == 1'b1)beginstate <= B;end else beginstate <= next;endend// Output logicassign out = (state == B);endmodule
- 验证结果
这篇关于【IC设计】ICer‘s 乾坤大挪移——FSM状态机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!