11.10.2013 Aufrufe

Hardware-Entwurf mit VHDL

Hardware-Entwurf mit VHDL

Hardware-Entwurf mit VHDL

MEHR ANZEIGEN
WENIGER ANZEIGEN

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 />

• Retiming:<br />

Retiming beschreibt eine sequentielle Optimierung, in der kombinatorische Logik über Registergrenzen<br />

hinweg verschoben wird. Hauptzweck ist die Angleichung der Länge zeitkritischer Pfade.<br />

• Register Allocation (Registerzuordnung):<br />

Bei der Registervergabe werden die Werte, die in einem späteren Taktzyklus wieder gebraucht<br />

werden, in Registern gespeichert.<br />

Beispiel: Registerzuordnung für acht Werte<br />

Takt 1<br />

Takt 2<br />

Takt 3<br />

Takt 4<br />

V1 V2 V3<br />

R1 R2 R3<br />

- +<br />

+<br />

V4 V5<br />

R1 R3<br />

SHL<br />

V6<br />

R1 R2 R3<br />

SHR<br />

R2 R3<br />

V7 V8<br />

SHL:<br />

Shift left<br />

SHR:<br />

Shift right<br />

Abbildung 5.6: Registerzuordnung für acht Werte<br />

• Resource Allocation / Resource Sharing / Binding:<br />

Es kommen ingesamt acht Werte vor:<br />

drei Eingangswerte (V1-V3),<br />

drei Zwischenwerte (V4-V6) und<br />

zwei Ausgangswerte (V7-V8)<br />

Für die Speicherung der acht Werte<br />

genügen jedoch 3 Register (R1, R2, R3).<br />

- Resource Allocation (Ressourcen-Zuordnung):<br />

Das ist die Zuordnung von Komponenten (Addierer, ALUs, etc.) zu Operationen (z.B. arithmetische<br />

oder logische Operationen) auf der Basis von vorhandenen Komponenten.<br />

- Resource Sharing (gemeinsame Ressourcennutzung):<br />

Manche Ressourcen können mehrfach verwendet werden, wenn feststeht, dass da<strong>mit</strong> auszuführende<br />

Operationen nicht gleichzeitig (d.h. in einem Taktzyklus) stattfinden müssen.<br />

- Binding (Modulbindung):<br />

Dies bedeudet die Selektion von spezifischen Implementierungen von Ressourcen. Beispielsweise<br />

wird für einen zu implementierenden Addierer eine Carry-Ripple-, Carry-Select- oder<br />

eine Carry-Lookahead-Implementierung ausgewählt.<br />

ÜBERBLICK ZUR HARDWARE-SYNTHESE 124

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!