simplificação de expressões booleanas e circuitos lógicos
DESCRIPTION
Simplificação de Expressões Booleanas e Circuitos Lógicos. Prof. Corradi. Tópicos. Revisão Álgebra Booleana Revisão portas lógicas Circuitos lógicos soma de produtos produto de somas Simplificação por postulado da Álgebra Simplificação por mapa de Karnaugh. Álgebra Booleana. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/1.jpg)
Simplificação de Expressões Simplificação de Expressões Booleanas e Circuitos LógicosBooleanas e Circuitos Lógicos
Prof. CorradiProf. Corradi
![Page 2: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/2.jpg)
TópicosTópicos• Revisão Álgebra BooleanaRevisão Álgebra Booleana• Revisão portas lógicasRevisão portas lógicas• Circuitos lógicosCircuitos lógicos
– soma de produtossoma de produtos– produto de somasproduto de somas
• Simplificação por postulado da ÁlgebraSimplificação por postulado da Álgebra• Simplificação por mapa de Karnaugh Simplificação por mapa de Karnaugh
![Page 3: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/3.jpg)
Álgebra BooleanaÁlgebra Booleana• Variáveis só podem assumir 1 entre Variáveis só podem assumir 1 entre
2 valores2 valores• Uso de tabelas (tabela verdade) para Uso de tabelas (tabela verdade) para
listar combinações de valores de listar combinações de valores de entrada e os correspondentes entrada e os correspondentes valores de saídavalores de saída
![Page 4: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/4.jpg)
Álgebra BooleanaÁlgebra Booleana• Proposição – todo enunciado que pode Proposição – todo enunciado que pode
se afirmar ser verdadeiro ou falso.se afirmar ser verdadeiro ou falso.• ExemploExemplo
– Amanhã vai chover – não constitui uma Amanhã vai chover – não constitui uma proposição, pois existe mais de duas proposição, pois existe mais de duas respostas possíveis: Sim, Talvez e Não respostas possíveis: Sim, Talvez e Não
– Lisboa é a capital de Portugal é uma Lisboa é a capital de Portugal é uma proposição proposição
![Page 5: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/5.jpg)
Princípios da Álgebra Princípios da Álgebra BooleanaBooleana• Não contradição: uma proposição não Não contradição: uma proposição não
pode ser simultaneamente verdadeira pode ser simultaneamente verdadeira e falsae falsa
• Terceiro excluído: uma proposição só Terceiro excluído: uma proposição só pode tomar um dos dois valores pode tomar um dos dois valores possíveis, ou é verdadeira ou falsa, possíveis, ou é verdadeira ou falsa, não sendo possível terceira hipótese.não sendo possível terceira hipótese.
![Page 6: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/6.jpg)
Álgebra BooleanaÁlgebra Booleana• Operações BásicasOperações Básicas
– OU (OR) - Adição Lógica F = X + Y OU (OR) - Adição Lógica F = X + Y
X Y
0 00 11 01 1
F
0111
![Page 7: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/7.jpg)
Álgebra BooleanaÁlgebra Booleana• Operações BásicasOperações Básicas
– E (AND) - Multiplicação Lógica F = X . YE (AND) - Multiplicação Lógica F = X . Y
X Y
0 00 11 01 1
F
0001
![Page 8: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/8.jpg)
Álgebra BooleanaÁlgebra Booleana• Operações BásicasOperações Básicas
– Não (NOT) - Complemento (Negação) F = Não (NOT) - Complemento (Negação) F = X´ ou F = X X´ ou F = X
X
01
F
10
![Page 9: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/9.jpg)
Tabela VerdadeTabela Verdade• Cada entrada = 1 colunaCada entrada = 1 coluna• Cada saída = 1 colunaCada saída = 1 coluna• As possíveis Combinações entradas As possíveis Combinações entradas
podem assumir: N = 2podem assumir: N = 2nn, onde n = , onde n = quantidade de variáveis de entrada e quantidade de variáveis de entrada e N as combinações entre zeros (0) e N as combinações entre zeros (0) e uns (1).uns (1).
![Page 10: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/10.jpg)
Tabela VerdadeTabela VerdadeS = A + B . C
A B C0 0 0 0 0 10 1 00 1 11 0 01 0 11 1 01 1 1
S00101111
![Page 11: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/11.jpg)
Portas LógicasPortas LógicasPorta AND (Função Multiplicação Lógica (E))
FAB
F = A . B
![Page 12: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/12.jpg)
Portas LógicasPortas Lógicas• Portas lógicas são dispositivos ou Portas lógicas são dispositivos ou
circuitos lógicos que operam um ou circuitos lógicos que operam um ou mais sinais lógicos de entrada para mais sinais lógicos de entrada para produzir uma e somente uma saída, produzir uma e somente uma saída, a qual é dependente da função a qual é dependente da função implementada no circuito.implementada no circuito.
![Page 13: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/13.jpg)
Portas LógicasPortas Lógicas• Um computador é constituído por uma Um computador é constituído por uma
infinidade de circuitos lógicos, que infinidade de circuitos lógicos, que executam as seguintes funções básicas: executam as seguintes funções básicas:
a.realizam operações matemáticas a.realizam operações matemáticas b.controlam o fluxo dos sinais b.controlam o fluxo dos sinais c.armazenam dados c.armazenam dados
![Page 14: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/14.jpg)
Portas Portas LógicasLógicas• Naturalmente, a cada operação Naturalmente, a cada operação
lógica estudada na Álgebra de Boole lógica estudada na Álgebra de Boole está associada a respectiva porta está associada a respectiva porta lógica. lógica.
![Page 15: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/15.jpg)
Portas LógicasPortas LógicasPorta OR (Função Adição Lógica (OU))
F
A
B
F = A + B
![Page 16: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/16.jpg)
Portas LógicasPortas LógicasPorta NOT (Função Negação Lógica (Complemento))
F = A
AA
![Page 17: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/17.jpg)
Circuitos LógicosCircuitos Lógicos
• RepresentaçãoRepresentação– Produto de SomasProduto de Somas
• lista todas as combinações das variáveis lista todas as combinações das variáveis de entrada para as quais a função de de entrada para as quais a função de saída vale 0saída vale 0
– Soma de ProdutosSoma de Produtos• lista todas as combinações das variáveis lista todas as combinações das variáveis
de entrada para as quais a função de de entrada para as quais a função de saída vale 1saída vale 1
Definição de uma função booleana através de uma tabela-verdade
Expressão algébrica da função
![Page 18: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/18.jpg)
Soma de ProdutosSoma de Produtos Mintermo = termo-produto no qual cada variável aparece exatamente 1 vez, complementada (se bit da tabela = 0) ou não (se bit da tabela = 1)
X Y Z0 0 0 0 0 10 1 00 1 11 0 01 0 11 1 01 1 1
Termo-produto X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z
mintermo m0 m1 m2 m3 m4 m5 m6 m7
![Page 19: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/19.jpg)
Produto de SomasProduto de Somas Maxtermo = termo-soma no qual cada variável aparece exatamente 1 vez, complementada (se bit da tabela = 1) ou não (se bit da tabela = 0)
X Y Z0 0 0 0 0 10 1 00 1 11 0 01 0 11 1 01 1 1
Termo-soma X + Y + Z X + Y + Z X + Y + Z X + Y + Z X + Y + Z X + Y + Z X + Y + Z X + Y + Z
maxtermo M0 M1 M2 M3 M4 M5 M6 M7
![Page 20: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/20.jpg)
NotaçõesNotaçõesX Y Z0 0 0 0 0 10 1 00 1 11 0 01 0 11 1 01 1 1
F10100101
F = XYZ + XYZ + XYZ + XYZ = m0 + m2 + m5 + m7 = m (0,2,5,7)
Soma de Produtos
Produto de Somas F = (X + Y + Z) (X + Y + Z) (X + Y + Z) (X + Y + Z) = M1 . M3 . M4 . M6 = M(1,3,4,6)
![Page 21: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/21.jpg)
Simplificação de Expressões Simplificação de Expressões BooleanasBooleanas• Usada para economizar Usada para economizar
componentes, tornar o circuito componentes, tornar o circuito mais rápido, mais simples de mais rápido, mais simples de fabricar e de manutenção, além de fabricar e de manutenção, além de diminuir seu tamanho.diminuir seu tamanho.
• Tipos:Tipos:– Postulados da Álgebra BooleanaPostulados da Álgebra Booleana– Mapas de KarnaughMapas de Karnaugh
![Page 22: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/22.jpg)
Postulados da Álgebra Postulados da Álgebra BooleanaBooleana• Identidades BooleanasIdentidades Booleanas
A + 0 = A A + 0 = A 11 A . 0 = 0 A . 0 = 0 55 A = A A = A 99A + 1 = 1 A + 1 = 1 22 A . 1 = A A . 1 = A 66A + A = 1 A + A = 1 33 A . A = 0 A . A = 0 77A + A = AA + A = A 44 A . A = A A . A = A 88
• Propriedade ComutativaPropriedade ComutativaA + B = B + A A + B = B + A 1010 A . B = B . AA . B = B . A 11 11
![Page 23: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/23.jpg)
Postulados da Álgebra Postulados da Álgebra BooleanaBooleana• Propriedade AssociativaPropriedade Associativa
(A + B) + C = A + (B + C) (A + B) + C = A + (B + C) 1212 (A. B) . C = (B. C) . A (A. B) . C = (B. C) . A 1313 • Propriedade DistributivaPropriedade Distributiva
A . (B + C) = A . B + A . C A . (B + C) = A . B + A . C 1414• ConsensoConsenso A . B + A’ . C + B . C = A . B + A’ . C A . B + A’ . C + B . C = A . B + A’ . C 1515 (A+B) . (A’+C) . (B+C) = (A+B) . (A’+C) (A+B) . (A’+C) . (B+C) = (A+B) . (A’+C) 1616• Teorema de De MorganTeorema de De Morgan
A . B... = A + B + ...A . B... = A + B + ... A + B + ... = A . A + B + ... = A . B ... B ... 1717
![Page 24: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/24.jpg)
Expressões AuxiliaresExpressões Auxiliares
18 A + ( A . B ) = A
19 A + ( A’ . B ) = A + B
20 ( A + B’ ) . B = A . B
21 ( A . B ) + ( A . B’ ) = A
22 ( A + B ) . ( A + B’ ) = A
![Page 25: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/25.jpg)
Simplificação pelos Simplificação pelos Postulados da Álgebra Postulados da Álgebra BooleanaBooleana
CABCBABCACBAF
CABCBAC)CB(AF
CABCBABAF
F A B1 AB C ABC Pela prop. (6), A B1=A B
C C =1Pela prop. (4),
Pela prop. (14), A(BC) A B AC
Soma de Produtossimplificada
![Page 26: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/26.jpg)
Simplificação pelos Simplificação pelos Postulados da Álgebra Postulados da Álgebra BooleanaBooleana
O termo poderia ter sido simplificado com o termo
CABCBABCACBAF
CAB ABC
Utilizando a propriedade (3), que permite a seguinte manipulação:
ABC ABCABC
![Page 27: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/27.jpg)
Simplificação pelos Simplificação pelos Postulados da Álgebra Postulados da Álgebra BooleanaBooleana
Soma de Produtos simplificada (mínima, no caso)
F ABCABCABC ABC ABC Pela prop. (3), ABC ABCABC
F AB(CC)ABC (A A)BCPela prop. (14)
Pela prop. (4)
F A B1 AB C1BC Pela prop. (6)
F ABABCBC
![Page 28: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/28.jpg)
Circuito LógicoCircuito LógicoCABCBABCACBAF
A
C
F
B
1o nível 2o nível
Complexidade:4x3 + 1x4 = 16
Soma de mintermos Circuito com (lógica de ) 2 níveis
![Page 29: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/29.jpg)
Circuito Lógico Expressão Circuito Lógico Expressão SimplificadaSimplificada
CBCBABAF
Complexidade:2x2 + 2X3 = 10
A
C
F
B
1o nível 2o nível
Soma de produtos(simplificada) Circuito com (lógica de ) 2 níveis
![Page 30: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/30.jpg)
Simplificação por Mapa de Simplificação por Mapa de KarnaughKarnaugh• Cada célula corresponde a um mintermoCada célula corresponde a um mintermo• Representa a função como soma de Representa a função como soma de
produtosprodutos• Para 2 variáveisPara 2 variáveis Y
XYm0
XYm2
XYm3
XYm1
X 0 1
0 1
• Exemplo:F = m(1,2,3) = XY + XY + XY
0
YX 0 1
0 1
1
11
Y
![Page 31: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/31.jpg)
Simplificação por Mapa de Simplificação por Mapa de KarnaughKarnaugh• Simplificação algébrica é de difícil Simplificação algébrica é de difícil
automatizaçãoautomatização• Simplificação por mapa fornece uma Simplificação por mapa fornece uma
maneira “visual” para a simplificaçãomaneira “visual” para a simplificação• Baseia-se na identificação de Baseia-se na identificação de
produtos vizinhosprodutos vizinhos
![Page 32: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/32.jpg)
Simplificação por Mapa de Simplificação por Mapa de KarnaughKarnaugh
m0
m2 m3
m1
YX 0 10 1 região onde X = 1
região onde Y = 1
Junta-se 2n posições20 = 1 23 = 821 = 222 = 4
![Page 33: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/33.jpg)
Simplificação por Mapa de Simplificação por Mapa de KarnaughKarnaugh• Mapa com 3 variáveisMapa com 3 variáveis
Concatenar bit da linha com bits dacoluna para identificar mintermo
m0 m1 m3m6m2
m4 m5 m7
00 01 11 10
01
YZX
• Mintermos não seguem a ordem crescente => útil para simplificação• 2 células vizinhas (adjacentes): mintermos diferem por uma variável
m5 e m7
XYZ XYZ
única diferença é Y
![Page 34: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/34.jpg)
Simplificação por Mapa de Simplificação por Mapa de KarnaughKarnaugh• Atenção para a vizinhança entre Atenção para a vizinhança entre
bordasbordas
• Região com 2 células adjacentes Região com 2 células adjacentes termo com 2 literais...termo com 2 literais...
m0m4 m6
m2m0 m1 m3
m6m2
m4 m5 m7
00 01 11 10
01
YZX
![Page 35: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/35.jpg)
Simplificação por Mapa de Simplificação por Mapa de KarnaughKarnaugh
F = m(2,3,4,5)
• Exemplo de simplificação
0 0 10
11 1 0
00 01 11 100
1
YZX
F = XY + XY
0 0 11
0
1 0 1
00 01 11 100
1
YZX F = m(3,4,6,7)
F = YZ + XZ
![Page 36: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/36.jpg)
Simplificação por Mapa de Simplificação por Mapa de KarnaughKarnaugh• Mapa com 4 variáveisMapa com 4 variáveis
m0 m1 m3 m2
m6
m11
m15
m7
m9
m13
m5
m8
m12
m4
m14
m10
00 01 11 10
00
01
11
10
YZWX
• Notar adjacências através das bordas
m0
m1 m9
m8
m4 m6
m2m0
![Page 37: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/37.jpg)
Simplificação por Mapa de Simplificação por Mapa de KarnaughKarnaugh
• Exemplo de simplificação
1 1 1
1
111
111
00 01 11 10
00
01
11
10
YZWX
1
WZ
XZF = Y + WZ + XZ
célula isoladaregião com 2 célulasregião com 4 célulasregião com 8 células
termo com 4 literaistermo com 3 literaistermo com 2 literaistermo com 1 literal
Y
![Page 38: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/38.jpg)
Simplificação por Mapa de Simplificação por Mapa de KarnaughKarnaugh
• Mapas com mais de 4 variáveis Mapas com mais de 4 variáveis tornam-se difíceis de manipulartornam-se difíceis de manipular
![Page 39: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/39.jpg)
Don´t CaresDon´t Cares• Saída :não importa o valor da saída Saída :não importa o valor da saída
gerado por determinada combinação gerado por determinada combinação de entradasde entradas
• Entrada: é indiferente o valor da Entrada: é indiferente o valor da entrada para determinar um valor na entrada para determinar um valor na saídasaída
![Page 40: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/40.jpg)
Funções com Saídas não Funções com Saídas não EspecificadasEspecificadas
A B C D F0 0 0 0 1 0 0 0 1 00 0 1 0 00 0 1 1 10 1 0 0 10 1 0 1 00 1 1 0 00 1 1 1 11 0 0 0 11 0 0 1 01 0 1 0 X1 0 1 1 X 1 1 0 0 X1 1 0 1 X1 1 1 0 X1 1 1 1 X
•Valor da saída não precisa ser especificado don’t care = X
![Page 41: Simplificação de Expressões Booleanas e Circuitos Lógicos](https://reader036.vdocuments.com.br/reader036/viewer/2022062323/56815c28550346895dc9fcce/html5/thumbnails/41.jpg)
Simplificação com Don´t Simplificação com Don´t CaresCares
11X X X X
X X
11
1
00 01 11 10
00 01
11
10
CDAB
• X pode ser 0 ou 1 => o que for mais conveniente para simplificar a função
F = CD + CD