Hardware Reference
In-Depth Information
Tabelle 3.3. Feldattribute
Attribut
Ergebnis
F'left[(n)], F'right[(n)],
F'low[(n)], F'high[(n)]
linker, rechter, kleinster bzw. größter
Indexwert
F'range[(n)],
F'reverse_range[(n)]
Indexbereich, umgekehrt geordneter
Indexbereich
F'length[(n)] Anzahl der Elemente
F'ascending[(n)] true für einen aufsteigenden und false für
einen absteigenden Indexbereich
(F - Feldobjekt oder Feldtyp; n - Nummer des Indexbereichs)
und 'ascending liefern integer bzw. boolean-Werte, die sich auch als Tex-
te ausgeben lassen. Die mit 'range und 'reverse_range abgefragten Be-
reiche können als Iterationsbereiche für Schleifen und in Vereinbarungen von
Feldtypen und Feldobjekten verwendet werden.
Beispiel 3.5: Was geben die nachfolgenden Write-Anweisungen aus?
type tTab is array ( 1 to 5 , 6 downto 4 ) of natural ;
variable Tab: tTab;
...
A1: write( "Tab'left(1)=" & str(Tab'left( 1 )));
A2: write( "Tab'ascending(2)=" & str(Tab'ascending(2)));
A3: for idx in Tab'reverse_range( 2 ) loop
write( "idx=" & str(idx));
end loop ;
)WEB-Projekt:P3.2/Test_Feld.vhdl
A1: Die linke Indexgrenze des ersten Indexbereichs ist
Tab'left(1)=1
A2: Der zweite Indexbereich ist nicht aufsteigend definiert:
Tab'ascending(2)=false
A3: Die For-Schleife gibt die Indexwerte des zweiten Indexbereichs in umge-
kehrter Reihenfolge, d.h. aufsteigend, aus:
idx=4
idx=5
idx=6
Operationen und eng verwandte Feldtypen
Für Felder gibt es nur wenige vordefinierte Operationen. Typgleiche Felder
können einander zugewiesen, zugeordnet oder miteinander verglichen wer-
 
Search WWH ::




Custom Search