Hallo
in unserer Verilog-Vorlesung wurde geasgt, dass in der Praxis für einen
Statechart meist ein Latched-Mealy automat verwendet wird.
Kann mir jemand mal genau den Unterschied/Vor-Nachteile von Mealy, Moore
und Latched Mealy erklären.
Gruß
Andreas S.
vielen dank für die antwort. Ja, ich meinte mit statechart eine FSM.
Leider kann ich immer aus den Links immer noch net entnehmen, was ein
latched mealy ist
Eine kurze Internetrecherche ergab, dass man unter einem Latched Mealy
schlicht einen Moore-Automaten versteht. Die Outputs werden also
gelatcht. Das entspricht einem Moore-Automaten, auch wenn es nicht
explizit so dargestellt wird.
P. M. schrieb:> Eine kurze Internetrecherche ergab, dass man unter einem Latched Mealy> schlicht einen Moore-Automaten versteht.
Nicht ganz. bei einem Mealy Automaten existiert zusätzlich ein direkter
Pfad der Eingangssignale zum Ausgangsschaltnetz [1]. Das Latched
bedeutet m.E. nur, dass die Ausgänge (im FPGA) nochmal gelatched sind.
> Die Outputs werden also> gelatcht. Das entspricht einem Moore-Automaten, auch wenn es nicht> explizit so dargestellt wird.
[1] Reichardt / Schwarz - FPGA Synthese
Grüsse,
Martin
So ein gelatchter Mealy ist nur eine Gedankenkrüke, dass keine
unsynchronisierten Signale im FPGA auftauchen sollten. Denn auch in
einem Moore Automat taucht per Definition nirgends ein Takt auf!
Erst bei der praktischen Umsetzung wird ein (ausreichend schneller) Takt
eingeführt. Insofern ist ein "latched Mealy" ein kleines
Umsetzungsdetail und sowas wie ein "motorisiertes Auto"...
Innerhalb eines FPGAs bringen unnötige Speicherstufen nur unnötige
Latency. Deshalb darf es da einen solchen Automaten eigentlich gar nicht
geben.
Bei uns steht folgendes dazu:
A latched mealy machine is a very fast and safe technique to model
pipelined data paths. (Mealy and Moore are taught in classes because
they are dicult enough to confuse students. They are rarely used though,
because of some poor properties: When connected together Mealy machines
produce long combinational paths. Moore does not yield such long
combinational paths but the basic drawback remains.)
> Denn auch in einem Moore Automat taucht per Definition nirgends> ein Takt auf!
Explizit nicht, aber die Zustandsübergangsfunktion berechnet den neuen
Zustand aus dem alten und den Eingängen. Klar kann man mit einer
Wertetabelle keine steigende Flanke darstellen, aber eine Funktion kann
das durchaus. Also ist der Takt kein "Trick", sondern schon in der
Definition enthalten.
Lothar Miller schrieb:> Denn auch in> einem Moore Automat taucht per Definition nirgends ein Takt auf!> Erst bei der praktischen Umsetzung wird ein (ausreichend schneller) Takt> eingeführt. Insofern ist ein "latched Mealy" ein kleines> Umsetzungsdetail und sowas wie ein "motorisiertes Auto"...>
Das kommt wohl auf den Autor des Lehrtextes an, in der WP kommen
tatsächlich keine zeitliche Bezüge vor (oder ich blicks sie grad nicht
in den Formaliengestrüpp), dagegen führt Wakerly: "Digital design" Mealy
und Moor an einem Blockbild mit einem getakten Zustandspeicher ein. Es
scheint aber das die beiden 1955 resp 56 ihre Automaten in Zusammenhang
mit Sequentiellen netzwerken (also mit Zeitbezug im Unterschied zu
kombinatorischen) konzipiert haben . Ergo ist eine Definition ohne Takt
(Zeitbezug) weder im Sinne des Studenten noch des Erfinders.
MfG,
Andreas Seitel schrieb:> A latched mealy machine is a very fast and safe technique to model> pipelined data paths. (Mealy and Moore are taught in classes because> they are dicult enough to confuse students. They are rarely used though,> because of some poor properties: When connected together Mealy machines> produce long combinational paths. Moore does not yield such long> combinational paths but the basic drawback remains.)
Hm, wo steht das so? So beim Überfliegen des Textes regt sich einiger
Widerspruch. "Latches" sollte man in digitalen designs vermeiden. Das
Mealy/Moore kaum genutzz werden bezweifle ich auch stark. Lange Pfade
durch Pipilines/FF aufzubrechen ist eine Alltags-technik für die es
keinen neuen FSM-Type benötigt.
MfG
Leider kann ich immer noch nicht nachvollziehen, was für einen Vorteil
der Latched (Registered) Mealy dem normalen Moore-Automaten gegenüber
liefert.
Auch wenn es irgendwo im Inet steht, dass es dasgleiche ist, scheint es
ja bei unserer Definition Unterschiede zu geben. Der Dozent hat es
versucht damals zu erklären, leider konnte ich ihm damals nicht richtig
folgen. Es ging aber um die Hintereinanderschaltungen von Automaten und
die damit verbundenen Probleme.
Der "gelatchte" Mealy hat gegen den Moore-Automaten keinen Vorteil. Aber
er hat gegenüber dem "normalen" Mealy den Vorteil, dass es den
kombinatorischen Pfad mit seinen Glitches nicht gibt.
-> Topic Opener
Schreibe in der Klausur, dass man Zustandsautomaten meistens als
Latched-Mealy-Typ implementiert und dann vergiss das. Und wenn Du
dereinst selbst mal einen Zustandsautomaten bauen willst, dann mach das
so, wie es für die Anwendung opportun erscheint, also als Moore, Mealy,
oder (mein Favorit) Medwedew-Automat.
Harald