Download - Algebra de Boole - Circuitos Digitais
11/12/13
1
Aula 2 – Álgebra Booleana
Disciplina: Circuitos Digitais Prof. Kelson R. T. Aires
Fonte: Transparências do Prof. Ivan S. Silva
• Uma álgebra definida por: – Um conjunto de operações válidas – Um conjunto de valores admissíveis para cada variável
Álgebra Booleana
Operações Válidas
• Complemento (NOT) ou Negação ou Inversão – É uma operação unária que tem como resultado o valor oposto ao valor da variável a qual é aplicada
SÍMBOLO
A S
EXPRESSÃO
S = A
A S
0 1
1 0
COMPORTAMENTO EM VHDL
S <= NOT A;
Operações Válidas • Operação (AND) ou “E” ou “mulbplicação lógica” – Resulta em ‘1’ se e somente se todas as variáveis de entrada são ‘1’
SÍMBOLO A
B S
EXPRESSÃO
S = A . B
A B S
0 0 0
0 1 0
1 0 0
1 1 1
COMPORTAMENTO
EM VHDL
S <= A AND B;
Operações Válidas
• Operação (OR) ou “OU” ou “adição lógica” – Resulta em ‘1’ se pelo menos uma das variáveis de entrada é ‘1’
SÍMBOLO A
B S
EXPRESSÃO
S = A + B
A B S
0 0 0
0 1 1
1 0 1
1 1 1
COMPORTAMENTO
EM VHDL
S <= A OR B;
Operações Válidas
• Operações NAND – O complemento de um AND
SÍMBOLO A
B S
EXPRESSÃO
S= A . B
A B S
0 0 1
0 1 1
1 0 1
1 1 0
COMPORTAMENTO
EM VHDL
S <= A NAND B;
11/12/13
2
Operações Válidas
• Operações NOR – O complemento de um OR
SÍMBOLO EXPRESSÃO
COMPORTAMENTO
A
B S = A + B
A B S
0 0 1
0 1 0
1 0 0
1 1 0
EM VHDL
S <= A NOR B;
Operações Válidas
• Operações NAND e NOR – Por razões tecnológicas é mais fácil fazer o complemento de um AND ou o complemento de um OR que estas operações
A S
B
A B S=1
A
B
A B
NAND AND
Operações Válidas
• Operações XOR, ou “OU Exclusivo” ou “Disjunção Exclusiva” – Resulta em ‘1’ se e somente se exatamente uma das variáveis de entrada tem o valor ‘1’
– EXPRESSÃO GERAL: (A.B) + (A.B) = A ⊕ B • Veja: hmp://pt.wikipedia.org/wiki/XOR
Operações Válidas
• Operações XOR, “OU Exclusivo” ou “Disjunção Exclusiva”
SÍMBOLO A
B S
EXPRESSÃO
S = A ⊕ B
A B S
0 0 0
0 1 1
1 0 1
1 1 0
COMPORTAMENTO
EM VHDL
S <= A XOR B;
Operações Válidas
• Operações XNOR, ou “Coincidência” – Resulta em ‘1’ se e somente se os valores de todas as variáveis de entrada são idênbcos
– EXPRESSÃO GERAL: (A.B) + (A.B) = A ¤ B • Veja: hmp://pt.wikipedia.org/wiki/Porta_XNOR
Operações Válidas
• Operações XNOR, ou “Coincidência”
SÍMBOLO A
B S
EXPRESSÃO
S S = A ¤ B
A B S
0 0 1
0 1 0
1 0 0
1 1 1
COMPORTAMENTO
EM VHDL
S <= A XNOR B;
11/12/13
3
Circuitos Digitais -‐ UFPI 13
Porta Símbolo Expressão de saída
NOT ou Não S=A
AND ou E
S=A.B
NAND ou Não E
S=A.B
OR ou OU
S=A+B
NOR ou NOU
S = A + B
XOR ou OU Exclusivo
S = A ⊕ B
Coincidência
S = A ¤ B
A
B S
A S
A
B S
A
B S
A
B S
A
B S
A
B S A ¤ B = A ⊕ B
Fonte: Transparências do prof. Ricardo Brimo (DIE/UFPI)
Postulados e Idenbdades
• Complementação A = A A = 0 à A = 1 A= 1 à A = 0
• Adição A + 0 = A A + 1 = 1 A + A = A A + A = 1
• Mulbplicação A.0 = 0 A.1 = A A.A = A A.A = 0
Elemento Neutro
Elemento Neutro
Aritmébca Booleana
• Adição 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 1
• Mulbplicação 0.0 = 0 0.1 = 0 1.0 = 0 1.1 = 1
Propriedades da Álgebra de Boole
• Comutabva
• Distribubva
A . B = B . A
A + B = B + A
A ⊕ B = B ⊕ A
A . (B + C ) = A . B + A . C
A + B . C = (A + B) . (A + C)
Propriedades da Álgebra de Boole
• Associabva ( A . B ) . C = A . ( B . C ) = A . B . C
( A + B ) + C = A + ( B + C ) = A + B + C
( A ⊕ B ) ⊕ C = A ⊕ ( B ⊕ C ) = A ⊕ B ⊕ C
Teoremas de De Morgan
• 1º Teorema : A . B = A + B
A B A . B A + B
0 0 1 1
0 1 1 1
1 0 1 1
1 1 0 0
11/12/13
4
Teoremas de De Morgan
• 2º Teorema : A . B = A + B A.B= A + B A.B= A + B
Façamos = A = X e B = Y
X . Y = (X + Y)
Reescrevendo em termos de A e B
A . B = (A + B)
Do 1º Teorema
2º Teorema
Leis da Absorção • A + A.B = A
Demonstração A + A.B = A A (1 + B) = A A (1) = A A = A
• A +A.B = A + B Demonstração A +A.B = A + B A +A.B = A + B A .(A.B) = A + B A .(A+B) = A + B A.B = A + B A + B = A + B
Leis da Absorção
• (A + B).B = A.B Demonstração (A + B).B = A.B A.B + B.B = A.B A.B + 0 = A.B A.B = A.B
Idenbdades Auxiliares
A.B + A.B = A
A.(A + B) = A
(A + B) . (A + B) = A
(A + B) . (A + C) = A + B.C
Idenbdades Auxiliares A.B + A.B = A
A(B + B) = A
A = A
AA + AB + BA + BB = A
A + AB + BA + 0 = A
A (B+1+B)= A
A = A
(A + B) . (A + B) = A
A.(A + B) = A A.A + AB = A
A + AB = A A( 1 + B) = A
A = A
(A + B) . (A + C) = A + B.C
(A. A + A. C + B.A + B.C) = A ...
(A + A. C + B.A + B.C) = A +B.C
A(1 + B + C) + B.C= A +B.C
A + B.C= A +B.C
Avaliação de Expressões Booleanas
• Criar uma tabela verdade para a expressão • Uma tabela verdade é uma tabela que para cada combinação possível de valores das variáveis de entrada mostra o resultado da expressão
– Idenbficar as variáveis de entrada – Para cada variável de entrada, desbnar uma coluna mais à esquerda, na tabela-‐verdade
– Criar colunas à direita, conforme a ordem de precedência das operações conbdas na equação que se está avaliando
11/12/13
5
Avaliação de Expressões Booleanas
• Ordem de Avaliação de Expressões Booleanas (Ordem Precedência dos Operadores)
– Do nível de parêntesis mais interno para o nível mais externo 1. Complemento de variável individual 2. Operação “E” 3. Operação “OU”
• OBS: complemento de expressão deve ser analisado assim
que a expressão a ser complementada for avaliada.
Exemplo: A + B . C
Avaliação de Expressões Booleanas
• Construção de uma Tabela-‐Verdade – Com n entradas uma função tem 2n combinações de valores possíveis.
• Avaliação da função – Atribuir valores as variáveis na tabela – Avaliar AND, OR, complemento na ordem estabelecida
– Exemplo -‐ DeMorgan: X + Y = X . Y X Y X Y X . Y 0 0 1 1 1 0 1 1 0 0 1 0 0 1 0 1 1 0 0 0
Funções Booleanas e Circuitos Lógicos
• Dada uma função Booleana, é possível representá-‐la graficamente, por meio de uma associação de portas lógicas
• Esta associação chama-‐se circuito lógico ou digital
• Com o circuito lógico é possível implementar fisicamente funções booleanas
Funções Booleanas e Circuitos Lógicos
• Pode-‐se obter um circuito da seguinte maneira: – cada termo é uma porta – cada literal é uma entrada para uma porta – portas adicionais : inversores na entrada – composição dos termos (AND ou 1 OR)
X . Y . Z + X . Y . Z + X . Z
Cada ocorrência de variável (complementada ou não)
literais termo
Funções Booleanas e Circuitos Lógicos
F Z
X
Y
X . Y . Z + X . Y . Z + X . Z
Cada ocorrência de variável (complementada ou não)
literais termo
O número de termos e literais dá uma medida aproximada da complexidade do circuito.
Funções Booleanas e Circuitos Lógicos
• Exercício – Faça a tabela verdade correspondente da função booleana a seguir e desenhe o circuito lógico que a representa
S = A • C + (B • C + A • B)
11/12/13
6
Manipulações Algébricas
• Tem por objebvo simplificar a função booleana e seu circuito lógico: – Exemplo:
F = X Y Z + X Y Z + X Z
lei distribubva F = X Y ( Z +Z) + X Z
complemento F = X Y . 1 + X Z
elemento neutro F = X Y + X Z 2 termos 4 literais
Manipulações Algébricas
• Não existe nenhuma técnica para indicar a manipulação algébrica a ser usada – Método de tentabvas – Familiaridade com axiomas e teoremas da álgebra booleana
Complemento de uma função
• Usando De Morgan exemplo: F = X(YZ + YZ)
F = X(YZ + YZ) F = X + (YZ .YZ) F = X + (Y + Z) . (Y + Z) F = X + YY + YZ + ZY + ZZ F = X + YZ + ZY
Complemento de uma função
• Usando a tabela verdade X Y Z 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
YZ YZ 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1
YZ + YZ 1 0 0 1 1 0 0 1
F 0 0 0 0 1 0 0 1
F 1 1 1 1 0 1 1 0
Resta saber como obter a função e o circuito a parNr da tabela
Equivalência entre portas lógicas
• Inversor a parbr das portas NOR e NAND
E S
0 1
1 0
E S
E S
0 1
1 0
E S
Equivalência entre portas lógicas
• Porta OR a parbr da porta NAND e inversores
A B S
A B
A B
0 0 0 0
0 1 1 1
1 0 1 1
1 1 1 1
BA+ BA*
11/12/13
7
Equivalência entre portas lógicas
• Porta AND a parbr da porta NOR e inversores
A B S
A B
S
A B
0 0 0 0
0 1 0 0
1 0 0 0
1 1 1 1
BA. BA+
Equivalência entre portas lógicas
Porta Lógica Porta Equivalente
Fonte: Transparências do prof. Ricardo Brimo (DIE/UFPI)