Você está na página 1de 42

Universidade Federal de Pelotas

Curso de Engenharia da Computação


Introdução à Engenharia da Computação

Álgebra Booleana e Circuitos Lógicos

Profa. Míriam Blank Born


mbborn@inf.ufpel.edu.br

1
Álgebra Booleana
• Proposta pelo matemático inglês George Boole, em
1854

• Assume um número finito de valores possíveis para as


variáveis

• Definida por operações básicas sobre os valores


possíveis e por teoremas

2
Álgebra Booleana
• Uma álgebra é definida por:
• Um conjunto de operações válidas
• Um conjunto de valores que cada variável pode assumir

3
Álgebra Booleana
• Em 1934, Claude Shannon propôs o uso de um subconjunto da
Álgebra Booleana para modelar o funcionamento de circuitos
a relés
• Este subconjunto assumia apenas dois valores possíveis para
cada variável e ficou conhecido por Álgebra de Chaveamento
(Switching Algebra)
• Hoje em dia, o projeto de sistemas digitais é baseado na
Álgebra de Chaveamento
• Entretanto, a maior parte da literatura a chama simplesmente
de Álgebra Booleana

4
Álgebra Booleana

• Valores das Variáveis:


– Seja A  A  {0,1} ( {F,V}, {high, low}, {on, off}…)

• Dizendo de outra maneira:


– Se A ≠ 0  A = 1
– Se A ≠ 1  A = 0

5
Álgebra Booleana
• Associação da Álgebra Booleana com Eletrônica
Digital:

Valor Nível Nível de tensão Nível de tensão Nível de tensão


lógico lógico (tec. 2.0 µm) (tec. 0.5 µm) (tec. 0.13 µm)
F 0 0V 0V 0V
V 1 5V 3.3 V 1.5 V

6
Operações Básicas da Álgebra
Booleana

1. Complemento (“NOT”)
(Também denominada de “negação” ou “inversão”)

• É uma operação unária (i.e., só pode ser aplicada sobre uma variável
por vez)
• Tem como resultado, o valor oposto ao valor original da variável de
entrada

Símbolos: Tabela-verdade: Porta Lógica


(representação gráfica):
{A, ~A, ¬A , A’, NOT(A) } A A
(lê-se “A negado”) 0 1
A A
1 0

7
Operações Básicas da Álgebra
Booleana

2. Operação “E” (“AND”)


(Também denominada de “multiplicação lógica”)

Definição 1: a operação “E” resulta 1 se e somente se todas as


variáveis de entrada valerem 1

Tabela-verdade: Porta Lógica


Símbolos: (representação gráfica):
A B A•B
{• , } 0 0 0
A A•B
0 1 0
B
1 0 0
1 1 1

8
Operações Básicas da Álgebra
Booleana

2. Operação “E” (“AND”)


(Também denominada de “multiplicação lógica”)

Definição 2: a operação “E” resulta 0 se ao menos uma das


variáveis de entrada valer 0

Tabela-verdade: Porta Lógica


Símbolos: (representação gráfica):
A B A•B
{• , } 0 0 0
A A•B
0 1 0
B
1 0 0
1 1 1

9
Operações Básicas da Álgebra
Booleana
3. Operação “OU” (“OR”)
(Também denominada de “adição lógica”)

Definição 1: a operação “OU” resulta 1 se ao menos uma das


variáveis de entrada valer 1

Tabela-verdade: Porta Lógica


Símbolos: A B A+B (representação gráfica):
{+ , } 0 0 0
0 1 1 A A+B
1 0 1 B
1 1 1

10
Operações Básicas da Álgebra
Booleana
3. Operação “OU” (“OR”)
(Também denominada de “adição lógica”)

Definição 2: a operação “OU” resulta 0 se e somente se todas


variáveis de entrada valerem 0

Tabela-verdade: Porta Lógica


Símbolos: A B A+B (representação gráfica):
{+ , } 0 0 0
0 1 1 A A+B
1 0 1 B
1 1 1

11
Operações Básicas da Álgebra
Booleana

Comparando as Definições…

Operação “E” Operação “OU”

Definição 1: a operação “E” resulta 1 Definição 1: a operação “OU” resulta


se e somente se TODAS as 1 se AO MENOS UMA das
variáveis de entrada valerem 1 variáveis de entrada valer 1

Definição 2: a operação “E” resulta 0 Definição 2: a operação “OU” resulta


se AO MENOS UMA das variáveis 0 se e somente se TODAS variáveis
de entrada valer 0 de entrada valerem 0

12
Operações Básicas da Álgebra
Booleana
2. Operação “E” (“AND”) com 3 variáveis de entrada

Definição 1: a operação “E” resulta 1 se


A B C A•B•C
e somente se todas as variáveis de
0 0 0 0
entrada valerem 1
0 0 1 0
0 1 0 0
Porta Lógica 0 1 1 0
1 0 0 0
1 0 1 0
A A•B•C
B 1 1 0 0
C 1 1 1 1

13
Operações Básicas da Álgebra
Booleana
2. Operação “E” (“AND”): Propriedade Comutativa
As variáveis de entrada podem ser operadas em qualquer ordem
A B C A•B•C A B C B•A•C A B C C•A•B
0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0 0 0 1 0

  …
0 1 0 0 0 1 0 0 0 1 0 0
0 1 1 0 0 1 1 0 0 1 1 0
1 0 0 0 1 0 0 0 1 0 0 0
1 0 1 0 1 0 1 0 1 0 1 0
1 1 0 0 1 1 0 0 1 1 0 0
1 1 1 1 1 1 1 1 1 1 1 1

14
Operações Básicas da Álgebra
Booleana
2. Operação “E” (“AND”): Propriedade Comutativa
Em termos de portas lógicas, isto equivale a …

A A•B•C B B•A•C
B
C  A
C


C
A
C•A•B …
B

Conclusão: as entradas da porta “E” são funcionalmente equivalentes

15
Operações Básicas da Álgebra
Booleana
2. Operação “E” (“AND”): Propriedade Associativa
As variáveis de entrada podem ser operadas de duas em duas (ou de
três em três, ou de quatro em quatro…)
A B C A • B • C (A • B) • C A • (B •C) (A •C)• B …
0 0 0 0 0 0 0
0 0 1 0 0 0 0
Os parênteses indicam
0 1 0 0 0 0 0
ordem de precedência
0 1 1 0 0 0 0
1 0 0 0 0 0 0
1 0 1 0 0 0 0
1 1 0 0 0 0 0
1 1 1 1 1 1 1

16
Operações Básicas da Álgebra
Booleana
2. Operação “E” (“AND”): Propriedade Associativa
Em termos de portas lógicas, isto equivale a …
A A•B•C
A A • B• C
B
C
 B

B A•B•C
 C
…
A

Conclusão: é possível decompor-se uma operação “E” de mais de duas


entradas em uma associação de operações “E” de duas entradas

17
Operações Básicas da Álgebra
Booleana
3. Operação “OU” (“OR”) com 3 variáveis de entrada

Definição 1: a operação “OU” resulta 1 A B C A+B+C


se ao menos uma das variáveis de 0 0 0 0
entrada valer 1 0 0 1 1
0 1 0 1
0 1 1 1
Porta Lógica 1 0 0 1
1 0 1 1
A A+B+C 1 1 0 1
B
C 1 1 1 1

18
Operações Básicas da Álgebra
Booleana
3. Operação “OU” (“OR”): Propriedade Comutativa
As variáveis de entrada podem ser operadas em qualquer ordem
A B C A+B+C A B C B+A+C A B C C+A+B
0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 1 1 0 0 1 1

  …
0 1 0 1 0 1 0 1 0 1 0 1
0 1 1 1 0 1 1 1 0 1 1 1
1 0 0 1 1 0 0 1 1 0 0 1
1 0 1 1 1 0 1 1 1 0 1 1
1 1 0 1 1 1 0 1 1 1 0 1
1 1 1 1 1 1 1 1 1 1 1 1

19
Operações Básicas da Álgebra
Booleana
3. Operação “OU” (“OR”): Propriedade Comutativa
Em termos de portas lógicas, isto equivale a …

A A+B+C B B+A+C
B
C  A
C


C
A
C+A+B …
B

Conclusão: as entradas da porta “OU” são funcionalmente equivalentes

20
Operações Básicas da Álgebra
Booleana
3. Operação “OU” (“OR”): Propriedade Associativa
As variáveis de entrada podem ser operadas de duas em duas (ou de três
em três, ou de quatro em quatro…)
A B C A+B+C (A+B)+C A+(B+C) (A+C)+B …
0 0 0 0 0 0 0
0 0 1 1 1 1 1
Os parênteses indicam
0 1 0 1 1 1 1
ordem de precedência
0 1 1 1 1 1 1
1 0 0 1 1 1 1
1 0 1 1 1 1 1
1 1 0 1 1 1 1
1 1 1 1 1 1 1

21
Operações Básicas da Álgebra
Booleana
3. Operação “OU” (“OR”): Propriedade Associativa
Em termos de portas lógicas, isto equivale a …

A A
A+B+C (A+B)+C
B
C  B

B A+(B+C)
 C
…
A

Conclusão: é possível decompor-se uma operação “OU” de mais de duas


entradas em uma associação de operações “OU” de duas entradas

22
Avaliação de Expressões
Booleanas
• Dada a equação que descreve uma função Booleana
F, deseja-se saber qual o comportamento de F

• Podemos montar a tabela-verdade para F

• Este procedimento é conhecido como avaliação de


uma expressão Booleana

23
Avaliação de Expressões
Booleanas
• Montando a tabela-verdade de uma equaçã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

24
Avaliação de Expressões
Booleanas
Montando a tabela-verdade de uma equação
Exemplo: monte a tabela-verdade para a equação X Y Z
F = X  (Y + Z)
• Existem três variáveis de entrada: X, Y e Z
• Então, a tabela-verdade para esta equação
conterá três colunas à esquerda
• De modo geral, a tabela-verdade para uma
equação com n variáveis de entrada conterá 2n
linhas

25
Avaliação de Expressões
Booleanas
Montando a tabela-verdade de uma equação
• Nestas colunas deve-se enumerar todas as
X Y Z
combinações das variáveis de entrada 0 0 0
(normalmente, em ordem crescente do número 0 0 1
binário que elas podem representar) 0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

26
Avaliação de Expressões
Booleanas
Ordem de Avaliação de Expressões Booleanas (Ordem
Precedência dos Operadores)
Do nível de parênteses mais interno para o nível mais externo
1. Complemento de variável individual “NÃO”
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

27
Avaliação de Expressões
Booleanas
Continuando o exemplo:
F = X  (Y + Z)
• Criar uma coluna para avaliar Z
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

28
Avaliação de Expressões
Booleanas
Continuando o exemplo:
F = X  (Y + Z)
• Criar uma coluna para avaliar Z

X Y Z Z
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0

29
Avaliação de Expressões
Booleanas
Continuando o exemplo:
F = X  (Y + Z)
• Criar uma coluna para avaliar (Y + Z)

X Y Z Z (Y + Z)
0 0 0 1 1
0 0 1 0 0
0 1 0 1 1
0 1 1 0 1
1 0 0 1 1
1 0 1 0 0
1 1 0 1 1
1 1 1 0 1

30
Avaliação de Expressões
Booleanas
Continuando o exemplo:
F = X  (Y + Z)
• Criar uma coluna para avaliar X  (Y + Z)

X Y Z Z (Y + Z) X  (Y + Z) = F
0 0 0 1 1 0
0 0 1 0 0 0
0 1 0 1 1 0
0 1 1 0 1 0
1 0 0 1 1 1
1 0 1 0 0 0
1 1 0 1 1 1
1 1 1 0 1 1

31
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

32
Circuitos Lógicos
Exemplo: desenhe o circuito lógico para a equação
F = X  (Y + Z)

33
Circuitos Lógicos
Exemplo: desenhe o circuito lógico para a equação
F = X  (Y + Z)
1. Desenhar a porta inversora que implementa Z

34
Circuitos Lógicos
Exemplo: desenhe o circuito lógico para a equação
F = X  (Y + Z)
2. Desenhar a porta “OU” que implementa (Y + Z)

35
Circuitos Lógicos
Exemplo: desenhe o circuito lógico para a equação
F = X  (Y + Z)
3. Desenhar a porta “E” que implementa X  (Y + Z)

Z X  (Y + Z)

36
Outras Portas Lógicas

Porta “NÃO-E” (“NAND”)

Definição: a operação “NÃO-E” corresponde a operação “E”


negada.

Tabela-verdade: Porta Lógica


Equação: (representação gráfica):
A B A•B
0 0 1
S=AB 0 1 1
A S
B
1 0 1
1 1 0

37
Outras Portas Lógicas
Porta “NÃO-OU” (“NOR”)

Definição: a operação “NÃO-OU” corresponde a operação “OU”


negada.

Tabela-verdade: Porta Lógica


Equação:
A B A+B (representação gráfica):
0 0 1
S=A+B 0 1 0 A
S
1 0 0 B
1 1 0

38
Outras Portas Lógicas
A Função OU Exclusivo (EXclusive OR – XOR)

• A função XOR resulta 1 se o número de 1’s na entrada for ímpar


• Para duas entradas, temos a seguinte tabela-verdade

Entrada negada
X Y XY XY = X·Y + X·Y
X
0 0 0
X
0 1 1
Y
1 0 1
símbolo Y
1 1 0

39
Outras Portas Lógicas
A Função Equivalência (EXclusive NOR – XNOR)

• A função XNOR corresponde à função XOR negada

X Y XY XY = X·Y + X·Y = XY

0 0 1 X
Y
0 1 0
X
1 0 0 Y
1 1 1 símbolo

40
Exercícios
Exercício 1: avalie a expressão que segue, monte a sua tabela verdade e
desenhe seu circuito lógico:

S = A  C + (B  C +A  B)

41
Exercícios
Exercício 2: avalie o circuito lógico, extraia a expressão lógica que
representa este circuito e monte a sua tabela verdade:

b s

42

Você também pode gostar