Você está na página 1de 41

2 lgebra Booleana e Circuitos Lgicos

Uma lgebra Booleana pode ser definida com um conjunto de operadores e um


conjunto de axiomas, que so assumidos verdadeiros sem necessidade de prova.
Em 1854, George Boole introduziu o formalismo que at hoje se usa para o tratamento
sistemtico da lgica, que a chamada lgebra Booleana. Em 1938, C. E. Shannon aplicou
esta lgebra para mostrar que as propriedades de circuitos eltricos de chaveamento podem
ser representadas por uma lgebra Booleana com dois valores.
Diferentemente da lgebra ordinria dos reais, onde as variveis podem assumir
valores no intervalo (-;+), as variveis Booleanas s podem assumir um nmero finito de
valores. Em particular, na lgebra Booleana de dois valores, cada varivel pode assumir um
dentre dois valores possveis, os quais podem ser denotados por [F,V] (falso ou verdadeiro),
[H,L] (high and low) ou ainda [0,1]. Nesta disciplina, adotaremos a notao [0,1], a qual
tambm utilizada em eletrnica digital. Como o nmero de valores que cada varivel pode
assumir finito (e pequeno), o nmero de estados que uma funo Booleana pode assumir
tambm ser finito, o que significa que podemos descrever completamente as funes
Booleanas utilizando tabelas. Devido a este fato, uma tabela que descreva uma funo
Booleana recebe o nome de tabela verdade, e nela so listadas todas as combinaes de
valores que as variveis de entrada podem assumir e os correspondentes valores da funo
(sadas).

2.1 Operaes Bsicas da lgebra Booleana (ou lgebra de


Chaveamento)
Na lgebra Booleana, existem trs operaes ou funes bsicas. So elas, operao
OU, operao E e complementao. Todas as funes Booleanas podem ser representadas
em termos destas operaes bsicas.

2.1.1 Operao OU (Adio Lgica)


Uma definio para a operao OU, que tambm denominada adio lgica, :
A operao OU resulta 1 se pelo menos uma das variveis de entrada vale 1.
Como uma varivel Booleana ou vale 1 ou vale 0, e como o resultado de uma operao
qualquer pode ser encarado como (ou atribudo a) uma varivel Booleana, basta que
definamos quando a operao vale 1. Automaticamente, a operao resultar 0 nos demais
casos. Assim, pode-se dizer que a operao OU resulta 0 somente quando todas as variveis
de entrada valem 0.
Um smbolo possvel para representar a operao OU +, tal como o smbolo da
adio algbrica (dos reais). Porm, como estamos trabalhando com variveis Booleanas,

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-2

sabemos que no se trata da adio algbrica, mas sim da adio lgica. Outro smbolo
tambm encontrado na bibliografia .
Listando as possibilidades de combinaes entre dois valores Booleanos e os
respectivos resultados para a operao OU, tem-se:
0+0
0+1
1+0
1+1

=
=
=
=

0
1
1
1

Note que a operao OU s pode ser definida se houver, pelo menos, duas variveis
envolvidas. Ou seja, no possvel realizar a operao sobre somente uma varivel. Devido a
isso, o operador + (OU) dito binrio.
Nas equaes, no costuma-se escrever todas as possibilidades de valores. Apenas
adotamos uma letra (ou uma letra com um ndice) para designar uma varivel Booleana. Com
isso, j se sabe que aquela varivel pode assumir ou o valor 0 ou o valor 1. Ento, supondo
que queiramos demonstar o comportamento da equao A+B (l-se A ou B), poderamos
faz-lo utilizando uma tabela verdade, como segue:
A
0
0
1
1

B
0
1
0
1

A+B
0
1
1
1

Da mesma forma, podemos mostrar o comportamento da equao A+B+C (l-se A ou


B ou C) por meio de uma tabela verdade. Como na equao h somente o smbolo +, tratase da operao OU sobre trs variveis. Logo, pode-se aplicar diretamente a definio da
operao OU: o resultado ser 1 se pelo menos uma das variveis de entrada valer 1.
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

A+B+C
0
1
1
1
1
1
1
1

importante notar que, devido ao fato de haver somente um operador na equao,


pode-se tambm avaliar a equao decompondo-a em pares. Por exemplo, pode-se
primeiramente achar o resultado de A+B, para depois operar os valores resultantes com os
respectivos valores de C. Esta propriedade conhecida como associativa. Tambm a ordem
em que so avaliadas as variveis A, B e C irrelevante (propriedade comutativa). Estas
propriedades so ilustradas pela tabela verdade a seguir. Nela, os parntesis indicam
subexpresses j avaliadas em coluna imediatamente esquerda. Note que os valores das

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-3

colunas referentes s expresses A+B+C, (A+B)+C e (B+C)+A so os mesmos (na mesma


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

A+B+C
0
1
1
1
1
1
1
1

A+B
0
0
1
1
1
1
1
1

(A+B)+C
0
1
1
1
1
1
1
1

B+C
0
1
1
1
0
1
1
1

(B+C)+A
0
1
1
1
1
1
1
1

2.1.2 Operao E (Multiplicao Lgica)


A operao E, ou multiplicao lgica, pode ser definida da seguinte forma:
A operao E resulta 0 se pelo menos uma das variveis de entrada vale 0.
Pela definio dada, pode-se deduzir que o resultado da operao E ser 1 se, e
somente se, todas as entradas valerem 1.
O smbolo usualmente utilizado na operao E , porm outra notao possvel
. Podemos, tambm, listar as possibilidades de combinaes entre dois valores Booleanos
e os respectivos resultados, para a operao E:
00
01
10
11

=
=
=
=

0
0
0
1

Assim como a operao OU, a operao E s pode ser definida entre, pelo menos duas
variveis. Ou seja, o operador (E) tambm binrio.
Para mostrar o comportamento da equao A B (l-se A e B), escreve-se uma tabela
verdade, como segue:
A
0
0
1
1

B
0
1
0
1

AB
0
0
0
1

De forma semelhante, pode-se determinar o resultado da equao ABC (l-se A e B e


C) utilizando diretamente a definio da operao E: o resultado ser 0 se pelo menos uma
das variveis de entrada valer 0.

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

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

2-4

ABC
0
0
0
0
0
0
0
1

Tambm para a operao E valem as propriedades associativa e comutativa. Ento, a


equao ABC pode ainda ser avaliada tomando-se as variveis aos pares, em qualquer ordem.
Veja a tabela verdade a seguir e compare os resultados.
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

ABC
0
0
0
0
0
0
0
1

AB
0
0
0
0
0
0
1
1

(AB)C
0
0
0
0
0
0
0
1

BC
0
0
0
1
0
0
0
1

A(BC)
0
0
0
0
0
1
0
1

2.1.3 Complementao (ou Negao, ou Inverso)


A operao complementao dispensa uma definio. a operao cujo resultado
simplesmente o valor complementar ao que a varivel apresenta. Tambm devido ao fato de
uma varivel Booleana poder assumir um entre somente dois valores, o valor complementar
ser 1 se a varivel vale 0 e ser 0 se a varivel vale 1.
Os smbolos utilizados para representar a operao complementao sobre uma
varivel Booleana A so A , ~A e A' (l-se A negado). Nesta disciplina, adotaremos o
primeiro smbolo. O resultado da operao complementao pode ser listado:
=
=

0
1

1
0

Diferentemente das operaes OU e E, a complementao s definida sobre uma


varivel, ou sobre o resultado de uma expresso. Ou seja, o operador complementao
dito unrio.
E a tabela verdade para A :
A
0
1

A
1
0

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-5

2.2 Avaliao de Expresses Booleanas


Dada a equao que descreve uma funo Booleana qualquer, deseja-se saber
detalhadamente como esta funo se comporta para qualquer combinao das variveis de
entrada. O comportamento de uma funo descrito pela sua tabela verdade e este problema
conhecido como avaliao da funo ou da expresso que descreve a funo considerada. Em
suma, deseja-se achar a tabela verdade para a funo Booleana.
Uma tabela verdade consiste basicamente de um conjunto de colunas, nas quais so
listadas todas as combinaes possveis entre as variveis de entrada ( esquerda) e o
resultado da funo ( direita). Tambm, pode-se criar colunas intermedirias, onde so
listados os resultados de subexpresses contidas na expresso principal. Isto normalmente
facilita a avaliao, principalmente no caso de equaes muito complexas e/ou contendo
muitas variveis.
Quando numa mesma equao Booleana aparecem operaes E e OU, necessrio
seguir a ordem de precedncia. Tal como na lgebra dos reais, a multiplicao (lgica) tem
precedncia sobre a adio (lgica). Alm disso, expresses entre parntesis tm precedncia
sobre operadores E e OU que estejam no mesmo nvel. Quanto complementao, esta deve
ser avaliada to logo seja possvel. Caso a complementao seja aplicada sobre uma
subexpresso inteira, necessrio que se avalie primeiramente a subexpresso para, s aps,
inverter o seu resultado.
O nmero de combinaes que as variveis de entrada podem assumir pode ser
calculado por 2n, onde n o nmero de variveis de entrada.
O procedimento para a criao da tabela verdade a partir de uma equao Booleana :
1. Criar colunas para as variveis de entrada e listar todas as combinaes
possveis, utilizando a frmula no de combinaes = 2n (onde n o
nmero de variveis de entrada);
2. Criar uma coluna para cada varivel de entrada que aparea
complementada na equao e anotar os valores resultantes;
3. Avaliar a equao seguindo a ordem de precedncia, a partir do nvel de
parntesis mais internos:
1o multiplicao lgica
2o adio lgica
Tomemos como exemplo a expresso W = X + Y Z . A varivel W representa a
funo Booleana propriamente dita. Esta varivel depende das variveis que esto direita do
sinal =, ou seja, depende de X, Y e Z. Logo, so 3 as variveis de entrada. O total de
combinaes entre 3 variveis ser 23=8. Ento, a tabela verdade para W dever ter 3 colunas
esquerda e 8 linhas. Seguindo o procedimento dado acima, cria-se uma coluna, na qual
listam-se os valores para Z. Aps, inicia-se a avaliao propriamente dita, a partir do nvel
mais interno de parntesis. Como no h parntesis na expresso, resolvem-se as
subexpresses que envolvem a operao E. No caso em questo, h somente uma tal
subexpresso, que X Y . Ento, cria-se uma coluna para X Y , na qual anotam-se os
resultados para este produto. Finalmente, utilizam-se os resultados de X Y , listados na
coluna anterior, para operar o OU com a varivel X. Repare os passos descritos na tabela
verdade que segue. Nela, os parntesis em torno do produto X Y indicam somente que este

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-6

termo j foi avaliado e que no passo referente a esta coluna, tomaram-se apenas os valores
previamente encontrados.
X Y Z

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

X Y
0
0
1
0
0
0
1
0

Z
1
0
1
0
1
0
1
0

W = X + Y Z

0
0
1
0
1
1
1
1

2.3 Portas Lgicas


J vimos que uma funo Booleana pode ser representada por uma equao ou
detalhada pela sua tabela verdade. Mas uma funo Booleana tambm pode ser representada
de forma grfica, onde cada operador est associado a um smbolo especfico, permitindo o
imediato reconhecimento visual. Tais smbolos so conhecidos por portas lgicas.
Na realidade, mais do que smbolos de operadores lgicos, as portas lgicas
representam recursos fsicos, isto , circuitos eletrnicos, capazes de realizar as operaes
lgicas. Na eletrnica que trabalha com somente dois estados, a qual denominada eletrnica
digital, o nvel lgico 0 normalmente est associado ausncia de tenso (0 volt) enquanto o
nvel lgico 1, presena de tenso (a qual geralmente 5 volts). Nesta disciplina, nos
limitaremos ao mundo da lgebra Booleana, admitindo que as portas lgicas representam
tambm circuitos eletrnicos que, de alguma maneira, realizam as funes Booleanas
simbolizadas. Ento, ao conjunto de portas lgicas e respectivas conexes que simbolizam
uma equao Booleana, denominaremos circuito lgico.

2.3.1 Porta OU
O smbolo da porta OU pode ser visto na figura 2.1. Tal como na porta E, as entradas
so colocadas esquerda e a sada, direita. Deve haver no mnimo duas entradas, mas h
somente uma sada. O funcionamento da porta E segue a definio da operao E, dada na
seo 2.1.1.
A

A+B

A+B+C

B
C

(a)

(b)

Figura 2.1 - Smbolo da porta lgica OU com 2 entradas (a) e com 3 entradas (b).

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-7

2.3.2 Porta E
O smbolo da porta E mostrado na figura 2.2. esquerda esto dispostas as entradas
(no mnimo duas, obviamente) e direita, a sada (nica). As linhas que conduzem as
variveis de entrada e sada podem ser interpretadas como fios que transportam os sinais
eltricos associados s variveis. O comportamento da porta E segue extritamente a definio
(e tabela verdade) dada na seo 2.1.2.
A.B

A
B

A
B
C

A.B.C

(b)

(a)

Figura 2.2 - Smbolo da porta lgica E com 2 entradas (a) e com 3 entradas (b).

2.3.3 Inversor (ou Porta Inversora, ou Negador)


A porta que simboliza a operao complementao conhecida como inversor (ou
porta inversora, ou negador). Como a operao complementao s pode ser realizada sobre
uma varivel por vez (ou sobre o resultado de uma subexpresso), o inversor s possui uma
entrada e, obviamente, uma sada. Caso se queira complementar uma expresso, necessrio
obter-se primeiramente o seu resultado, para s ento aplicar a complementao. O smbolo
do inversor mostrado na figura 2.3.

Figura 2.3 - Smbolo do inversor (tambm conhecido como negador ou porta inversora).

2.3.4 Exemplo de Circuito Lgico


Dada uma equao Booleana qualquer, possvel desenhar-se o circuito lgico que a
implementa. O circuito lgico composto das portas lgicas relacionadas s operaes que
so realizadas sobre as variveis de entrada. Os resultados das operaes so conduzidos por
fios, os quais, no desenho, so representados por linhas simples.
Os passos a serem seguidos para se realizar o desenho do circuito lgico a partir de
uma equao so praticamente os mesmos usados na avaliao da expresso. Tomemos como
exemplo a equao, avaliada na seo 2.2. Inicialmente, identificamos as variveis
independentes, que no caso so X, Y e Z. Para cada uma destas, traamos uma linha (da
esquerda para a direita), representando os fios que conduzem os valores. Feito isto, deve-se
seguir desenhando as portas necessrias para representar cada uma das subexpresses, na
mesma ordem tomada para a avaliao, ou seja:
1o parntesis (dos mais internos para os mais externos);
2o operaes E;

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-8

3o operaes OU.
A figura 2.4 mostra o circuito lgico para a equao W = X + Y Z .

X
W

Y
Z

Figura 2.4 - Um circuito lgico.

2.4 Leis Fundamentais e Propriedades da lgebra Booleana


As leis da lgebra Booleana dizem respeito ao espao Booleano (isto ., valores que
uma varivel pode assumir) e operaes elementares deste espao. J as propriedades podem
ser deduzidas a partir das definies das operaes.
Sejam A e B duas variveis Booleanas. Ento, o espao Booleano definido:
se A0, ento A=1;
se A1, ento A=0.
As operaes elementares deste espao so operao OU, operao E e
complementao, cujas definies foram dadas nas sees 2.1.1, 2.1.2 e 2.1.3,
respectivamente.
As propriedades da lgebra Booleana so as seguintes.
Da adio lgica:
(1)
(2)
(3)
(4)

A+0 = A
A +1 = 1
A+A = A
A+A = 1

Da multiplicao lgica:
(5)
(6)
(7)
(8)

A 0 = 0
A 1 = A
A A = A
A A = 0

Da complementao:
(9)

A=A

Comutatividade:
(10)
(11)

A + B = B+ A
A B = B A

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-9

Associatividade:
(12)
(13)

A +(B + C ) =(A + B )+ C = ( A + C )+ B
A (B C) = (A B) C = (A C) B

Distributiva (da multiplicao em relao adio):


(14)

A (B + C) = A B + A C

2.4.1 Teoremas de De Morgan


O primeiro teorema de De Morgan diz que a complementao de um produto (lgico)
equivale soma (lgica) das negaes de cada varivel do referido produto. Sob a forma de
equao, teramos:
A B C ... = A + B + C + ... (2.1)
O segundo teorema o dual ( i.e., o espelho) do primeiro, ou seja, a complementao
de uma soma (lgica) equivale ao produto das negaes individuais das variveis:
A + B + C + ... = A B C... (2.2)
Particularizando os teoremas de De Morgan para duas variveis, temos:
A B = A + B

(2.3)

A + B = A B

(2.4)

2.5 Derivao de Expresses Booleanas


Dada uma funo Booleana, descrita por sua tabela verdade, derivar uma expresso
Booleana para esta funo encontrar uma equao que a descreva. Logo, a derivao de
expresses Booleanas o problema inverso da avaliao de uma expresso Booleana, descrito
na seo 2.2
H basicamente duas maneiras de se definir (ou descrever) uma funo Booleana:
descrevendo-se todas as situaes das variveis de entrada para as quais a funo vale 1 ou,
alternativamente, todas as situaes em que a funo vale 0. O primeiro mtodo conhecido
por soma de produtos (SdP), enquanto que o segundo chamado produto de somas (PdS).
Qualquer funo Booleana pode ser descrita por meio de soma de produtos ou por meio de
produto de somas. Como as funes Booleanas s podem assumir um dentre dois valores (0
ou 1), basta usar-se um dos dois mtodos para se encontrar uma equao para uma funo.
A seguir, so detalhados os mtodos de derivao de expresses Booleanas.

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-10

2.5.1 Derivao de Expresses usando Soma de Produtos (SdP)


Dada uma funo Booleana de n variveis (ou seja, n entradas), haver 2n combinaes
possveis de valores. Dizemos que esse conjunto de valores que as variveis podem assumir,
juntamente com os respectivos valores da funo, constituem o espao da funo. A cada
combinao de entradas podemos associar um termo produto, no qual todas as variveis da
funo esto presentes, e que construdo da seguinte forma: se a varivel correspondente
vale 0, ela deve aparecer negada; se a varivel vale 1, ela deve aparecer no negada. A tabela
a seguir lista os termos produto associados a cada combinao de entradas para uma funo
Booleana de trs variveis (A, B e C, por exemplo).
A B C

mintermo

0 0 0

A B C

0 0 1

A B C

0 1 0

A B C

0 1 1

A B C

1 0 0

A B C

1 0 1

A B C

1 1 0

A B C

1 1 1

A B C

Cada termo produto construdo conforme a regra anteriormente descrita denominado


mintermo (ou minitermo). Note que, para um dado mintermo, se substituirmos os valores das
variveis associadas, obteremos 1. Porm, se substituirmos nesse mesmo mintermo quaisquer
outras combinaes de valores, obteremos 0. Dessa forma, se quisermos encontrar a equao
para uma funo a partir de sua tabela verdade, basta montarmos um OU entre os mintermos
associados aos 1s da funo (tambm chamados mintermos 1 ).
Exemplo 2.1: encontrar a equao em soma de produtos (SdP) para a funo F, descrita pela
seguinte tabela verdade:
A B C

0
0
0
0
1
1
1
1

0
0
1
1
0
1
1
0

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

F funo das variveis A, B e C. Os valores de (A,B,C) para os quais F=1 so (0,1,0),


(0,1,1), (1,0,1) e (1,1,0). Os mintermos associados a essas condies (ou seja, os mintermos
1), so A B C , A B C , A B C e A B C , respectivamente. Logo, a equao em soma
de produtos para F ser o OU entre estes produtos, conforme segue:
F = A B C + A B C + A B C + A B C

(2.5)

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-11

A fim de simplificar a notao, o smbolo da operao E pode ser omitido. Desta


forma, a equao anterior pode ser reescrita de maneira mais concisa:
F = A BC + A BC + A BC + A BC

(2.6)

2.5.2 Derivao de Expresses usando Produto de Somas (PdS)


O mtodo de derivao usando produto de somas o dual (isto , o oposto) do mtodo
de derivao em soma de produtos. A cada combinao das variveis de entrada de uma
funo podemos associar um termo soma, no qual todas as variveis da funo esto
presentes, e que construdo da seguinte forma: se a varivel correspondente vale 1, ela deve
aparecer negada; se a varivel vale 0, ela deve aparecer no negada. A tabela a seguir lista os
termos soma associados a cada combinao de entradas para uma funo Booleana de trs
variveis (A, B e C, por exemplo).
A B C

maxtermos

0 0 0

A + B+ C

0 0 1

A + B+ C

0 1 0

A + B+ C

0 1 1

A + B+ C

1 0 0

A + B+ C

1 0 1

A + B+ C

1 1 0

A + B+ C

1 1 1

A + B+ C

Cada termo soma construdo conforme a regra anteriormente descrita denominado


maxtermo (ou maxitermo). Note que, para um dado maxtermo, se substituirmos os valores
das variveis associadas, obteremos 0. Porm, se substituirmos nesse mesmo maxtermo
quaisquer outras combinaes de valores, obteremos 1. Dessa forma, se quisermos encontrar a
equao para uma funo a partir de sua tabela verdade, basta montarmos um E entre os
maxtermos associados aos 0s da funo (tambm chamados maxtermos 0 ).
Exemplo 2.2: encontrar a equao em produto de somas (PdS) para a funo F, descrita pela
seguinte tabela verdade:
A B C
F
0 0 0
0
0 0 1
0
0 1 0
1
0 1 1
1
1 0 0
0
1 0 1
1
1 1 0
1
1 1 1
0

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-12

Foi escolhida a mesma funo do exemplo anterior, para que se possa estabelecer
comparaes entre os dois mtodos de derivao. Os valores das variveis de entrada (A,B,C)
para os quais F=0 so (0,0,0), (0,0,1), (1,0,0) e (1,1,1). Os maxtermos associados a essas
condies (ou seja, os maxtermos 0), so A + B + C , A + B + C , A + B + C e A + B + C ,
respectivamente. Logo, a equao em produto de somas para F ser o E entre estas somas:
F =(A + B + C)(A + B + C)(A + B + C)(A + B + C)

(2.7)

Note que a ordem de precedncia de uma expresso em produto de somas primeiro


cada soma deve ser avaliada, para s ento avaliar-se o produto. Isto significa que os
parntesis em torno de cada termo soma so obrigatrios! Repare tambm que os smbolos
referentes operao E (entre os termos soma) podem ser omitidos.

2.6 Formas Cannicas, Padro e No-Padro


As representaes em soma de produtos e em produto de somas so denominadas
formas padro. A soma de produtos e o produto de somas descritos nas duas sees
anteriores apresentam ainda uma caracterstica bastante particular: em cada termo soma e em
cada termo produto todas as variveis da funo esto presentes. Devido a essa caracterstica,
essas formas so chamadas cannicas.
Alm das representaes descritas nas sees anteriores, h representaes alternativas
(e mais concisas) para as expresses cannicas. Se associarmos cada combinao das
variveis de entrada ao seu equivalente em decimal, cada mintermo pode ser representado por
mi, onde i o decimal associado. De forma similar, cada maxtermo pode ser representado por
Mi, onde i o decimal associado. A tabela a seguir lista todos os mintermos e maxtermos de
uma funo de trs variveis (A, B e C).
A B C

mintermo

maxtermo

0 0 0

m0

M0

0 0 1

m1

M1

0 1 0

m2

M2

0 1 1

m3

M3

1 0 0

m4

M4

1 0 1

m5

M5

1 1 0

m6

M6

1 1 1

m7

M7

Voltando funo F das sees anteriores, podemos reescrever a expresso em soma


de produtos, na forma cannica, como segue:
F = m2 + m3 + m5 + m6

(2.8)

Ou ainda, de maneira mais concisa:


F = (2,3,5,6)

(2.9)

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-13

E sua expresso em produto de somas, na forma cannica, pode ser reescrita como:
F = M0 M1 M4 M7

(2.10)

Ou simplesmente, como:
F = (0,1,4,7)

(2.11)

Apesar da praticidade das representaes cannicas, elas so pouco teis para a


implementao de circuitos digitais. O nmero de elementos (portas lgicas e conexes) de
um circuito lgico depende diretamente do nmero de operaes Booleanas (inverso, E e
OU) contidas na expresso associada. Desta forma, normal que se deseje reduzir o nmero
de operaes contidas numa funo, de modo a poder-se implement-la com circuitos lgicos
mais simples, e portanto, de menor custo. A reduo do nmero de operaes obtida
mediante a eliminao de literais da expresso, aplicando-se as propriedades da lgebra
Booleana descritas na seo 2.4. Um literal uma varivel negada ou uma varivel no
negada. O processo de reduo de literais (ou de reduo de operaes, equivalentemente)
denominado simplificao.
Para exemplificar os passos bsicos para a simplificao algbrica (literal) de
expresses Booleanas, tomemos a expresso cannica, em soma de produtos, para a funo F:
F = A BC + A BC + A BC + A BC

(2.12)

O primeiro passo identificar pares de mintermos que se diferenciam por apenas um


literal, a fim de aplicar a propriedade (14). Os mintermos ABC e ABC , por exemplo,
possuem os mesmos literais, exceto pela varivel C: no primeiro, o literal C , enquanto no
segundo, o literal C. Ento, com o uso da propriedade (14), pode-se fatorar esses dois
mintermos, obtendo-se:
F = A B(C + C)+ A BC + A BC

(2.13)

Pela propriedade (4), tem-se que C + C=1. Ento, substituindo em 2.13, segue:
F = AB 1 + ABC + ABC

(2.14)

E pela propriedade (6), AB 1 = AB. Substituindo em 2.14, obtm-se:


F = A B + A BC + A BC

(2.15)

Assim, pela manipulao algbrica, obtivemos uma expresso em soma de produtos


que simplificada em relao a sua expresso em soma de produtos na forma cannica, pois o
nmero de operaes e tambm de literais foram reduzidos (compare 2.15 com 2.12).
Entretanto, na equao 2.12, o mintermo ABC tambm poderia ter sido agrupado com
o mintermo ABC , pois ambos possuem os mesmos literais, exceto pela varivel A ( A no
primeiro e A no segundo). Naturalmente, os passos a serem seguidos seriam os mesmos
descritos anteriormente. E a equao resultante seria um pouco diferente, mas com o mesmo
nmero de operaes, sendo portanto, de mesma complexidade. Na verdade, o melhor seria se
pudssemos agrupar o mintermo ABC com o mintermo ABC e ao mesmo tempo com o
mintermo ABC . Felizmente, a propriedade (3) da lgebra Booleana diz que o OU entre duas
ou mais variveis Booleanas iguais igual a prpria varivel Booleana em questo.
Estendendo esta propriedade, pode-se dizer que o OU entre duas ou mais funes (inclusive

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-14

produtos) Booleanas iguais equivale prpria funo Booleana em questo. Desta forma,
pode-se expandir o mintermo ABC para
ABC = ABC + ABC
(2.16)
que uma manipulao algbrica decorrente da propriedade (3).

Retomando a equao 2.12 e utilizando 2.16, segue que:


F = A BC + A BC + A BC + A BC + A BC

(2.17)

Ento, a propriedade (3) garante que as expresses 2.12 e 2.17 so equivalentes,


embora o mintermo ABC aparea duplicado. E pelo fato de aparecer duas vezes, pode-se usar
uma cpia de ABC para simplificar com ABC e outra para simplificar com ABC . Os passos
da simplificao so os mesmos j descritos: pela propriedade (14), segue:
F = A B(C + C)+ A BC +(A + A)BC

(2.18)

E pela propriedade (6), vem:


F = AB1+ ABC + 1 BC

(2.19)

Finalmente, pela propriedade (4), tem-se:


F = A B + A BC + BC

(2.20)

Repare que o mintermo A BC no pde ser agrupado com nenhum outro mintermo.
Note tambm que foram feitas todas as simplificaes possveis, uma vez que foram
agrupados e simplificados todos os pares de mintermos que se diferenciam de somente uma
varivel. Logo, a expresso 2.20 representa a mxima simplificao possvel sob a forma de
soma de produtos. E por esse motivo, ela dita equao mnima em soma de produtos da
funo F. Quanto a expresso 2.15, diz-se ser uma equao em soma de produtos
simplificada (porm, no-mnima). Logo, toda equao mnima simplificada, porm, nem
toda equao que foi simplificada necessariamente mnima.
Embora a equao mnima em soma de produtos apresente menor nmero de
operaes Booleanas que a representao na forma cannica, as vezes pode ser possvel
reduzir-se ainda mais o nmero de operaes, fatorando-se literais. Por exemplo, na expresso
2.20 pode-se fatorar o primeiro e o terceiro mintermos como segue:
F = B(A + C)+ A BC

(2.21)

A expresso 2.21, obtida pela fatorao de 2.20, no nem do tipo soma de produtos,
nem produto de somas, pois h um termo que no nem produto, nem soma. Diz-se que a
expresso est na forma fatorada. No caso de 2.21, a fatorao no resultou em reduo do
nmero de operaes.
No que se refere a terminologia, as formas soma de produtos e produto de somas so
ditas formas padro (formas standard). A forma fatorada dita no-padro. As formas
cannicas so, pois, casos especiais de formas padro, nas quais os termos so mintermos ou
maxtermos. A fim de diferenciar somas de produtos cannicas de somas de produtos
simplificadas, usaremos a expresso soma de mintermos. De maneira similar, usaremos a
expresso produto de maxtermos para diferenciar produtos de somas cannicos de
produtos de somas simplificados.

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-15

2.7 Circuitos Lgicos para Formas Padro e No-Padro


As regras gerais para se realizar o desenho de circuitos lgicos j foram apresentadas
na seo 2.3 (item 2.3.4). As regras seguintes devem ser observadas, a fim de facilitar a
compreenso do desenho:
as variveis de entrada devem ser identificadas preferencialmente esquerda, junto
aos respectivos fios;
inversores devem ser providos para as variveis que aparecem negadas na equao;
as portas que implementam as operaes Booleanas que aparecem na equao
normalmente so posicionadas da esquerda para a direita, seguindo a ordem de avaliao dos
operadores (descrita em 2.3.4).
No caso de equaes na forma soma de produtos (cannica ou simplificada), h um
primeiro nvel (desconsiderando-se possveis inversores), constitudo somente por portas E,
onde cada porta E implementa um dos produtos da equao. H ainda um segundo nvel,
constitudo por uma porta OU, responsvel pela soma lgica dos produtos. A figura 2.5
mostra um possvel circuito lgico para a equao 2.12.
Repare que em todas as intersees de fios em que h conexo fsica, deve haver um
ponto (suficientemente grande), como se fora uma solda. Logo, quando no h o referido
ponto na interseo de fios, significa que tais fios esto eletricamente isolados.

1o nvel

2o nvel

A
B
C

Figura 2.5 - Um circuito lgico para soma de produtos.


O circuito da figura 2.5 pode ainda ser desenhado utilizando-se uma notao
simplificada para os inversores das entradas. Ao invs de se desenhar um inversor para cada
varivel que aparece negada na equao, coloca-se um crculo junto a cada entrada de cada

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-16

porta na qual h uma varivel negada. A aplicao desse procedimento para o circuito da
figura 2.5 resulta no seguinte desenho:
1o nvel

2o nvel

A
B
C

Figura 2.6 - Um circuito lgico para soma de produtos - outra possvel representao.
No caso de equaes na forma produto de somas (cannica ou simplificada), o
primeiro nvel constitudo por portas OU, sendo cada uma responsvel por uma das somas
lgicas da equao. O segundo nvel, por sua vez, constitudo por uma porta E, que realiza o
produto lgico das parcelas. A figura 2.7 mostra um possvel circuito lgico para a equao
2.7.
1o nvel

2o nvel

A
B
C

Figura 2.7 - Um circuito lgico para produto de somas.

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-17

Pelo fato de apresentarem apenas dois nveis de portas (dois nveis lgicos), circuitos
para equaes representadas nas formas padro, cannicas ou simplificadas, so ditos
circuitos em dois nveis (ou lgica a dois nveis).
Dada a equao cannica de uma funo qualquer, o circuito para uma equao
simplificada a partir da cannica possui menos portas e/ou portas de menor complexidade. (A
complexidade relativa de uma porta pode ser medida pelo nmero de entradas que ela
apresenta). A figura 2.8 mostra o circuito lgico para a equao 2.20, que a forma mnima
para a funo da equao 2.12. Note que este circuito de menor complexidade que o circuito
da figura 2.6. A complexidade relativa de um circuito lgico pode ser calculada somando-se o
nmero de entradas das portas. Nos circuitos das figuras 2.6 e 2.7 h 4 portas de 3 entradas e
1 porta de 4 entradas. Ento, a complexidade relativa ser 4x3+1x4=16. No circuito da figura
2.8 h 2 portas de 2 entradas e 2 portas de 3 entradas. Sua complexidade relativa ser
2x2+2x3=10. Claramente, o circuito da figura 2.8 de menor complexidade que os circuitos
das figuras 2.6 e 2.7. Estes dois so de mesma complexidade relativa. No clculo da
complexidade relativa, as inverses normalmente no so levadas em conta.
Circuitos para formas fatoradas podem ser vistos como o caso mais genrico. Em
geral, as formas fatoradas conduzem a circuitos cujo nmero de nveis lgicos maior do que
dois. Por isso, circuitos lgicos para formas fatoradas so denominados circuitos multinvel
(lgica multinvel). Como dito na seo 2.6, as vezes uma forma fatorada pode apresentar
menor nmero de operaes do que a respectiva forma padro. Quando isso ocorre, o circuito
associado forma fatorada tambm ser de menor complexidade relativa. Entretanto, se no
ocorrer reduo no nmero de operaes, mesmo assim possvel que o circuito para a forma
fatorada seja de menor complexidade relativa, pois o conceito de complexidade relativa
tambm inclui o nmero de entradas de cada porta. Ento, a maneira mais segura de saber se o
circuito associado forma fatorada de menor complexidade ou no desenh-lo e somar o
nmero de entradas. A figura 2.9 mostra o circuito para a equao 2.21, obtida a partir da
equao 2.20 fatorando-se o literal B. Note que o nmero de operaes Booleanas destas
equaes o mesmo: 4. No entanto, a complexidade do circuito da forma fatorada
3x2+1x3=9, portanto menor do que a complexidade do circuito da figura 2.8.

1o nvel

2o nvel

A
B

F
C

Figura 2.8 - Circuito lgico para a equao 2.20.

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

1o nvel

2o nvel

2-18

3o nvel

A
C
F
B

Figura 2.9 - Circuito lgico multinvel, associado equao 2.21, a qual est na forma
fatorada.

2.8 Simplificao de Funes Booleanas usando Mapas de


Karnaugh
O mtodo de simplificao apresentado na seo 2.6 de aplicabilidade limitada, uma
vez que bastante difcil certificar-se que todos os pares de mintermos que podiam ser
simplificados foram determinados. Alternativamente quele mtodo, h outro mtodo de
simplificao baseado na identificao visual de grupos de mintermos passveis de serem
simplificados. No entanto, para que se possa identificar tais grupos, necessrio que os
mintermos sejam dispostos de maneira mais conveniente, o que ser explicado a seguir.
Na descrio do mtodo de simplificao literal, foi mencionado que os pares de
mintermos que se diferenciam de somente uma varivel so passveis de simplificao.
Observando a ordem com que os mintermos de uma funo Booleana qualquer (com, por
exemplo, 3 variveis) aparecem na tabela verdade, vemos que, se trocarmos o 3 mintermo
com o 4 e trocarmos tambm o 7 mintermo com o 8, obteremos uma nova ordem, na qual
quaisquer dois mintermos adjacentes so passveis de simplificao. interessante notar
tambm que o 1 mintermo pode ser simplificado com o 5, o 2 mintermo pode ser
simplificado com o 6 e assim por diante.
A B C

mintermo

0 0 0

A B C

0 0 1

A B C

0 1 0

A B C

0 1 1

A B C
A B C

1 0 0
1 1 0

A B C
A B C

1 1 1

A B C

1 0 1

Figura 2.10 - Mintermos para uma funo de 3 variveis.


Ento, usando o novo ordenamento e re-arranjando os mintermos em duas linhas,
temos a seguinte tabela:

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

A B C
A B C

A B C
A B C

A B C
A B C

2-19

A B C
A B C

Figura 2.11 - Tabela de adjacncias para uma funo de 3 variveis.


Repare que nessa nova tabela, quaisquer dois mintermos adjacentes (na horizontal ou
na vertical) so passveis de serem simplificados, pois s se diferenciam de uma varivel.
importante ressaltar que esse conceito de adjacncia no est restrito aos limites da tabela,
uma vez que os elementos extremos de uma mesma linha (ou de uma mesma coluna) tambm
so simplificveis. Isto implica que a tabela de adjacncias de mintermos da figura 2.11 pode
e deve ser encarada como uma figura geomtrica tridimensional do tipo toride (ou uma
rosquinha). A figura a seguir explicita as relaes de adjacncia dos mintermos para uma
funo de trs variveis.
m0

m1

m3

m2

m4

m5

m7

m6

Figura 2.12 - Simplificaes possveis entre os mintermos de uma funo de 3 variveis.


importante ressaltar que o conceito de adjacncia aplicvel na horizontal e na
vertical, mas nunca na diagonal. Por exemplo, observe que m0 e m5 no so adjacentes, pois
no esto nem na mesma linha, nem na mesma coluna.
O processo de simplificao usando a nova disposio inicia pela construo da tabela
em si: os valores da funo que se quer simplificar devem ser preenchidos conforme a nova
ordem. Aps, identificam-se todos os grupos de mintermos-1 adjacentes entre si. Cada grupo
origina um termo produto, no qual somente as variveis comuns a todos os mintermos-1
permanecem. Desde que os grupos de mintermos-1 adjacentes tenham sido corretamente
identificados, a simplificao se torna trivial.
Exemplo 2.3: simplificar a funo F, cuja tabela verdade encontra-se no item 2.5.2.
O primeiro passo construir uma tabela para F, usando a nova disposio dos
mintermos.
C
F
AB
BC
00
01
11
10
A

A BC

BC

Figura 2.13 - Grupos de mintermos-1 adjacentes e termos produto para uma funo de 3
variveis.

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-20

Aps, deve-se identificar todos os grupos de mintermos-1 adjacentes entre si. Cada
grupo de mintermos-1 originar um produto, conforme indicado na figura 213. A equao em
soma de produtos simplificada ser o OU entre os produtos encontrados:
F = A B + A BC + BC

(2.22)

2.8.1 Mapas de Karnaugh e Subcubos


A tabela modificada usada para a identificao dos mintermos-1 adjacentes no
exemplo anterior denominada mapa de Karnaugh (no caso, para 3 variveis). Na figura
2.14 so mostrados os mapas de Karnaugh para funes de 2, 3 e 4 variveis.
nome da
funo

B
B

m0

m1

m2

m3

nome da
funo

C
BC

00

01

11

10

m0

m1

m3

m2

m4

m5

m7

m6

B
nome da
funo

D
CD
AB

00

01

11

10

00

m0

m1

m3

m2

01

m4

m5

m7

m6

11 m12

m13

m15

m14

m8

m9

m11

m10

10

C
Figura 2.14 - Mapas de Karnaugh para funes de 2, 3 e 4 variveis.

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-21

O primeiro passo para simplificar-se uma funo usando mapa de Karnaugh escolher
o mapa conforme o nmero de variveis da funo e preencher os valores dos mintermos
conforme a tabela verdade fornecida, ou conforme a equao fornecida. O segundo passo
identificar grupos de mintermos adjacentes que formem grupos de 2m elementos adjacentes
entre si, com 0mn, onde n o nmero de variveis da funo. Estes grupos so
denominados subcubos.
No caso de se querer encontrar uma expresso em soma de produtos, estaremos
interessados nos subcubos de mintermos-1. Ento, cada subcubo contendo mintermos-1 ir
originar um produto, no qual uma ou mais variveis podero estar ausentes devido
simplificao que obtida. Os produtos associados aos subcubos de mintermos-1,
simplificados ou no, so denominados implicantes. importante ressaltar que quanto maior
o nmero de elementos do subcubo, maior ser a simplificao obtida.
Exemplo 2.4: determinar os implicantes das funes dadas a seguir.
D
F0

CD
AB

00

01

11

10

00

01

11

10

D
F1

CD
AB

00

01

11

10

00

01

11

10

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-22

D
F2

CD
AB

00

01

11

10

00

01

11

10

C
D
F3

CD
AB

00

01

11

10

00

01

11

10

No caso de se querer encontrar uma expresso em produtos de somas, estaremos


interessados nos subcubos de mintermos-0. Ento, cada subcubo contendo mintermos-0 ir
originar uma soma, no qual uma ou mais variveis podero estar ausentes devido
simplificao que obtida. As somas associados aos subcubos de mintermos-0, simplificadas
ou no, so denominadas implicados. Tambm neste caso, quanto maior o nmero de
elementos do subcubo, maior ser a simplificao obtida.
Exemplo 2.5: determinar os implicados das funes dadas a seguir.

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

D
F4

CD
AB

00

01

11

10

00

01

11

10

C
D
F5

CD
AB

00

01

11

10

00

01

11

10

C
D
F6

CD
AB

00

01

11

10

00

01

11

10

0
C

2-23

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-24

D
F7

CD
AB

00

01

11

10

00

01

11

10

2.8.2 Cobertura dos Mapas de Karnaugh


Normalmente, possvel identificar-se numa mesma funo Booleana mais de um
implicante (ou mais de um implicado). Neste caso, necessrio determinar o conjunto de
implicantes (ou implicados) que melhor cobre a funo, onde a melhor cobertura significa
necessariamente a expresso mais simplificada possvel, a qual denominada expresso
mnima.
O procedimento bsico para se determinar a melhor cobertura (tambm chamada
cobertura mnima) para uma expresso em soma de produtos o seguinte:

Identificar os subcubos de mintermos-1 com maior nmero de elementos possvel,


iniciando do tamanho 2n, onde n o nmero de variveis da funo. Caso algum
mintermo-1 fique isolado (isto , no h nenhum outro mintermo-1 adjacente a
ele), ento ele constituir um subcubo de um elemento;

Identificar o menor conjunto de subcubos de modo que cada mintermo-1 pertena a


pelo menos um subcubo (= seja coberto pelo menos uma vez).

Observaes:
1. Cada mintermo-1 pode ser coberto por mais de um subcubo, caso isso resulte numa
simplificao maior;
2. Um ltimo teste para verificar se a expresso obtida realmente a mnima consiste
em verificar se algum subcubo pode ser removido, sem deixar algum mintermo-1
descoberto. Um subcubo que poder ser removido sem descobrir mintermos dito
subcubo no-essencial. Logo, todo o subcubo que no pode ser removido dito
essencial.;
3. Pode haver mais de uma expresso mnima para uma mesma funo Booleana;

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-25

4. A expresso mnima aquela de menor complexidade. E a complexidade ser


medida pelo nmero de literais de uma funo.
Exemplo 2.6:. ache a equao mnima em soma de produtos para as funes Booleanas que
seguem:
S0(A, B,C,D) = (0,1,2,5,6,7,13,15)
Cobertura 1:
D
S0
CD
AB

00

01

11

10

00
01
A

11
10

Cobertura 2:

D
S0
CD
AB

00

01

11

10

00
01
A

11
10

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-26

Cobertura 3:

D
S0
CD
AB

00

01

11

10

00
01
A

11
10

S1(W,X, Y, Z) = (0,1,2,5,8.9.10)
D
S1
YZ
WX

00

01

11

10

00
01
A

11
10

C
Conforme j mencionado anteriormente, tambm possvel obter-se uma expresso
mnima em produto de somas a partir do mapa de Karnaugh da funo Booleana. Para tanto,
deve-se identificar os subcubos de mintermos-0, ao invs de subcubos de mintermos-1. Cada
subcubo de mintermo-0 ir originar um termo soma, possivelmente j simplificado, o qual
recebe o nome de implicado.
Os passos para a obteno de uma cobertura mnima so os mesmos j descritos para a
obteno da expresso em soma de produtos.

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-27

Exemplo 2.7: determine a equao mnima em produto de somas para a funo Booleana.
S2(W,X, Y, Z) = (0,1,2,5,8,9,10)
Observao importante: repare que a funo foi especificada pela descrio de seus
mintermos-1. Mas como foi solicitada a expresso em produto de somas, uma vez montado o
mapa de Karnaugh usando a informao fornecida, passaremos a identificar os subcubos de
mintermos-0.
Z
S2
YZ
WX

00

01

11

10

00
01

11

10

Y
Exemplo 2.8: determinar a expresso mnima em soma de produtos e a expresso mnima
em produto de somas para a funo Booleana dada a seguir. Desenhar o
circuito lgico para cada expresso obtida.
S3(A,B,C,D) = (1,2,3,6,7,8,9,12,14)
Obs: existe mais de uma cobertura mnima possvel para essa funo.
Cobertura 1 para soma de produtos:
D
S3
CD
AB

00

01

11

10

00
01

11
A
10

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

Cobertura 2 para soma de produtos:


D
S3
CD
AB

00

01

11

10

00
01

11
A
10

Cobertura 1 para produto de somas:


D
S3
CD
AB

00

01

11

10

00
01

11
A
10

Cobertura 2 para produto de somas:


D
S3
CD
AB

00

01

11

10

00
01

11
A
10

2-28

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-29

2.9 Funes Incompletamente Especificadas


Durante o projeto lgico, pode ocorrer que algumas condies (combinaes) de
entradas de uma funo Booleana no sejam especificadas, por no afetarem a funo no
contexto do projeto. Cada condio de entrada cujo valor no especificado sinalizada com
DC ou com X na tabela verdade (ou no mapa de Karnaugh) e so denominadas condies
de dont care (ou simplesmente, dont care).
Quando da simplificao de uma funo Booleana que contenha condies de dont
care, essas condies podem e devem ser exploradas no sentido de se obter a mxima
simplificao possvel. Para tanto, pode-se assumir cada condio de dont care como
valendo 0 ou 1, independente das demais condies de dont care. A escolha do valor (0 ou 1)
ir depender do contexto, mas sempre dever ocorrer com o objetivo de levar a uma
simplificao mxima da funo Booleana.
Exemplo 2.9: determinar a expresso mnima em soma de produtos para a funo.
S5(A,B,C,D) = (0,1,2,12,13) + DC(3,7,10,11,14,15)
onde o conjunto de condies de dont care est especificado por DC Repare que no caso
de uma funo que contenha condies de dont care (ou seja, uma funo incompletamente
especificada), no basta dizer somente onde esto os uns (ou somente os zeros) da funo:
necessrio informar tambm quais condies de entrada no so especificadas, o que feito
pelo conjunto DC.

D
S5
CD
AB

00

01

11

10

00
01

11
A
10

Observaes:

Iremos identificar cada condio de entrada no especificadas (ou dont care) por
meio de um X (xis maisculo). O valor que ser assumido para um dont care
totalmente independente dos demais dont cares;

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-30

Quando da identificao dos subcubos, no aconselhvel escrever o valor que foi


assumido para um determinado dont care, pois isso pode gerar confuses. O simples
fato de um dont care pertencer (ou no) a algum subcubo j identifica o valor que foi
assumido para ele;

Para uma mesma funo Booleana, deve-se identificar a soluo em soma de produtos
num mapa de Karnaugh e a soluo em produto de somas em outro mapa, a fim de
evitar confuses

Exemplo 2.10:. dada a funo que segue, determinar as equaes mnimas em SdP (soma de
produtos) e em PdS (produto de somas) para a funo dada. Desenhar os
respectivos circuitos lgicos e identificar, o circuito de menor complexidade
(entre SdP e PdS).
S6(A,B,C,D) = (0,3,5,6,7) + DC(10,11,12,13,14,15)
Cobertura para soma de produtos:
D
S6
CD
AB

00

01

11

10

00
01

11
A
10

Cobertura para produto de somas:


D
S6
CD
AB

00

01

11

10

00
01

11
A
10

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-31

Observao: um mesmo dont care pode assumir um valor lgico para a cobertura em
SdP e outro valor lgico para a cobertura em PdS, pois as coberturas so totalmente
independentes.

2.10 Outras Operaes Lgicas


At agora, tem-se visto apenas duas funes booleanas de duas variveis, OU e E.
n
Mas, existem 22 funes Booleanas com n variveis binrias. Assim, existem 16 funes
Booleanas de duas variveis e as funes E e OU so apenas duas dessas 16 funes. A tabela
a seguir lista todas as 16 funes Booleanas de duas variveis, x e y.

Nome

Smbolo

Zero

Valores para
x,y=
00 01 10 11
0 0 0 0

Expresso
algbrica

Comentrio

F0 = 0

Constante 0

E
Inibio
Transferncia

x.y
x/y

0 0 0 1
0 0 1 0
0 0 1 1

F1 = xy
F2 = xy
F3 = x

xey
x mas no y
x

Inibio
Transferncia

y/x

0 1 0 0
0 1 0 1

F4 = x y
F5 = x

y mas no x
y

XOR

xy

F6 = xy + xy

OU

x+y

NOR
Equivalncia
Complemento

xy

1 0 0 0
1 0 0 1
1 0 1 0

F7 = x + y
F8 = (x + y)'
F9 = xy + x' y'
F10 = y '

x ou y, mas no
ambos
x ou y

Implicao
Complemento
Implicao

xy
x'
xy

1
1
1

1
0
1

F11 = x + y
F12 = x
F13 = x + y

Se y, ento x
No x
Se x, ento y

NAND
Um

xy
1

1 1 1 0
1 1 1 1

F14 = ( xy )'
F15 = 1

No E
Constante 1

y'

0
1
1

1
0
0

No-OU
x igual a y
No y

Cada linha na tabela acima representa uma funo de duas variveis e os nomes destas
funes so dados na primeira coluna. As tabelas verdades de cada uma das funes so dadas
na terceira coluna. Note que cada funo foi designada por Fi onde i o decimal equivalente
ao nmero binrio que obtido interpretando-se os valores das funes dados na terceira
coluna como nmeros binrios.
Cada uma destas funes pode ser dada em termos de operaes E, OU e
complemento. Como pode ser visto na tabela, existem duas funes constantes, 0 e 1, que
retornam sempre 0 ou 1, respectivamente, independente de que valores se tem na entrada.
Existem quatro funes de uma varivel, que representam o complemento e a transferncia. E
existem 10 funes que definem oito operaes binrias: E, inibio, XOR, OU, NOR,

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-32

equivalncia, implicao e NAND. Sendo que inibio e implicao nunca so usados no


projeto de circuitos, principalmente, por poderem ser facilmente implementados usando-se
operaes E, OU e complemento. A funo NOR o complemento da operao OU e a
funo NAND o complemento da operao E. Pode-se notar tambm que XOR e
equivalncia so o complemento uma da outra e, por esta razo, a equivalncia normalmente
chamada XNOR.
Para implementar as funes mostradas na tabela acima, so usadas geralmente oito
tipos de portas lgicas: portas E, OU, complemento ou inversora, portas de transferncia ou
driver, portas NAND, XOR e XNOR. A figura 2.15 mostra os smbolos de cada uma destas
portas com respectivos atrasos (em nanossegundos) e custo (em nmero de transistores).

Figura 2.15 - Smbolos para portas lgicas com respectivos atrasos e custos
Na figura acima, os nmeros dentro do smbolo de cada porta lgica indica o atraso
atravs da porta, ou seja, o tempo que leva para que o resultado da operao lgica
correspondente aparea na sada da porta, quando se aplica valores na entradas. Assim, por
exemplo, a porta NOR possui um atraso de propagao de 1,4 ns. O nmero ao lado do
smbolo de uma porta lgica indica a quantidade de transistores necessrios para implementla. Assim, pode-se notar que a implementao de uma porta XOR (14 transistores) mais
"cara" que a implementao de uma porta XNOR (12 transistores). Evidentemente, para
portas lgicas com mltplas entradas (mais de duas entradas) estes valores so diferentes. A
figura 2.16 mostra portas lgicas com mltiplas entradas.

A
B
C

A+B+C

A.B.C

A
B
C

2,8

1,8

A
B
C
D

(A.B.C)

A
B
C

2,8

A
B
C
D

A+B+C+D
3,2
10

A
B
C

A
B
C
D

A.B.C.D
3,2
10

A+B+C
2,8

A
B
C
D

(A.B.C.D)
2,2
8

A+B+C+D
3,2
10

Figura 2.16 - Portas lgicas com mltiplas entradas

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-33

Obviamente, portas lgicas com mltiplas entradas so mais difceis de contruir e


como no so muito utilizadas, o custo da manuteno de bibliotecas contendo tais portas e
das ferramentas de projeto tende a ser maior que a utilidade destas portas. Por isso, em geral,
se tem somente portas de trs e quatro entradas em bibliotecas de portas lgicas.
Quando se est implementando funes booleanas usando estas portas lgicas,
usualmente tenta-se encontrar uma expresso booleana que melhor satisfaa um conjunto de
requisitos de projeto. Geralmente, estes requisitos envolvem restries de custo, que pode ser
dado em termos de nmero de transistores e/ou atraso dos sinais ao longo do circuito.
Muitas vezes se est interessado em obter o circuito mais rpido, ou seja, o que tenha o
menor atraso a partir das entradas para a sada, mas tambm existem casos em que se deseja o
circuito mais barato, ou seja, com o menor nmero de transistores. Por sua natureza, estes dois
objetivos so conflitantes, pois um circuito rpido avalia subexpresses em paralelo, o que vai
exigir mais portas do que um circuito de baixo, em que subexpresses so fatoradas e
executadas serialmente.

2.11 Mapeamento
No projeto de circuitos, tem-se frequentemente o seguinte problema: dada uma funo
booleana (mnima ou no), deve-se projetar um circuito lgico usando somente alguns poucos
tipos de portas que esto disponveis. Esta ao de adaptar-se a lgica de uma funo ao
conjunto de portas que est disponvel denominada mapeamento tecnolgico (ou
simplesmente mapeamento) da funo. O conjunto de portas disponvel denominado
biblioteca de portas, e depende de vrios fatores, dentre os quais, da tecnologia em que o
circuito ser implementado.
Assim, o problema de mapeamento pode ser formulado da seguinte maneira: dada uma
funo booleana simplificada, em SdP ou em PdS, ou dado um circuito para essa funo, e
dada uma biblioteca de portas, mapear a funo usando somente as portas (tipos de portas)
que existem na biblioteca.
Este processo envolve vrias tarefas. Primeiro ser mostrado como converter uma
funo ou circuito lgico envolvendo portas E, OU e complemento em uma funo ou circuito
lgico contendo apenas portas NAND (ou somente portas NOR). Esta tarefa consiste de duas
partes: converso e otimizao. Durante a converso, cada porta E e porta OU substituda
por uma porta NAND ou NOR equivalente, enquanto que durante a otimizao, so
eliminados quaisquer dois inversores, um seguido do outro, que possam ter surgido durante a
converso.
As regras para a tarefa de converso so baseadas nos Teoremas de De Morgan, como
mostrado a seguir:
Regra 1: xy = ((xy )' )'
Regra 2: x + y = (( x + y )' )' = ( x ' y ' )'
Regra 3: xy = (( xy )' )' = ( x '+ y ' )'
Regra 4: x + y = (( x + y )' )'
Regra 5: ( x ' )' = x
As regras 1 e 2 so usadas para a converso para portas NAND, enquanto as regras 3 e
4 so usadas para a converso para portas NOR.. A regra 5 usada para a otimizao do

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-34

circuito e permite eliminar quaisquer dois inversores que aparecem um seguido do outro no
circuito. A figura 2.17 ilustra graficamente as regras dadas acima.
Regra 1:

Regra 2:

Regra 3:

Regra 4:

Regra 5:

Figura 2.17 - Regras de converso


Exemplo 2.11: encontrar uma implementao usando apenas portas NAND e outra
implementao usando apenas portas NOR para a funo de carry
ci +1 = xi yi + xi ci + y i ci ou ci +1 = ( xi + y i )( xi + ci )( y i + ci ) .
xi

xi
2,4

yi

1,4

ci

1,4

yi
ci

2,4

2,8

c(i+1)

1,4

2,4

Soma de Produtos

Implementao com portas NAND


xi

xi

yi

2,4
yi
ci

c(i+1)
1,8

1,4

c(i+1)
2,4

2,4

Produto de Somas

2,8

ci

1,4

c(i+1)
1,8

1,4

Implementao com portas NOR

Figura 2.18 soma de produtos e produto de somas com portas NAND e portas NOR,
respectivamente.

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-35

2.12 Comportamento Dinmico de Circuitos Combinacionais


At o presente, analisamos somente o comportamento esttico dos circuitos
combinacionais. Ou seja, dada uma combinao de valores aplicados s entradas do circuito
h um tempo suficientemente longo, determinamos os valores de suas sadas. Entretanto,
durante o funcionamento normal e um circuito, as entradas podem estar mudando com uma
determinada freqncia, como conseqncia da aplicao sucessiva de diferentes conjuntos de
dados. Ento, desde que o circuito tenha sido projetado para funcionar nesta freqncia, os
valores das sadas tambm mudaro (com a mesma freqncia, na pior das hipteses), como
conseqncia das mudanas das entradas.
A partir de agora, estaremos assumindo que uma varivel Booleana pode se alterar ao
longo do tempo, porm sempre assumindo um valor no intervalo [0;1]. Assim, a
representao grfica de uma varivel Booleana ao longo de um intervalo de tempo
denominada forma de onda da varivel. A figura 3.13 mostra um exemplo de forma de onda
qualquer. Repare que uma forma de onda pode ser imaginada sobre o plano cartesiano, onde o
eixo dos x representa o tempo (crescente da esquerda para a direita) e o eixo dos y representa
o valor lgico da varivel (sempre dentro do intervalo [0;1]).
A

tempo

Figura 2.19 - exemplo de forma de onda.


Quando uma varivel Booleana se modifica ao longo do tempo, ela costuma ser
chamada de sinal. Portanto, na anlise temporal (tambm conhecida como anlise de timing)
de um circuito, pode-se associar um sinal a cada entrada do circuito e a cada sada de cada
porta do circuito (o conjunto de entradas e de sadas de portas de um circuito chamado ns
ou nodos do circuito.) Normalmente, os sinais referentes s entradas de um circuito so
dados.
As portas lgicas so fabricadas com material semicondutor (silcio). Apesar das
reduzidas dimenses que a tecnologia atual permite que sejam alcanadas, as portas lgicas
no conseguem responder de maneira instantnea s variaes em suas entradas. Ao tempo
que decorre entre alguma das entradas de uma porta se modificar e essa modificao se
propagar at a sada, d-se o nome de atraso (da porta lgica). O atraso de uma porta P
normalmente representado por td(P) ou tdP ou tp(P) ou ainda tpP. importante ressaltar que
cada porta lgica pode apresentar um atraso diferente, mesmo em se tratando de portas de
mesma funo e mesmo nmero de entradas. O valor do atraso de uma porta depende de
vrios fatores, dentre eles a tecnologia de fabricao, as dimenses dos transistores que a
compem, a temperatura do local de operao etc.

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-36

Exemplo 2.11: determinar o sinal de sada S da porta que segue, a partir dos sinais A e
B aplicados s suas entradas.

A
B
S

Figura 2.20 - exemplo de determinao da forma de onda da sada de uma porta.

Na anlise temporal de um circuito combinacional, prudente seguirem-se os


seguintes passos:

identificar com uma linha vertical cada mudana no valor (=transio) dos sinais
das entradas. Note que as formas de onda das entradas sempre so fornecidas,
fazendo parte dos dados do problema.

Para cada intervalo de tempo delimitado por duas linhas verticais adjacentes,
identificar o sinal resultante usando a tabela verdade da porta em questo;

Considerar um pequeno intervalo de tempo aps cada transio de entrada,


referente ao atraso de propagao da porta.

Exemplo 2.11: determine as formas de onda e os atrasos envolvidos para S1, S2, S3
e S no circuito que segue, a partir das entradas fornecidas. Considere que as portas 1 e 2 tm o
mesmo valor para o atraso individual. Identifique o atraso total do circuito, indicando as
parcelas que o compem.

Introduo aos Sistemas Digitais (v.2001/1)

A
B

C
D

A
B
C
D
S1
S2
S3
S

Jos Lus Gntzel e Francisco Assis do Nascimento

S1

S2

S3

2-37

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-38

Exerccios
Exerccio 2.1 - Dada a equao abaixo (que est na forma fatorada), use as propriedades da
lgebra Booleana para encontrar a equao mnima em soma de produtos.
S = Z (X + X Y)
Exerccio 2.2 - Ache a equao em soma de mintermos e a equao em produto de
maxtermos para as funes F1 e F2 descritas pela tabela verdade abaixo e
desenhe os respectivos circuitos lgicos
A B C

F1

F2

0
0
0
0

0
0
1
1

0
1
0
1

1
0
0
1

0
1
0
1

1
1
1
1

0
0
1
1

0
1
0
1

1
1
0
0

0
0
0
1

Exerccio 2.3 - Reescreva as equaes do exerccio 2, usando a notao compacta.


Exerccio 2.4 - determinar a expresso mnima em soma de produtos e a expresso mnima
em produto de somas para a funo Booleana dada a seguir. Desenhar o
circuito lgico para cada expresso obtida.
S4(x0 , x1 , x2 , x3 ) = (1,3,5,7,8,9,11,13)
Cobertura para soma de produtos:
x3
S4
x2x3
x0x1

00

01

11

10

00
01

x1

11
x0

10

x2

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-39

Cobertura para produto de Somas:

x3
S4
x2x3
x0x1

00

01

11

10

00
01

x1

11
x0

10

x2

Exemplo 2.11:. dada a funo que segue, determinar as equaes mnimas em SdP (soma de
produtos) e em PdS (produto de somas) para a funo dada. Desenhar os
respectivos circuitos lgicos e identificar, o circuito de menor complexidade
(entre SdP e PdS).
S7(A,B,C,D) = (4,6,8,9,12,13,14) + DC(0,2,5,10)
Observao: neste caso, h duas coberturas mnimas para SdP. Determine cada uma nos dois
primeiros mapas.
Cobertura 1 para soma de produtos:
D
S7
CD
AB

00

01

11

10

00
01

11
A
10

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

Cobertura 2 para soma de produtos:

D
S7
CD
AB

00

01

11

10

00
01

11
A
10

Cobertura 1 para produto de somas:

D
S7
CD
AB

00

01

11

10

00
01

11
A
10

2-40

Introduo aos Sistemas Digitais (v.2001/1)

Jos Lus Gntzel e Francisco Assis do Nascimento

2-41

Bibliografia Suplementar
[1] GAJSKI, Daniel D. Principles of Digital Design, New Jersey: Prentice Hall, 1997 (ISBN
0-13-301144-5)
[2] MANO, M. Morris; Computer Engineering: Hardware Design. New Jersey: Prentice
Hall, 1988 (ISBN 0-13-162926-3)
[3] TAUB, H. Circuitos Digitais e Microprocessadores. McGraw-Hill, 1982.
[4] BROWN, Stephen; VRANESIC, Zvonko. Fundamentals of Digital Logic with VHDL
Design, McGraw-Hill Higher Education (a McGraw-Hill Company), 2000 (ISBN texto:
0-07-012591-0 CD parte da coleo: 0-07-235596-4)
[5] ERCEGOVAC, Milos; LANG, Toms; MORENO, Jaime H. Introduo aos Sistemas
Digitais. Porto Alegre: Bookman, 2000 (ISBN: 85-7307-698-4)
[6] KATZ, Randy H. Contemporary Logic Design. The Benjamin/Cummings Publishing
Company, Inc. , 1994 (ISBN: 0-8053-2703-7)

Você também pode gostar