Hardware-Entwurf mit VHDL
Hardware-Entwurf mit VHDL
Hardware-Entwurf mit VHDL
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Hardware</strong>-<strong>Entwurf</strong> <strong>mit</strong> <strong>VHDL</strong><br />
Prof. Dr.-Ing. Stefan Wolter Elektrotechnik und Informatik<br />
6.5.3 <strong>VHDL</strong>-Modelle für einen Beispielautomaten<br />
In diesem Abschnitt werden exemplarisch verschiedene Varianten dargestellt. Das für den Beispielautomaten<br />
zugehörige Mealy-Zustandsdiagramm zeigt folgende Abbildung.<br />
Inputs / Outputs<br />
A, B / Y, Z<br />
Reset<br />
1,0/0,(A xnor B)<br />
0,1/0,(A xnor B)<br />
Abbildung 6.24: Mealy-Zustandsdiagramm für den Beispielautomaten<br />
Der Automat wartet nach einem Reset im Zustand Start solange bis beide Eingänge '0' sind. Dann<br />
wechselt er in den Zustand Middle und verharrt dort solange bis beide Eingänge '1' sind. Er wechselt<br />
dann in den Zustand Stop und wartet bis einer der Eingänge wieder '0' wird und kehrt dann in den<br />
Ausgangszustand zurück. Bei der dargestellten Mealy-Varianten ist nur der Ausgang Z eingangsabhängig.<br />
Ein Wechsel von Z ist ausserdem aufgrund der gewählten Ausgangsgleichungen nur bei einem<br />
gleichzeitigen Zustandswechsel möglich. Dies gilt insbesondere auch nur für die Übergänge vom<br />
Zustand Start zum Zustand Middle und vom Zustand Stop zum Zustand Start.<br />
Die Moore-Variante ergibt sich einfach dadurch, dass die Ausgänge wie folgt festgelegt sind:<br />
• Zustand Start: Y = Z = '0'<br />
• Zustand Middle: Y = Z = '1'<br />
• Zustand Stop: Y = '0', Z = '1'<br />
-,1/0, (A nor B)<br />
1,-/0, (A nor B)<br />
0,0/0, (A nor B)<br />
Start Middle<br />
1,1/0, (A xnor B)<br />
0,0/0, (A xnor B)<br />
Im folgenden werden für den Beispielautomaten die im vorherigen Abschnitt behandelten Varianten<br />
vorgestellt und bzgl. der Ausgangssignale <strong>mit</strong>einander verglichen. Der Automat hat folgende Entity:<br />
---------------------------------------------------------------------------<br />
ENTITY Beispiel_FSM IS<br />
PORT (Reset : IN STD_LOGIC;<br />
Clock : IN STD_LOGIC;<br />
A : IN STD_LOGIC;<br />
B : IN STD_LOGIC;<br />
Y : OUT STD_LOGIC;<br />
Z : OUT STD_LOGIC);<br />
END Beispiel_FSM;<br />
---------------------------------------------------------------------------<br />
<strong>VHDL</strong>-SYNTHESE 157<br />
Stop<br />
-,0/1, 1<br />
0,-/1, 1<br />
1,1/1,1