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.
LIBRARY ieee; -- Knihovna IEEE
USE ieee.std_logic_1164.ALL; -- Knihovní balík std_logic_1164
-- Popis architektury KombinacniObvod
ARCHITECTURE Behavioral OF KombinacniObvod IS
-- Declarative part
SIGNAL vnitrni_signal: std_logic
BEGIN-- Statement part
END Behavioral;
y <= vnitrni_signal NAND c;
vnitrni_signal <= a OR b;
;
-- Co se změní nyní ?
Jazyk VHDL - souběžné příkazy
-- Deklarace entity KombinacniObvod
ENTITY KombinacniObvod IS PORT (a, b, c: IN std_logic; -- Deklarace vstupu
y: OUT std_logic); -- Deklarace výstupu
END KombinacniObvod;
LIBRARY ieee; -- Knihovna IEEE
USE ieee.std_logic_1164.ALL; -- Knihovní balík std_logic_1164
-- Popis architektury KombinacniObvod
ARCHITECTURE Behavioral OF KombinacniObvod IS
-- Declarative part
SIGNAL vnitrni_signal: std_logic
BEGIN-- Statement part
:= '0'; -- A co nyní ?
END Behavioral;
y <= vnitrni_signal NAND c;
vnitrni_signal <= a OR b;
-- Co se změní nyní ?
?
Jazyk VHDL - souběžné příkazy
-- Deklarace entity KombinacniObvod
ENTITY KombinacniObvod IS PORT (a, b, c: IN std_logic; -- Deklarace vstupu
y: OUT std_logic); -- Deklarace výstupu
END KombinacniObvod;
LIBRARY ieee; -- Knihovna IEEE
USE ieee.std_logic_1164.ALL; -- Knihovní balík std_logic_1164
-- Popis architektury KombinacniObvod
ARCHITECTURE Behavioral OF KombinacniObvod IS
-- Declarative part
SIGNAL vnitrni_signal: std_logic
BEGIN-- Statement part
:= '0'; -- A co nyní ?
END Behavioral;
y <= vnitrni_signal NAND c;
vnitrni_signal <= a OR b;
-- Co se změní nyní ?
Všechny uvedené zápisy jsou si rovnocenné.
Příkaz podmíněného přiřazení
Souběžné příkazy (concurrent statements)•
Podmíněné přiřazovací příkazy s klíčovými slovy WHEN - ELSE:
jméno_signálu <= Hodnota_1 WHEN Podmínka_1 ELSE Hodnota_2 WHEN Podmínka_2 ELSE
...
...
ELSE Hodnota_x;
• Podmínka je relační výraz jehož vyhodnocením vznikne výsledek typu boolean.
• Je-li výsledek podmínky true je podmínka splněna.
• Signálu je přiřazena ta hodnota, která patří k první splněné podmínce.
• Pořadí klíčových slov WHEN uvnitř příkazu určuje prioritu vyhodnocení
podmínek.
• Pokud je jako podmínka uveden pouze výraz s hodnotou typu std_logic dojde
ve VHDL 2008 k její automatické konverzi na typ boolean. Ve starších verzích je
třeba ji porovnat s hodnotou, tak aby byl výsledek podmínky typu boolean.
•
Nezapomínejte na poslední ELSE a následnou hodnotu, některé syntezátory
mohou generovat obvod se záchytným registrem, pokud poslední případ s
hodnotou není uveden. Chování nutno ověřit ve zvoleném prostředí.
Příklad použití podmíněného přiřazení