24.12.2012 Aufrufe

Schaltungsdesign mit VHDL

Schaltungsdesign mit VHDL

Schaltungsdesign 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.

C Anwendung von <strong>VHDL</strong><br />

und Busse zur Verbindung der Funktionseinheiten). Zur Ansteuerung<br />

dieser Module generiert die Kontrollpfadsynthese einen endlichen Automaten,<br />

der die Datenpfadregister lädt, Multiplexer und Busse schaltet<br />

und die auszuführenden Operationen auswählt.<br />

2.1.3 Register-Transfer-Synthese<br />

Auf Register-Transfer-Ebene wird der Datenfluß einer Schaltung dargestellt.<br />

Die Beschreibung enthält neben Funktions- auch Strukturangaben<br />

des Entwurfs. Die dabei verwendeten Signale und Zuweisungen<br />

an Signale können nahezu direkt in eine Struktur aus Registern und<br />

Verarbeitungseinheiten ("Transfers") zwischen den Registern übertragen<br />

werden.<br />

Während auf Algorithmischer Ebene eine Schaltung aus imperativer<br />

Sicht, d.h. der Sicht des Steuerwerks, beschrieben wird, das die einzelnen<br />

Aktionen sequentiell zu vorhergehenden Aktionen anstößt, wird<br />

das Verhalten auf RT-Ebene aus der reaktiven Sicht der Elemente<br />

dargestellt. Das bedeutet, daß die einzelnen Objekte "beobachten", ob<br />

eine bestimmte Triggerbedingung wahr wird, und dann entsprechende<br />

Aktionen ausführen.<br />

Die einzelnen Komponenten der Register-Transfer-Ebene sind keiner<br />

Ordnung unterworfen. Als typische Sprachelemente zur Definition der<br />

Objekte dienen sog. "guarded commands". Sie repräsentieren Verarbeitungen,<br />

die dann aktiviert werden, wenn bestimmte Ereignisse eintreten.<br />

Die Register-Transfer-Ebene enthält außerdem ein bestimmtes<br />

Synchronisationsschema, das durch die Triggerbedingungen definiert<br />

ist.<br />

Ein Beispiel:<br />

Ausgegangen wird von einer Schaltung, die unter anderem zwei<br />

Register enthält, welche bidirektional <strong>mit</strong> zwei Bussen verbunden<br />

sind. Auf einer ALU können Additionen, Subtraktionen<br />

und UND-Verknüpfungen durchgeführt werden. Das Operationsergebnis<br />

wird in einem dritten Register gespeichert, welches<br />

auf die beiden Busse schreiben kann. Die steigende Flanke des<br />

Taktes triggert die Operatoren und Register.<br />

244 © G. Lehmann/B. Wunder/M. Selz

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!