Escolar Documentos
Profissional Documentos
Cultura Documentos
Textos de apoio
Projecto de circuitos combinatrios
ndice
1.
2.
3.
PRINCPIO .................................................................................................................................27
TERMOS MXIMOS ...................................................................................................................27
SIMPLIFICAO PELOS 0S ......................................................................................................28
8.
DUALIDADE ORAND.................................................................................................................27
6.1.
6.2.
6.3.
7.
SIMPLIFICAO ........................................................................................................................15
REPRESENTAO NUM MAPA DE KARNAUGH ............................................................................16
ADJACNCIAS ..........................................................................................................................16
SIMPLIFICAO ATRAVS DO MAPA DE KARNAUGH .................................................................18
OBTER UMA EXPRESSO SIMPLIFICADA....................................................................................19
MAPAS DE KARNAUGH COM 4 VARIVEIS ................................................................................21
6.
5.
4.
DOMNIO ....................................................................................................................................5
TABELA DE VERDADE .................................................................................................................5
NOTAO ALGBRICA ................................................................................................................6
NOTAO ESQUEMTICA ...........................................................................................................6
OPERAES ELEMENTARES: AND, OR E NOT ..........................................................................7
COMUTATIVIDADE E ASSOCIATIVIDADE DO AND E DO OR........................................................7
ELEMENTOS NEUTRO E ABSORVENTE DO AND E DO OR ............................................................8
ISCTEIUL
Arquitectura de Computadores
Domnio
o AND de 0 com 0 d 0;
o AND de 0 com 1 d 0;
o AND de 1 com 0 d 0;
o AND de 1 com 1 d 1;
Com estes quatro casos fica completamente definida a operao AND. Como o domnio tem
apenas dois valores, s existem quatro formas diferentes de combin-los: 0 com 0; 0 com
1; 1 com 0 e 1 com 1. Uma vez que foram apresentados os resultados para todas as
operaes que se podem realizar, nada mais h a acrescentar sobre a operao AND. No
entanto, existem formas mais compactas de representar estes conceitos.
1.2.
Tabela de verdade
Um das formas de representao atravs de uma tabela de verdade. Uma tabela de verdade
indica, de uma forma sinttica, o resultado da operao para todas as combinaes possveis
dos valores dos operandos.
A tabela de verdade do AND representada no quadro anexo. Na primeira
linha vemos que o AND de 0 com 0 d 0; na segunda linha vemos que o
AND de 0 com 1 d 0; e assim sucessivamente.
A tabela tem quatro linhas, que correspondem a todas as combinaes possveis
dos valores de X e Y no domnio {0, 1}: 00, 01, 10, e 11.
A ordem de apresentao arbitrria. A tabela ao lado, onde as mesmas
combinaes aparecem por outra ordem, tambm descreve a operao AND,
uma vez que d os mesmos resultados para as mesmas combinaes dos
operandos.
X
0
0
1
1
Y
0
1
0
1
AND
X
0
1
1
0
Y
0
1
0
1
AND
0
0
0
1
0
1
0
0
ISCTEIUL
Arquitectura de Computadores
No entanto, a ordem da primeira tabela mais natural porque, embora no seja o que est em
causa, pode ser lida por ordem numrica! De facto, a sequncia 00, 01, 10, 11 pode ler-se
como a representao em base 2 dos nmeros 0, 1, 2 e 3. No havendo um critrio melhor, ser
sempre usada esta ordenao das possveis combinaes dos bits.
1.3.
Notao algbrica
Voltando ao princpio: o AND opera sobre dois valores, dando como resultado um terceiro
valor, todos no domnio {0, 1}.
Dito de outro modo: o AND uma funo de duas variveis do domnio {0,1} dando um
resultado dentro do mesmo domnio. Usando os mecanismos de notao vulgares, designando
por X, Y duas variveis independentes e por Z o resultado da funo, pode-se escrever:
Z = F(X,Y) sendo que Y, X, Z {0, 1} e F(0,0)=0, F(0,1)=0, F(1,0)=0 e F(1,1)=1
Algebricamente, representa-se a operao AND pelo smbolo (ponto). Usando esta notao a
funo AND pode ser escrita como:
Z=XY com 00 = 0, 01=0, 10=0 e 11=1
1.4.
Notao esquemtica
O smbolo denota que, dados dois valores X e Y, o resultado Z comporta-se segundo a definio
do AND. Tal como na expresso Z = F(X, Y ) = X Y , o smbolo claramente direccionado:
esquerda aparecem as variveis independentes, X e Y; direita tem-se o resultado (a varivel
dependente) Z.
No contexto da notao esquemtica, habitual designar por entradas as "variveis
independentes" e por sadas as variveis dependentes.
Assim, diz-se que o smbolo anterior tem duas entradas X, Y e uma sada Z que comporta da
seguinte maneira: se ambas as entradas forem 1, a sada ser tambm 1. Se uma ou ambas as
entradas forem 0, a sada ser 0.
Exemplo: se X=0 e Y=1 tem-se que Z=0; com X=1 e Y=1 tem-se que Z=1.
0
1
ISCTEIUL
1
1
Arquitectura de Computadores
1.5.
As operaes bsicas que vo ser utilizadas definem-se do modo indicado na seguinte tabela,
usando as vrias notaes introduzidas (tabela de verdade, notao algbrica e notao
esquemtica):
AND
OR
NOT
Z = F( X , Y ) = X Y
Z = F(X, Y ) = X + Y
Z = F(X) = X
X
0
0
1
1
Y
0
1
0
1
AND
X
Y
X
0
0
1
1
0
0
0
1
Y
0
1
0
1
X
Y
OR
X
0
1
0
1
1
1
NOT
1
0
Tanto o OR como o AND operam sobre dois valores. Tal como j foi visto, o AND s d 1
quando ambos os operandos so 1, dando 0 nos restantes casos. J o OR s d 0 quando
ambos os operadores so 0, dando 1 quando pelo menos um dos operando 1.
O NOT (negao) unrio: opera sobre um valor e d como resultado um outro valor; se o
operando for 0 o NOT d 1 e se o operando for 1 o NOT d 0.
1.6.
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
(X Y) Z = X (Y Z).
Nesta expresso os parnteses tm o significado habitual: indicam que a operao que est entre
parntesis se deve fazer primeiro. Tomando como exemplo X=1, Y=1 e Z=0, tem-se:
ISCTEIUL
Arquitectura de Computadores
Pode-se demonstrar esta propriedade fazendo os clculos para todos os valores possveis de X,
Y e Z neste caso para as 8 combinaes binrias indicadas na tabela.
Da mesma forma, fcil verificar que a operao OR tambm uma operao associativa, ou
seja,
(X + Y) + Z = X + (Y + Z).
A propriedade associativa permite estender as operaes AND e OR para n variveis. Assim, a
expresso XYZ um AND de trs variveis que corresponde, indistintamente a (XY) Z ou
X(YZ). Em termos esquemticos representamos um AND com trs entradas, que substitui
indistintamente um dos dois arranjos possveis com ANDs de 2 entradas:
X
Y
Z
X
1.7.
ISCTEIUL
Arquitectura de Computadores
Elemento
neutro
AND
OR
X1 = X
X+0 = X
X
1
X
0
X0 = 0
Elemento
absorvente
X
0
X+1 = 1
X
1
2. Circuitos lgicos
2.1.
pode-se verificar que esta conjuga vrias das operaes elementares definidas no ponto anterior.
A uma expresso algbrica corresponde tambm um circuito e a uma tabela de verdade.
A tabela de verdade pode ser obtida calculando o valor da expresso para
todas as combinaes das variveis envolvidas. Neste exemplo, temos 3
variveis (X, Y e Z) pelo que as combinaes possveis so 23=8, como se
ilustra na tabela. Para preencher a tabela, calcula-se o valor lgico de F para
cada uma das combinaes. Por exemplo:
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
F
0
0
0
0
1
0
1
1
2.2.
Circuitos
ISCTEIUL
Arquitectura de Computadores
Y
X
F
X
Z
Y
X
F
X
Z
2.3.
Agrupamentos e parntesis
ISCTEIUL
Arquitectura de Computadores
10
Uma representao do circuito correspondente poderia ser qualquer um dos seguintes esquemas:
X
Y
Z
X
Y
Z
H uma forma particular de agrupamento implcito que o agrupamento atravs de uma barra
de negao. A barra indica a negao da expresso contida por baixo dela, denotando
implicitamente um par de parnteses que englobam essa expresso. Sendo assim, a expresso:
F = X + Y. Z
F = (X + Y ) (Z ) .
O circuito correspondente :
X
Y
Z
ISCTEIUL
ou
X
Y
Z
Arquitectura de Computadores
11
3. Sntese de circuitos
3.1.
Termos mnimos
Considere agora o problema da sntese de um circuito, ou seja, o problema de, dada uma tabela
de verdade, obter a expresso algbrica e o circuito que funciona de acordo com essa tabela de
verdade.
Tomando a tabela de verdade anexa como exemplo, no difcil chegar
concluso de que uma expresso algbrica para a funo lgica
correspondente dada por:
F = XY Z
Para chegar a essa concluso, repare que a tabela de verdade exibe apenas um
1, para a combinao de entrada 010, isto , para os valores de X=0, Y=1
e Z=0. Para as restantes combinaes o resultado d sempre 0.
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
F
0
0
1
0
0
0
0
0
Uma expresso do gnero XYZ s d resultado 1 para uma nica combinao da tabela de
verdade. Efectivamente, a expresso s d 1 quando os valores das variveis conduzirem a que
todos os termos do AND sejam 1. E isso s acontece para uma combinao em particular
neste caso s acontece quando os valores das variveis conduzem expresso
0 1 0 = 111 = 1
Assim, o termo XYZ s d 1 quando X=0, Y=1 e Z=0. Para qualquer outro conjunto de
valores a expresso d 0. Por exemplo:
para X=0, Y=0, Z=0 daria 0 0 0 = 1 0 1 = 0 ;
para X=1, Y=1, Z=0 daria 1 1 0 = 0 11 = 0 ; etc...
Uma expresso do gnero da anterior um AND entre todas as variveis da funo, em que
cada uma delas aparece negada ou no designa-se por termo mnimo. So termos mnimos,
por exemplo:
XYZ
XYZ
XYZ
XYZ
3.2.
Notao sinttica
Considerando de novo uma tabela com trs variveis, fcil de verificar que neste caso existem
8 termos mnimos, um por cada combinao.
ISCTEIUL
Arquitectura de Computadores
12
O processo de obter o termo mnimo correspondente a uma dada combinao das variveis de
entrada fcil: onde a combinao tem 0, nega-se a varivel respectiva; onde a combinao
tem 1 aparece a varivel sem estar negada.
Por exemplo, para a combinao 011 temos primeiro X negado, depois Y, e finalmente Z sem
estar negado. O termo mnimo correspondente a essa combinao portanto XYZ .
Substituindo os valores das variveis pelos valores da combinao daria 0 1 1 = 1 .
Por vezes conveniente interpretar as combinaes binrias da tabela de verdade como se
fossem nmeros (apesar de muitas vezes no ser isso que elas representam). J foi mencionado
que isso permite definir um critrio para ordenar a apresentao da tabela de verdade onde, por
exemplo, a combinao 011 (que representa tambm o nmero binrio 3) aparece depois de
010 (nmero 2) e antes da 100 (nmero 4).
Pelo mesmo critrio, os termos mnimos designam-se por nmeros designa-se por mi o termo
mnimo associado combinao binria que representa o nmero i. Assim,
3.3.
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
F
0
1
0
0
0
1
0
0
ISCTEIUL
Arquitectura de Computadores
13
o termo mnimo correspondente est na expresso, logo a expresso vai dar 1 para essa
combinao;
como a expresso global um OR, suficiente que um dos termos mnimos seja 1 para
que o resultado final seja tambm 1, tal como se pretende.
Tomando agora uma combinao que esteja no grupo dos 0s da funo. Nesse caso o termo
mnimo correspondente no est na expresso. Os termos mnimos presentes na expresso daro
sempre 0 para essa combinao e logo o resultado final ser tambm 0, como se pretende.
Exemplo: considere de novo a expresso anterior
F= X Y Z+X Y Z
Seja uma combinao do grupo de 1s da funo, por exemplo 001. Neste caso o termo
mnimo est presente na funo e o resultado ser 1:
F = 0 0 1 + ... = 1 + ... = 1
Considerando agora uma combinao pertencente ao grupo dos 0s da funo, por exemplo
111. Neste caso o termo mnimo correspondente (que seria o XYZ) no est presente. Como
todos os termos mnimos presentes do 0 para esta combinao, o resultado final ser a soma
de dois 0s.
F = 1 1 1 + 1 1 1 = 0 0 1 + 1 0 1 = 0 + 0 = 0
Os exemplos anteriores ilustram sempre casos com 3 variveis. claro que os conceitos se
aplicam, na mesma forma para qualquer nmero de variveis.
Por exemplo,
ISCTEIUL
Arquitectura de Computadores
14
Simplificao
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
F
0
1
0
1
0
0
0
0
Acontece que, como se ver mais frente, esta expresso pode ser simplificada para:
F= X Y Z+X Y Z
= XZ(Y + Y )
= XZ 1
= XZ
Quer isto dizer que a expresso X Y Z + XYZ d sempre o mesmo resultado que XZ . Sendo
assim, em vez do circuito anterior pode-se ter para o mesmo efeito o seguinte circuito (que
bem mais simples):
X
Z
No primeiro circuito usavam-se dois ANDs (de 3 entradas), um OR e dois NOTs. No segundo
circuito, foram usados apenas um AND e um NOT para implementar a mesma funo.
Anteriormente foi vista uma forma automtica de deduzir uma expresso algbrica (e
consequentemente um circuito) para implementar uma funo definida por uma tabela de
verdade. Esta seco descreve um processo de simplificar essa expresso de modo a obter um
circuito mais simples para implementar a mesma tabela de verdade.
ISCTEIUL
Arquitectura de Computadores
15
4.2.
Um mapa de Karnaugh uma forma de representao de uma funo lgica, atravs de uma
tabela de duas entradas, com tem algumas particularidades.
Considere-se de novo uma funo lgica de 3 variveis, designadas por X, Y e Z. Para este caso
(3 variveis) um mapa de Karnaugh tem a seguinte estrutura:
YZ
00
01
11
10
0
1
O mapa de Karnaugh tem neste caso 8 casas, que correspondem s 8 combinaes possveis dos
valores de trs variveis. No canto superior esquerdo encontra-se a casa para o valor
correspondente combinao 000, ao lado encontra-se lugar para a combinao 001, depois
para a combinao 011 e finalmente, no canto superior direito, est a casa para a combinao
010. Na linha de baixo temos, da esquerda para a direita, as casas correspondentes s
combinaes 100, 101, 111 e 110.
Sinteticamente, o quadro seguinte indica a posio correspondente a cada um dos 8 termos
mnimos definidos por uma funo de 3 variveis:
YZ
00
01
11
10
m0 m1 m3 m2
m4 m5 m7 m6
4.3.
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
F
1
0
1
0
1
1
0
1
YZ
00
01
11
10
Adjacncias
Contrariamente ao que foi indicado na seco 1 como prtica a adoptar, repare que num mapa
de Karnaugh a combinao correspondente ao par YZ no est representa por ordem
numrica est representada na ordem 00, 01, 11, 10, que corresponde sequncia dos
nmeros 0, 1, 3, 2.
ISCTEIUL
Arquitectura de Computadores
16
Neste caso assim mesmo que se deve proceder e este um ponto fulcral: esta ordem faz com
que entre casas adjacentes do mapa, apenas varie um bit da combinao binria
correspondente.
A partir daqui diz-se que duas combinaes binrias so adjacentes se diferem apenas num bit.
Assim, por exemplo:
11
10
000
001
011
010
100
101
111
110
YZ
00
01
11
10
000
001
011
010
100
101
111
110
Quanto s casas ocupadas pelos cantos, considere por exemplo a combinao 010. Para esse
caso, o mapa deve ser visto como um cilindro, de modo a que as casas da coluna mais
esquerda sejam vizinhas das da coluna mais direita. As adjacncias de 010 so portanto as
indicadas no seguinte mapa:
YZ
00
01
11
10
000
001
011
010
100
101
111
110
ISCTEIUL
Arquitectura de Computadores
17
4.4.
Considere novamente a seguinte tabela de verdade, que se traduz pelo mapa de Karnaugh
indicado.
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
F
0
1
0
1
0
0
0
0
YZ
00
01
11
10
Quer atravs da tabela de verdade, quer atravs do mapa de Karnaugh, pode-se ver que a funo
tem apenas dois 1s, um correspondente combinao 001 e outro combinao 011. Uma
expresso algbrica para F poderia portanto ser:
F= XY Z+XYZ
Acontece que usando o mapa de Karnaugh se consegue obter facilmente uma expresso
simplificada. Para isso juntam-se os dois 1s adjacentes, tal como o indicado na figura.
YZ
00
01
11
10
ISCTEIUL
Arquitectura de Computadores
18
YZ
00
01
11
10
Neste outro exemplo pretende-se ilustrar o que acontece quando se tm quatro 1s adjacentes.
Aplicando o mesmo raciocnio:
YZ
4.5.
00
01
11
10
Os exemplos anteriores mostram como se obtm a expresso algbrica para um grupo isolado.
No entanto, comum aparecerem vrios grupos dentro do mesmo mapa de Karnaugh. De uma
forma geral, quando se quer obter uma expresso algbrica simplificada a partir de um mapa de
Karnaugh, aplica-se o seguinte procedimento:
1. obter todos os grupos possveis, juntando em cada grupo o maior nmero possvel de
1s adjacentes (em grupos de 2, 4, 8, 16, ...);
2. seleccionar um conjunto de grupos de forma a apanhar todos os 1s;
3. obter a expresso final juntado num OR as expresses obtidas para cada um dos grupos.
01
11
10
A funo tem trs 1s que se podem agrupar segundo os dois grupos indicados. O grupo
organizado ao alto corresponde expresso YZ ; o outro (organizado na horizontal)
corresponde expresso XZ .
A expresso resultante a soma (OR) desses dois termos, ou seja:
F = XZ + YZ
ISCTEIUL
Arquitectura de Computadores
19
se calcular a expresso para uma combinao que no faa parte de qualquer grupo todos os
termos daro 0, logo o resultado final ser 0.
Exemplo: 000 => F = 1.0 + 1.0 = 0 + 0 = 0
se calcular a expresso para uma combinao includa apenas num nico grupo, um dos
termos dar 1 e os restantes 0, sendo o resultado final 1.
Exemplo: 011 => F = 0.1 + 1.1 = 0+1 = 1
Exemplo:
YZ
Neste mapa existem trs 1s: dois deles esto em casas adjacentes
permitindo formar um grupo que corresponde a XZ ; o outro est isolado,
formando um grupo que contm apenas um 1 e que corresponde ao
00
01
11
0
1
10
termo mnimo X Y Z .
A expresso final :
F = XZ + X Y Z
Em suma, num mapa de Karnaugh com 3 variveis, podem ser feitos os seguintes
agrupamentos:
O nmero de 1s que formam um grupo tem que ser uma potncia de 2, e os agrupamentos
feitos tm que ter a forma de rectngulos ou de quadrados.
Exemplos:
YZ
YZ
00
01
11
10
1
F=XY+Z
ISCTEIUL
YZ
00
01
11
10
1
1
00
X
0
F= X Z+XYZ
Arquitectura de Computadores
01
11
10
F=X+Z
20
4.6.
00 01 11 10
00 m0 m1 m3 m2
01 m4 m5 m7 m6
11 m12 m13 m15 m14
10 m8 m9 m11 m10
Importa reparar que a troca na ordem da sequncia se verifica agora tambm para o par WX, tal
como j acontecia num mapa de 3 variveis para o par YZ ambos seguem a sequncia 00,
01, 11, 01.
Cada combinao tem agora 4 casas adjacentes. O quadro anexo
mostra as adjacncias do termo m7 W X Y Z (0111), que so:
YZ
WX
00 01 11 10
00 m0 m1 m3 m2
m3 W X Y Z (0011)
01 m4 m5 m7 m6
m5 W X Y Z (0101)
m6 W X Y Z (0110)
10 m8 m9 m11 m10
m15 W X Y Z (1111)
Tal como j foi salientado, um mapa de Karnaugh deve ser entendido
YZ
de uma forma circular, quer no sentido do par YZ (como foi visto nos WX
00 01 11 10
mapas de 3 variveis) quer no sentido do par WX. O quadro seguinte
00 m0 m1 m3 m2
ilustra, por exemplo, as adjacncias da combinao m2 W X Y Z
01 m4 m5 m7 m6
(0010), que so:
11 m12 m13 m15 m14
m1 W X Y Z (0011)
10 m8 m9 m11 m10
m6 W X Y Z (0110)
m10 W X Y Z (1010)
m0 W X Y Z (0000)
Num mapa de Karnaugh com 4 variveis podem fazer-se os seguintes agrupamentos:
Para obter a expresso correspondente a um grupo aplica-se a mesma regra prtica que j foi
vista a propsito dos mapas de 3 variveis. Observe agora os seguintes exemplos:
ISCTEIUL
Arquitectura de Computadores
21
Exemplo 1:
Neste caso temos um grupo de dois 1s adjacentes. Considerando as duas posies deste grupo
temos que:
YZ
00 01 11 10
00
01
11
A expresso F = X Y Z
10
WX
Exemplo 2:
Neste caso temos um grupo com quatro 1s adjacentes. Considerando as quatro posies deste
grupo temos que:
YZ
00 01 11 10
WX
00
01
11
A expresso F = XZ
10
Exemplo 3:
Neste exemplo temos um grupo com oito 1s adjacentes. Considerando as oito posies do
grupo fcil de verificar que X a nica varivel que permanece com valor lgico constante e
igual a 1. Sendo assim:
YZ
A expresso F = X
00 01 11 10
WX
00
01
11
10
Exemplo 4:
Um grupo muito caracterstico o que aparece pela adjacncia dos quatro cantos do mapa.
Neste caso, considerando as quatro posies do grupo, temos que:
YZ
WX
00
01
11
A expresso F = X Z
ISCTEIUL
00 01 11 10
10
Arquitectura de Computadores
22
Nos seguintes exemplos esto presentes diversos agrupamentos de 1s dentro do mesmo mapa
de Karnaugh:
YZ
YZ
00 01 11 10
WX
00
YZ
00 01 11 10
WX
00
00 01 11 10
WX
00
01
01
01
11
11
11
10
10
10
F = W X Y + X YZ
00
WX
00
01
01
11
11
10
10
F = W X Y Z + XZ + XY + WY Z
ISCTEIUL
F = X Z + WY
YZ
YZ
00 01 11 10
F = YZ + W XZ + W X Z
YZ
WX
00 01 11 10
1
00 01 11 10
WX
00
01
11
1
1
F = X + W YZ
Arquitectura de Computadores
10
F = W X + X Y + XZ
23
5. lgebra de Boole
5.1.
Propriedades elementares
OR
X+0=X
X +1 = 1
X+X =X
XX = 0
XY = YX
X (Y Z ) = (X Y ) Z
X + X =1
X+Y=Y+X
X + (Y + Z ) = (X + Y ) + Z
X (Y + Z ) = XY + XZ
X + (Y Z ) = (X + Y ) (X + Z)
XY = Y + X
X +Y = YX
As expresses em (1) dizem que 1 o elemento neutro do AND e que 0 o elemento neutro
do OR. Estas identidades podem ser facilmente demonstradas por exausto dos valores
possveis das variveis envolvidas, que so apenas dois: o 0 e o 1. Por exemplo, podemos
demonstrar a expresso (1) para o OR fazendo as duas nicas operaes possveis para a
expresso:
As expresses em (2) indicam que o AND de qualquer coisa com 0 d sempre 0, ou seja, que
0 o elemento absorvente do AND e que, da mesma forma, o 1 o elemento absorvente do
OR. As expresses em (2) podem ser generalizadas a outras situaes, por exemplo:
XYZ + Z + 1 = 1 ou X Y Z 0 = 0
As expresses em (3) indicam que perante um AND ou um OR entre dois termos semelhantes
se pode cortar um deles. Por exemplo:
XYZ + XYZ = XYZ ou (X + Y ) (X + Y ) = X + Y
As expresses em (4) mostram que um AND ou um OR entre um termo e a sua negao do 0
e 1, respectivamente. Por exemplo:
AB + AB = 1 ou (X + Y + Z) X + Y + Z = 0
ISCTEIUL
Arquitectura de Computadores
24
F = X YZ+XYZ
O agrupamento no mapa de Karnaugh corresponde simplificao
algbrica
F = X Y Z+XYZ
= XZ(Y + Y )
= XZ 1
= XZ
Relembre que uma adjacncia no mapa de Karnaugh corresponde a duas combinaes que
diferem apenas num bit. Nessas condies, a duas combinaes correspondem tambm a dois
termos mnimos que diferem apenas numa varivel (num deles aparece negada e no outro no).
Ao fazermos desaparecer a varivel que varia no grupo est-se na realidade a fazer a
simplificao algbrica do mesmo modo que o ilustrado no exemplo.
As expresses em (8) so as chamadas leis de DeMorgan. A primeira diz que a negao da
soma (OR) o produto (AND) das negaes. A segunda diz que a negao do produto (AND)
a soma (OR) das negaes.
5.2.
Alguns exemplos
X + X Y = (X + X )(X + Y ) = X + Y ou X (1 + Y ) + X Y = X + X Y + X Y = X + Y (X + X ) = X + Y
ISCTEIUL
Arquitectura de Computadores
25
00 01 11 10
X
0
1
1
1
e simplifica-se para:
F = X YZ + XYZ + XYZ
= X YZ + XYZ + XYZ + XYZ
= XZ(Y + Y ) + YZ(X + X )
= XZ 1 + YZ 1
= XZ + YZ
ISCTEIUL
Arquitectura de Computadores
26
6. Dualidade ORAND
6.1.
Princpio
6.2.
Termos mximos
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
F
1
1
0
0
1
1
1
0
ISCTEIUL
Arquitectura de Computadores
27
Combinao
000
001
111
Termo mnimo
Termo mximo
XYZ
X+Y+Z
XYZ
XYZ
X+Y+Z
X+Y+Z
De modo anlogo ao que acontecia com os termos mnimos, pode-se tambm obter uma
expresso para qualquer funo lgica na forma produto de termos mximos. Para tal, basta ver
na tabela de verdade quais os termos mximos correspondentes aos 0s da funo e junt-los
num produto lgico.
Por exemplo, na tabela de verdade anterior, o produto de termos mximos correspondente o
seguinte:
F = (X + Y + Z ) (X + Y + Z ) (X + Y + Z )
6.3.
Simplificao pelos 0s
Anteriormente foi visto que, usando um mapa de Karnaugh obtm-se uma expresso
simplificada formando grupos de 1s adjacentes. Usando o princpio da dualidade, tambm se
pode obter uma expresso simplificada com base nos 0s adjacentes.
YZ
Considere o mapa de Karnaugh anexo. Em cada grupo excluram-se as
00 01 11 10
variveis para as quais h variao do valor dentro do grupo. As X
0 1 1 0 0
restantes formam um termo produto (AND) em que as variveis que
tm valor constante 0 aparecem negadas. A expresso final a soma
1 1 1 0 1
(OR) dos termos assim obtidos.
00 01 11 10
A expresso final :
F = (Y + Z ) (X + Y )
Como seria de esperar, ambas as expresses obtidas para F so equivalentes:
F = (Y + Z ) (X + Y ) = Y + XZ
Para demonstrar, basta aplicar a distributividade do OR em relao ao AND.
ISCTEIUL
Arquitectura de Computadores
28
7.1.
NAND e NOR
A funo NAND dada por F = XY e pode ser descrita pela tabela de verdade
anexa. O NAND uma operao que d como resultado a negao do AND (da
o nome NAND NOT AND). Sendo assim, s d 0 quando ambos os
operadores so 1 e d 1 nos restantes casos.
X
0
0
1
1
Y
0
1
0
1
F
1
1
1
0
Ou seja, uma porta AND seguida com uma bolinha que representa a negao. Em alternativa,
e com base nas regras de DeMorgan, tem-se que:
XY = X + Y ,
o que indica que uma porta NAND o mesmo que uma porta OR com as entradas negadas.
Sendo assim, outra possvel representao de uma porta NAND dada pelo smbolo:
X
Y
X
0
0
1
1
Y
0
1
0
1
F
1
0
0
0
ISCTEIUL
Arquitectura de Computadores
29
7.2.
O NAND uma porta lgica universal, pois possvel implementar cada uma das operaes
elementares NOT, AND e OR usando apenas portas lgicas NAND. Tal pode ser visto no
seguinte quadro:
Porta Lgica
F=X
NOT
F = XX = X
F
F = XY
AND
X
Y
F = XY = XY
F
X
Y
X
Y
F=XY=X+Y =X+Y
F=X+Y
OR
X
F
F
Y
O NOR tambm uma porta lgica universal pois usando apenas NORs tambm possvel
implementar todas as operaes bsicas NOT, AND e OR.
Uma vez que o NAND pode substituir qualquer das operaes elementares, qualquer circuito
pode ser construdo utilizando apenas NANDs basta substituir cada porta lgica AND, OR ou
NOT pela verso correspondente com NANDs.
Ou seja: dado um circuito qualquer, para obter o mesmo circuito s com NANDs substitui-se
cada um dos AND, OR e NOT do circuito original pela verso correspondente com NANDs, de
acordo com a tabela indicada no ponto anterior.
O mtodo de sntese de circuitos usado normalmente termos mnimos e simplificao atravs
do agrupamento dos 1's no mapa de Karnaugh conduz a circuitos que se apresentam na forma
normalizada soma de produtos. Em termos de implementao (e deixando de fora as
negaes) estes circuitos so compostos por dois andares de portas lgicas: um primeiro
andar com vrias portas AND, uma por cada termo produto, e um segundo andar composto
por um OR entre o resultado desses mesmos ANDs.
Exemplo:
A expresso F = YZ + WXZ + W X Z corresponde ao circuito
ISCTEIUL
Arquitectura de Computadores
30
Y
Z
W
X
Z
W
X
Z
W
X
Z
Repare que existem agora situaes em que aparecem pares de NOTs seguidos. Como X = X ,
ento esses NOTs so redundantes e podem-se cortar. Resulta assim um circuito que se obtm
a partir do original usando a seguinte regra prtica: basta substituir os AND e OR por NANDs.
Mas ateno que esta regra emprica s se pode aplicar quando a expresso lgica est na forma
normalizada soma de produtos.
Y
Z
W
X
Z
W
X
Z
Esta substituio pode tambm ser feita graficamente considerando o smbolo usado para
representar o NAND: partindo do circuito original, basta acrescentar bolinhas nas sadas dos
ANDs e nas entradas do OR:
Y
Z
W
X
Z
W
X
Z
ISCTEIUL
Arquitectura de Computadores
31
Neste caso h um termo isolado, o Z, que necessita de ser negado para que a substituio do OR
por NAND no afecte o resultado. parte da negao, o circuito transformado em NANDs ser
ento:
X
Y
Em suma: dado um circuito na forma soma de produtos, pode-se implementar o mesmo circuito
s com NANDs
7.3.
OU-exclusivo (XOR)
O XOR (eXclusive OR) representa uma operao lgica cujo resultado 1 quando apenas um
dos operandos 1. Pode tambm ser visto como uma operao que d 1 se as duas variveis
de entrada tiverem valores diferentes.
Sendo assim, o XOR tem a seguinte tabela de verdade:
X
0
0
1
1
Y
0
1
0
1
F
0
1
1
0
Tendo em conta a sua tabela de verdade, o XOR pode ser tambm definido como:
X Y = X Y + XY
O XOR uma operao comutativa e associativa. Ou seja, verifica-se que:
XY = YX e
(X Y ) Z = X (Y Z)
ISCTEIUL
Arquitectura de Computadores
X
0
0
1
1
Y
0
1
0
1
F
1
0
0
1
32
7.4.
Funo mpar
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
F
0
1
1
0
1
0
0
1
O mapa de Karnaugh destas funes evidencia um outro aspecto importante: depois de serem
colocados os 1s no mapa, verifica-se que no existem 1s localizados em casas adjacentes,
logo no se podem fazer agrupamentos. A expresso algbrica resultante da soma de termos
mnimos no simplificvel.
YZ
YZ
00 01 11 10
X
0
00 01 11 10
X
0
1
1
1
1
F=XYZ
F=XYZ
O mesmo padro em xadrez exibido para no caso de serem 4 variveis: a funo mpar
caracteriza-se por dar 1 para as combinaes que tm um nmero mpar de 1s (ex: 0001,
0111) e a funo par por dar 1 para as combinaes que tm um nmero par de 1s (ex: 0000,
1100, 1111). Estas funes tambm no so simplificveis.
YZ
YZ
00 01 11 10
WX
00
01
1
1
11
10
00
1
1
00 01 11 10
WX
01
1
11
10
F= WXYZ
1
1
1
1
F= WXYZ
Nestes casos, a nica forma de minimizar o nmero de portas lgicas utilizadas no circuito
correspondente seria a utilizao de portas lgicas XOR.
ISCTEIUL
Arquitectura de Computadores
33
Em alternativa, tal como foi visto na seco 7 pode-se facilmente transformar este circuito de
forma a usar apenas portas NAND ou NOR.
8.2.
No entanto, nem sempre a forma normalizada a que permite implementar mais facilmente o
circuito. O mapa de Karnaugh permite obter o circuito mais simples na forma soma de
produtos, mas que pode no ser necessariamente o circuito mais simples considerando outros
aspectos.
Por exemplo, pode-se acrescentar um terceiro ponto ao mtodo que :
3. Minimizar o nmero de porta lgicas do circuito.
Para este ponto no ser apresentada nenhuma metodologia especfica. Fica ao critrio de quem
projecta o circuito investir mais ou menos tempo com vista a obter uma implementao mais
simples, poupando no material e no tempo de montagem.
Uma possvel tcnica que pode ser usada colocar termos comuns em evidncia, criando uma
topologia com mais nveis, mas que poder levar a uma poupana de material. Por exemplo, a
funo:
ISCTEIUL
Arquitectura de Computadores
34
F = WYZ + WXY ,
pode-se representar como:
F = W (YZ + XY ) .
Assumindo que todas as portas lgicas disponveis tm duas entradas, uma implementao
directa da primeira opo corresponde a 7 portas lgicas, 4 ANDs, um OR e duas negaes. A
segunda opo poderia ser implementada com 6 portas lgicas 3 ANDs, um OR e duas
negaes.
Se existissem tambm portas lgicas com trs entradas, j poderia ser mais eficiente uma
implementao da primeira opo: dois ANDs de trs entradas, um OR e duas negaes.
Outro exemplo:
F = XY + X Z ,
A primeira implementao requer trs portas lgicas de duas entradas ao passo que a segunda
apenas requer duas portas lgicas.
8.3.
Ocasionalmente pode haver lugar utilizao de portas lgicas XOR ou XNOR. Por exemplo, a
funo
F = W X Y Z+WX Y Z,
pode ser representar como:
F = W Y (XZ + XZ ) = W Y (X Z )
Neste exemplo foi possvel reduzir de uma forma substancial o nmero de portas lgicas
necessrias.
Tambm nesta tarefa a representao visual pode ajudar. Veja, por
YZ
00 01 11 10
exemplo, a representao do caso anterior num mapa de Karnaugh.
WX
O grupo assinalado pelo tracejado a representa a tabela de verdade de
um XOR entre as variveis X e Z. Por outro lado, esse grupo,
00
01
11
quando W Y d 1, ou seja, W Y (X Z ) .
10
1
1
Estes outros exemplos mostram situaes triviais em que a inspeco visual ajuda a reconhecer
a presena das funes par e mpar.
ISCTEIUL
Arquitectura de Computadores
35
Exemplo 1
YZ
WX
00
F = W (X Y Z)
11
01
00 01 11 10
1
1
1
1
10
Exemplo 2
YZ
Esta uma situao do mesmo gnero mas mais localizada: quase
00 01 11 10
WX
todos os 1s da funo mpar esto presentes; mas falta o que se
00
01
1
1
11
F = ( W X Y Z) W XZ
10
1
1
Exemplo 3:
YZ
Finalmente, esta uma situao em que esto presentes todos os 1s
00 01 11 10
WX
correspondentes funo mpar e mais um termo que se pode
00
1
1
agrupar.
01
F = ( W X Y Z) + W XZ
11
10
ISCTEIUL
Arquitectura de Computadores
1
1
1
1
36
Lista de Revises
Verso
Autor
Data
001
JRG
Dez/2004
001a
TB
Jan/2005
002
TB
Set/2009
002a
JPO, TB
Out/2009
ISCTEIUL
Comentrios
Verso draft;
Publicao antecipada para o perodo de avaliaes
2004/2005.
Correco de algumas gralhas.
Reviso aprofundada do documento: correco de gralhas,
formatao e reformulao de texto, introduo de novas
figuras.
Correco de gralha na tabela de verdade da seco 3.3;
Reformatao de duas equaes (sec. 4.1 e sec. 7.2);
Correco de gralha ortogrfica na sec. 4.4;
Reformulao de texto num pargrafo da sec. 8.2.
Arquitectura de Computadores
37