Alternativa B - WHEN, GENERATE, BLOCK
Análise da Questão sobre VHDL
O VHDL (Very High Speed Integrated Circuit Hardware Description Language) possui duas áreas principais de execução de código: a região concorrente e a região sequencial.
- Região Concorrente: Ocorre no corpo da arquitetura. As instruções são executadas simultaneamente, sem depender da ordem das linhas. É onde descrevemos o comportamento paralelo dos componentes eletrônicos.
- Região Sequencial: Ocorre dentro de blocos como
PROCESS, FUNCTION ou PROCEDURE. As instruções seguem uma ordem cronológica estrita (uma após a outra).
Identificação das Palavras-Chave
Para responder à questão, devemos identificar quais comandos pertencem exclusivamente ou são utilizados na região concorrente:
- WHEN: Utilizado em atribuições condicionais de sinal que são instruçoes concorrentes (ex:
sinal <= '1' WHEN condição ELSE '0';). - GENERATE: Comanda a replicação estrutural de hardware (laços de geração), permitindo criar múltiplas instâncias de um bloco lógico simultaneamente.
- BLOCK: Serve para agrupar várias instruções concorrentes sob um rótulo comum, facilitando a organização do código.
Por que as outras alternativas estão incorretas?
As palavras-chave presentes nas opções A, C, D e E contêm termos que são restritos à execução sequencial:
| Palavra-Chave | Tipo de Execução | Local de Uso |
|---|
| CASE | Sequencial | Dentro de PROCESS |
| LOOP | Sequencial | Dentro de PROCESS |
| WAIT | Sequencial | Dentro de PROCESS |
Como a pergunta solicita especificamente os comandos para regiões de código concorrente, qualquer alternativa que contenha CASE, LOOP ou WAIT é eliminada.
Conclusão
A única combinação que lista apenas comandos válidos para a região concorrente do VHDL é a Alternativa B.