Você está na página 1de 25

Departamento de Sistemas

Eletrônicos

Sistemas Digitais

Projeto
de
Circuito Lógico Combinacional

Katsuhiro
Projeto de circuito lógico combinacional

Especificação do problema

Tabela verdade

Mapa de Karnaugh
Álgebra
booleana
Função lógica minimizada

Circuito lógico
Exemplo de projeto - 1
Especificação do problema:
O sistema de segurança de uma casa possui quatro sensores
A, B, C e D. Um alarme Z é acionado sempre que dois ou mais
sensores forem acionados. Projete o circuito lógico responsável
pelo acionamento do alarme.

A
B Circuito
Z
C lógico
D

Convenções a serem adotadas:


- Sensor não acionado: valor lógico 0
- Sensor acionado: valor lógico 1
- Alarme não acionado: valor lógico 0
- Alarme acionado: valor lógico 1
Exemplo de projeto - 1
Tabela verdade Mapa de Karnaugh
CD CD CD CD
A B C D Z
0 0 0 0 0 AB 0 0 1 0
0 0 0 1 0
0 0 1 0 0 AB 1 1
0 1
0 0 1 1 1
0 1 0 0 0
0 1 0 1 1
AB 1 1 1 1
0 1 1 0 1
0 1 1 1 1 AB 0 1 1 1
1 0 0 0 0
1 0 0 1 1 Função lógica minimizada
1 0 1 0 1
1 0 1 1 1 Z = AB + CD + AC + BC + AD + BD
1 1 0 0 1
1 1 0 1 1 Z = AB + CD + C A + B + D(A + B)
1 1 1 0 1
1 1 1 1 1 Z = AB + CD + A + B (C + D)
Exemplo de projeto - 1
Circuito lógico

Z = AB + CD + A + B (C + D)
Exemplo de projeto - 2

Especificação do problema:

Projete um circuito lógico que converte um binário de 4 bits


(ABCD) para um código Gray de 4 bits (XYZW).

(Binário) (Gray)

A X
B Circuito Y
C lógico Z
D W
Exemplo de projeto - 2
Tabela verdade Mapa de Karnaugh para X
Binário Gray CD CD CD CD
A B C D X Y Z W
0 0 0 0 0 0 0 0 AB 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1 AB 0 0 0 0
0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0 AB 1 1 1 1
0 1 0 1 0 1 1 1
0 1 1 0 0 1 0 1 AB 1 1 1 1
0 1 1 1 0 1 0 0
1 0 0 0 1 1 0 0
1 0 0 1 1 1 0 1 Função lógica minimizada
1 0 1 0 1 1 1 1
1 0 1 1 1 1 1 0
X=A
1 1 0 0 1 0 1 0
1 1 0 1 1 0 1 1
1 1 1 0 1 0 0 1
1 1 1 1 1 0 0 0
Exemplo de projeto - 2
Tabela verdade Mapa de Karnaugh para Y
Binário Gray CD CD CD CD
A B C D X Y Z W
0 0 0 0 0 0 0 0 AB 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1 AB 1 1 1 1
0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0 AB 0 0 0 0
0 1 0 1 0 1 1 1
0 1 1 0 0 1 0 1 AB 1 1 1 1
0 1 1 1 0 1 0 0
1 0 0 0 1 1 0 0
1 0 0 1 1 1 0 1 Função lógica minimizada
1 0 1 0 1 1 1 1
1 0 1 1 1 1 1 0
1 1 0 0 1 0 1 0
Y = AB + AB
1 1 0 1 1 0 1 1
Y = A⨁B
1 1 1 0 1 0 0 1
1 1 1 1 1 0 0 0
Exemplo de projeto - 2
Tabela verdade Mapa de Karnaugh para Z
Binário Gray CD CD CD CD
A B C D X Y Z W
0 0 0 0 0 0 0 0 AB 0 0 1 1
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1 AB 1 1 0 0
0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0 AB 1 1 0 0
0 1 0 1 0 1 1 1
0 1 1 0 0 1 0 1 AB 0 0 1 1
0 1 1 1 0 1 0 0
1 0 0 0 1 1 0 0
1 0 0 1 1 1 0 1 Função lógica minimizada
1 0 1 0 1 1 1 1
1 0 1 1 1 1 1 0
1 1 0 0 1 0 1 0
Z = BC + BC
1 1 0 1 1 0 1 1
Z = B⨁C
1 1 1 0 1 0 0 1
1 1 1 1 1 0 0 0
Exemplo de projeto - 2
Tabela verdade Mapa de Karnaugh para W
Binário Gray CD CD CD CD
A B C D X Y Z W
0 0 0 0 0 0 0 0 AB 0 1 0 1
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1 AB 0 1 0 1
0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0 AB 0 1 0 1
0 1 0 1 0 1 1 1
0 1 1 0 0 1 0 1 AB 0 1 0 1
0 1 1 1 0 1 0 0
1 0 0 0 1 1 0 0
1 0 0 1 1 1 0 1 Função lógica minimizada
1 0 1 0 1 1 1 1
1 0 1 1 1 1 1 0
1 1 0 0 1 0 1 0
W = CD + CD
1 1 0 1 1 0 1 1
W = C⨁D
1 1 1 0 1 0 0 1
1 1 1 1 1 0 0 0
Exemplo de projeto - 2

Circuito lógico

X=A

Y = A⨁B

Z = B⨁C

W = C⨁D
Condições irrelevantes

Há situações em que uma determinada entrada


é impossível de ocorrer. Neste caso, podemos
atribuir à saída tanto valor lógico 0 quanto 1, ou
seja, é irrelevante.
Representamos essa condição irrelevante (don't
care) por um "x".
Logo, o valor de x pode ser tanto 0 quanto 1.
No mapa de Karnaugh, um x pode ser
transformado convenientemente em 1 para
aumentar o tamanho do agrupamento de 1's e,
desta forma, poder minimizar mais ainda a função
lógica.
Exemplo-1: Projeto com condições irrelevantes
Especificação do problema:
O elevador de um prédio de dois andares possui três sensores,
um em cada andar: A0 (térreo), A1 (primeiro andar) e A2 (segundo
andar). Esses sinais vão para nível alto (1) quando o elevador
estiver posicionado no andar correspondente. Há também um
outro sensor M que indica se o elevador está parado (M=0) ou
está em movimento (M=1). Projetar o circuito lógico de controle da
abertura da porta, gerando o sinal ABRIR: a porta deverá abrir (em
nível alto) somente quando o elevador estiver parado em um
determinado andar.
M

A2 Circuito
ABRIR
A1 lógico
A0
Exemplo-1: Projeto com condições irrelevantes
Tabela verdade Mapa de Karnaugh
A1 A0 A1 A0 A1 A0 A1 A0
M A2 A1 A0 ABRIR
0 0 0 0 0 MA2 0 1 x 1
0 0 0 1 1
0 0 1 0 1 MA2 x x
1 x
0 0 1 1 x
0 1 0 0 1
0 1 0 1 x
MA2 0 x x x
0 1 1 0 x
0 1 1 1 x
MA2 0 0 x 0
1 0 0 0 0
1 0 0 1 0 Função lógica minimizada
1 0 1 0 0
1 0 1 1 x ABRIR = MA0 + MA1 + MA2
1 1 0 0 0
1 1 0 1 x ABRIR = M(A0 + A1 + A2 )
1 1 1 0 x
1 1 1 1 x ABRIR = M + (A0 + A1 + A2 )
Exemplo-1: Projeto com condições irrelevantes

Circuito lógico

ABRIR = M + (A0 + A1 + A2 )
Exemplo-2: Projeto com condições irrelevantes

Especificação do problema:

Projete um circuito lógico que converte um código BCD (Binary


Coded Decimal) (ABCD) para um código Excesso 3 (XYZW).

(BCD) (Excesso 3)

A X
B Circuito Y
C lógico Z
D W
Exemplo-2: Projeto com condições irrelevantes
Tabela verdade Mapa de Karnaugh para X
BCD Excesso 3 CD CD CD CD
A B C D X Y Z W
0 0 0 0 0 0 1 1 AB 0 0 0 0
0 0 0 1 0 1 0 0
0 0 1 0 0 1 0 1 AB 0 1 1 1
0 0 1 1 0 1 1 0
0 1 0 0 0 1 1 1 AB x x x x
0 1 0 1 1 0 0 0
0 1 1 0 1 0 0 1 AB 1 1 x x
0 1 1 1 1 0 1 0
1 0 0 0 1 0 1 1
1 0 0 1 1 1 0 0 Função lógica minimizada
1 0 1 0 x x x x
Não é BCD

1 0 1 1 x x x x
X = A + BC + BD
1 1 0 0 x x x x
1 1 0 1 x x x x
X = A + B(C + D)
1 1 1 0 x x x x
1 1 1 1 x x x x
Exemplo-2: Projeto com condições irrelevantes
Tabela verdade Mapa de Karnaugh para Y
BCD Excesso 3 CD CD CD CD
A B C D X Y Z W
0 0 0 0 0 0 1 1 AB 0 1 1 1
0 0 0 1 0 1 0 0
0 0 1 0 0 1 0 1 AB 1 0 0 0
0 0 1 1 0 1 1 0
0 1 0 0 0 1 1 1 AB x x x x
0 1 0 1 1 0 0 0
0 1 1 0 1 0 0 1 AB 0 1 x x
0 1 1 1 1 0 1 0
1 0 0 0 1 0 1 1
1 0 0 1 1 1 0 0 Função lógica minimizada
1 0 1 0 x x x x
Não é BCD

1 0 1 1 x x x x Y = BC + BD + BCD
1 1 0 0 x x x x
1 1 0 1 x x x x Y = B(C + D) + B(C + D)
1 1 1 0 x x x x
1 1 1 1 x x x x Y = B⨁(C + D)
Exemplo-2: Projeto com condições irrelevantes
Tabela verdade Mapa de Karnaugh para Z
BCD Excesso 3 CD CD CD CD
A B C D X Y Z W
0 0 0 0 0 0 1 1 AB 1 0 1 0
0 0 0 1 0 1 0 0
0 0 1 0 0 1 0 1 AB 1 0 1 0
0 0 1 1 0 1 1 0
0 1 0 0 0 1 1 1 AB x x x x
0 1 0 1 1 0 0 0
0 1 1 0 1 0 0 1 AB 1 0 x x
0 1 1 1 1 0 1 0
1 0 0 0 1 0 1 1
1 0 0 1 1 1 0 0 Função lógica minimizada
1 0 1 0 x x x x
Não é BCD

1 0 1 1 x x x x Z = CD + CD
1 1 0 0 x x x x
1 1 0 1 x x x x
Z = C⨁D
1 1 1 0 x x x x
1 1 1 1 x x x x
Exemplo-2: Projeto com condições irrelevantes
Tabela verdade Mapa de Karnaugh para W
BCD Excesso 3 CD CD CD CD
A B C D X Y Z W
0 0 0 0 0 0 1 1 AB 1 0 0 1
0 0 0 1 0 1 0 0
0 0 1 0 0 1 0 1 AB 1 0 0 1
0 0 1 1 0 1 1 0
0 1 0 0 0 1 1 1 AB x x x x
0 1 0 1 1 0 0 0
0 1 1 0 1 0 0 1 AB 1 0 x x
0 1 1 1 1 0 1 0
1 0 0 0 1 0 1 1
1 0 0 1 1 1 0 0 Função lógica minimizada
1 0 1 0 x x x x
Não é BCD

1 0 1 1 x x x x
1 1 0 0 x x x x W =D
1 1 0 1 x x x x
1 1 1 0 x x x x
1 1 1 1 x x x x
Exemplo-2: Projeto com condições irrelevantes
Circuito lógico X = A + B(C + D)
Y = B⨁(C + D)
Z = C⨁D
W=D
Mapa de Karnaugh com condições irrelevantes

Obtenha a função minimizada dos mapas de Karnaugh abaixo.

𝐁𝐂 𝐁𝐂 𝐁𝐂 𝐁𝐂 𝐁𝐂 𝐁𝐂 𝐁𝐂 𝐁𝐂

𝐀 0 1 1 x 𝐀 1 1 0 x

𝐀 1 0 x 1 𝐀 x 1 x 1

S = AC + AC A
S= B +
C
S = A⨁C
S = BC
Mapa de Karnaugh com condições irrelevantes

Obtenha a função minimizada dos mapas de Karnaugh abaixo.

𝐁𝐂 𝐁𝐂 𝐁𝐂 𝐁𝐂 𝐁𝐂 𝐁𝐂 𝐁𝐂 𝐁𝐂

𝐀 0 x x 1 𝐀 x x 1 0

𝐀 1 x x 1 𝐀 x 0 x 1

S= A+B AC + AB
S=
BC AC

S = A⨁C
Mapa de Karnaugh com condições irrelevantes
Obtenha a função minimizada dos mapas de Karnaugh abaixo.
𝐂𝐃 𝐂𝐃 𝐂𝐃 𝐂𝐃 𝐂𝐃 𝐂𝐃 𝐂𝐃 𝐂𝐃

𝐀𝐁 x 1 1 x 𝐀𝐁 0 0 1 0

𝐀𝐁 x 0 x x 𝐀𝐁 1 1 0 1

𝐀𝐁 x 1 x x 𝐀𝐁 x x x x

𝐀𝐁 x 0 1 x 𝐀𝐁 0 0 x x

S = BC + BD + BCD
S = C + AB + AB
S = B(C + D) + BCD
S = C + A⨁B S = B(CD) + B(CD)
S = B⨁(CD)
Mapas de Karnaugh com condições irrelevantes
Exercício 1: Exercício 2:
𝑪𝑫 𝑪𝑫 𝑪𝑫 𝑪𝑫 𝑪𝑫 𝑪𝑫 𝑪𝑫 𝑪𝑫

𝑨𝑩 x 0 x 0 𝑨𝑩 1 0 x x

𝑨𝑩 x 1 0 1 𝑨𝑩 0 x x 0

𝑨𝑩 x x 1 1 𝑨𝑩 1 x 0 1

𝑨𝑩 1 1 x x 𝑨𝑩 x 1 0 x

𝑆 = 𝐴 + 𝐵𝐶 + 𝐵𝐷 𝑆 = 𝐴𝐶 + 𝐴𝐷 + 𝐵𝐷
𝑆 = 𝐴 + 𝐵(𝐶 + 𝐷) 𝑆 = 𝐴 𝐶 + 𝐷 + (𝐵 + 𝐷)
𝑆 = 𝐴 + 𝐵(𝐶𝐷) 𝑆 = 𝐴 𝐶𝐷 + (𝐵 + 𝐷)

Você também pode gostar