Você está na página 1de 37

Departamento de Cincias e Tecnologias da Informao

Arquitectura de Computadores (I)

Textos de apoio
Projecto de circuitos combinatrios

Draft Verso 0.02a Out./2009 Joo Baptista e Toms Brando.

ndice
1.

DOMNIO E OPERAES LGICAS .........................................................................................5


1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
1.7.

2.

CIRCUITOS LGICOS ..................................................................................................................9


2.1.
2.2.
2.3.

3.

PRINCPIO .................................................................................................................................27
TERMOS MXIMOS ...................................................................................................................27
SIMPLIFICAO PELOS 0S ......................................................................................................28

OPERAES E PORTAS LGICAS DERIVADAS .................................................................29


7.1.
7.2.
7.3.
7.4.

8.

PROPRIEDADES ELEMENTARES .................................................................................................24


ALGUNS EXEMPLOS ..................................................................................................................25

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

LGEBRA DE BOOLE .................................................................................................................24


5.1.
5.2.

6.

TERMOS MNIMOS ....................................................................................................................12


NOTAO SINTTICA ...............................................................................................................12
SOMA DE TERMOS MNIMOS .....................................................................................................13

SIMPLIFICAO ATRAVS DE MAPAS DE KARNAUGH ..................................................15


4.1.
4.2.
4.3.
4.4.
4.5.
4.6.

5.

EXPRESSO ALGBRICA E TABELA DE VERDADE ........................................................................9


CIRCUITOS .................................................................................................................................9
AGRUPAMENTOS E PARNTESIS................................................................................................10

SNTESE DE CIRCUITOS ...........................................................................................................12


3.1.
3.2.
3.3.

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

NAND E NOR .........................................................................................................................29


CIRCUITOS NORMALIZADOS COM NANDS ...............................................................................30
OU-EXCLUSIVO (XOR) ............................................................................................................32
FUNO MPAR ........................................................................................................................33

PROJECTO DE CIRCUITOS COMBINATRIOS...................................................................34


8.1.
8.2.
8.3.

ISCTEIUL

CIRCUITO NA FORMA NORMALIZADA .......................................................................................34


MINIMIZAR O NMERO DE PORTAS NO CIRCUITO ......................................................................34
UTILIZAO DE XOR E XNOR ................................................................................................35

Arquitectura de Computadores

Projecto de circuitos combinatrios


1. Domnio e operaes lgicas
1.1.

Domnio

O projecto de circuitos combinatrios fundamenta-se numa lgebra cujas operaes so feitas


num domnio com apenas dois valores. Em Arquitectura de Computadores designam-se esses
dois valores por 0 e 1 (1).
Neste domnio definem-se trs operaes elementares: AND, OR e NOT. Por exemplo, a
operao AND opera dois valores e d os seguintes resultados:

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

Os valores lgicos 0/1 so muitas vezes designados por low/high, ou falso/verdadeiro,


respectivamente.

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

Em ltima anlise, o objectivo do estudo destas operaes o projecto ou a anlise de circuitos.


Para esse efeito, a representao esquemtica particularmente til.
Em notao esquemtica, o AND representa-se pelo seguinte smbolo:
X
Y

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.

Operaes elementares: AND, OR e NOT

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.

Comutatividade e associatividade do AND e do OR

fcil verificar que o AND uma operao comutativa, ou seja, a condio


XY = YX,
verifica-se para todos os valores possveis de X e Y. Neste caso basta ver que as
operaes do o mesmo resultado para as combinaes 01 e 10, ou seja,
que se tem 01 = 10.
Da mesma forma, fcil de verificar que a operao OR tambm comutativa, ou
seja,
X+Y = Y+X.
Tambm no difcil verificar que a operao AND associativa, ou seja,

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:

pela expresso da esquerda: (11)0 = 10 = 0;


pela expresso da esquerda: 1(10) = 10 = 0;

dando o mesmo resultado em ambos os casos.

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.

Elementos neutro e absorvente do AND e do OR

Outra caracterstica importante das operaes a existncia de elemento neutro ou de elemento


absorvente.
fcil verificar que o 0 elemento absorvente da operao AND: todas as combinaes de
operandos que envolvem pelo menos um 0 00, 01 e 10 do como resultado 0. Por
outras palavras, se um dos operandos da operao AND for 0 ento o resultado da operao
0. Pode-se dizer que:
X0 = 0, seja qual for o valor de X.
No caso do OR, o 1 o elemento absorvente: todas as combinaes em que est presente pelo
menos um 1 0+1, 1+0 e 1+1 do como resultado 1. Dito de outro modo, na operao
OR, basta um dos operandos ser 1 para o resultado ser 1. Pode-se dizer que:
X+1 = 1, seja qual for o valor de X.
O elemento absorvente o valor que faz com que o resultado seja ele prprio. O elemento
neutro o valor que no condiciona o resultado.
No caso do AND, o elemento neutro o 1. Isso quer dizer que para todas as combinaes onde
um dos valores 1 o resultado igual ao outro valor: 01 = 0 e 11 = 1. Tem-se ento que:
X1 = X, independentemente do valor de X.
No caso do OR, o elemento neutro o 0. Isso quer dizer que, em todas as combinaes onde
um dos valores seja 0, o resultado o outro valor: 0+0 = 0 e 1+0 = 1. Ou seja, tem-se:
X+0 = X.

ISCTEIUL

Arquitectura de Computadores

O seguinte quadro sintetiza estas propriedades:

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.

Expresso algbrica e tabela de verdade

Tomando por exemplo a expresso algbrica


F = XY + XZ ,

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:

para 000 obtm-se F = 00 + 01 = 0

para 010 obtm-se F = 01 + 01 = 0

para 100 obtm-se F = 10 + 11 = 1

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

Repare que na construo da tabela de verdade se usou o critrio definido anteriormente: as


combinaes binrias aparecem pela ordem numrica dos nmeros que representam. A primeira
000 corresponde ao nmero 0, a segunda 001 corresponde ao nmero 1 e assim
sucessivamente at se chegar combinao 111, que corresponde ao nmero 7 (o maior
nmero inteiro representvel com 3 bits).
Esta ordenao fcil de se obter usando um pequeno truque emprico: primeiro preenche-se a
coluna da varivel mais direita, neste caso o Z, com a sequncia 01010101, alternando 0s
com 1s; depois preenche-se a coluna do Y, alternando dois 0s com dois 1s, ou seja,
00110011; finalmente o X, alternando de quatro em quatro, o que d 00001111.

2.2.

Circuitos

Utilizando os smbolos definidos na seco 1.5, o esquema de um circuito que corresponda


expresso algbrica anterior pode ser qualquer um dos seguintes:

ISCTEIUL

Arquitectura de Computadores

Y
X

F
X
Z

As duas figuras so inteiramente equivalentes. Na primeira, a entrada X divide-se em dois


ramos; na segunda menciona-se duas vezes a mesma varivel X como entrada.
tambm comum representar as negaes (NOTs) com pequenas bolinhas que aparecem nas
entradas das restantes portas lgicas. Isto permite obter representaes como as que se seguem,
onde a negao da varivel Z representada desse modo. As representaes dos circuitos so
obviamente equivalentes s anteriores.
X Y Z

Y
X
F
X
Z

Repare que na ltima representao os pontos de ligao so explicitamente marcados com um


ponto negro. Os cruzamentos entre linhas que no esto marcados com pontos no
representam qualquer ligao.

2.3.

Agrupamentos e parntesis

Na expresso anterior os parnteses foram omitidos. A expresso completa seria:


F = (XY ) + (X (Z )) ,
onde os parnteses tm o significado habitual: a expresso dentro dos parnteses tem que ser
calculada primeiro, sendo substituda pelo respectivo resultado para continuar o clculo da
expresso. Quando os parnteses so omitidos, existe uma ordem de precedncia dos
operadores: primeiro vem o NOT, depois o AND e finalmente o OR.
Considere agora a expresso
F = X (Y + Z ) ,
que equivalente anterior. Neste caso os parnteses so necessrios e explicitam que primeiro
deve ser feito o OR entre Y e a negao de Z e s depois se faz o AND entre esse resultado e X.
Pode-se verificar que o resultado equivalente ao anterior, construindo uma nova tabela de
verdade. Por exemplo:

para a sequncia 000 tem-se F = 0(0+1) = 01 = 0

para a sequncia 100 tem-se F = 1(0+1) = 11 = 1

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

tem o mesmo significado que:

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

No so termos mnimos, por exemplo:

XZ , porque no envolve todas as variveis;

X + Y + Z , pois nem sequer um AND;

XYZ , porque no contm apenas variveis isoladamente negadas ou no.

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,

m0 o mesmo que X Y Z (000)


m1 o mesmo que X Y Z (001)

m6 o mesmo que X Y Z (110)


m7 o mesmo que X Y Z (111)

3.3.

Soma de termos mnimos

Considere agora a funo representada na tabela de verdade ao lado. fcil


verificar que a funo pode ser escrita de acordo com a seguinte expresso:
F= X Y Z+X Y Z
A funo tem dois 1s: um para a combinao 001, outro para a
combinao 101. Para se chegar expresso, juntaram-se atravs de um OR
os termos mnimos correspondentes a cada um desses 1s.

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

De seguida apresenta-se com mais detalhe o raciocnio que conduziu a esse


resultado.
Olhando para uma funo descrita por uma tabela de verdade, podem-se definir dois grupos de
combinaes: aquelas para as quais a funo d 1 e aquelas para as quais a funo d 0. O
primeiro grupo composto pelos chamados uns da funo e o segundo grupo composto
pelos zeros da funo.
Considere agora uma expresso que seja a soma lgica (OR) dos termos mnimos
correspondentes aos 1s da funo. Vejamos o resultado de uma expresso deste tipo para cada
um dos dois grupos mencionados.
Tomando uma combinao que esteja no grupo dos 1s da funo temos a seguinte situao:

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,

numa situao com 2 variveis os termos mnimos so 4;

numa situao com 4 variveis os termos mnimos so 16.

ISCTEIUL

Arquitectura de Computadores

14

4. Simplificao atravs de mapas de Karnaugh


4.1.

Simplificao

Considere a tabela de verdade anexa.


A funo representada tem dois 1s. A expresso algbrica pode ser a que
obtm somando os dois termos mnimos correspondentes:
F= X Y Z+X Y Z
O circuito correspondente pode ser o seguinte:
X Y Z

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.

Representao num mapa de Karnaugh

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

Exemplo: uma tabela de verdade e a respectiva representao num mapa de Karnaugh:


X
0
0
0
0
1
1
1
1

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:

000 e 001 so adjacentes


110 e 100 so adjacentes
101 e 110 no so adjacentes.

O mapa de Karnaugh construdo de forma que as combinaes adjacentes ocupem posies


tambm adjacentes na tabela. Pode verificar que para cada combinao de 3 bits h trs outras
combinaes que lhe so adjacentes justamente todas as que se obtm trocando um dos bits.
Por exemplo, as combinaes adjacentes a 010 so:

110 trocando o bit da esquerda;


000 trocando o bit do meio;
011 trocando o bit da direita.

Observando de novo o mapa de Karnaugh e assinalando as combinaes binrias


correspondentes a cada casa do mapa, pode-se verificar que, para todos os casos, as trs
combinaes adjacentes so as que se encontram nas trs casas vizinhas.
YZ
00 01

11

10

000

001

011

010

100

101

111

110

O quadro seguinte representa, como exemplo, as adjacncias da combinao 001:

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.

Simplificao atravs do mapa de Karnaugh

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

Considerando o agrupamento indicado deduz-se a expresso algbrica correspondente aplicando


o seguinte raciocnio:

Como o valor de X para ambas as casas do agrupamento 0, fica X ;


O agrupamento engloba dois valores de Y, por isso Y no vai entrar na expresso;
O agrupamento apanha apenas um valor de Z. Como esse valor 1 fica Z;
A expresso final vai ficar portanto F = XZ

Basicamente, um mapa de Karnaugh permite fazer as simplificaes algbricas de uma forma


grfica. O procedimento para esse efeito consiste em construir agrupamentos de 1s
pertencentes a casas adjacentes. Mas ateno que o nmero de 1s dentro de cada agrupamento
tem que ser uma potncia natural de 2. Isto quer dizer que se podem fazer agrupamentos com 2,
4, 8, 16, 1s adjacentes.
Para cada agrupamento deduz-se uma expresso algbrica aplicando a seguinte regra prtica:
para cada varivel, vm-se os valores que ela toma nas posies do grupo considerado: se variar
(i.e. se tomar valores 0 e 1) a varivel descartada; se tomar apenas o valor 1 a varivel
fica; se tomar apenas o valor 0 a varivel fica, mas aparece negada. A expresso algbrica
correspondente a que se obtm fazendo AND entre as variveis que ficam.

ISCTEIUL

Arquitectura de Computadores

18

Exemplo: no mapa de Karnaugh indicado representa-se um agrupamento que junta dois 1s


adjacentes colocados em dois cantos adjacentes do quadro.
O raciocnio idntico para o grupo assinalado no quadro:

YZ
00

01

11

10

X tem sempre o valor 0, logo fica X ;


Y varia, e portanto no aparece na expresso;

verifica-se que Z tem tambm o valor 0, logo fica Z .


A expresso ser ento F = X Z

Neste outro exemplo pretende-se ilustrar o que acontece quando se tm quatro 1s adjacentes.
Aplicando o mesmo raciocnio:

YZ

X varia, logo sai;


Y varia e tambm sai;
Z tem o valor 1, logo fica Z.
A expresso final F = Z

4.5.

00

01

11

10

Obter uma expresso simplificada

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.

Exemplo: Considere o seguinte mapa (apenas foram representados os 1s da funo, j que


isso que interessa; as casa vazias representam os 0s da funo).
YZ
00

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

A estratgia a seguir formar agrupamentos de 1s com a maior dimenso possvel, mesmo


que isso conduza a sobreposies.
O resultado final evidente:

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

Se calcular a expresso para uma combinao includa em vrios grupos, os termos


correspondentes a esses grupos daro 1, sendo o resultado final tambm 1.
Exemplo: 010 => F = 1.1 + 1.1 = 1+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:

um 1 isolado, obtendo-se um termo com 3 variveis (termo mnimo);


dois 1s adjacentes, obtendo um termo com 2 variveis;
quatro 1s adjacentes, obtendo um termo com 1 varivel;
oito 1s adjacentes, obtendo um termo sem variveis (o valor constante 1).

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.

Mapas de Karnaugh com 4 variveis

A estrutura de um mapa de Karnaugh com 4 variveis a indicada no quadro seguinte, que


mostra os termos mnimos e as posies correspondentes. A ordem de preenchimento, partindo
de uma tabela de verdade, a indicada pela sequncia de termos mnimos.
YZ
WX

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)

11 m12 m13 m15 m14

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:

um 1 isolado, obtendo um termo com 4 variveis (termo mnimo);


dois 1s adjacentes, obtendo um termo com 3 variveis;
quatro 1s adjacentes, obtendo um termo com 2 variveis;
oito 1s adjacentes, obtendo um termo com 1 varivel;
16 1s adjacentes, obtendo um termo com 0 variveis (o valor constante 1);

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

W varia (tem dois valores para o grupo), logo sai;

X tem o valor 0, logo fica X ;

00

Y tem o valor 0, logo fica Y ;


Z tem o valor 1, logo fica Z.

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

W varia, logo sai;


X tem o valor 1, logo fica X;
Y varia, logo sai;

00 01 11 10

WX
00
01

Z tem valor 0 logo, fica Z ;

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

Y varia, logo sai;

Z tem valor, 0 logo fica Z ;


W varia, logo sai;
X tem valor 0, logo fica X ;

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

Os fundamentos do projecto de circuitos lgicos combinatrios assentam na lgebra de Boole.


Anteriormente j foi visto que esta lgebra funciona num domnio de 2 valores, designados por
0 e 1. As operaes bsicas definidas neste domnio so o AND, o OR e o NOT, tal como
vimos na seco 1.
Face as estas definies so vlidas as seguintes identidades:
AND
X 1 = X
X0 = 0
XX = X

OR
X+0=X
X +1 = 1
X+X =X

(6) Prop. Associativa

XX = 0
XY = YX
X (Y Z ) = (X Y ) Z

X + X =1
X+Y=Y+X
X + (Y + Z ) = (X + Y ) + Z

(7) Prop. Distributiva

X (Y + Z ) = XY + XZ

X + (Y Z ) = (X + Y ) (X + Z)

XY = Y + X

X +Y = YX

(1) Elemento neutro


(2) Elemento absorvente
(3) Identidade
(4) Contrrio
(5) Prop. Comutativa

(8) Regras de DeMorgan

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:

para X=0, que d 0+0 = 0 ou seja o valor de X;


para X=1, que d 1+0 = 1 ou seja, tambm, o valor de X;

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

As expresses em (5) e (6) indicam que as operaes AND e OR so comutativas e associativas,


como j tinha sido referido na seco 1.
As expresses em (7) indicam que a operao AND distributiva relativamente ao OR e que a
operao OR tambm distributiva relativamente ao AND.
As expresses em (4) e (7) relacionam-se muito directamente com
YZ
as simplificaes feitas atravs do mapa de Karnaugh. Considere,
00 01 11 10
por exemplo, o agrupamento descrito no mapa anexo. Os dois 1s X
0
1 1
representados correspondem aos termos mnimos:

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

Exemplo 1 Manipulaes simples:


a) X + XY = X (1 + Y ) = X
b) XY + XY = X (Y + Y ) = X
c) X + XY = ( X + X )(X + Y) = X + Y
d) X (X + Y) = X + XY = X(1 + Y) = X
e) (X + Y)( X + Y ) = XX + X Y + XY + Y Y = X
f) X( X + Y) = XY
Exemplo 2 Complicar para depois simplificar

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

Exemplo 3 Teorema do Consenso


Pretende-se mostrar que
XY + XZ + YZ = XY + XZ
assim:
XY + XZ + YZ = XY + XZ + YZ(X + X )
= XY + XZ + XYZ + XYZ
= XY(1 + Z) + XZ(1 + Y)
= XY + XZ

Exemplo 4 Mapa de Karnaugh


YZ

A funo representada no MK corresponde a


F = X YZ + XYZ + XYZ ,

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

As propriedades da lgebra de Boole evidenciam um princpio que o chamado princpio da


dualidade: a partir de uma expresso vlida pode-se obter uma outra expresso vlida trocando
os 0s por 1s e os ANDs por ORs. Esta troca permite obter propriedades relacionadas com o
OR a partir das propriedades correspondentes relacionadas com o AND, e vice-versa.
Por exemplo, partindo da propriedade elemento absorvente do OR:
X +1 = 1,
se trocarmos o OR por AND e os 1s por 0s obtm-se a propriedade elemento absorvente do
AND:
X0 = 0.

6.2.

Termos mximos

A forma de obter um circuito combinatrio a partir de uma tabela de verdade normalmente


feita com base nos 1s da funo (os termos mnimos). Com o princpio da dualidade, pode-se
reformular este processo, fazendo-o neste caso com base nos 0s da funo.
Considere-se por exemplo a tabela de verdade anexa. Pode-se obter o circuito correspondente
partindo dos termos mnimos, e neste caso chega-se funo:
F= XY Z+XYZ+XY Z+XYZ+XYZ
Tal como j foi visto, um termo mnimo uma expresso que consiste num
AND entre todas as variveis (negadas ou no). Por consequncia, s d 1
para uma das combinaes de valores possveis das variveis. Por exemplo,
combinao 001 corresponde o termo mnimo X Y Z que s d 1 quando
todos os termos do produto forem 1 (a combinao 001).

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

O dual de um termo mnimo designa-se por termo mximo.


Um termo mximo opera sobre todas as variveis (negadas ou no) atravs de um OR e, com
base no princpio da dualidade, s d 0 para uma das combinaes de valores possveis das
variveis. Por exemplo, combinao 011 corresponde o termo mximo X + Y + Z , que s d
zero quando todos os termos da soma forem 0.
Dada uma combinao binria, a regra prtica para obter o termo mnimo negar as variveis
correspondentes aos 0s da combinao; para o termo mximo, a regra prtica ser ento negar
as variveis correspondentes aos 1s da combinao, como feito nos seguintes exemplos:

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.

Para este caso obtm-se: F = Y + XZ


Aplicando o princpio da dualidade, em cada grupo excluem-se as variveis para as quais h
variao do valor dentro do grupo. As restantes formam um termo soma (OR) em que as
variveis que tm valor constante 1 aparecem negadas. A expresso final o produto (AND)
dos termos assim obtidos.
YZ

Neste caso tem-se ento:

00 01 11 10

no grupo vertical sai X; ficam Y e Z ambos a 1: Y + Z

no grupo horizontal sai Z; fica X a 0 e Y a 1: X + Y

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. Operaes e portas lgicas derivadas


Alm das portas lgicas NOT, AND e OR existem outras portas lgicas disponveis para montar
circuitos. Estas portas lgicas correspondem a operaes lgicas derivadas, isto , que se podem
definir custa das operaes bsicas NOT, AND e OR.

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

A representao esquemtica de uma porta NAND dada pelo seguinte smbolo:


X
Y

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

O NOR a operao dual do NAND. O resultado do NOR exactamente a


negao do OR: s d 1 quando ambos os valores de entrada so 0, como
evidenciado na tabela anexa.
A funo lgica desempenhada por um NOR dada por F = X + Y e para a sua
representao esquemtica pode-se usar um dos smbolos seguintes:

X
0
0
1
1

Y
0
1
0
1

F
1
0
0
0

O primeiro a forma directa, que representa o NOR como um OR negado. O segundo


justifica-se com base na regra de DeMorgan X + Y = X Y , que basicamente diz que um NOR
mesmo que um AND com as entradas negadas.

ISCTEIUL

Arquitectura de Computadores

29

7.2.

Circuitos normalizados com NANDs

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

Equivalente com NANDs

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

Substituindo os ANDs e OR por NANDs obtm-se o seguinte circuito:


Y
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

Relembre que um OR com as entradas negadas o mesmo que um NAND.


Um outro exemplo. Considere o circuito correspondente a F = XY + Z.
X
Y
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

substituindo os ANDs e OR por NANDs;


negando os termos isolados (ou retirando a negao se o termo isolado j estiver, ele
prprio, negado).

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

O XOR representa-se algebricamente por X Y , e esquematicamente pelo seguinte smbolo:

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)

Outras igualdades interessantes:

X 0 = X 0 elemento neutro do XOR;

X 1 = X o XOR com 1 funciona como uma negao.

O XNOR (eXclusive NOR) tem a tabela de verdade anexa. Representa uma


operao lgica que d 1 quando as duas variveis tm o mesmo valor (chamase equivalncia). Representa-se algebricamente por X Y e tem-se que
X Y = X Y + XY .

ISCTEIUL

Arquitectura de Computadores

X
0
0
1
1

Y
0
1
0
1

F
1
0
0
1

32

7.4.

Funo mpar

A funo F = X Y Z correspondente ao XOR entre trs variveis e tem a


tabela de verdade anexa. Repare que o resultado da funo 1 para as
combinaes de entrada com um nmero mpar de 1s. Diz-se por isso que
a funo mpar.
Como se pode facilmente verificar, a sua negao F = X Y Z d
resultado 1 para as combinaes que tm um nmero par 1s. A negao da
funo impar ser portanto a funo par.

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

8. Projecto de Circuitos Combinatrios


8.1.

Circuito na forma normalizada

Um circuito lgico combinatrio um circuito de N entradas e M sadas para o qual, em cada


momento, os valores lgicos nas sadas dependem apenas dos valores lgicos s entradas.
O comportamento de um circuito combinatrio pode ser descrito por uma tabela de verdade, que
indica o valor lgico de cada uma das M sadas para cada uma nas 2N combinaes possveis
dos valores das variveis de entrada.
O mtodo de projecto de um circuito combinatrio trata cada uma das variveis de sada vez.
Por outras palavras, no caso de um circuito combinatrio ter vrias sadas, aplica-se o mesmo
mtodo de projecto para se obter uma expresso lgica para cada uma das sadas.
O mtodo consiste nos seguintes passos:
1. Obter a tabela de verdade da sada;
2. Obter uma funo simplificada usando um mapa de Karnaugh.
O resultado deste processo um circuito em que cada sada aparece na forma normalizada
soma de produtos, podendo as variveis em cada produto aparecer negadas ou no.
De uma forma geral, um circuito deste tipo implementa-se com:

negaes para as variveis que aparecem negadas nalguns dos termos;


ANDs um para cada termo produto;
OR para somar os termos produto (i.e., para combinar as sadas dos ANDs).

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.

Minimizar o nmero de portas no circuito

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 ,

pode-se representar como


F = X(Y + Z) .

A primeira implementao requer trs portas lgicas de duas entradas ao passo que a segunda
apenas requer duas portas lgicas.

8.3.

Utilizao de XOR e XNOR

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

corresponde ao termo W Y ; tem-se, portanto, um XOR entre X e Z

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

Esta uma situao em que a parte de cima (ou seja, a parte


correspondente a W=0) a funo mpar.

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

situaria no grupo W XZ . Logo, tem que se impedir a produo do 1


nessas circunstncias:

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

Você também pode gostar