bpc-los_04 - VHDL-dat. typy, operátory, soub. příkazy, podm. přiřaz.
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
Datové typy v jazyce VHDL
• VHDL je přísně typový (strongly typed).
• Před použitím objektu musí být
deklarován jeho typ.
• Typ určuje:
– Jakých hodnot může objekt nabývat.
– Jaké operace jsou s tímto typem přípustné.
Datové typy jazyka VHDL
• Skalární (scalar)
– Výčtové (enumeration)
– Celočíselné (integer)
– S pohyblivou řádovou čárkou (floating point)
– Fyzikální (physical)
• Složené (composite)
– Pole (array)
– Záznam (record)
Datové typy jazyka VHDL
• Skalární (scalar)
– Výčtové (enumeration)
– Celočíselné (integer)
– S pohyblivou řádovou čárkou (floating point)
– Fyzikální (physical)
• Složené (composite)
– Pole (array)
– Záznam (record)
Skalární datové typy
Výčtový datový typ
• Definované výčtem hodnot, kterých může objekt nabývat
• Výčtové typy jsou
uspořádané (ordered), jsou pro ně
definované relační operace <, > apod.
• Pořadí v němž jsou ve výčtu uvedeny definuje uspořádání.
První položka je nejmenší, každá další je vždy větší než
předchozí.
• Standard IEEE 1076 již definuje výčtové typy: bit,
boolean, character, file_open_kind,
file_open_status, severity_level
TYPE bit IS (0, 1); -- dvouhodnotový typ
TYPE boolean IS (false, true); -- výsledek podmínky
TYPE severity_level IS (note, warning, error, failure);
TYPE jidlo IS (snidane, obed, svacina, vecere);
-- snidane=0, obed=1, svacina=2, vecere=3
Celočíselné datové typy
• Celočíselné typy jsou
uspořádané (ordered), jsou pro ně
definované relační operace a aritmetické operace.
TYPE byte IS RANGE 0 TO 255;
TYPE int16 IS RANGE -32768 TO 32767;
TYPE index IS RANGE 31 DOWNTO 0;
• Existují předdefinované celočíselné typy: integer,
natural, positive
SIGNAL a: byte;
SIGNAL b: int16 := 0;
SIGNAL c: integer RANGE 0 TO 255;
Předdefinované celočíselné datové typy
Předdefinované celočíselné typy: integer, natural,
positive.
Poznámka: Zápis integer'high představuje konstrukt jazyka
zvaný přístup k atributu (vlastnosti typu). V tomto případě
získáme nejvyšší možnou hodnotu typu integer.
TYPE integer IS RANGE -2_147_483_648 TO 2_147_483_647;
SUBTYPE natural IS integer RANGE 0 TO integer'high;
SUBTYPE positive IS integer RANGE 1 TO integer'high;
Datový typ
Minimum
Maximum
integer
natural
positive
−231
231 − 1
231 − 1
0
1
231 − 1
Datové typ s plovoucí desetinnou
čárkou
• Typy s plovoucí desetinnou čárkou jsou
porovnatelné
(comparable), jsou pro ně definovány relační operace a
aritmetické operace.