Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Eletrônica / Sistemas Digitais / Aula
Se a sua expressão booleana, resolvida na tarefa 2, for equivalente à equação abaixo, você está correto. Lembrando que aqui estamos admitindo apenas equações de soma de produtos.
S=¯A ¯B C+¯A B C+A ¯B C+A B ¯C+A B CComo vocês viram, existem várias instruções de atribuição de sinais. Nesta aula, vamos utilizar instruções de atribuição de sinais de seleção, ou melhor, o famoso e conhecido IF-THEN-ELSE, estrutura que vocês trabalharam em outras disciplinas.
Sabemos que o VHDL executa seus comandos de forma concorrente. Para que um conjunto de instruções seja executado de forma sequencial é necessário utilizar a estrutura especial chamada de processos (process). Logo, para as instruções IF-THEN-ELSE funcionarem de forma correta é necessário colocá-las dentro de um “process”.
Agora vamos descrever parte da expressão booleana utilizando o IF-THEN-ELSE. Veja que cada produto é uma condição de seleção. O trecho de código abaixo mostra a implementação da condição ¯A ¯B C. Tente complementar o restante do código com as demais parcelas da expressão lógica. Lembre-se, ao final, que S=0 para os demais casos que não os explícitos nesta equação.
if ((A='0') and (B='0') and (C='1')) then
s <= '1';
elsif (...)
...
end if;
Versão 5.3 - Todos os Direitos reservados