bpc-los_08 - Metastabilita, VHDL-popis sekv. obvodů
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.
Procesy v jazyce VHDL - opravený příklad
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY And4 IS PORT(
a: IN std_logic_vector(3 DOWNTO 0);
);
END And4;
ARCHITECTURE Behavioral OF And4 IS
BEGIN PROCESS (a) -- Proces s citlivost. seznamem na signál a
y: OUT std_logic;
-- Okamžité přiřazení do var_y
-- Odložené přiřazení do signálu y
-- Okamžité přiřazení do var_y
-- Definice proměnné var_y
&
y
a0
a1
a2
a3
VARIABLE var_y: std_logic;
BEGIN var_y := '1';
FOR i IN a'range LOOP var_y := a(i) AND var_y;
END LOOP;
y <= var_y;
END PROCESS;
END Behavioral;
Procesy v jazyce VHDL - opravený příklad
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY And4 IS PORT(
a: IN std_logic_vector(3 DOWNTO 0);
);
END And4;
ARCHITECTURE Behavioral OF And4 IS
BEGIN PROCESS (a) -- Proces s citlivost. seznamem na signál a
y: OUT std_logic;
-- Okamžité přiřazení do var_y
-- Odložené přiřazení do signálu y
-- Okamžité přiřazení do var_y
-- Definice proměnné var_y
&
y
a0
a1
a2
a3
Sekvenční příkazy jazyka VHDL
• Sekvenční příkazy (sequential statements) mohou být
zapsány pouze v těle procesu, funkce nebo procedury:
• přiřazení do proměnné,
• příkazy s klíčovými slovy: IF-THEN-ELSIF-ELSE,
• příkazy s klíčovými slovy: CASE-WHEN,
• Příkazy cyklů a příkazy pro jejich řízení: LOOP, NEXT,
EXIT a příkaz NULL.
Sekvenční příkazy jazyka VHDL
• Sekvenční příkazy (sequential statements) mohou být
zapsány pouze v těle procesu, funkce nebo procedury:
• přiřazení do proměnné,
• příkazy s klíčovými slovy: IF-THEN-ELSIF-ELSE,
• příkazy s klíčovými slovy: CASE-WHEN,
• Příkazy cyklů a příkazy pro jejich řízení: LOOP, NEXT,
EXIT a příkaz NULL.
Sekvenční příkaz - podmínka
Sekvenční příkazy (IF-THEN-ELSIF-ELSE) jsou sekvenční
protějškem souběžných příkazů (WHEN-ELSE).
• Používá se k výběru skupiny příkazů, která se má vykonat v
závislosti na splnění podmínky, nebo podmínek.
• Podmínky jsou
vyhodnocovány v pořadí od první k poslední a z
toho tedy
vyplývá i jejich priorita.
• Tyto příkazy mohou být zapsány pouze v těle procesu, funkce
nebo procedury.
IF Podmínka_1 THEN Skupina_příkazů_prováděná_pokud_platí_Podmínka_1;
ELSIF Podmínka_2 THEN Skupina_příkazů_prováděná_pokud_platí_Podmínka_2;
...
ELSE
Skupina_příkazů_prováděná_pokud_neplatí_žádná_podmínka;
END IF;
Sekvenční příkaz - výběr
Sekvenční příkazy (CASE-WHEN) jsou sekvenční protějškem
souběžných příkazů (WITH-SELECT-WHEN).
• Používá se k výběru skupiny příkazů, která se má vykonat v