circuitos lógicos circuitos lógicos ivan saraiva silva aula 1 - Álgebra booleana

21
Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

Upload: internet

Post on 17-Apr-2015

134 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: 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

Page 2: 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

Page 3: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

Circuitos lógicos

Page 4: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

Circuitos lógicos

Page 5: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

Circuitos lógicos

Page 6: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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”

Page 7: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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

Page 8: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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

Page 9: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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

Page 10: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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.

Page 11: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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

Page 12: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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

Page 13: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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

Page 14: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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

Page 15: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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)

Page 16: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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

Page 17: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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

Page 18: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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

Page 19: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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

Page 20: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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

Page 21: Circuitos lógicos Circuitos Lógicos Ivan Saraiva Silva Aula 1 - Álgebra Booleana

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