Escreva uma descrição VHDL (entity e architecture) de um Gerador de Paridade Par de 4 bits (A3, A2, A1, A0 e saída P).
Passo 1
O exercício pede a descrição em VHDL de um gerador de paridade par de 4 bits. O conteúdo está em lógica combinacional, mais especificamente na geração de paridade, e vamos precisar conhecer a operação XOR para implementá-la.
Passo 2
Paridade par significa que a saída P deve ser ‘1’ quando o número de bits ‘1’ nas entradas A3, A2, A1 e A0 for par. A teoria básica é: para um conjunto de bits, a paridade par é obtida pela operação XOR de todos eles.
Da teoria do XOR, sabemos que a expressão booleana para a paridade par de 4 bits é
Da teoria do XOR, sabemos que a expressão booleana para a paridade par de 4 bits é
ou seja, aplicamos XOR sucessivamente a todos os sinais de entrada.
Passo 3
Para iniciar o código VHDL, precisamos declarar a entity, que define a interface do nosso gerador de paridade. Ela terá 4 entradas (A3, A2, A1, A0) do tipo std_logic e uma saída § também std_logic.
Passo 4
Na architecture, basta usar uma atribuição concorrente com XOR para implementar a expressão. Não precisamos de sinais intermediários nem processos, pois é uma lógica puramente combinacional. A arquitetura pode ser chamada de Comportamental ou Behavioral.
Resposta
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_1164.all;
entity GeradorParidadePar is
port (
A3, A2, A1, A0 : in std_logic;
P : out std_logic
);
end GeradorParidadePar;
port (
A3, A2, A1, A0 : in std_logic;
P : out std_logic
);
end GeradorParidadePar;
architecture Comportamental of GeradorParidadePar is
begin
P <= A3 xor A2 xor A1 xor A0;
end Comportamental;
begin
P <= A3 xor A2 xor A1 xor A0;
end Comportamental;