Hardware Reference
In-Depth Information
In Fall a wird der Indexbereich des Bitvektors übernommen. Die Ausgabe bleibt
gleich. In Fall b nimmt »idx« nacheinander die Werte »2«, »1« und »0« an. Die
Ausgabezeile »bv(3)=1« fehlt. In Fall c wird »bv(1)=U« bis »bv(3)=1« ausgegeben.
In Fall d werden wie beim Originalprogramm alle vier Zeilen nur in umgekehrter
Reihenfolge ausgegeben.
In Schleifenbeschreibungen treten öfter Indexfehler auf. Bei der Suche nach
solchen Fehlern rentiert sich ein Testrahmen für den separaten Test einzelner
Anweisungsfolgen mit an beliebigen Stellen einfügbaren Kontrollausgaben.
Die Anweisung für einen vorzeitigen Schleifenabbruch lautet
exit [Schleifenbezeichner] [when Bedingung];
Die optionale Bedingung ist ein Ausdruck vom Typ boolean. Wenn sie erfüllt
ist, wird die Schleife verlassen. Ist keine Abbruchbedingung angegeben, wird
die Schleife bei der Abarbeitung einer Abbruchanweisung immer verlassen.
Der optionale Schleifenbezeichner ist der Schleifenanweisung vorangestellt. Er
erlaubt es, bei mehreren verschachtelten Schleifen anzugeben, welche Schleife
bei erfüllter Abbruchbedingung verlassen wird. In Abb. 3.7 wird, wenn die
Bedingung b 1 erfüllt ist, die äußerste Schleife verlassen. Wenn die Bedingung
b 2 erfüllt ist, wird nur die innerste Schleife verlassen.
S1:
for ...
S2:
for ...
for ...
S3:
exit when
S1 b 1
exit when
S3 b 2
Abb. 3.7. Abbruchanweisungen in verschachtelten Wiederholschleifen
3.1.4 Funktionen
Eine VHDL-Funktion ist ein Unterprogramm, das aus Eingabewerten einen
Rückgabewert berechnet. Sie ersetzt in der aufrufenden Einheit einen Aus-
druck. Hier im Buch werden Unterprogramme immer in einem Package ver-
einbart und beschrieben. Die Funktionsvereinbarung steht im Package-Kopf:
package Packagename is
function Funktionsname[(Parameterliste)] return Rückgabetyp;
...
end package ;
Search WWH ::




Custom Search