11.10.2013 Aufrufe

Hardware-Entwurf mit VHDL

Hardware-Entwurf mit VHDL

Hardware-Entwurf mit VHDL

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Hardware</strong>-<strong>Entwurf</strong> <strong>mit</strong> <strong>VHDL</strong><br />

Prof. Dr.-Ing. Stefan Wolter Elektrotechnik und Informatik<br />

6.5.4 Zustandscodierung<br />

In den bisherigen Modellen wurde für die Definition der Zustände ein Aufzählungstyp <strong>mit</strong> symbolischen<br />

Namen verwendet. Abhängig von der gewählten Zustandscodierung wird bei der FSM-Synthese<br />

den symbolischen Zuständen eine Bitrepräsentation zugeordnet, so dass die Zustände durch Bitkobinationen<br />

codiert werden können und der Zustandsspeicher durch Flipflops realisiert werden kann.<br />

Die Art der Zustandscodierung beeinflusst nicht das funktionale Verhalten des Automaten, wohl aber<br />

den <strong>Hardware</strong>verbrauch und die erreichbare Taktfrequenz. Wegen des Einflusses der Zustandscodierung<br />

auf den <strong>Hardware</strong>verbrauch und die Geschwindigkeit eines Automaten werden im folgenden gebräuchliche<br />

Zustandscodierungen, deren <strong>VHDL</strong>-Modellierung und deren Auswirkungen auf das Synthesergebnis<br />

näher behandelt.<br />

Varianten der Zustandscodierung:<br />

• Die binäre Zustandscodierung nummeriert die Zustände binär durch. Mit n Flipflops können 2 n<br />

verschiedene Zustände gespeichert werden. Mit dieser Codierung erreicht man eine minimale<br />

Anzahl an Flipflops. Für die Schaltnetze aber wird zusätzliche Logik benötigt.<br />

• Bei der einschrittigen Zustandscodierung nach dem Gray-Code werden die Zustände den<br />

Binärwerten so zugeordnet, dass sich bei Zustandsänderungen nur ein Zustandsbit ändert. Dies<br />

begünstigt kleinere Übergangsschaltnetze, da weniger Logik für das Setzen und Rücksetzen<br />

der Flipflops benötigt wird. Mit dieser Codierung erreicht man ebenfalls eine minimale Anzahl<br />

an Flipflops.<br />

• Die sog. One-Hot Codierung ordnet jedem Zustand ein eigenes Flipflop zu. Der Status eines<br />

Automaten wird so durch nur jeweils ein gesetztes Flipflop bestimmt. Automaten, die <strong>mit</strong> diesem<br />

Zustandscode generiert wurden, haben meistens die kleinsten Verzögerungszeiten, aber<br />

auch den größten Flächenverbrauch, da jeder Zustand ein eigenes Flipflop benötigt.<br />

Beispiel: Zustandscodierungen für vier Zustände<br />

Umsetzung der Zustandscodierung:<br />

Zustand Binär Gray One-Hot<br />

S0 00 00 0001<br />

S1 01 01 0010<br />

S2 10 11 0100<br />

S3 11 10 1000<br />

Tabelle 6.1: Binäre, Gray und One-Hot Zustandscodierung<br />

Die bisherigen <strong>VHDL</strong>-Modelle enthielten für die Zustandsdefinition etwa folgende Deklarationen:<br />

TYPE State_type IS (SO, S1, S2, S3);<br />

SIGNAL CurrentState : State_Type;<br />

SIGNAL NextState : State_Type;<br />

<strong>VHDL</strong>-SYNTHESE 170

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!