VHDL
Descrever em VHDL e simular no ModelSim uma entidade com três bits de entrada ( A, B e Cin) e dois bits de saída ( S e Cout) que implemente um somador completo,
descrito pelas seguintes funções lógicas.
S = A ⊕ B ⊕ Cin
Cout = A . B + A . Cin + B . Cin
A saída S é o resultado da soma binária dos bits de entrada, enquanto
que a saída Cout representa o chamado “vai-um”
Soluções para a tarefa
Vamos começar incluindo a biblioteca IEEE e declarar a utilização dos recursos inclusos no padrão 1164.
Agora, vamos listar as entradas e saídas do somador completo no bloco chamado entity, ou seja, vamos descrever a interface desse circuito.
Sugere-se aqui que o nome dado à entity seja o mesmo que tenha sido dado ao projeto criado, dependendo do software, se estes nomes forem diferentes ocorrerá um erro ao tentarmos rodar as simulações.
O nome utilizado aqui foi FA, abreviação de Full Adder.
Note que tanto as entradas quanto as saídas são std_logic's, isto é, são portas de 1 bit.
Prosseguindo, vamos agora descrever a arquitetura (architecture) do somador, como será o comportamento dessa entity. O exercício já nos forneceu as expressões lógicas, só precisamos escreve-las como é mostrado abaixo.
Obs.: o nome dado à architecture é de livre escolha, utilizei aqui "behavior".
Juntando as três partes:
Está pronto o código VHDL, basta agora utilizarmos um software para gerar os diagramas de formas de onda. As simulações devem estar em acordo com a figura anexada a esta resolução.