当状态太多时如何构建FSM?

时间:2013-01-10 03:07:38

标签: verilog fsm

正在从其他示例中看到,我正在研究自动售货机项目并尝试构建状态机。我正在尝试建造的机器可以支付高达100美元的费用。它需要镍,硬币和四分之一。所以,我应该逐个定义大约2000个州。如何以更简单的方式构建FSM?我只想要一个建议继续。

谢谢:)

2 个答案:

答案 0 :(得分:5)

为什么您认为机器的现金余额的每个可能值都需要一个单独的状态?这听起来像是对FSM的不良使用。

只需使用一个整数寄存器来保存机器的总余额,或者使用单独的寄存器来保存各种硬币和账单的数量,并计算总数。

状态可能是process paymentdispense itemrefund change。不是机器的平衡。

答案 1 :(得分:0)

仅仅因为你有2000个“状态”并不意味着你必须在案例陈述中枚举它们中的每一个。

正如其他人所提到的,你需要将你的一些州存放在柜台中。