05.07.2013 Aufrufe

VHDL Kompakt - CES

VHDL Kompakt - CES

VHDL Kompakt - CES

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.

Kapitel 6<br />

Signale<br />

Während die <strong>VHDL</strong>-Verhaltensbeschreibungen – Prozesse mit Variablen und sequenziellen<br />

Anweisungen – den algorithmischen Abläufen in Programmiersprachen entsprechen, besitzen<br />

Signale und konkurrente Blöcke Eigenschaften, die für Strukturbeschreibungen und<br />

deren Simulation typisch sind.<br />

Dabei sind Signale die einzige Möglichkeit, quasi als Leitungen, die Elemente struktureller<br />

Beschreibungen miteinander zu verbinden sowie die Kommunikation zwischen Prozessen<br />

zu ermöglichen. Bei der Simulation wird eine zeitliche Ordnung von Ereignissen – im<br />

Sinne von Ursache und Wirkung – über Signale geregelt.<br />

6.1 Deklaration<br />

Signale können an folgenden Stellen im <strong>VHDL</strong>-Code deklariert werden:<br />

1. innerhalb eines package für globale Signale.<br />

2. als port ... der entity-Deklaration für entity-globale Signale.<br />

3. innerhalb einer architecture als architecture-globale Signale. Im Allgemeinen werden<br />

alle Signale, die keine Ports sind, so deklariert.<br />

Syntax<br />

signal 〈identifier list〉 : 〈typeId〉 [ 〈range〉 ] [:= 〈expression〉 ];<br />

〈port declaration〉 ::= Ein- und Ausgänge<br />

port ( 〈port list〉 : [ 〈mode〉 ] 〈typeId〉 [:= 〈expression〉 ]{ ;<br />

〈port list〉 : [ 〈mode〉 ] 〈typeId〉 [:= 〈expression〉 ]} );<br />

〈mode〉 ::= in|out|inout|buffer<br />

” Richtung“<br />

Für den Modus der Ein-/Ausgänge einer Portdeklaration gilt:<br />

in Eingang, nur auf rechter Seite von Variablen-/Signalzuweisungen, also in Ausdrücken,<br />

zulässig.<br />

out Ausgang, nur auf linker Seite von Signalzuweisungen zulässig.<br />

inout bidirektionale Leitung, kann im Code lesend und schreibend benutzt werden.<br />

buffer prinzipiell ein Ausgang, darf intern aber auch gelesen werden. Insbesondere gibt<br />

es nur einen Treiber für den Port: eine Prozess, eine konkurrente Anweisung oder eine<br />

treibende Instanz.<br />

41

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!