Verilog 当州太多时,如何建立FSM?

Verilog 当州太多时,如何建立FSM?,verilog,fsm,Verilog,Fsm,我正在从事一个自动售货机项目,并试图构建一个状态机,正如我从其他示例中看到的那样。我正试图制造的机器最多能装100美元。它需要五分镍币、一角硬币和四分之一硬币。所以,我应该逐一定义大约2000个州。如何以更简单的方式构建FSM?我只是想要一个继续的建议 谢谢:)为什么您觉得机器现金余额的每一个可能值都需要一个单独的状态?这听起来像是FSM的不当使用 只需使用一个整数寄存器来保存机器的总余额,或者使用单独的寄存器来保存各种硬币和纸币的数量,并从中计算总数 状态可能类似于处理付款,分发项目,或退款更

我正在从事一个自动售货机项目,并试图构建一个状态机,正如我从其他示例中看到的那样。我正试图制造的机器最多能装100美元。它需要五分镍币、一角硬币和四分之一硬币。所以,我应该逐一定义大约2000个州。如何以更简单的方式构建FSM?我只是想要一个继续的建议


谢谢:)

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

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


状态可能类似于
处理付款
分发项目
,或
退款更改
。不是机器的余额。

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

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


状态可能类似于
处理付款
分发项目
,或
退款更改
。不是机器的平衡。

仅仅因为你有2000个“状态”,并不意味着你必须在case语句中列举每一个状态


正如其他人所提到的,您需要在计数器中存储一些状态。

仅仅因为您有2000个“状态”,并不意味着您必须在case语句中枚举它们中的每一个


正如其他人提到的,您需要在计数器中存储一些状态。

这2000个状态代表什么?你不能仅仅实现一堆计数器吗?(当然,这是FSM)2000个州代表每5美分的货币增量,最高可达100美元。例如,$63.85是机器的可能状态。这2000个状态代表什么?你不能仅仅实现一堆计数器吗?(当然,这是FSM)2000个州代表每5美分的货币增量,最高可达100美元。例如,机器的可能状态为$63.85。