7

Mealy と Moore のステート マシンの違いは、C の実装に関して実際に意味がありますか? その違いは通常何ですか?

昔は、RTL に関しては、Mealy/Moore の長所/短所を理解するのはずっと簡単でした。現在の状態に依存する出力全体/現在の状態に依存する出力+現在の入力の違いは理にかなっており、場合によってはMealyの状態が1つ少ない状態で作成できるという事実も理にかなっています。タイミング図を各 FSM 実装に関連付けることで、それらの違いもより明確になりました。

C でステート マシンを作成しているとします。あるケースでは、LUT は状態/現在の入力 (Mealy) に依存し、Moore では、LUT は現在の状態を検索して次の状態を返すだけです。どちらの場合も、出力は LUT から戻った後に発生します (間違っている可能性はあると思います)。C でコーディングした場合に Mealy が有利になる明確な方法は考えていません。コードの読みやすさ、速度、コード密度、設計の容易さなどのトピックはすべて関連するトピックである可能性があります。私の観点からは、2 つのモデルはほとんど同じように見えます。

おそらく、この違いは学者向けのトピックにすぎません。実際には、C 実装では違いはごくわずかです。Mealy と Moore の間で C ステート マシンの実装が異なる主な方法を知っていて、(それも重要な) 本当の利点がある場合は、ぜひ知りたいと思います。強調したいのですが、RTL の実装について質問しているわけではありません。

Mealy/Moore の別の投稿をここで見ました: Mealy v/s. ムーア

しかし、これは私が探している説明のレベルではありません。

4

2 に答える 2

1

Moore Machine : 出力は現在の状態にのみ依存します。Mealy Machine : 出力は、現在の状態と現在の入力の両方に依存します。

于 2015-04-25T18:02:56.917 に答える