Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana.
Transcript of Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana.
Circuitos lógicos
Circuitos Lógicos
Ivan Saraiva Silva
Aula 1 - Álgebra Booleana
Circuitos lógicos
• Álgebra BooleanaÁlgebra Booleana• Uma álgebra é definida por:
– Um conjunto de operações válidas
– Um conjunto de valores que cada variável pode assumir
Circuitos lógicos
Circuitos lógicos
Circuitos lógicos
Circuitos lógicos
Álgebra Booleana de ChaveamentoÁlgebra Booleana de Chaveamento
Álgebras Booleanas• variáveis, constantes• valores de variáveis e constantes: conjunto discreto e finito • operadores “+”, “.”, “complemento” definidos sobre as constantes• elementos neutros para cada operador
Álgebra Booleana de Chaveamento• valores 0 e 1• operadores “+”, “.”, “complemento” definidos sobre 0 e 1
A B A + B0 0 00 1 11 0 1 1 1 1
A B A . B0 0 00 1 01 0 0 1 1 1
A A0 11 0
• “0” é o elemento neutro do operador “+”• “1” é o elemento neutro do operador “.”
“O” “falso”
“1” “verdadeiro”
“+” “or”
“.” “and”
Circuitos lógicos
Axiomas e Teoremas da Álgebra Booleana de ChaveamentoAxiomas e Teoremas da Álgebra Booleana de Chaveamento
1. A + 0 = A 2. A . 1 = A
3. A + 1 = 1
5. A + A = A
7. A + A = 1
9. A = A
10. A +B = B + A
12. A + (B + C) = (A+ B) + C
14. A . (B + C) = AB + AC
16. A +B = A . B
4. A . 0 = 0
6. A . A = A
8. A . A = 0
11. A.B = B.A
13. X(YZ) = (X.Y)Z
15. A +BC = (A + B).(A+C)
17. A . B = A + B
Lei comutativa
Lei associativa
Lei distributiva
DeMorgan
Circuitos lógicos
• Dual de uma expressão algébrica• trocar OR AND• trocar 0 1
• Encontrar a expressão dual significa encontrar a expressão negada
• Assim se X = AB + C a expressão dual de X é X.
Aplicando-se DeMorgan encontra-se
X = AB + C X = AB + C
X = (A + B).C
A B C0 0 00 0 10 1 00 1 1 1 0 01 0 1 1 1 01 1 1
X X0 11 00 11 00 11 01 01 0
Circuitos lógicos
• Avaliação de Expressões Booleanas 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
– Identificar as variáveis de entrada
– Para cada variável de entrada, destinar uma coluna mais à esquerda, na tabela-verdade
– Criar colunas à direita, conforme a ordem de precedência das operações contidas na equação que se está avaliando
Circuitos lógicos
• Avaliação de Expressões BooleanasAvaliaçã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 externo1. Complemento de variável individual2. 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.
Circuitos lógicosAvaliação de Funções BooleanasAvaliação de Funções Booleanas
• Construção de uma Tabela-Verdade
Exemplo: F (A,B) = com n entradas uma função tem 2n
combinações de valores possíveis.
A B F(A,B)0 00 11 0 1 1
• 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+Y0 0 0 1 0 1 1 01 0 1 01 1 1 0
X Y X Y X . Y0 0 1 1 1 0 1 1 0 01 0 0 1 01 1 0 0 0
As 2 tabelas-verdade são idênticas,portanto a igualdade das funções éverdadeira
Circuitos lógicos
• Circuitos Lógicos– Dada uma equação que representa uma função Booleana, é
possível representá-la graficamente, por meio de uma associação apropriada de portas lógicas.
– Esta associação recebe o nome de circuito lógico.
– Com o desenho do circuito lógico, é possível implementar fisicamente uma função Booleana.
– O desenho de um circuito lógico deve obedecer à ordem de precedência das operações mostradas na equação lógica que se deseja implementar.
Funções Booleanas e Circuitos LógicosFunções Booleanas e Circuitos Lógicos
Circuitos lógicosFunções Booleanas e Circuitos LógicosFunções Booleanas e Circuitos Lógicos
X . Y . Z + X . Y . Z + X . Z
• 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 (1 AND ou 1 OR)
O número de termos e literais dá uma medida aproximada da complexidade do circuito.
• No exemplo:
6 portas• 3 portas de 3 entradas• 1 porta de 2 entradas• 2 portas de 1 entrada
FZ
X
Y
Cada ocorrência de variável(complementada ou não)
literaistermo
6 termos 8 literais
• lit. invertidos
Circuitos lógicos
• Exemplo: desenhe o circuito lógico para a equação
F = X • (Y + Z)– Passo 1: Desenhar a porta inversora que implementa Z.
Funções Booleanas e Circuitos LógicosFunções Booleanas e Circuitos Lógicos
Z Z
Circuitos lógicos
• Exemplo: desenhe o circuito lógico para a equação
F = X • (Y + Z)– Passo 1: Desenhar a porta inversora que implementa Z.
– Passo 2: Desenhar a porta “OU” que implementa (Y + Z).
Funções Booleanas e Circuitos LógicosFunções Booleanas e Circuitos Lógicos
Z Z
Z
Y(Y + Z)
Circuitos lógicos
• Passo 3: Desenhar a porta “E” que implementa X • (Y + Z).
• Exercício: avalie a expressão que segue e desenhe seu circuito lógico.
S = A • C + (B • C +A • B)
Funções Booleanas e Circuitos LógicosFunções Booleanas e Circuitos Lógicos
Z
YX.(Y + Z)
X
Circuitos lógicos
Manipulações AlgébricasManipulações Algébricas
• Manipulação algébrica usando axiomas e teoremas => simplificação de circuitos
• Redução do número de termos e/ou de literais deve resultar num circuito com menos portas
• Exemplo anterior
F = X Y Z + X Y Z + X Z
(identidade 14) lei distributiva
F = X Y ( Z +Z) + X Z
(identidade 7) complemento
F = X Y . 1 + X Z
(identidade 2) elemento identidade
F = X Y + X Z 2 termos4 literais
4 portas• 3 portas de 2 entradas• 1 porta de 1 entrada
X
Y
Z
F
Circuitos lógicos• Não existe nenhuma técnica especial para indicar qual manipulação algébrica deve ser aplicada para simplificar o circuito
• método de tentativas• familiaridade com axiomas e teoremas
• ExemplosX + XY = X . (1+Y) = X . 1 = X
XY + XY = X . (Y+Y) = X . 1 = X
X + XY = (X+X) . (X+Y) = 1. (X+Y) = X + Y
• Outros exemplos X . (X+Y) = X.X + X.Y = X + X.Y = X.(1+Y) = X.1 = X
(X+Y) . (X+Y) = X + Y. Y = X + 0 = X
X . (X+Y) = X . X + X. Y = 0 + X . Y = XY
• Note-se que estas 3 funções são as duais das anteriores
Circuitos lógicos
Teorema do Consenso XY + XZ + YZ = XY + XZ
Demonstração: fazer AND do terceiro termo com X + X =1
XY + XZ + YZ = XY + XZ + YZ ( X + X ) = XY + XZ + XYZ + XYZ = XY + XYZ + XZ + XYZ = XY(1 + Z) + XZ(1 + Y) = XY + XZ
Aplicação numa simplificação
(A + B) (A + C) = AA + AC + AB + BC = AC + AB + BC
= AC + AB
redundante segundo o teorema do consenso
Circuitos lógicos
5. Complemento de uma função5. Complemento de uma função
a) Usando tabela-verdadetrocar 0 1
• exemplo: F = X(YZ + YZ)
• construindo a tabela-verdade
X Y Z
0 0 0 0 0 10 1 0 0 1 11 0 01 0 11 1 01 1 1
YZ YZ
1 00 00 00 11 00 00 00 1
YZ + YZ
1 0 0 1 1 0 0 1
F
00001001
F
11110110
construção da função apartir da tabela-verdade
F = XYZ + XYZ + XYZ + + XYZ + XYZ + XYZ
OR dos termos iguais a 1
Circuitos lógicos
b) Usando DeMorgan
F = X ( YZ + YZ) = X + (YZ + YZ) = X + (YZ . YZ) = X + ( Y + Z).( Y + Z)
= X + YY + YZ + YZ + ZZ= X + YZ + YZ
c) Tomar dual da função e complementar cada literal
F = X(Y.Z + Y.Z)
F = X + (Y + Z).(Y + Z) = X + YY + YZ + YZ + ZZ = X + YZ + YZ
F’ = X + ( Y + Z) (Y + Z)
X Y Z0 0 00 0 10 1 00 1 1 1 0 01 0 1 1 1 01 1 1
F11110110
X YZ YZ1 0 01 0 11 1 01 0 00 0 00 0 10 1 00 0 0