simplificação de expressões booleanas e circuitos lógicos

Post on 09-Feb-2016

62 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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 Presentation

TRANSCRIPT

Simplificação de Expressões Simplificação de Expressões Booleanas e Circuitos LógicosBooleanas e Circuitos Lógicos

Prof. CorradiProf. Corradi

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

Á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

Á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

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.

Á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

Á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

Á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

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).

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

Portas LógicasPortas LógicasPorta AND (Função Multiplicação Lógica (E))

FAB

F = A . B

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.

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

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.

Portas LógicasPortas LógicasPorta OR (Função Adição Lógica (OU))

F

A

B

F = A + B

Portas LógicasPortas LógicasPorta NOT (Função Negação Lógica (Complemento))

F = A

AA

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

top related