Vhdl FSM是否可能处于某一状态?

Vhdl FSM是否可能处于某一状态?,vhdl,fsm,Vhdl,Fsm,我想知道是否有可能实现以下功能 我想做什么?。想象一下大本钟的旋律。我想每一刻钟演奏四分之一的旋律。我想要一个具有以下状态的FSM: 整小时(so xx:00)=(输入=01) 季度过去/季度结束(so xx:15/xx:45)=(输入=10) 半程(所以xx:30)=(输入=11) (xx=不在乎) 对于每个州,我都有另一个FSM。此FSM将确保音乐正确播放 If(state = whole hour) { switch music_state case A { play

我想知道是否有可能实现以下功能

我想做什么?。想象一下大本钟的旋律。我想每一刻钟演奏四分之一的旋律。我想要一个具有以下状态的FSM:

  • 整小时(so xx:00)=(输入=01)
  • 季度过去/季度结束(so xx:15/xx:45)=(输入=10)
  • 半程(所以xx:30)=(输入=11)
(xx=不在乎)

对于每个州,我都有另一个FSM。此FSM将确保音乐正确播放

If(state = whole hour)
{
   switch music_state
   case A
   { play 1 sec, next_music_state = F}
   case and so on ......
这行吗?我是否可以制作一个具有一小时不同状态的FSM,并且每个状态都有另一个FSM

如果有不清楚的地方,请告诉我,我会尽力澄清。我知道这一部分并不难,但我仍然想知道这个实现是否会起作用。我希望,也认为,它会,尽管我想肯定


提前多谢

您可以制作单个FSM以保持其简单性

默认状态为空闲:这将检查时间(整小时、四分之一或半小时),如果其中一种情况发生,您只需运行适当的状态,如: 整小时的音乐,半小时的音乐


这些状态将运行不同的状态链,播放它们的音乐,并返回空闲状态,等待下一个适当的时间再次播放。

具有“内部状态”和“外部状态”的元状态机当然是可能的。我做过类似的事情有一段时间了,但就在上周,我的钱掉了,我终于写了一个有两个独立状态的状态机。在一个单一的过程中,它就像一个梦


“内部状态机”的运行方式与普通状态机一样,但在其最后一种状态下,您可以测试元状态或外部状态,以确定下一步将发送到外部序列的哪一部分。

Woow,我没有这样想过。这是“更容易”,需要更少的空间。谢谢:)