Mudanças entre as edições de "Folha de consulta de VHDL"
Ir para navegação
Ir para pesquisar
Linha 1: | Linha 1: | ||
==Instruções concorrentes== | ==Instruções concorrentes== | ||
+ | |||
+ | <syntaxhighlight lang=vhdl> | ||
+ | [rótulo:] PROCESS [(lista_de_sensibilidade)] [IS] | ||
+ | [parte_declarativa] | ||
+ | BEGIN | ||
+ | afirmação_sequencial; | ||
+ | afirmação_sequencial; | ||
+ | ... | ||
+ | END PROCESS [rótulo]; | ||
+ | </syntaxhighlight> | ||
==Instruções sequencias== | ==Instruções sequencias== |
Edição das 21h41min de 1 de abril de 2024
Instruções concorrentes
[rótulo:] PROCESS [(lista_de_sensibilidade)] [IS]
[parte_declarativa]
BEGIN
afirmação_sequencial;
afirmação_sequencial;
...
END PROCESS [rótulo];
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
- Atribuição de valor sobre SIGNAL:
[rótulo opcional]: <signal_name> <= <expression>;
- Atribuição de valor sobre VARIABLE:
[rótulo opcional]: <variable_name> := <expression>;
- Instrução LOOP incondicional:
[rótulo opcional:] LOOP
afirmação_sequencial;
afirmação_sequencial;
...
END LOOP [rótulo];
- Instrução FOR-LOOP:
[rótulo opcional:] FOR identificador IN faixa LOOP
afirmação_sequencial;
afirmação_sequencial;
...
END LOOP [rótulo];
- Instrução WHILE-LOOP:
[rótulo opcional:] 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 opcional:] [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 opcional:] [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 opcional:] 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;