Circuitos Combinacionais

Circuitos L´ ogicos
Profa. Grace S. Deaecto
Faculdade de Engenharia Mecˆ anica / UNICAMP 13083-860, Campinas, SP, Brasil. grace@fem.unicamp.br

Segundo Semestre de 2013

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

1 / 67

Circuitos Combinacionais

NOTA AO LEITOR Estas notas de aula foram inteiramente baseadas nas seguintes referˆ encias : T. Floyd, “Digital Fundamentals”, 10th Edition, Prentice Hall, 2009. R. J. Tocci, N. S. Widmer, G. L. Moss, “Sistemas Digitais : Princ´ ıpios e Aplica¸ c˜ oes”, Prentice-Hall, 2007. I. V. Iodeta, F. G. Capuano, “Elementos de Eletrˆ onica ´ Digital”, Editora Erica, 2006. V. A. Pedroni, “Circuit Design and Simulation with VHDL”, 2nd Edition, MIT, 2010.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 2 / 67

Circuitos Combinacionais

1

Circuitos Combinacionais Fun¸ c˜ oes e vari´ aveis l´ ogicas Opera¸ c˜ oes e portas l´ ogicas Tabela verdade e express˜ ao l´ ogica ´ Algebra de Boole Minimiza¸ c˜ ao Aplica¸ c˜ ao pr´ atica : Elevador S´ ıntese de circuitos combinacionais

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

3 / 67

Circuitos Combinacionais Fun¸ c˜ oes e vari´ aveis l´ ogicas

Fun¸ c˜ oes e vari´ aveis l´ ogicas
No nosso dia-a-dia estamos repletos de circunstˆ ancias em que somente dois estados s˜ ao poss´ ıveis : luz apagada ou acesa, pessoa morta ou viva, porta fechada ou aberta, etc. Em 1854 o matem´ atico George Boole descreveu um conjunto de regras capaz de relacionar estas circunstˆ ancias (entradas) de maneira a permitir a tomada de decis˜ oes (sa´ ıdas). Este conjunto de regras foi denominado de ´ algebra booleana. A ideia deste cap´ ıtulo ´ e estudar a ´ algebra booleana nos aspectos de an´ alise, s´ ıntese e simplifica¸ c˜ ao de express˜ oes l´ ogicas.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 4 / 67

Circuitos Combinacionais Fun¸ c˜ oes e vari´ aveis l´ ogicas

Fun¸ c˜ oes e vari´ aveis l´ ogicas
Seguem algumas defini¸ c˜ oes importantes : Vari´ avel booleana ´ e uma quantidade que pode ser, em diferentes momentos, igual a 0 ou 1. Fun¸ c˜ ao booleana associa a cada n vari´ aveis de entrada uma u ´nica sa´ ıda. Podemos descrever uma fun¸ c˜ ao booleana utilizando
tabela verdade portas l´ ogicas equa¸ c˜ oes formas de onda

Diferente da ´ algebra comum, a ´ algebra booleana possui somente trˆ es opera¸ c˜ oes b´ asicas : OR, AND e NOT, conhecidas como opera¸ c˜ oes l´ ogicas.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 5 / 67

Circuitos Combinacionais Fun¸ c˜ oes e vari´ aveis l´ ogicas

Tabela verdade
Seja uma fun¸ c˜ ao f (A1 , · · · , An ) com n entradas. A tabela ıda para todas as combina¸ c˜ oes verdade expressa o estado da sa´ poss´ ıveis dos estados de entrada {A1 , · · · , An }. Segue um exemplo para duas entradas. A1 0 0 1 1 A2 0 1 0 1 f (A1 , A2 ) 1 1 1 0

Al´ em de 0s e 1s a fun¸ c˜ ao f (·) pode ser igual ao caracter x , chamado de don’t care. Este caracter serve para indicar que para uma dada combina¸ c˜ ao de entradas, x pode ser tanto 0 como 1. Como veremos, o don’t care ´ e estrat´ egico no processo de simplifica¸ c˜ ao booleana.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 6 / 67

Circuitos Combinacionais Opera¸ c˜ oes e portas l´ ogicas

Opera¸ c˜ oes e portas l´ ogicas
Opera¸ c˜ ao NOT : Para qualquer entrada A, ela ´ e definida como f (A) = A ou seja, ´ e a entrada negada (barrada). Para uma entrada A1 , por exemplo, temos Tabela verdade A1 0 1 f (A1 ) 1 0
A1

Porta l´ ogica
A1

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

7 / 67

Circuitos Combinacionais Opera¸ c˜ oes e portas l´ ogicas

Opera¸ c˜ oes e portas l´ ogicas
Opera¸ c˜ ao OR : Para entradas {A1 , · · · , An }, ela ´ e definida como
n

f (A1 , · · · , An ) =
i =1

Ai

e vale 1 se qualquer uma das entradas for igual a 1. Para duas entradas temos : Tabela verdade Porta l´ ogica A1 0 0 1 1 A2 0 1 0 1 f (A1 , A2 ) 0 1 1 1
A1 A1 + A2

A2

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

8 / 67

Circuitos Combinacionais Opera¸ c˜ oes e portas l´ ogicas

Opera¸ c˜ oes e portas l´ ogicas
Opera¸ c˜ ao AND : Para entradas {A1 , · · · , An }, ela ´ e definida como
n

f (A1 , · · · , An ) =
i =1

Ai

e vale 1 apenas se todas as entradas forem iguais a 1. Para duas entradas temos : Tabela verdade Porta l´ ogica A1 0 0 1 1 A2 0 1 0 1 f (A1 , A2 ) 0 0 0 1
A1 A1 .A2

A2

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

9 / 67

Circuitos Combinacionais Opera¸ c˜ oes e portas l´ ogicas

Opera¸ c˜ oes e portas l´ ogicas
´ a opera¸ c˜ ao OR negada. Para duas Opera¸ c˜ ao NOR : E entradas {A1 , A2 }, por exemplo, ela ´ e definida como f (A1 , A2 ) = A1 + A2 e vale 1 apenas se todas as entradas forem iguais a 0. Tabela verdade A1 0 0 1 1 A2 0 1 0 1 f (A1 , A2 ) 1 0 0 0
A1

Porta l´ ogica
A1 + A2

A2

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

10 / 67

Circuitos Combinacionais Opera¸ c˜ oes e portas l´ ogicas

Opera¸ c˜ oes e portas l´ ogicas
Sobre a porta NOR podemos fazer os seguintes coment´ arios : Utilizando a tabela verdade, podemos verificar que A1 + A2 = A1 . A2 que ´ e um dos resultados do Teorema de De Morgan que veremos posteriormente. Tabela verdade A1 0 0 1 1
Profa. Grace S. Deaecto

A2 0 1 0 1

A1 + A2 1 0 0 0
ES572

A1 . A2 1 0 0 0
DMC / FEM - Unicamp 11 / 67

Circuitos Combinacionais Opera¸ c˜ oes e portas l´ ogicas

Opera¸ c˜ oes e portas l´ ogicas
Utilizando somente portas NOR podemos obter as trˆ es portas b´ asicas :
A1 A1 A1 A1

A1

A1 A1 .A2 A1 A1 .A2

A2 A2 A1 A2 A1 + A2

A2

A1 + A2

A1

A1 + A2

A2

O que indica a vantagem tecnol´ ogica desta porta.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 12 / 67

Circuitos Combinacionais Opera¸ c˜ oes e portas l´ ogicas

Opera¸ c˜ oes e portas l´ ogicas
´ a opera¸ c˜ ao AND negada. Para duas Opera¸ c˜ ao NAND : E entradas {A1 , A2 }, por exemplo, ela ´ e definida como f (A1 , A2 ) = A1 .A2 e vale 0 apenas se todas as entradas forem iguais a 1. Tabela verdade A1 0 0 1 1 A2 0 1 0 1 f (A1 , A2 ) 1 1 1 0
A1

Porta l´ ogica
A1 .A2

A2

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

13 / 67

Circuitos Combinacionais Opera¸ c˜ oes e portas l´ ogicas

Opera¸ c˜ oes e portas l´ ogicas
Sobre a porta NAND podemos fazer os seguintes coment´ arios : Utilizando a tabela verdade, podemos verificar que A1 .A2 = A1 + A2 que ´ e um dos resultados do Teorema de De Morgan. Tabela verdade A1 0 0 1 1 A2 0 1 0 1 A1 .A2 1 1 1 0 A1 + A2 1 1 1 0

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

14 / 67

Circuitos Combinacionais Opera¸ c˜ oes e portas l´ ogicas

Opera¸ c˜ oes e portas l´ ogicas
Utilizando somente portas NAND podemos obter as trˆ es portas b´ asicas :
A1 A1 A1 A1

A1 A2

A1 .A2

A1 .A2

A1

A1 .A2

A2 A1

A1

A1 + A2

A1

A1 + A2

A2 A2

A2

O que indica a vantagem tecnol´ ogica desta porta.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 15 / 67

Circuitos Combinacionais Opera¸ c˜ oes e portas l´ ogicas

Opera¸ c˜ oes e portas l´ ogicas
Opera¸ c˜ ao XOR (ou exclusivo) : Definida apenas para duas entradas {A1 , A2 } como sendo f (A1 , A2 ) = A1 . A2 + A1 . A2 = A1 ⊕ A2 e vale 1 apenas se as entradas forem diferentes. Tabela verdade Porta l´ ogica A1 0 0 1 1 A2 0 1 0 1 f (A1 , A2 ) 0 1 1 0
A1 A1 ⊕ A2

A2
ES572 DMC / FEM - Unicamp 16 / 67

Profa. Grace S. Deaecto

Circuitos Combinacionais Opera¸ c˜ oes e portas l´ ogicas

Opera¸ c˜ oes e portas l´ ogicas
Opera¸ c˜ ao XNOR (coincidˆ encia) : Definida apenas para duas entradas {A1 , A2 } como sendo f (A1 , A2 ) = A1 . A2 + A1 . A2 = A1 ⊙ A2 e vale 1 apenas se as entradas forem iguais. Tabela verdade Porta l´ ogica A1 0 0 1 1 A2 0 1 0 1 f (A1 , A2 ) 1 0 0 1
A1 A1 ⊙ A2

A2

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

17 / 67

Circuitos Combinacionais Tabela verdade e express˜ ao l´ ogica

Tabela verdade e express˜ ao l´ ogica
Dado um circuito l´ ogico, sua express˜ ao booleana ´ e obtida facilmente a partir da simples leitura das portas l´ ogicas. Da mesma maneira, dada uma express˜ ao l´ ogica, a obten¸ c˜ ao do circuito ´ e feita termo a termo utilizando as portas correspondentes. Vamos discutir agora como obter a express˜ ao l´ ogica a partir da sua tabela verdade. Existem duas maneiras : atrav´ es de somas de produtos (mintermos) ou atrav´ es de produtos de somas (maxtermos). No curso ser´ a adotado a primeira maneira, tendo em vista o m´ etodo de simplifica¸ c˜ ao que adotaremos e que ser´ a apresentado posteriormente.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 18 / 67

Circuitos Combinacionais Tabela verdade e express˜ ao l´ ogica

Tabela verdade e express˜ ao l´ ogica
Para exemplificar as duas formas, vamos considerar a tabela verdade da fun¸ c˜ ao NAND. A B f (·) mintermos maxtermos ¯B ¯ A 0 0 1 A+B ¯ ¯ AB 0 1 1 A+B ¯ ¯ 1 0 1 AB A+B ¯ +B ¯ 0 AB A 1 1 Somas de produtos (mintermos) : ¯B ¯ ) + 1.(AB ¯ ) + 1.(AB ¯ ) + 0.(AB ) f (·)=1.(A ¯B ¯ + AB ¯ + AB ¯ =A Produtos de somas (maxtermos) : ¯ )}.{1+(A ¯ + B )}.{0+(A ¯ +B ¯ )} f (·)= {1+(A + B )}.{1+(A + B ¯ +B ¯ =A
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 19 / 67

Circuitos Combinacionais Tabela verdade e express˜ ao l´ ogica

Tabela verdade e express˜ ao l´ ogica
Podemos observar que ambas as express˜ oes ¯B ¯ + AB ¯ + AB ¯ Utilizando mintermos : A ¯ +B ¯ = AB Utilizando maxtermos : A s˜ ao equivalentes, pois designam a porta l´ ogica NAND. Entretanto, a primeira ´ e escrita utilizando 3 portas l´ ogicas com duas conex˜ oes cada e a segunda utiliza uma u ´nica porta l´ ogica, a NAND de duas conex˜ oes. Logo, uma mesma tabela pode representar circuitos equivalentes. Estamos interessados naquele com express˜ ao m´ ınima. A seguir, estudaremos duas t´ ecnicas de minimiza¸ c˜ ao
´ Algebra booleana. Mapa de Karnaugh.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 20 / 67

Circuitos Combinacionais ´ Algebra de Boole

´ Algebra de Boole
As regras operacionais de minimiza¸ c˜ ao utilizando a ´ algebra de Boole decorrem dos postulados e propriedades a seguir :
Postulados da complementa¸ c˜ ao A=A Postulados da adi¸ c˜ ao A + 0 = A, A + 1 = 1, A + A = A, A + A = 1 Postulados da multiplica¸ c˜ ao A . 0 = 0, A . 1 = A, A . A = A, A . A = 0 Propriedades : Comutativa, associativa e distributiva s˜ ao c˜ ao e a multiplica¸ c˜ ao. v´ alidas para a adi¸
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 21 / 67

Circuitos Combinacionais ´ Algebra de Boole

Teorema de De Morgan
O seguinte teorema ´ e importante pois permite simplificar express˜ oes booleanas =⇒ minimiza¸ c˜ ao. Teorema de De Morgan As seguintes igualdades s˜ ao verdadeiras :
A . B . C . ··· . N = A + B + ···+ N A + B + C + ···+ N = A . B . ··· . N

Exemplo 1 : Minimize a express˜ ao sem utilizar o teorema. ¯B ¯ + AB ¯ + AB ¯ = A ¯ (B + B ¯ ) + AB ¯ A ¯ (1 + B ¯ ) + AB ¯ = A ¯ + (A + A ¯ )B ¯ = A ¯ +B ¯ = A
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 22 / 67

Circuitos Combinacionais ´ Algebra de Boole

Teorema de De Morgan
Exemplo 2 : Minimize a mesma express˜ ao utilizando o teorema de De Morgan. ¯B ¯ + AB ¯ + AB ¯ = A ¯ (B + B ¯ ) + AB ¯ A ¯ + AB ¯ = A ¯ + B) = A.(A = AB = A+B Exemplo 3 : Minimize a seguinte express˜ ao ABC + AB + AC = A(BC + B + C ) = A(BC + (B + C )) = A(BC + BC ) = A
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 23 / 67

Circuitos Combinacionais ´ Algebra de Boole

Exerc´ ıcio
Descreva a express˜ ao l´ ogica que representa o circuito a seguir
A C B f (·) ABC B A ¯C ¯ A ¯C ¯) AB (A

A express˜ ao l´ ogica ´ e dada por f (A, B , C ) = A . B . C + A . B . (A . C )
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 24 / 67

Circuitos Combinacionais Minimiza¸ c˜ ao

Simplifica¸ c˜ ao alg´ ebrica
Minimizar a express˜ ao de um circuito l´ ogico, significa obter uma outra equivalente com menos termos e opera¸ c˜ oes. Isto implica em menos portas l´ ogicas e conex˜ oes. Como vimos, podemos usar a ´ algebra de Boole para realizar a minimiza¸ c˜ ao. Neste caso, a simplifica¸ c˜ ao nem sempre ´ e´ obvia. Geralmente, podemos seguir dois passos essenciais :
colocar a express˜ ao na forma de soma de produtos identificar fatores comuns e realizar a fatora¸ c˜ ao

Algumas vezes devemos contar com habilidade e experiˆ encia para obter uma boa simplifica¸ c˜ ao.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 25 / 67

Circuitos Combinacionais Minimiza¸ c˜ ao

Simplifica¸ c˜ ao alg´ ebrica
Utilizando a ´ algebra de Boole, podemos minimizar a express˜ ao da fun¸ c˜ ao do exerc´ ıcio anterior f (A, B , C ) = A . B . C + A . B . (A . C ) = A . B . C + A . B . (A + C ) = A . C . (B + B ) + A . B = A . (C + B ) O circuito l´ ogico simplificado ´ e dado por.
B B +C C A A f (·)

A quantidade de portas l´ ogicas foi reduzida de 7 para 3 ! ! !
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 26 / 67

Circuitos Combinacionais Minimiza¸ c˜ ao

Exerc´ ıcio
A partir do circuito apresentado anteriormente, obtenha a sua tabela verdade e, a partir dela, obtenha a express˜ ao l´ ogica.
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 f (A, B , C ) 0 0 0 0 1 1 0 1

Utilizando a tabela, sua express˜ ao l´ ogica ´ e dada por f (A, B , C ) = A . B . C + A . B . C + A . B . C embora seja equivalente ` a fun¸ c˜ ao obtida atrav´ es do circuito, ela possui um n´ umero maior de termos.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 27 / 67

Circuitos Combinacionais Minimiza¸ c˜ ao

Simplifica¸ c˜ ao alg´ ebrica
Minimizando a express˜ ao, temos f (A, B , C ) = A . B . C + A . B . C + A . B . C = A . B . (C + C ) + A . B . C = A . (B + B . C ) que, como sabemos, n˜ ao ´ e a express˜ ao m´ ınima. De fato, fazendo um passo adicional, nem sempre ´ obvio, obtemos f (A, B , C ) = A . (B + B . C ) = A . (B . (1 + C ) + B . C ) = A . (B + C . (B + B )) = A . (B + C )
express˜ ao m´ ınima
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 28 / 67

Circuitos Combinacionais Minimiza¸ c˜ ao

Simplifica¸ c˜ ao via mapa de Karnaugh
O mapa de Karnaugh ´ e um m´ etodo gr´ afico sistem´ atico para oes booleanas. simplificar express˜ Por ser um m´ etodo procedimental ele n˜ ao depende da habilidade do projetista com as regras da ´ algebra booleana. Ele converte a tabela verdade na fun¸ c˜ ao booleana minimizada. Sua utilidade pr´ atica est´ a restrita a problemas com at´ e cinco vari´ aveis. Para mais de cinco vari´ aveis utiliza-se o m´ etodo de e similar ao de Quine-McCluscky que funcionalmente ´ Karnaugh, mas ´ e tabular e, portanto, mais eficiente para ser processado pelo computador. A seguir estudaremos a simplifica¸ c˜ ao via mapa de Karnaugh de duas a cinco vari´ aveis de entrada.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 29 / 67

Circuitos Combinacionais Minimiza¸ c˜ ao

Simplifica¸ c˜ ao via mapa de Karnaugh

Para n vari´ aveis, o mapa apresenta 2n posi¸ c˜ oes, cada uma representando uma situa¸ c˜ ao da entrada. Ademais, o valor de cada posi¸ c˜ ao “0” ou “1” representa a sa´ ıda correspondente.

Como o mapa utiliza a forma de soma de produtos na simplifica¸ c˜ ao, geralmente, expressa-se somente as posi¸ co ˜es em que f (·) = 1.

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

30 / 67

Circuitos Combinacionais Minimiza¸ c˜ ao

Simplifica¸ c˜ ao via mapa de Karnaugh
Para duas vari´ aveis : A 0 0 1 1 B 0 1 0 1 f(A,B) 0 1 1 1
✞☎

B 1

A

✞ 1 ✝

0

☎ 1✆ ✝

f (A, B ) = A . B + A . B + A . B = A+B

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

31 / 67

Circuitos Combinacionais Minimiza¸ c˜ ao

Simplifica¸ c˜ ao via mapa de Karnaugh
Na simplifica¸ c˜ ao agrupamos as regi˜ oes f (A, B ) = 1 para obter o menor n´ umero de agrupamentos. Os agrupamentos devem formar quadrados ou retˆ angulos maiores poss´ ıveis. O n´ umero de elementos em cada agrupamento deve ser uma potˆ encia de 2. O mapa de Karnaugh B
✞☎ 1✆ 0 ✝ ✞☎ 1✆ ✝

0

f (A, B ) = A . B + A . B
XOR

A

n˜ ao admite simplifica¸ c˜ ao ! !
ES572 DMC / FEM - Unicamp 32 / 67

Profa. Grace S. Deaecto

Circuitos Combinacionais Minimiza¸ c˜ ao

Simplifica¸ c˜ ao via mapa de Karnaugh
Para trˆ es vari´ aveis :
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 f(A,B,C) 0 0 0 0 1 1 0 1

B C
✞ 1 ✝

0

A

✞☎ ☎ 1✆ 1✆ 0 ✝

0

0

0

f (A, B , C ) = A . B + A . C = A . (B + C )
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 33 / 67

Circuitos Combinacionais Minimiza¸ c˜ ao

Simplifica¸ c˜ ao via mapa de Karnaugh
Para quatro vari´ aveis :
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 f(A,B,C,D) 1 0 1 0 1 1 1 1 1 0 1 0 1 0 1 1

C
✩ ✬

D

B A

✞ 1 ✝

1

0 1

1 1

✪ ✫

0 ✣ 1 1 ✢ 0 0 1

✤ ☎ ✜ 1 1✆

0

1

f (A, B , C , D ) = D + B . C + A . B
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 34 / 67

Circuitos Combinacionais Minimiza¸ c˜ ao

Simplifica¸ c˜ ao via mapa de Karnaugh
Para cinco vari´ aveis :
D D

✞☎

E

C B

✗ ✔ 1✆ 1 1 0 ✝

1

0

0

0

✞☎

E

0 ✖ 1 1 ✕ 0 ✞☎ 0 0 0 ✝ 1✆ A

C B

✗ ✔ 1✆ 1 1 0 ✝

1

0

0

0

0 ✖ 1 1 ✕ 0 ✞☎ 0 0 0 ✝ 1✆ A

f (A, B , C , D , E ) = C .E + B . D . E + B . C . D . E
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 35 / 67

Circuitos Combinacionais Aplica¸ c˜ ao pr´ atica : Elevador

Aplica¸ c˜ ao pr´ atica : Controle da porta de um elevador
Em um pr´ edio de trˆ es andares deseja-se projetar um circuito l´ ogico para controlar a abertura da porta de um elevador. As vari´ aveis de entrada s˜ ao A, B , C , D em que :
A indica que o elevador est´ a em movimento quando igual a 1. B , C , D indicam que o elevador est´ a posicionado nos andares 1, 2, 3 quando iguais a 1, respectivamente.

Projete a sa´ ıda Ab que indica, quando em n´ ıvel alto, que o elevador deve abrir a porta. Para isto :
Determine a tabela verdade do problema. Fa¸ ca simplifica¸ c˜ oes utilizando um dos m´ etodos estudados. Desenhe o circuito l´ ogico correspondente.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 36 / 67

Circuitos Combinacionais Aplica¸ c˜ ao pr´ atica : Elevador

Aplica¸ c˜ ao pr´ atica : Controle da porta de um elevador
Tabela verdade :
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Profa. Grace S. Deaecto

B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Ab 0 1 1 X 1 X X X 0 0 0 X 0 X X X
DMC / FEM - Unicamp 37 / 67

ES572

Circuitos Combinacionais Aplica¸ c˜ ao pr´ atica : Elevador

Aplica¸ c˜ ao pr´ atica : Controle da porta de um elevador
Minimiza¸ c˜ ao via mapa de Karnaugh : C
✬ ✬ ✩ ✩

D

B A

✞ ☎ x x x✆ 1 ✝ ✫ ✫ ✪ ✪

0

1

x

1

0 0

x

x

x

0

x

0

Ab = A . (B + C + D )
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 38 / 67

Circuitos Combinacionais Aplica¸ c˜ ao pr´ atica : Elevador

Aplica¸ c˜ ao pr´ atica : Controle da porta de um elevador

Representa¸ c˜ ao do circuito :
B C D A Ab

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

39 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

S´ ıntese de circuitos combinacionais
Vamos agora utilizar os conceitos iniciais apresentados para realizar a s´ ıntese de alguns circuitos combinacionais importantes :
meio somadores e somadores completos comparadores codificadores e decodificadores multiplexadores e demultiplexadores

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

40 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Meio somador
O meio somador aceita duas vari´ aveis de entrada A e B e possui como sa´ ıdas a soma Σ e o carry out Cout . Tabela verdade A 0 0 1 1 B 0 1 0 1 Σ 0 1 1 0 Cout 0 0 0 1 Meio somador
A Σ

B

Cout

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

41 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Meio somador
N˜ ao ´ e dif´ ıcil verificar que ¯ + AB ¯ Σ = AB = A⊕B e que Cout = AB Seu circuito ´ e dado por
Σ=A⊕B

A Cout = AB B

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

42 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Somador completo
O somador completo possui como vari´ aveis de entrada A, B e o carry in Cin e como vari´ aveis de sa´ ıda a soma Σ e o carry out Cout . Tabela verdade A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 Cin 0 1 0 1 0 1 0 1 Σ 0 1 1 0 1 0 0 1 Cout 0 0 0 1 0 1 1 1 Somador completo
A B Σ

Cin

Cout

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

43 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Somador completo
Podemos verificar que Σ = A ⊕ B ⊕ Cin e que Cout ¯ in + ABC ¯ in + AB C ¯ = ABC in + ABCin = (A ⊕ B )Cin + AB Seu circuito ´ e dado por
A B Cin Σ = A ⊕ B ⊕ Cin

Cout = (A ⊕ B )Cin + AB

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

44 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Somador completo
O somador completo pode ser constru´ ıdo a partir de dois meio somadores.
A⊕B A A A ⊕ B ⊕ Cin A

Σ

Σ
(A ⊕ B )Cin

B

B

Cout

B

Cout

Cin (A ⊕ B )Cin + AB AB

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

45 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Somador completo
Para n´ umeros de 4 bits, um somador paralelo b´ asico est´ a apresentado a seguir.
A4 A3 A2 A1 +B4 B3 B2 B1 C4 S4 S3 S2 S1
A4 B4 A3 B3 A2 B2 A1 B1 C0 A1 A2 A3 A4 B1 B2 B3 B4 C0
1 2 3 4 1 2 3 4 1 2 3 4

A B

Cin

A B

Cin

A B

Cin

A B

Cin

Cout

Σ

Cout

Σ

Cout

Σ

Cout

Σ

Σ1 Σ2 Σ3 Σ4

C4

Σ4

C3

Σ3

C2

Σ2

C1

Σ1

C0

C4

C4

Podemos cascatear os somadores de maneira a considerar palavras maiores.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 46 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Somador completo

Como podemos verificar, a sa´ ıda Cout de cada somador completo est´ a conectada ` a entrada Cin do somador seguinte. Desta forma, a soma em cada est´ agio s´ o pode ser efetuada ap´ os o recebimento do carry Cout do est´ agio anterior provocando um atraso de propaga¸ c˜ ao no processo de adi¸ c˜ ao. Para evitar este atraso pode-se projetar um circuito antecipador de carry. De fato, fazendo a minimiza¸ c˜ ao, para o somador completo de 1 bit temos Cout = (A ⊕ B )Cin + AB = (A + B )Cin + AB

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

47 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Somador Completo
Para um somador de 2 bits, definindo C gi = Ai Bi e Cpi = Ai + Bi para o est´ agio i , temos : Primeiro est´ agio : Cout 1 = Cg 1 + Cp1 Cin1 Segundo est´ agio : Cin2 = Cout 1 Cout 2 = Cg 2 + Cp2 (Cg 1 + Cp1 Cin1 ) e, desta forma, n˜ ao h´ a atraso de propaga¸ c˜ ao pois todos os carries s˜ ao calculados no mesmo instante uma vez que todos dependem apenas do primeiro Cin1 .
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 48 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Comparador
A fun¸ c˜ ao do comparador ´ e comparar a magnitude de n´ umeros bin´ arios. Para comparar a igualdade de dois bits, basta utilizar a porta l´ ogica XNOR, que fornecer´ a n´ ıvel l´ ogico alto apenas na igualdade. Desta maneira, para comparar se dois n´ umeros bin´ arios, por exemplo, A = A3 A2 A1 A0 e B = B3 B2 B1 B0 s˜ ao iguais basta agrupar os bits dois a dois da forma {A3 , B3 }, {A2 , B2 }, {A1 , B1 } e {A0 , B0 } e conect´ a-los, respectivamente, ` a quatro portas XNORs. As sa´ ıdas destas portas s˜ ao conectadas ` a uma porta AND de quatro entradas. A sa´ ıda da porta AND ter´ a n´ ıvel alto somente se os n´ umeros forem iguais.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 49 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Comparador
Para comparar se dois n´ umeros s˜ ao diferentes e detectar qual deles ´ e o maior, basta analis´ a-los come¸ cando com o bit mais significativo. Por exemplo, para dois n´ umeros bin´ arios A = A3 A2 A1 A0 e B = B3 B2 B1 B0 , o procedimento a seguir ´ e realizado.
Se A3 = 1 e B3 = 0 ent˜ ao A > B . Se A3 = 0 e B3 = 1 ent˜ ao A < B . Se A3 = B3 realizam-se as verifica¸ c˜ oes anteriores para o bit consecutivo menos significativo.

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

50 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Codificador e decodificador
Os circuitos codificadores e decodificadores s˜ ao aqueles que efetuam a passagem de um c´ odigo para outro. O circuito codificador torna poss´ ıvel a passagem de um c´ odigo conhecido para um desconhecido. Exemplo : o circuito inicial de uma calculadora que transforma decimal (nossa linguagem) para bin´ ario (linguagem da m´ aquina). O circuito decodificador faz o inverso, ou seja, transforma um c´ odigo desconhecido em outro conhecido. ´ claro, que o termo codificador ou decodificador depende do E referencial que estamos considerando. Se estivermos considerando a m´ aquina como referencial o racioc´ ınio ´ e inverso.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 51 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Codificador
Um exemplo de circuito codificador ´ e aquele que passa de decimal para BCD. Neste caso, temos 10 entradas e 4 sa´ ıdas. Tabela verdade
Decimal 0 1 2 3 4 5 6 7 8 9 A3 0 0 0 0 0 0 0 0 1 1 A2 0 0 0 0 1 1 1 1 0 0 A1 0 0 1 1 0 0 1 1 0 0 A0 0 1 0 1 0 1 0 1 0 1
ES572

Circuito decimal/BCD
1 2 3 4 5 6 7 8 9

A0 A1 A2 A3

Profa. Grace S. Deaecto

DMC / FEM - Unicamp

52 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Codificador
Existe ainda o codificador decimal para BCD com prioridade. Neste caso, se dois n´ umeros decimais forem acionados, o codificador fornecer´ a o c´ odigo BCD do maior deles. A figura a seguir apresenta o chip 74HC147 que ´ e um codificador decimal para BCD com prioridade. Neste chip as entradas e as sa´ ıdas s˜ ao ativas em n´ ıvel baixo.
Vcc HPRI/BCD 1 2 3 4 5 6 7 8 9 Gnd

¯0 A ¯1 A ¯2 A ¯3 A

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

53 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Codificador
Exemplo de um teclado. Entradas e sa´ ıdas ativas em n´ ıvel baixo.
Vcc

7

8

9
1 2 3 4 5 6 7 8 9

Vcc
HPRI/BCD

4

5

6

¯0 A ¯1 A ¯2 A ¯3 A Gnd

1

2

3

Todas as sa´ ıdas em n´ ıvel alto 0

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

54 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Decodificador
Segue um exemplo de decodificador BCD para decimal. Ele possui 4 vari´ aveis de entrada e 10 vari´ aveis de sa´ ıda relacionadas como na tabela a seguir.
A 0 0 0 0 0 0 0 0 1 1 B 0 0 0 0 1 1 1 1 0 0 C 0 0 1 1 0 0 1 1 0 0 D 0 1 0 1 0 1 0 1 0 1 D9 0 0 0 0 0 0 0 0 0 1 D8 0 0 0 0 0 0 0 0 1 0 D7 0 0 0 0 0 0 0 1 0 0 D6 0 0 0 0 0 0 1 0 0 0 D5 0 0 0 0 0 1 0 0 0 0 D4 0 0 0 0 1 0 0 0 0 0 D3 0 0 0 1 0 0 0 0 0 0 D2 0 0 1 0 0 0 0 0 0 0 D1 0 1 0 0 0 0 0 0 0 0 D0 0 0 0 0 0 0 0 0 0 0

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

55 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Decodificador
Como o c´ odigo BCD n˜ ao possui valores maiores do que 9, para fins de simplifica¸ c˜ ao, o “don’t care” ´ e utilizado nas possibilidades excedentes. Para cada d´ ıgito fazemos o mapa de Karnaugh e simplificamos a express˜ ao. Para o d´ ıgito 9 (D9 ), temos C D 0 0 B A 0 x 0 0 x 0 0 x x 0 0 x x D9 = A . D

✬✩ ✫✪

1

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

56 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Decodificadores
Procedendo com a simplifica¸ c˜ ao para os demais d´ ıgitos, obtemos o seguinte resultado. ¯ D8 = A . D D7 = B . C . D ¯ D6 = B . C . D ¯ .D D5 = B . C ¯ .D ¯ D4 = B . C ¯ .C .D D3 = B ¯ .C .D ¯ D2 = B ¯ .B ¯ .C ¯ .D D1 = A ¯ .B ¯ .C ¯ .D ¯ D0 = A Verifique !
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 57 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Decodificador
O display de 7 segmentos nos permite escrever n´ umeros de 0 a 9 e algumas letras ou sinais. A figura a seguir apresenta uma unidade gen´ erica do display com sua nomenclatura de identifica¸ c˜ ao.
a

f

b

g e c

d

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

58 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Decodificador
Elabora¸ c˜ ao de um decodificador de c´ odigo BCD para display de 7 segmentos.
A 0 0 0 0 0 0 0 0 1 1 B 0 0 0 0 1 1 1 1 0 0 C 0 0 1 1 0 0 1 1 0 0 D 0 1 0 1 0 1 0 1 0 1 a 1 0 1 1 0 1 1 1 1 1 b 1 1 1 1 1 0 0 1 1 1 c 1 1 0 1 1 1 1 1 1 1 d 1 0 1 1 0 1 1 0 1 1 e 1 0 1 0 0 0 1 0 1 0 f 1 0 0 0 1 1 1 0 1 1 g 0 0 1 1 1 1 1 0 1 1

Simplique e apresente o circuito correspondente !
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 59 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Multiplexadores
Os multiplexadores s˜ ao circuitos que permitem passar uma informa¸ c˜ ao digital proveniente de diversos canais em um s´ o canal. Eles tamb´ em s˜ ao chamados de selecionadores de dados. A Figura a seguir apresenta o esquema de um multiplexador.
I0 I1 I2 I3 . . . MUX

Sa´ ıda

In

... A B C D Z

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

60 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Multiplexadores
Vamos supor que temos 4 linhas de informa¸ c˜ oes e apenas uma linha de transmiss˜ ao. Neste caso o selecionador possui 2 bits e seu circuito est´ a apresentado a seguir. Multiplexador de 4 entradas
A

Tabela verdade A 0 0 1 1 B 0 1 0 1
S

B I0

I0 I1 I2 I3

I1

S

I2

I3

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

61 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Multiplexadores
Para ampliarmos a capacidade de um multiplexador podemos cascatear outros de menor capacidade. Exemplo : Multiplex de 16 canais a partir de multiplex de 8 canais.
I0 I1 I2 I3 I4 I5 I6 I7 MUX 1 S0

(000) MUX 3 (111) MUX 2 S1 Sa´ ıda

I8 I9 I10 I11 I12 I13 I14 I15

B C D Profa. Grace S. Deaecto ES572

A DMC / FEM - Unicamp 62 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Multiplexadores
Podemos tamb´ em utilizar o multiplexador para construir um circuito combinacional qualquer como apresentado a seguir. Circuito Tabela verdade
0

Vari´ aveis de sele¸ c˜ ao A B C 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

MUX 1 S1 =0 =1 =1 =0 =1 =0 =0 =1

MUX 2 S2 =0 =0 =0 =1 =0 =1 =1 =1
ES572

I0 I1 I2 I3 I4 I5 I6 I7

I0 I1 I2 I3 I4 I5 I6 I7

I0 I1 I2 I3 MUX 1 I4 I5 I6 I7

S1

I0 I1 I2 I3 MUX 2 I4 I5 I6 I7

S2

1 A B C

Profa. Grace S. Deaecto

DMC / FEM - Unicamp

63 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Demultiplexadores
Os demultiplexadores s˜ ao circuitos capazes de enviar informa¸ c˜ oes contidas em um u ´nico canal de entrada ` a v´ arios canais de sa´ ıda. A Figura a seguir apresenta o esquema de um demultiplexador.
S0 S1 DEMUX . . . S2 S3

Entrada

Sn

... A B C D Z

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

64 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Demultiplexadores
Vamos supor que temos 1 linha de informa¸ c˜ ao e 4 linhas de transmiss˜ ao. Neste caso o selecionador possui 2 bits e seu circuito est´ a apresentado a seguir. Demultiplexador de 4 entradas Tabela verdade A 0 0 1 1 B 0 1 0 1 S0 E 0 0 0 S1 0 E 0 0 S2 0 0 E 0 S3 0 0 0 E
A B S0

S1 E S2

S3

Profa. Grace S. Deaecto

ES572

DMC / FEM - Unicamp

65 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Demultiplexadores
Para ampliarmos a capacidade de um demultiplexador podemos cascatear outros de menor capacidade. Exemplo : Demultiplex de 16 canais a partir de demultiplex de 8 canais.
S0 S1 S2 S3 S4 S5 S6 S7

DEMUX 2 (000) Entrada DEMUX 1 (111) DEMUX 3

S8 S9 S10 S11 S12 S13 S14 S15

A Profa. Grace S. Deaecto ES572

BCD DMC / FEM - Unicamp 66 / 67

Circuitos Combinacionais S´ ıntese de circuitos combinacionais

Gerador de paridade
Considerando paridade ´ ımpar podemos construir um circuito gerador de paridade. Para uma transmiss˜ ao de 4 bits, a tabela verdade representa a sa´ ıda do bit de paridade. Tabela verdade Circuito
I3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 I2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 I1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 I0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 P 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1

I3

I2 I1

P

I0

P = I0 ⊕ I1 ⊕ I2 ⊕ I3
ES572 DMC / FEM - Unicamp 67 / 67

Profa. Grace S. Deaecto