Folha de consulta de VHDL
Revisão de 21h34min de 1 de abril de 2024 por Moecke (discussão | contribs) (→Instruções sequencias)
Instruções concorrentes
Instruções sequencias
Essas instruções devem ser utilizadas dentro de um PROCESS, ou FUNCTION, ou PROCEDURE. Elas não podem ser usadas diretamente na ARCHITECTURE
- Instrução LOOP incondicional:
[rótulo:] LOOP
afirmação_sequencial;
afirmação_sequencial;
...
END LOOP [rótulo];
- Instrução FOR-LOOP:
[rótulo:] FOR identificador IN faixa LOOP
afirmação_sequencial;
afirmação_sequencial;
...
END LOOP [rótulo];
- Instrução WHILE-LOOP:
[rótulo:] WHILE condição LOOP -- Executa as "afirmações enquanto a "condição" for verdadeira
afirmação_sequencial;
afirmação_sequencial;
...
END LOOP [rótulo];
- Instrução LOOP com EXIT:
[rótulo:] [FOR identificador IN faixa] LOOP
afirmação_sequencial;
EXIT [rótulo] [WHEN condição]; -- Se a "condição" é verdadeira, termina o "LOOP"
afirmação_sequencial;
...
END LOOP [rótulo];
- Instrução LOOP com NEXT:
[rótulo:] [FOR identificador IN faixa] LOOP
afirmação_sequencial;
NEXT [rótulo] [WHEN condição]; -- Se a "condição" é verdadeira, não executa as linhas até a linha "END LOOP"
-- e incrementa o "identificador".
afirmação_sequencial;
...
END LOOP [rótulo];
- Instrução CASE
[rótulo:] CASE expressão IS
WHEN valor -- valor único
=> atribuições;
...
WHEN valor1 | valor2 | ... | valorN -- lista de valores
=> atribuições;
...
WHEN valor1 TO valor2 -- faixa de valores
=> atribuições;
...
END CASE;