You are on page 1of 139

UNIVERSIDADE FEDERAL DO PIAU

CENTRO DE EDUCAO ABERTA E A DISTNCIA

CIRCUITOS DIGITAIS

Autoria
Francisco Vieira de Souza

Mdulo II
Circuitos Digitais
Francisco Vieira de Souza

PRESIDENTE DA REPBLICA
Luiz Incio Lula da Silva
MINISTRO DA EDUCAO
Fernando Haddad
GOVERNADOR DO ESTADO
Wellington Dias
UNIVERSIDADE FEDERAL DO PIAU
Luiz de Sousa Santos Jnior
SECRETRIO DE EDUCAO A DISTNCIA DO MEC
Carlos Eduardo Bielschowsky
COORDENADORIA GERAL DA UNIVERSIDADE ABERTA DO BRASIL
Celso Costa
SECRETRIO DE EDUCAO DO ESTADO DO PIAU
Antnio Jos Medeiro
COORDENADOR GERAL DO CENTRO DE EDUCAO ABERTA A
DISTNCIA DA UFPI
Gildsio Guedes Fernandes
SUPERITENDENTE DE EDUCAO SUPERIOR NO ESTADO
Eliane Mendona
CENTRO DE CIENCIAS DA NATUREZA
Helder Nunes da Cunha
COORDENADOR DO CURSO DE SISTEMA DE INFORMAO NA
MODALIADE DE EAD
Luiz Cludio Demes da Mata Sousa
COORDENADORA DE MATERIAL DE DIDTICO DO CEAD/UFPI
Cleidinalva Maria Barbosa Oliveira
DIAGRAMAO
Joaquim Carvalho de Aguiar Neto

S729c Souza, Francisco Vieira de


Circuitos Digitais./Francisco Vieira de Souza. Teresina:
EDUFPI, 2008.
147p.
Inclui bibliografia
1. Sistemas Digitais. 2. Universidade Aberta do Piau. I. Ttulo.
C.D.D. 621.381 1

APRESENTAO

Circuitos digitais so circuitos eletrnicos que baseiam o


seu funcionamento na Lgica binria em que toda a informao
guardada e processada sob a forma de zeros e uns. Esta representao conseguida usando dois nveis discretos de
Tenso eltrica.
O objetivo desta Apostila proporcionar ao estudante do
EAD o entendimento de princpios fundamentais, sem exigir
que ele decore uma quantidade imensa de detalhes tcnicos,
normalmente confusos.
Na Unidade 1, so analisados os sistemas numricos e
as representaes aceitas pelos computadores que as processam e mostram os resultados deste processamento.
Na Unidade 2, so analisadas as expresses booleanas,
os mtodos de simplificao destas expresses e as diversas
formas de implementao.
Na Unidade 3, sero analisados os circuitos combinacionais, onde os resultados dependem apenas dos valores de suas entradas.
Na Unidade 4, so analisados os circuitos seqenciais,
onde as sadas dependem dos valores das entradas e tambm
dos valores que elas detinham anteriormente.
Na Unidade 5, so analisadas as memrias, que so os
circuitos utilizados no armazenamento de valores para serem
manipulados pelos computadores.

SUMRIO GERAL

UNIDADE 1 SISTEMAS DE REPRESENTAES NUMRICAS

1 SISTEMAS DE REPRESENTAES NUMRICAS ......... 9


1.1Introduo ........................................................................ 9
1.2Notao posicional ......................................................... 10
1.2.1 Sistemas octais e hexadecimais ................................ 12
1.2.2 Converso de representaes numricas ............. 15
1.3 Soma e subtrao binria ............................................. 18
1.4 Representao de nmeros negativos.......................... 21
1.4.1 Representao em forma complementar ............... 22
1.5 SAIBA MAIS .................................................................. 24
1.6 WEB-BIBLIOGRAFIA .................................................... 25
1.7 REFERNCIAS BIBLIOGRFICAS .............................. 25

UNIDADE 2 LGEBRA BOOLEANA E CIRCUITOS LGICOS

2 lgebra booleana e circuitos lgicos ............................. 28


2.1Introduo ...................................................................... 28
2.2Operaes bsicas da lgebra booleana ...................... 28
2.2.1Operao OU (adio lgica) ............................. 28
2.2.2Operao E (multiplicao lgica) ...................... 31
2.2.3Complementao (negao ou inverso) ........... 32
2.3Avaliao de expresses booleanas .............................. 33
2.4Portas lgicas ................................................................ 35
2.4.1 Portas OR (ou) .................................................. 36
2.4.2 Portas AND (E) ................................................. 36
2.4.3 Inversores ......................................................... 37
2.4.4 Exemplo de circuito lgico................................. 37
2.4.5 Propriedades da lgebra booleana ................... 38
2.4.6 Teoremas de De Morgan .................................. 39
2.5Derivao de expresses booleanas ............................. 40
2.5.1 Expresses usando Soma de Produtos (SdP) .. 40
2.5.2 Produtos de somas usando maxtermos (PdS) .. 42
2.6 Formas cannicas ......................................................... 43
2.7 Circuitos lgicos para formas cannicas ....................... 47
2.8 Simplificao de funes booleanas usando mapas de
Karnaugh ...................................................................... 51
2.8.1 Mapas de Karnaugh e subcubos ....................... 52
2.8.2 Cobertura dos mapas de KarnaughErro! Indicador
no definido.

2.9 SAIBA MAIS .................................................................. 64


2.10 WEB-BIBLIOGRAFIA.................................................. 65
2.11 REFERNCIAS BIBLIOGRFICAS............................ 65

UNIDADE 3 CIRCUITOS COMBINACIONAIS


3 Circuitos combinacionais .............................................. 68
3.1 Introduo ..................................................................... 68
3.2 Anlise de circuitos combinacionais ............................. 69
3.3 Projeto de circuitos combinacionais .............................. 70
3.4 Interconexo de Circuitos combinacionais .................... 71
3.4.1 Decodificadores .......................................................... 72
3.4.2 Seletores ..................................................................... 75
3.5 Circuitos aritmticos ...................................................... 76
3.5.1 Meio somador e somador completo ............................ 77
3.5.2 O somador paralelo .................................................... 81
3.5.3 O somador/subtrator ................................................... 84
3.5.4 O multiplicador ............................................................ 85
3.6 SAIBA MAIS .................................................................. 88
3.7 WEB-BIBLIOGRAFIA .................................................... 88
3.8 REFERNCIAS BIBLIOGRFICAS .............................. 88

UNIDADE 4 CIRCUITOS SEQENCIAIS


4 Circuitos seqenciais..................................................... 90
4.1 Introduo ..................................................................... 91
4.2 Fundamentao terica ................................................ 91
4.3 Latches ......................................................................... 96
4.3.1 O latch RS ......................................................... 96
4.3.2 O latch RS controlado ..................................... 102
4.3.3 O latch D ......................................................... 104
4.3.4 Latches com lgica de ativao complementar106
4.4 Flip-flops ..................................................................... 108
4.4.1 Flip-flop D mestreescravo .............................. 109
4.4.2 Flip-flops disparados pela borda ..................... 111
4.4.3 Flip-flops disparados pela borda descendente 114
4.4.4 Set e reset assncronos ................................... 115
4.5 SAIBA MAIS ................................................................ 116
4.6 WEB-BIBLIOGRAFIA .................................................. 117
4.7 REFERNCIAS BIBLIOGRFICAS ............................ 117

UNIDADE 5 ARMAZENAMENTO DE DADOS


5 ARMAZENAMENTO DE DADOS................................ 120
5.1 Introduo ................................................................... 120
5.2 Registradores ............................................................. 120
5.2.1 Registrador com carga paralela ...................... 122
5.2.2 Registradores de deslocamento ...................... 123
5.2.3 Registrador de deslocamento com sinal de carga
paralela .......................................................... 125
5.2.4 Contador assncrono ....................................... 126
5.3 Memrias .................................................................... 128
5.3.1 Memria RAM (Random-Access Memory) .... 129
5.4 SAIBA MAIS ............................................................... 136
5.5 WEB-BIBLIOGRAFIA ................................................. 137
5.6 REFERNCIAS BIBLIOGRFICAS ........................... 137

SUMRIO

UNIDADE 1 SISTEMAS DE REPRESENTAES NUMRICAS


1
SISTEMAS DE REPRESENTAES NUMRICAS......9
1.1Introduo ........................................................................ 9
1.2Notao posicional ......................................................... 10
1.2.1 Sistemas octais e hexadecimais........................ 12
1.2.2 Converso de representaes numricas ......... 15
1.3 Soma e subtrao binria.............................................. 18
1.4 Representao de nmeros negativos .......................... 21
1.4.1 Representao em forma complementar .......... 22
1.5 SAIBA MAIS .................................................................. 24
1.6 WEB-BIBLIOGRAFIA .................................................... 25
1.7 REFERNCIAS BIBLIOGRFICAS .............................. 25

Unidade 1
SISTEMAS DE REPRESENTAES
NUMRICAS

Resumo
O objetivo principal desta unidade apresentar a maioria dos
tipos de dados encontrados nos sistemas digitais, mostrando
como eles so representados em sua forma binria, ou seja,
usando apenas os dgitos 0 e 1. Os dados encontrados nos
sistemas digitais podem ser classificados em trs categorias:
os nmeros: os usados na computao aritmtica, as letras
do alfabeto e uma variedade de smbolos discretos usados
para uma variedade de propsitos. Todos estes trs tipos de
dados so representados em um computador em forma
binria porque fcil construir circuitos eletrnicos que
exibam duas condies alternativas interpretadas pelos
valores 0 e 1 de um dgito binrio.
Apesar de toda informao poder ser representada desta
forma, nem sempre ela adequada para usurios humanos.
Neste caso, a representao binria deve ser convertida para
uma representao decimal, onde esto presentes os dgitos
0,1, ..., 9 e as letras do alfabeto.

1 SISTEMAS DE REPRESENTAES NUMRICAS


1.1 Introduo
Ao longo do tempo, o homem tem criado diversos sistemas numricos, de acordo com suas necessidades. O sistema
numrico mais conhecido o sistema decimal que baseado
em 10 smbolos, chamados dgitos: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9
para representar um conjunto com at 9 elementos. Para representar um conjunto com 10 elementos, no podemos mais
proceder da mesma maneira. Neste caso, tomamos o dgito 1 e
ao seu lado direito adicionamos um novo dgito da base, no
caso o 0, para indicar a quantidade de elementos que passam
de 10. Este processo similar para os outros sistemas, onde
as diferenas se verificam apenas nos elementos da base. Por
exemplo, o sistema de base 8 (pouco utilizado atualmente) tem
apenas os dgitos 0, 1, 2, 3, 4, 5, 6 e 7. Dois outros sistemas
muito utilizados so o sistema binrio, onde sua base tem apenas dois elementos, 0 e 1 e o sistema hexadecimal, onde sua
base tem 16 elementos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E
e F. Note que para representar o valor 10 usamos a letra ,
para representar o 11 usamos a letra B, etc. at F que representa o nmero 15.

Nesta unidade, sero estudadas as formas como os dados so representados, destacando a representao binria.
Os dados encontrados nos sistemas digitais podem ser classificados em uma das seguintes categorias:

Nmeros usados em clculos aritmticos;


Letras do alfabeto, usadas no processamento de dados;
Smbolos discretos, usados para diversos propsitos

Todos os dados so representados em formato binrio


porque este formato facilita o projeto de circuitos eletrnicos
que exibem duas condies possveis, que podem ser convenientemente interpretadas pelos valores 0 e 1 de um dgito binrio (bit = binary digit).

1.2 Notao posicional

Quando que
111 igual a 7?

Todos os sistemas numricos utilizados pelo ser humano


so posicionais. Em um sistema posicional, cada dgito possui
um peso associado. o que conhecido como valor relativo
de cada dgito que compe o nmero. Desta forma, 456 = 400
+ 50 + 6, ou seja, o valor relativo do dgito 4, neste nmero,
400, do dgito 5 50 e do dgito 6 6 mesmo. Assim, o valor
de um dado nmero corresponde a uma soma ponderada de
seus dgitos, como por exemplo:

1958 = 1 *1000 + 9 *100 + 5 *10+ 8 *1


Note que neste nmero o peso de cada posio 10i, onde i corresponde posio do dgito, contada a partir da direita,
e sendo i=0. para o dgito mais direita. Em geral, um nmero
decimal D no formato d1d0.d-1d-2 tem como valor:
D = d1 *101 + d0 *100 + d-1 *10-1 + d-2 *10-2
onde 10 a base da representao. Num sistema posicional
genrico, a base pode ser qualquer valor inteiro r, e um dgito
numa posio i assume um peso ri. Logo, podemos escrever o
formato genrico de um nmero em tal sistema como sendo:

dm-1 dm-2 d1 d0 . d-1 d-2 d-n


onde h m dgitos esquerda do ponto e n dgitos direita do
ponto. Note que, se no houver ponto, assume-se que este
est direita do dgito mais direita. O valor decimal deste
nmero o somatrio dos produtos de cada dgito pela correspondente potncia da base:

10

Para um nmero qualquer, o dgito mais direita referenciado como dgito menos significativo, ao passo que o dgito
mais esquerda o dgito mais significativo.

Estamos particularmente interessados no sistema binrio,


onde a base 2. Um nmero binrio assume a forma:

bm-1 bm-2 b1 b0 . b-1 b-2 b-n


e seu valor pode ser calculado pelo somatrio a seguir:

O ponto no sistema binrio denominado ponto binrio,


como no sistema decimal ele chamado de ponto decimal.
Normalmente, quando se trabalha com sistemas de base nodecimal, indica-se a base subscrevendo-se o valor da base
direita do nmero. Exemplos:
110012 = 1 *24 + 1 *23 + 0 *22 + 0*21 + 1*20
= 1*16 + 1*8 + 0*4 + 0*2 + 1*1 = 2510
.11012 = 1 *2-1 + 1 *2-2 + 0 *2-3 + 1 *2-4
= 1*0.50 + 1*0.25 + 0*0.125 + 1*0625 = 0.812510
Para se encontrar o valor decimal de um nmero escrito
em uma base b qualquer, diferente de 2, o processo o mesmo, s trocando os pesos que devem ser potncias de b. Por
exemplo, para encontrar o valor decimal do nmero 23415 deve-se proceder da seguinte forma:

23415
= 2x53 + 3x52 + 4x51 + 1x50 = 250 + 75 + 20 + 1 = 34610

11

1.2.1 Sistemas octais e hexadecimais


J foi visto que no sistema octal, cada dgito representa
um valor entre 0 e 7. J no sistema hexadecimal, cada dgito
representa um valor entre 0 e 15. Neste sistema, para representar os valores de 10 a 15 com apenas um dgito, utilizam-se
as letras romanas maisculas A at F.

Teoricamente,
poder-se-ia
construir qualquer sistema numrico e provvel que isto ocorra em
um futuro no muito distante, dado
o desenvolvimento rpido de novas
tecnologias e da construo de
computadores cada vez mais potentes. No entanto isto fica para o
futuro e no momento os sistemas
mais utilizados so o sistema binrio e o hexadecimal. Por este motivo, necessrio entender como um
nmero pode ser representado em
vrios sistemas. Isto significa que importante saber como o
mesmo nmero pode ser representado nos vrios sistemas
numricos. A este processo chamamos de mudana de base
ou converso de um nmero em uma base para outra.

Uma observao importante que so 8 dgitos usados


para representar nmeros octais e so necessrios 4 bits para
representar qualquer um dos 16 dgitos hexadecimais. Isto significa que para representar qualquer nmero entre 0 e 7 so
necessrios 3 bits e para representar qualquer nmero entre 0
e 15 so necessrios 4 bits.

A Tabela 1.1 mostra os inteiros decimais de 0 a 17, juntamente com seus equivalentes em binrio, octal e hexadecimal. A Tabela mostra tambm a lei de formao dos nmeros
nos diversos sistemas numricos.

12

Tabela 1.1 - Representao de alguns nmeros


Decimal

Binrio

Octal

Hexadecimal

10

11

110

101

110

111

1000

10

1001

11

10

1010

12

11

1011

13

12

1100

14

13

1101

15

14

1110

16

15

1111

17

16

10000

20

10

17

10001

21

11

J a Tabela 1.2 mostra os inteiros de 0 a 17 com as representaes binrias de seus equivalentes no sistema octal,
decimal e hexadecimal. Deve ser observado que as representaes octal e hexadecimal esto separadas para evidenciar a
representao de cada dgito.

13

Tabela 1.2 - Representao de inteiros em binrio, octal,


decimal e hexadecimal.

Binrio

Octal codificado em binrio

Decimal codificado em binrio

Hexadecimal
codificado em
binrio

000

0000

0000

001

0001

0001

10

010

0010

0010

11

011

0011

0011

100

100

0100

0100

101

101

0101

0101

110

110

0110

0110

111

111

0111

0111

1000

001 000

1000

1000

1001

001 001

1001

1001

1010

001 010

0001 0000

1010

1011

001 011

0001 0001

1011

1100

001 100

0001 0010

1100

1101

001 101

0001 0011

1101

1110

001 110

0001 0100

1110

1111

001 111

0001 0101

1111

10000

010 000

0001 0110

10000

10001

010 001

0001 0111

10001

Para se converter um nmero binrio em octal separamse os dgitos em grupos de 3, a partir do ponto binrio para a
esquerda, substituindo-se cada grupo pelo dgito octal correspondente. Por exemplo:

100111001012 = 010 011 100 1012 = 23458

14

Para converter-se um nmero em binrio para hexadecimal, o procedimento anlogo, exceto que os grupos devero
ser de 4 dgitos.

Exemplo 1.1. Converter o nmero binrio 10100111002 para


hexadecimal

110101111002 = 0110 1011 1100 2 = 6DC16


Note que nestes exemplos foram adicionados zeros esquerda, para que todos os grupos tivessem 3 dgitos, no caso
da converso direta binrio-octal, e 4 dgitos, no caso da converso direta binrio-hexadecimal.

A converso no sentido oposto tambm bastante simples. Substitui-se cada dgito octal ou hexadecimal pelo conjunto de 3 ou 4 dgitos binrios que o representa.

Exemplo 1.2. Converter os nmeros que seguem para binrio.

1718 = 001 111 0012 = 11110012


FAB16 = 1111 1010 10112 = 111101010112
1.2.2 Converso geral de representaes numricas

Nem sempre possvel se converter um nmero representado numa determinada base para outra base simplesmente substituindo-se dgitos de uma base por seus equivalentes
na outra. Isto s possvel nos casos em que as bases so
potncias de um mesmo nmero (como os casos mostrados
anteriormente). Quando no este o caso, ser necessrio
utilizar-se um procedimento geral que pode ser empregado em
qualquer mudana de representao.

15

1.2.2.1 Nmeros inteiros


O processo prtico de converter um nmero inteiro de
uma base para outra consiste em fazer a diviso inteira deste
nmero pela base encontrando um quociente e um resto. Este
resto guardado e ser o dgito menos significativo da nova
representao. Continua-se o processo usando agora dividendo o quociente obtido na diviso anterior. Este processo continua at que o quociente seja menor que a base. Neste caso, o
quociente ser o dgito mais significativo.

Exemplo 1.3. Converter o nmero 3010 para a base 2. Vamos


mostrar como isto feito, utilizando todos os passos.

O processo consiste na diviso inteira do nmero a ser


convertido pela base. Neste caso, a diviso inteira de 30 por 2.
Neste caso, o resto 0, ou seja, 30 = 15 x 2 + 0. Ou seja, 30 =
15 x 21 + 0 x 20. O quociente 15, por sua vez, pode tambm ser
reescrito e a expresso acima se torna:
30 = (7 x 2 +1) x 21 + 0 x 20 = 7 x 22 + 1 x 21 + 0 x 20
= (3 x 2 + 1) x 22 + 1 x 21 + 0 x 20
= 3 x 23 + 1 x 22 + 1 x 21 + 0 x 20
= (1 x 2 + 1) x 23 + 1 x 22 + 1 x 21 + 0 x 20
= 1 x 24 + 1 x 23 + 1 x 22 + 1 x 21 + 0 x 20 = 111102
Esta nova representao para o nmero 30 nos permite
fazer duas observaes:

O nmero 30 em decimal foi reescrito em uma representao que uma soma de parcelas onde cada uma
delas o produto de 1 ou 0 por uma potncia de 2 que
a base para a qual desejamos mudar a representao;
Os nmeros, 0 ou 1 das somas parciais so os restos
das divises sucessivas realizadas, em ordem inversa.

16

Podemos mostrar graficamente este processo, da seguinte forma:

30
0

3010 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 = 111102

2
15

Exerccio. Converter o nmero 7410 para a base 2 e verifique


se o resultado est correto fazendo a converso inversa, ou
seja da base 2 para a base 10 e veja se o resultado est correto.

1.2.2.2 Nmeros fracionrios


Tambm possvel converter nmeros decimais fracionrios em binrios. Vamos explicar isto com um exemplo.

Exemplo 1.4. Vamos converter o nmero decimal 23,37510 para a base 2.

O nmero 23,375 = 23 + 0,375. A converso do nmero


23, inteiro, j sabemos realizar. 2310 = 101112. Vamos nos dedicar frao 0,375. O processo prtico consiste na multiplicao por 2, separando a parte inteira at que o produto seja 0 ou
que cheguemos a uma frao j encontrada..

Neste caso, 0,375x2=0,750; separamos o 0 que o primeiro dgito e continuamos o processo. 0,750x2=1,500; separamos o 1 e continuamos. 0,500x2=1,000. Separamos o 1 e,

17

neste ponto, o processo termina porque a parte fracionria encontrada nula.

Assim 23,37510 = 10111,0112


Exerccio. Converter o nmero 345,14610 para a base 2 e verifique se esta converso est correta.

1.3 Soma e subtrao binria


O procedimento para a adio e subtrao de nmeros
binrios semelhante ao que se usa para nmeros decimais. A
diferena est nas tabelas de adio e subtrao, que contm
apenas os dgitos 0 e 1.

Para somar dois nmeros decimais, faz-se a soma de um


par de dgitos de cada vez, comeando com o dgito menos
significativo de cada nmero. Para a adio usa-se a tabela
verdade a seguir:

Tabela 1.3 Tabela da adio.


X

S=X+Y

carry

Se a soma de um dado par de dgitos for igual ou maior


que 10, o excesso (tambm chamado de transporte ou carry)
usado na soma do prximo par de dgitos mais significativos.
Para somar dois nmeros binrios, usa-se um carry inicial c0
igual a 0. A Tabela 1.4 mostra a soma si e o bit de carry ci+1
para cada possvel combinao de xi, yi e ci.

18

Tabela 1.4 - Adio de nmeros binrios.


xi + yi + ci

si

ci+1

000
001
010
011
100
101
110
111

0
1
1
0
1
0
0
1

0
0
0
1
0
1
1
1

Exemplo 1.3. Somar os nmeros binrios 987 e 123.

Primeiro soma-se x0 = 1 com y0 = 1, produzindo carry c1 =


1 e soma s0 = 0. Em seguida, soma-se x1 = 1, y1 = 1 e c1 = 1,
obtendo-se carry c2 = 1 e soma s1 = 1. Este processo continua
at se gerar c11 = 1 e carry s10 = 0.
A subtrao de nmeros binrios realizada de maneira
semelhante, subtraindo-se um par de bits a cada vez, no entanto, sempre gerado um bit de emprstimo (borrow) e no um
bit de carry, e um bit de diferena ao invs de um bit de soma.

A Tabela 1.4 mostra a operao de subtrao entre dois


nmeros, gerando um bit de emprstimo.

19

Tabela 1.4 Operao de subtrao.


X

D=X-Y

borrow

A Tabela 1.5 mostra a diferena di e o bit de borrow bi+1


para cada possvel combinao de xi, yi e bi.
Tabela 1.5 - Subtrao de nmeros binrios.
xi - yi bi

di

bi+1

000
001
010
011
100
101
110
111

0
1
1
0
1
0
0
1

0
1
1
1
0
0
0
1

O procedimento para subtrao semelhante ao de adio: a partir dos dgitos menos significativos, geram-se os bits
de borrow b1 e de diferena d0, de acordo com a Tabela 1.5, e
assim por diante, da direita para a esquerda, at o bit de borrow mais significativo bm e o bit de diferena mais significativo
dm-1.

Exemplo 1.4. Subtrair o nmero binrio 123 de 987.

20

Primeiro faz-se a subtrao entre x0 = 1 e y0 = 1, produzindo borrow b1 = 0 e diferena d0 = 0. Em seguida, faz-se a


subtrao de y1 = 1, b1 = 1 de x1 = 1, obtendo-se borrow b2 = 0
e soma s1 = 0. Este processo continua at se gerar d9 = 1.

1.4 Representao de nmeros em sinal magnitude


Nmeros binrios positivos podem ser representados como nmeros sem sinal. No entanto, para se representarem
nmeros negativos, necessria a utilizao de alguma notao. A forma de representao mais simples sinal-magnitude.
Nesta representao, o nmero consiste de duas partes: a
magnitude e o sinal. A magnitude expressa a quantidade e o
sinal indica se a quantidade positiva ou negativa.

Dado um nmero binrio N, sua representao em sinal


magnitude N = san-1an-2...a0.a-1a-2 ...a-m onde
s = 0 se N for positivo e
s = 1 se N for negativo

Quando sinal-magnitude usado para nmeros binrios,


o sinal representado pelo dgito mais significativo: 0 indica
sinal positivo e 1 indica sinal negativo.Assim, os nmeros +9
e 9 escritos em binrio se diferenciam somente pelo bit mais
significativo:
+9 = 01001
-9 = 11001
Note que foram necessrios 5 bits para representar esses
nmeros: 4 para a magnitude e 1 (o mais da esquerda) para
representar o sinal.

A representao em sinal magnitude importante porque


permite uma operao de subtrao, por exemplo, seja transformada em uma operao de adio. Isto significa que o

21

mesmo circuito pode ser utilizado para ambas operaes. Isto


implica em diminuio de hardware, portanto em economia.

Para verificarmos isto devemos antes definir o que significa complemento de um nmero em uma base r.
1.4.1 Representao em forma complementar
A representao em complemento foi criada com o intuito
de simplificar a operao de subtrao e manipulaes lgicas,
evitando a necessidade de comparaes de magnitude e sinal.
Definio. Seja N um nmero em uma base r. Define-se o
complemento de r do nmero N e denota-se por [N]r = rn Nr,
onde n o nmero de dgitos de N.

Decorre, a partir desta definio, que uma subtrao entre


dois nmeros Ar Br = Ar Br + rn rn = Ar + (rn Br) rn = Ar +
[B]r rn .
O complemento de r de um nmero binrio chamado
complemento de dois e a representao dele derivada
chamada representao em complemento de dois.
No sistema binrio, temos [N]2 = 2n N. Mas esta subtrao entre uma potncia de 2 e o nmero N. Esta subtrao
feita de forma otimizada. uma vez que isto pode ser conseguido apenas trocando os bits 0 por 1 e os bits 1 por 0 e somando-se o resultado com o valor 1.
Por exemplo, sendo N = 101110101002 ento [N]2 = 211
(10111010100)2 = 1000000000002 (10111010100)2 =
(001000101100)2 que o mesmo valor obtido pela troca dos
bits 0 por 1 e vice-versa, somando-se o resultado com 1, ou
seja, 010001010112 + 1 que (001000101100)2.
Assim temos: A2 B2 = A2 + [B]2 rn. Isto significa que
uma subtrao entre dois nmeros foi transformada em uma
22

soma com o complemento (fcil de ser encontrado) e uma outra subtrao entre um nmero e uma potncia da base do sistema. Esta subtrao tambm feita de forma facilitada.
No sistema decimal, o complemento do nmero 74 100
74 = 26. O complemento de 590 410, ou seja, o que falta
para completar a prxima potncia da base.
O algoritmo prtico para encontrar N2 = A2 B2 o seguinte:
adicione A2 + [B]2,
se houver carry bit na (n + 1)-sima posio ento
ento N = A2 + [B]2

/* despreza-se o carry bit

*/
seno N = -([A2 + [B]2]2)
Exemplo 1. Sejam A = 222 e B = 112. Faa a subtrao A B.
A B = (10110)2 (01011)2
10110
+10101
--------101011

(n = 5)

Neste caso, houve carry bit, logo despreza-se e o resultado (01011)2 = 1110
Exemplo 2. Faa a subtrao 710 11810.
(n = 7)
A B = (0000111)2 (1110110)2
0000111
+ 0001010
-------------0010001
/* no houve carry bit */
Neste caso, toma-se o complemento deste valor e assim
fica
A B = -(1101111)2 = 11110
23

EXERCCIOS

Exerccio 1.1 - Realizar as converses indicadas a seguir.


a) 179 para binrio
b) 467 para octal
c) 3417 para hexadecimal

Exerccio 1.2 - Encontrar a representao em complemento de


r para os exemplos anteriores.
Exerccio 1.3 - Encontrar, para os exemplos anteriores, a representao em complemento de 2 usando operaes de complemento.
10110012:
00011112:

1.5 SAIBA MAIS


Existem muitos bons textos e alguns deles esto listados
na Bibliografia colocada ao final da Unidade 2. Outros esto
na Internet disposio . Estes esto listados a seguir.

24

1.6 WEB-BIBLIOGRAFIA
www.ufpi.br/uapi
(A Pgina da Universidade Aberta do Piau - UAPI)
www.uab.gov.br
(O Site da Universidade Aberta do Brasil- UAB)
www.seed.mec.gov.br
(A Homepage da Secretaria de Educao a Distncia do MEC
- SEED )
www.abed.org.br
(O site da Associao Brasileira de Educao a Distncia ABED)

1.7 REFERNCIAS BIBLIOGRFICAS


GAJSKI, Daniel D. Principles of Digital Design, New Jersey:
Prentice Hall, 1997 (ISBN 0-13-301144-5).

MANO, M. Morris; Computer Engineering: Hardware Design.


New Jersey: Prentice Hall, 1988 (ISBN 0-13-162926-3)

IDOETA, Ivan V. et CAPUANO, Francisco G. Elementos de


Eletrnica Digital. 40. Edio. Editora rica Ltda. So Paulo,
2008.

ERCEGOVAC, Milos; LANG, Toms; MORENO, Jaime H. Introduo aos Sistemas Digitais. Porto Alegre: Bookman, 2002
(ISBN: 85-7307-698-4)

UYEMURA, John. Sistemas digitais: Uma Abordagem Integrada. Pioneira Thompson Learning Ltda. 2002.

25

Unida de 2
LGEBRA BOOLEANA E
CIRCUITOS LGICOS

Resumo
O objetivo principal desta unidade apresentar os
fundamentos dos circuitos digitais. Eles so baseados na
lgebra de Boole, um tema que j deve ser conhecido por
quem deseja entender este estudo.
Sero vistas as portas lgicas como os elementos principais
para a construo destes circuitos. Sero estudadas as
diversas formas utilizadas nas simplificaes de expresses
booleanas, em busca de economia na construo de
circuitos.
A forma de apresentao utilizada de acordo com o exigido
para o ensino distncia, ou seja, tendo em vista sempre esta
nova modalidade de ensino.

SUMRIO

UNIDADE 2 LGEBRA BOOLEANA E CIRCUITOS LGICOS

2 lgebra booleana e circuitos lgicos............................. 28


2.1Introduo ...................................................................... 28
2.2Operaes bsicas da lgebra booleana ...................... 28
2.2.1Operao OU (adio lgica) ......................................... 28
2.2.2Operao E (multiplicao lgica) ............................... 31
2.2.3Complementao (negao ou inverso) ................ 32
2.3Avaliao de expresses booleanas.............................. 33
2.4Portas lgicas ................................................................ 35
2.4.1 Portas OR (ou)..................................................................... 36
2.4.2 Portas AND (E) .................................................................... 36
2.4.3 Inversores .............................................................................. 37
2.4.4 Exemplo de circuito lgico ............................................. 37
2.4.5 Propriedades da lgebra booleana ........................... 38
2.4.6 Teoremas de De Morgan................................................ 39
2.5Derivao de expresses booleanas ............................. 40
2.5.1 Expresses usando Soma de Produtos (SdP) .... 40
2.5.2 Produtos de somas usando maxtermos (PdS) .... 42
2.6 Formas cannicas......................................................... 43
2.7 Circuitos lgicos para formas cannicas....................... 47
2.8 Simplificao de funes booleanas usando mapas de
Karnaugh ...................................................................... 51
2.8.1 Mapas de Karnaugh e subcubos . Erro! Indicador no
definido.

2.8.2 Cobertura dos mapas de Karnaugh ...Erro! Indicador


no definido.

2.9 SAIBA MAIS ................................................................. 64


2.10 WEB-BIBLIOGRAFIA ................................................. 65
2.11 REFERNCIAS BIBLIOGRFICAS ........................... 65

27

2 lgebra booleana e circuitos lgicos


2.1 Introduo
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.
Uma lgebra Booleana definida com um conjunto de
operadores e um conjunto de axiomas, que so assumidos
Diferentemente da lgebra ordinria dos reais, onde as variveis podem assumir valores no intervalo (-;+), as variveis Booleanas s podem assumir dois valores, que podem
ser denotados de vrias formas. Entre elas, {F,V} ou {0,1}.
Nesta Apostila, ser adotada a notao {0,1} por sua grande
utilizao na Eletrnica Digital. As funes booleanas podem ser representadas por tabelas que recebem o nome de
tabelas verdade, onde so listadas todas as combinaes
de valores que as variveis de entrada podem assumir e os
correspondentes valores de sadas da funo.

2.2 Operaes bsicas da lgebra booleana


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

2.2.1 Operao OU (adio lgica)


Uma operao OU entre dois operandos booleanos resulta o valor 1 se pelo menos um destes dois operandos
tiver o valor 1. Se os dois valores dos operandos for 0, o
resultado tambm 0.
28

George
Boole

Um smbolo utilizado para representar a operao OU


+, como o smbolo da adio algbrica (dos reais). Porm, 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
0+1=1
1+0=1
1+1=1
Note que a operao OU definida para duas variveis, ou seja, a operao exige que existam dois operandos.
A isto chama-se aridade da funo, que a quantidade de
operandos que ela exige para ser realizada. Devido a isso, o
operador + (OU) dito binrio. A tabela verdade para esta
operao a seguinte:

A+B

0
0
1
1

0
1
0
1

0
1
1
1

A tabela verdade pode ser tambm utilizada para representar uma expresso booleana envolvendo mais de duas variveis Por exemplo, para representar a operao
A+B+C (A ou B ou C). Neste caso, o resultado ser 1 se
pelo menos uma das variveis de entrada valer 1.

29

A+B+C

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

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 esto
ilustradas na tabela verdade a seguir. Nela, os parntesis
indicam sub-expresses j avaliadas anteriores. Note que
os valores das colunas referentes s expresses A+B+C,
(A+B)+C e (B+C)+A so os mesmos.

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

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
1
1
1
1
1
1
1

0
0
1
1
1
1
1
1

0
1
1
1
1
1
1
1

30

B+C

A+(B+C)

0
1
1
1
0
1
1
1

0
1
1
1
1
1
1
1

2.2.2 Operao E (multiplicao lgica)

A operao E, ou multiplicao lgica entre dois operandos resulta 0 se pelo menos uma das variveis de entrada for 0 e ser 1 todas as entradas valerem 1.

O smbolo usualmente utilizado na operao E .,


porm outra notao possvel . Listando as possibilidades de combinaes e os resultados da operao E, temos:
00 = 0
01 = 0
10 = 0
11 = 1
A operao E tambm binria. Para mostrar o comportamento da equao A. B (l-se A e B), escreve-se uma
tabela verdade, como segue:

A.B

0
0
1
1

0
1
0
1

0
0
0
1

De forma semelhante, pode-se determinar o resultado


da equao A.B.C (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.

31

A.B.C

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
0
0
0
0
0
0
1

Tambm para a operao E valem as propriedades


associativa e comutativa. Ento, a equao A.B.C pode ainda ser avaliada tomando-se as variveis aos pares, em
qualquer ordem. Veja a tabela verdade a seguir e compare
os resultados.

A.B.C

A.B

(A.B).C

B.C

A . (B.C)

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
0
0
0
0
0
0
1

0
0
0
0
0
0
1
1

0
0
0
0
0
0
0
1

0
0
0
1
0
0
0
1

0
0
0
0
0
0
0
1

2.2.3 Complementao (negao ou inverso)


A complementao a operao cujo resultado simplesmente o valor complementar ao que a varivel apresenta. Se o valor de uma varivel for 0, o seu complemento ser 1 e se o valor da varivel for 1, o complemento ser 0.

Os smbolos utilizados para representar a operao


complementao sobre uma varivel Booleana A so , ~A
e A' (l-se A negado). Nesta Apostila, ser adotada a nota32

o (A) pela dificuldade do editor Word. O resultado da operao complementao pode ser listado:
0 = 1
1 = 0
Diferentemente das operaes OU e E, a complementao s definida sobre uma nica varivel, ou sobre o
resultado de uma expresso. Ou seja, o operador complementao unrio. A tabela verdade para a complementao de A :
A

0
1

1
0

2.3 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 sub-expresses 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,
33

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 sub-expresso 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 :
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);
Criar uma coluna para cada varivel de entrada que aparea complementada na equao e anotar os valores resultantes;
Avaliar a equao seguindo a ordem de precedncia, a
partir do nvel de parntesis mais internos:
1 multiplicao lgica
2 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 sub-expresses que
envolvem a operao E. No caso em questo, h somente
uma tal sub-expresso, 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.
34

Repare os passos descritos na tabela verdade que segue.


Nela, os parntesis em torno do produto X .Y indicam somente que este termo j foi avaliado e que no passo referente a esta coluna, tomaram-se apenas os valores previamente encontrados.

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

Z
1
0
1
0
1
0
1
0

Y.Z
0
0
1
0
0
0
1
0

W=X+Y.Z
0
0
1
0
1
1
1
1

2.4 Portas lgicas


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.
35

2.4.1 Portas OR (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.

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

2.4.2 Portas AND (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 estritamente
a sua definio (e tabela verdade) dada anteriormente.

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

36

2.4.3 Inversores
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
sub-expresso), 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.4.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:

37

1 parntesis (dos mais internos para os mais externos);


2 operaes E;
3 operaes OU.

A Figura 2.4 mostra o circuito lgico para a equao W


= X +Y .Z.

Figura 2.4 - Um circuito lgico.

2.4.5 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 anteriormente. 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.

A.0=0
A.1=A
38

7.
8.

A.A=A
A . A = 0

Da complementao:
9. (A) = A
Comutatividade:
10. A + B = B + A
11. A . B = B . A
Associatividade:
12. A + (B + C ) = (A + B )+ C
13. A .(B .C) = (A .B) .C
Distributividade (da multiplicao em relao adio):
14. A .(B + C) = A .B + A .C

2.4.6 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:

39

(A . B) = A + B
(A + B) = A . B

(2.3)
(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.

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.

2.5.1 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).
40

ABC

Mintermos

000
001
010
011
100
101
110
111

A. B. C
A. B. C
A. B . C
A. B . C
A . B .C
. B . C
A . B . C
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:
ABC

000

001

010

011

100

101

110

111

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), que esto indicados pelas setas na tabela acima. Os
41

mintermos associados a essas condies so A.B.C,


A.B.C. A.B.C, A.B.C. Logo, a equao em soma de produtos para F ser o OU entre estes produtos, ou seja:
F = : A.B.C + A.B.C + A.B.C + A.B.C

(2.5)

Para simplificar a notao, o smbolo da operao E


pode ser omitido. Assim, a equao anterior pode ser reescrita de maneira mais concisa como
F = :ABC + ABC + ABC + ABC

(2.6)

2.5.2 Produtos de somas usando maxtermos (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.

ABC

Maxtermos

000
001
010
011
100
101
110
111

A+B+C
A + B + C
A + B+ C
A + B + C
A + B + C
A + B + C
A + B + C
A + B + C

Exemplo 2.2. Encontrar a equao em produto de somas


(PdS) para a funo F, descrita pela seguinte tabela verdade:
42

ABC

000
001
010
011
100
101
110
111

0
0
1
1
0
1
1
0

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, ou seja:
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
parnteses 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


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
43

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

Mintermo

Maxtermo

000
001
010
011
100
101
110
111

m0
m1
m2
m3
m4
m5
m6
m7

M0
M1
M2
M3
M4
M5
M6
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)

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
44

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 anteriormente. Um literal uma varivel negada ou
no. 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 + ABC + ABC + ABC

(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 = AB(C + C) + ABC + ABC

(2.13)

Pela propriedade (4), tem-se que C + C = 1. Substituindo na equao anterior, tem-se:


F = AB .1 + ABC + ABC

(2.14)

Como foi visto anteriormente, AB.1 = AB. Substituindo


nesta equao, obtm-se:
F = AB + ABC + ABC

(2.15)

Assim, pela manipulao algbrica, obtivemos uma expresso em soma de produtos que mais simples em relao a sua expresso em soma de produtos na forma cannica, pois o nmero de operaes e tambm de literais foram
reduzidos.

45

Entretanto, 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 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-se que
F = ABC + ABC + ABC + ABC + ABC

(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 = AB(C + C) + ABC + (A + A)BC

(2.18)

e pela propriedade (6), vem:


F = AB.1 + ABC + 1. BC

(2.19)

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


F = AB + ABC + BC

(2.20)

Repare que o mintermo ABC no pde ser agrupado


com nenhum outro mintermo. Note tambm que foram feitas
46

todas as simplificaes possveis, uma vez que foram agrupados e simplificados todos os pares de mintermos que se
diferenciam apenas por uma varivel. Logo, a expresso
2.20 representa a simplificao mxima 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 uma 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) + ABC

(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. 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.

2.7 Circuitos lgicos para formas cannicas


As regras gerais para se realizar o desenho de circuitos
lgicos j foram apresentadas anteriormente As regras a

47

seguir 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
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 fosse uma solda. Logo, quando no h o
referido ponto na interseo
de fios, significa que tais fios
esto eletricamente isolados.

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 porta na qual h uma varivel negada. Veja a Figura 2.6 abaixo.
48

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 circuito lgico para a equao 2.7.

Figura 2.7 - Um circuito lgico para produto de somas.

49

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).
Acomplexidade 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 circuitos so de mesma complexidade relativa.
No clculo da complexidade relativa, as inverses normalmente no so levadas em conta.

Figura 2.8 - Circuito lgico para a equao 2.20.

Circuitos para formas fatoradas podem ser vistos como


o caso mais genrico. Em geral, as formas fatoradas conduzem a circuitos cuja quantidade de nveis lgicos maior do
que dois. Por isso, circuitos lgicos para formas fatoradas
50

so denominados circuitos multinvel (lgica multinvel). s


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.

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 at aqui tem
aplicao limitada, principalmente quando se tem um nmero grande de variveis. Um mtodo alternativo para estes
casos foi inventado por Maurice Karnaugh, conhecido como
mapas de Karnaugh ou mapas-K, consiste na 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
51

sejam dispostos de maneira conveniente, o que ser explicado nas prximas sub-sees. Todo o processo se baseia
na simplificao de mintermos adjacentes.
Definio. Em uma expresso booleana na forma de
soma de produtos, dois ou mais mintermos so adjacentes
se existir, em todos eles, uma ou mais variveis em comum.
Estas ocorrncias comuns tero que ser obrigatoriamente na
mesma forma, ou seja ou todas na forma natural ou todas na
forma complementar. Por exemplo, na expresso AB + AB,
os mintermos AB e AB so adjacentes porque a varivel A
ocorre em ambos mintermos. Esta ocorrncia implica em
que a varivel B pode ser eliminada facilmente utilizando os
teoremas da Lgica Booleana, da seguinte forma: AB + AB
= A(B + B) = A. Neste caso, apenas uma varivel foi eliminada, mas podem acontecer casos em que mais de uma
varivel pode ser eliminada.
Como outro exemplo, na expresso ABCD + ABCD
+ ABCD + ABCD todos os mintermos so adjacentes porque as variveis B e D ocorrem em todos eles. Neste caso,
ABCD + ABCD + ABCD + ABCD = (AC + AC + AC +
AC)BD = ((A(C + C) + A(C + C))BD = (A + A)BD =BD.
Ou seja, duas variveis so eliminadas. A quantidade de
variveis que sero eliminadas na simplificao exatamente a quantidade de mintermos adjacentes, sem considerar
mintermos repetidos.
2.8.1 Mapas de Karnaugh para duas variveis
Para expresses booleanas com apenas duas variveis, o mapa de Karnaugh bastante simples, porque uma
expresso booleana deste tipo s apresenta os mintermos
m0 = AB, m1 = AB, m2 = AB e m3.= AB. Cada mintermo
tem seu local fixo, onde ele apresenta um valor 1 ou 0. Isto
pode ser verificado na figura a seguir

A AB AB

B
ou

A AB AB

52

A m0 m1
A m2 m3

Maurice Karnaugh
(4 de outubro de 1924)
foi um fsico americano que se tornou famoso pela criao dos
mapas de Karnaugh
utilizados na lgebra
Booleana.
Ele estudou Matemtica e Fsica no City
College of New York
(1924-1928) e foi
transferido para a Universidade de Yale
para completar seu
Bacharelado (1949),
seu Mestrado (1950) e
seu PhD em Fsica
com uma Tese intitulada The Theory of
Magnetic Resonance
and Lambda-Type
Doubling in NitricOxide (1952).
Karnaugh trabalhou na
Bell Labs (1952-1966)
desenvolvendo os mapas de Karnaugh
(1954) e tambm desenvolveu patentes
para a PCM na rea de
Codificao de Circuitos LgicoMagnticos. Depois
ele trabalhou na Federal Systems Division
da IBM em Gaithersburg (1966 70) e na

Deve ser observado que o mintermo m0 adjacente ao


mintemo m1 e ao mintermo m2 ao mesmo tempo, mas no
adjacente ao mintermo m3. Os mintermos m1 e m2 tambm
no so adjacentes.
A partir de uma tabela verdade ou de uma expresso
booleana em sua forma cannica, o primeiro passo para a
simplificao desta expresso usando mapas-K consiste na
plotagem no mapa dos valores de todos os mintermos, ou
seja, 0 ou 1. O passo seguinte consiste no agrupamento de
mintermos adjacentes. Este processo o mesmo para expresses booleanas com qualquer nmero de variveis. A
diferena consiste apenas nas formas como os mapas so
apresentados.
Exemplo. Simplificar a expresso booleana f(A,B) = AB +
AB + AB.
Plotando os valores dos mintermos no mapa-K para
duas variveis temos:

A 0

A 1

A etapa seguinte consiste em agrupar os mintermos de


valor 1 e que sejam adjacentes. Neste caso,

A 0

A 0

A 1

A 1

Todos os mintermos de valor 1 devem ser cobertos,


mesmo que no tenham qualquer outro mintermo adjacente.
No exemplo, deve-se observar que o mintermo m3 adjacente ao mintermo m1 e m2 e, por este motivo, ele agrupado com cada um destes. Isto justificado pela proprieda53

de da lgebra Booleana de que A = A + A, ou seja, um mintermo pode ser duplicado para que a simplificao seja a
mais abrangente possvel. Assim, o mapa final se tornar:

A 0

A 1

f(A,B) = A + B

2.8.2 Mapas de Karnaugh para trs variveis


Para expresses booleanas com 3 variveis, a aparncia do mapa-K a seguinte.

A ABC ABC ABC ABC


A ABC ABC ABC ABC
C

ou em forma de mintermos:

A m0

m1

m3

m2

A m4

m5

m7

m6

Os agrupamentos mximos so 4 mintermos, mas podem ser de 2 mintermos tambm. Os mintermos sem adjacentes sero considerados isolados. Neste caso, os agrupamentos possvels de 4 mintermos so:

54

B
A m0

m1

m3

m2

A m4

m5

m7

m6

que igual a B, ou

B
A m0

m1

m3

m2

A m4

m5

m7

m6

que igual a C, ou ainda

A m0

m1

m3

m2

A m4

m5

m7

m6

que igual a B.
Podem ainda acontecer os seguintes agrupamentos de
4 mintermos:

A m0

m1

m3

m2

A m4

m5

m7

m6

55

que igual a A, ou ainda pode acontecer o agrupamento a seguir que igual a A.

A m0

m1

m3

m2

A m4

m5

m7

m6

Deve ser observado ainda neste caso que o mintermo


m0 adjacente ao mintermo m4, ao mintermo m1 e tambm
ao mintermo m2. Isto porque o mintermo m0 = ABC e o mintermo m2 = ABC, ou seja eles podem ser simplificados caso
aconteam em uma soma de produtos. Imagine como se o
mapa fosse uma folha de papel que ao se dobrar formando
um cone onde os mintermos m0 e m4 ficariam adjacentes
aos mintermos m2 e m6 respectivamente. Na figura a seguir
podemos visualisar este caso, em que o agrupamento resultante C.

Vaficar
um

A m0

m1

m3

m2

A m4

m5

m7

m6

mos veriexemplo.

Exemplo. Simplificar a funo F(A,B,C) = ABC + ABC +


ABC + ABC
O primeiro passo construir uma tabela para F, usando
a nova disposio dos mintermos.

56

Figura 2.13 - Grupos de mintermos-1 adjacentes e termos produto para


uma funo de 3 variveis.

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 2.13. A equao em soma de produtos simplificada ser o OU entre
os produtos encontrados:
F = AB + ABC + BC
2.8.3 Mapas de Karnaugh para quatro variveis

ABCD ABCD ABCD ABCD B


A
ABCD ABCD ABCD ABCD
B
ABCD ABCD ABCD ABCD
A
ABCD ABCD ABCD ABCD B
D

Os mapas de Karnaugh para 4 variveis apresentam o


aspecto mostrado na figura a seguir. Com 4 variveis podemos ter at 16 mintermos. Neste caso, pode-se agrupar os
57

16 mintermos em um nico grupo, ou seja, a expresso booleana igual a 1, ou pode-se fazer agrupamentos de 8 mintermos, de 4 mintermos ou de 2 mintermos. Os agrupamentos de 8 mintermos eliminam 3 variveis, os de 4 eliminam 2
e os de 2 eleiminam 1 varivel. Ou em termos de mintermos:

m0

m1

m3

m2

m4

m5

m7

m6

A
B
m12

m13

m15

m14

m8

m9

m11

m10

Deve-se ter cuidado com termos adjacentes que no


so obviamente claros neste caso. O procedimento similar
aos j vistos at aqui.
O procedimento bsico para se determinar a melhor
cobertura (tambm chamada cobertura mnima) para uma
expresso em soma de produtos o seguinte:
Identificar os agrupamentos de mintermos com maior nmero de elementos possvel, iniciando com o
tamanho 2n, onde n o nmero de variveis da funo. Caso algum mintermo fique isolado (isto , no
h nenhum outro mintermo adjacente a ele), ento
ele constituir um agrupamento de um elemento;
Identifiicar o menor conjunto de agrupamentos de
modo que cada mintermo pertena a pelo menos um
agrupamento. Isto significa que todo mintermos deve
ser coberto pelo menos uma vez.

58

Observaes:
1. Cada mintermo pode ser coberto por mais de um agrupamento, caso isso resulte em uma simplificao maior;
2. Um ltimo teste para verificar se a expresso obtida
realmente a mnima consiste em verificar se algum agrupamento pode ser removido, sem deixar algum mintermo descoberto. Um agrupamento que poder ser removido sem descobrir mintermos dito subcubo noessencial. Logo, todo agrupamento ou subcubo que
no pode ser removido dito essencial.;
3. Pode haver mais de uma expresso mnima para uma
mesma funo Booleana;
4. A expresso mnima aquela de menor complexidade.
E a complexidade medida pelo nmero de literais de
uma funo, ou seja, pela quantidade de suas variveis.
C

m0

m1

m3

m2

m4

m5

m7

m6

m12

m13

m15

m14

m8

m9

m11

m10

m0

m1

m3

m2

m4

m5

m7

m6

m12

m13

m15

m14

m8

m9

m11

m10

A
B

B
A

C
m0

m3

C
m1

m2

m0

m1

m3

m2

m4

m5

m7

m6

A
m4

m5

m7

m6
B

m12

m13

m15

m14

m12

m13

m15

m14

m8

m9

m11

m10

A
m8
D

m9

m11
D

m10
D

59

As reas onde de
mintermos adjacentes podem conter at 16 mintermos. Neste caso, o valor
da funo 1. Estas reas
tambm podem conter 8
mintermos adjacentes, que
so os seguintes, mostrados na figura a seguir.

C
m1

m0

C
m3

m2

m0

m1

m3

m2

m4

m5

m7

m6

m1

m1

m1

m14

m8

m9

m1

m10

A
m4

m7

m5

m6
B

m1

m13

m1

m1

m8

m9

m1

m1

m3

m2

C
m1

C
m0

m0

m1

m3

m2

m4

m5

m7

m6

m1

m1

m1

m14

m8

m9

m1

m10

A
m4

m5

m7

m6

m1

m13

m1

m1

m8

m9

m1

m1

Exemplo. Utilizando mapas-K, simplificar a seguinte funo


booleana: F(A,B,C,D) = ABCD + ABCD + ABCD +
ABCD + ABCD + ABCD + ABCD + ABCD + ABCD +
ABCD + ABCD.
Plotando no mapa-K, temos:

C
A
A

1 B

0 B

60

Neste caso, verificamos que o maior agrupamento possvel de 8 mintermos para construrem o agrupamento D.
Isto pode ser verificado na figura a seguir:

C
A
A

1 B

0 B

Os mintermos m8 e m12 podem ser agrupados para


formar uma dupla. No entanto, observa-se tambm que eles
podem ser agrupados com os mintermos m9 e m13 para formarem a quadra AC, Esta forma de agrupamento prefervel porque anula-se mais uma varivel na expresso final.
Neste caso teremos o agrupamento mostrado na figura a
seguir.

C
A
A

1 B

0 B

Finalmente, o mintermo m2 o ltimo a ser considerado. Verificamos que ele est isolado mas ele adjacente ao
mintermo m3 e portanto deve ser agrupado a este para formar o subcupo ABC, apesar do mintermo m3 j estar agrupado em outro subcubo. A figura final a seguinte:

61

C
A
A

1 B

0 B

Neste caso, a funo simplificada F(A,B,C,D) = D +


AC + ABC.
Exerccio.
Simplificar
a
funo
F(A,B,C,D)
(2,3,5,7,9,10,11), utilizando mapas de Karnaugh.

2.8.4 Mapas de Karnaugh para cinco variveis


Os mapas de Karnaugh para 5 ou mais variveis apresentam a necessidade, por parte do usurio, de que ele tenha uma viso espacial acurada para que possa perceber os
mintermos adjacentes, uma vez que os mapas so bem
mais complexos que os anteriores. Por exemplo, para funes com 5 variveis o mapa-K tem a seguinte aparncia:
D

D
ABC-

ABC-

ABC-

D
ABC-

ABC-

ABC-

ABC-

ABC-

ABC-

ABC-

ABC-

ABC-

ABC-

ABC-

ABC-

ABC-

ABC-

ABC-

ABC-

ABC-

B
ABC-

ABC-

ABC-

ABCC

A
ABC-

ABC-

ABC-

ABC-

ABC-

ABC-

ABC-

ABC-

ou em termos de mintermos,

62

D
m

m3

m2

m1

m1

m1

m1

m2

m2

m2

m2

B
m

m7

m6
C

A
m1

m1

m1

m1

m2

m2

m3

m3

m2

m2

m2

m2

B
m

m9
E

m1
E

m1

C
E

A dificuldade surge porque o mapa do lado esquerdo


dever ser posto sobre o mapa do lado direito para determinar os mintermos adjacentes.
Mapas com mais de 5 variveis tambm podem ser utilizados no entanto requer do usurio mais cuidado ainda.
2.8.5 Mapas de Karnaugh para produto de somas
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.
Exerccio. Determinar 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.

63

Exerccio. 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.

2.9 SAIBA MAIS


Existem muitos bons textos e alguns deles esto listados na Bibliografia colocada ao final da Unidade 2. Outros
esto na Internet disposio . Estes esto listados a seguir.

64

2.10 WEB-BIBLIOGRAFIA
www.ufpi.br/uapi (A Pgina da Universidade Aberta do Piau
- UAPI)
www.uab.gov.br (O Site da Universidade Aberta do BrasilUAB)
www.seed.mec.gov.br (A Homepage da Secretaria de Educao a Distncia do MEC - SEED )
www.abed.org.br (O site da Associao Brasileira de Educao a Distncia - ABED)

2.11 REFERNCIAS BIBLIOGRFICAS


GAJSKI, Daniel D. Principles of Digital Design, New Jersey:
Prentice Hall, 1997 (ISBN 0-13-301144-5)
MANO, M. Morris; Computer Engineering: Hardware Design.
New Jersey: Prentice Hall, 1988 (ISBN 0-13-162926-3)
BROWN, Stephen; VRANESIC, Zvonko. Fundamentals of
Digital Logic with VHDL Design, McGraw-Hill Higher Education (a McGraw-Hill Company), 2000 (ISBN texto: 0-07012591-0 CD parte da coleo: 0-07-235596-4)
ERCEGOVAC, Milos; LANG, Toms; MORENO, Jaime H.
Introduo aos Sistemas Digitais. Porto Alegre: Bookman,
2000 (ISBN: 85-7307-698-4)
KATZ, Randy H. Contemporary Logic Design. The Benjamin/Cummings Publishing Company, Inc. , 1994 (ISBN: 08053-2703-7)
IDOETA, Ivan V. et CAPUANO, Francisco G. Elementos de
Eletrnica Digital. 40. Edio. Editora rica Ltda. So Paulo, 2008.
UYEMURA, John. Sistemas digitais: Uma Abordagem Integrada. Pioneira Thompson Learning Ltda. 2002.

65

Unida de 3
CIRCUITOS COMBINACIONAIS

Resumo
O objetivo principal desta unidade apresentar os principais
conceitos e estruturas dos circuitos combinacionais, onde as
sadas dependem unicamente dos valores das entradas.
Estes circuitos apresentam um comportamento distinto dos
circuitos seqenciais que sero vistos na prxima unidade.
Entre os circuitos combinacionais a serem vistos se dstacam
os circuitos aritmticos que so responsveis pelas
operaes como somas, subtraes e multiplicaes que so
muito comuns nos computadores.
A forma de apresentao utilizada de acordo com o exigido
para o ensino distncia, ou seja, tendo em vista sempre esta
nova modalidade de ensino.

SUMARIO
SUMRIO

UNIDADE 3 CIRCUITOS COMBINACIONAIS


3 Circuitos combinacionais .............................................. 68
3.1 Introduo .................................................................... 68
3.2 Anlise de circuitos combinacionais ............................. 69
3.3 Projeto de circuitos combinacionais ............................. 70
3.4 Interconexo de Circuitos combinacionais ................... 71
3.4.1 Decodificadores ................................................ 72
3.4.2 Seletores ........................................................... 75
3.5 Circuitos aritmticos ..................................................... 76
3.5.1 Meio somador e somador completo .................. 77
3.5.2 O somador paralelo .......................................... 81
3.5.3 O somador/subtrator ......................................... 84
3.5.4 O multiplicador .................................................. 85
3.6 SAIBA MAIS ................................................................. 88
3.7 WEB-BIBLIOGRAFIA ................................................... 88
3.8 REFERNCIAS BIBLIOGRFICAS ............................. 88

67

3 Circuitos combinacionais
3.1 Introduo
Os circuitos lgicos dos sistemas digitais podem ser de
dois tipos: circuitos combinacionais ou circuitos seqenciais.
Um circuito combinacional constitudo por um conjunto de portas lgicas as quais determinam os valores das sadas diretamente a partir dos valores atuais das entradas.
Pode-se dizer que um circuito combinacional realiza uma
operao de processamento de informao a qual pode ser
especificada por meio de um conjunto de equaes Booleanas. No caso, cada combinao de valores de entrada pode
ser vista como uma informao diferente e cada conjunto de
valores de sada representa o resultado da operao. A Figura 3.1 mostra o diagrama de blocos genrico de um circuito combinacional.

Figura 3.1 - Diagrama genrico de um circuito combinacional.

Um circuito seqencial, por sua vez, emprega elementos de armazenamento denominados latches e flip-flops, alm de portas lgicas. Os valores das sadas do circuito dependem dos valores das entradas e dos estados dos latches
ou flip-flops utilizados. Como os estados dos latches e flipflops funo dos valores anteriores das entradas, diz-se
que as sadas de um circuito seqencial dependem dos valores das entradas e do histrico do prprio circuito. Logo, o
comportamento de um circuito seqencial especificado
pela seqncia temporal das entradas e de seus estados
internos. A Figura 3.2 esboa um diagrama de blocos genrico para circuitos seqenciais conhecido como modelo de
68

Mealy. Circuitos seqenciais sero objeto de estudo da prxima Unidade.

3.2 Anlise de circuitos combinacionais


O objetivo da anlise de um circuito combinacional
determinar seu comportamento. Ento, dado o diagrama de
um circuito, deseja-se encontrar as equaes que descrevem suas sadas. Uma vez encontradas tais equaes, pode-se obter a tabela verdade, caso esta seja necessria.
importante certificar-se que o circuito seja realmente combinacional e no seqencial. Um modo prtico verificar se
existe algum caminho (ou ligao) entre sada e entrada do
circuito. Caso no exista, o circuito combinacional.

Figura 3.2 - Diagrama genrico de um circuito seqencial segundo o


modelo de Mealy.

O procedimento bsico para se determinarem as equaes que descrevem as sadas de um circuito combinacional
o seguinte:
1. Dar um nome para as variveis associadas a cada sada
de cada porta do circuito, exceto aquelas sadas que j
possuem nome (como por exemplo, as sadas do circuito);
2. A partir da esquerda, e seguindo a ordem de precedncia
determinada pelas ligaes, determinar as equaes as69

sociadas a cada varivel, at que as equaes de


as sadas tenham sido encontradas.

todas

Uma vez determinadas as equaes das sadas, a


montagem da tabela verdade ser direta, havendo uma coluna para cada sada.
Exemplo 3.1. Determinar as equaes das sadas F1 e F2
do circuito que segue.
Vamos chamar as variveis associadas s sadas das
portas de T1, T2, T3 etc. H somente duas portas cujas sadas j tem nome, que so justamente as sadas do circuito:
F1 e F2. Listando as equaes para essas variveis, segue:
T1 =
T2 =
T3 =
T4 =
T5 =
T6 =
F1 =

3.3 Projeto de circuitos combinacionais


O projeto de um circuito combinacional inicia na especificao do problema e culmina no diagrama do circuito (ou
no conjunto de equaes que o descrevem). Um procedimento genrico para o projeto envolve os seguintes passos:
1. Escolher um smbolo para cada varivel de entrada e para
70

cada varivel de sada;


2. A partir da especificao do problema, determinar a tabela
verdade (caso ela j no faa parte da especificao do
problema);
3. Obter as equaes simplificadas;
4. Mapear o circuito para a biblioteca de portas disponvel
(se for o caso);
5. Desenhar o circuito final.
Exemplo 3.1. Projetar um circuito que recebe um inteiro binrio de 3 bits e determina se este nmero menor ou igual
a 3. Usar somente portas NAND de duas entradas e inversores.
Chamemos a funo que representa a sada do circuito
de menor. Denominando de A2A1A0 aos 3 bits que compem o nmero, podemos montar o mapa de Karnaugh para
essa funo. Os valores para os quais menor deve valer 1
so A2A1A0={(0,0,0);(0,0,1);(0,1,0);(0,1,1)}. Para as demais
combinaes de entradas, menor dever ser igual a 0.

menor= A

3.4 Interconexo de Circuitos combinacionais


Os circuitos combinacionais so os responsveis pelas
operaes lgicas e aritmticas dentro de um sistema digital
(vale lembrar que um computador um sistema digital). A71

lm das operaes lgicas e aritmticas como adio, subtrao complementao, existem ainda outras funes necessrias para a realizao de conexes entre os diversos
operadores. Dentre essas funes esto a multiplexao e a
decodificao. Os elementos que realizam essas ltimas
operaes so denominados multiplexadores e decodificadores, respectivamente, e so tambm circuitos combinacionais. A seguir, veremos como tais circuitos so constitudos.
3.4.1 Decodificadores
Um decodificador um circuito combinacional usado
para ativar ou habilitar um (e somente um) dentre m componentes. assumido que cada componente possui um ndice
entre 0 e m-1, representado por um endereo em binrio.
Um decodificador n : m (l-se n por m ) possui n entradas e m sadas, com m 2n.
No caso de um decodificador 3:8, sero 8 sadas, onde
cada sada pode ser encarada como um endereo diferente.
Para ativar uma dentre 8 sadas so necessrias 3 variveis
de entrada (da 3:8). Cada combinao das variveis de entrada seleciona uma e somente uma dentre as 8 sadas, de
modo que cada sada somente ser selecionada por uma
das 8 combinaes. Desta forma, natural que se associe a
cada sada um ndice decimal que represente a combinao
de entradas responsvel pela sua ativao. Assumindo-se
ativao em lgica direta, isto , que uma sada est ativada
se ela vale 1, ento a tabela verdade para um decodificador
3:8 ser:

72

Note que cada sada s vale 1 para uma determinada


combinao das variveis de entrada. Alm disso, cada
combinao de entrada s ativa uma dentre todas as 8 sadas.
O circuito de um decodificador 3:8 ter, portanto, 8 sadas, sendo cada sada um dentre os 8 mintermos possveis
para uma funo Booleana de 3 variveis. A Figura 3.3a
mostra o smbolo para o decodificador 3:8, enquanto a Figura 3.3b mostra um circuito possvel para o mesmo decodificador, utilizando portas E de 3 entradas e inversores.

Figura 3.3- Smbolo (a) e diagrama (b) de um decodificador 3:8.

73

Um decodificador pode possuir uma entrada de habilitao. Esta entrada tem a funo de habilitar ou desabilitar
seu funcionamento. Assim, se esta entrada valer 0, nenhuma sada estar ativada, independente dos valores das demais entradas. Por outro lado, se a entrada de habilitao
valer 1, o decodificador estar ativando uma das sadas.
Neste exemplo, foi considerado que a habilitao do
decodificador se d com lgica direta, isto , quando a entrada de habilitao valer 1. A lgica de habilitao poderia
ser negada, ou seja, habilita se a entrada de habilitao valer 0 e no habilita, caso contrrio.
A tabela verdade de um decodificador 2:4 com ativao
e habilitao em lgica direta a seguinte:

Como pode-se verificar, nas primeiras 4 linhas o sinal


de habilitao (E) vale zero, o que desativa as sadas, independentemente dos valores das demais entradas (A1 e A0).
Desta forma, podemos re-escrever esta tabela de maneira
mais compacta, indicando numa nica linha que, quando
E=0, os valores das entradas A1 e A0 no interessam (dont
cares de entrada):

74

A Figura 3.4a mostra o smbolo para esse decodificador e a Figura 3.4b mostra uma possvel implementao
(circuito lgico).

Figura 3.4: smbolo (a) e diagrama (b) de um decodificador 2x4 com entrada de habilitao.

3.4.2 Seletores
Um seletor (tambm conhecido como multiplexador)
um circuito combinacional usado para selecionar uma dentre
um conjunto de m fontes de informao disponveis. Um seletor que possui n entradas para realizar a seleo capaz
de selecionar uma dentre 2n entradas. Logo, m deve ser
menor ou igual a 2n.
Dado o conjunto de entradas A0, A1, A2 e A3, e as variveis de seleo S0 e S1, a tabela verdade para um seletor
4-1 ser:

75

Pela tabela verdade acima percebe-se que a sada Y


pode ser implementada por um circuito em soma de produtos, onde em cada produto estaro presentes as variveis S0
e S1 e uma dentre as variveis de entrada A0, A1, A2 e A3:

A Figura 3.5a mostra o smbolo para tal seletor e a Figura 3.5b mostra um possvel circuito em soma de produtos.

Figura 3.5 - Smbolo (a) e diagrama (b) de um seletor 4-1.

3.5 Circuitos aritmticos


Um circuito combinacional aritmtico implementa operaes aritmticas como adio, subtrao, multiplicao e
diviso com nmeros binrios. A operao aritmtica mais
simples a adio de dois dgitos binrios, que consiste de
quatro possveis operaes elementares: 0+0=0, 0+1=1,
1+0=1 e 1+1=10. As trs primeiras operaes produzem um
dgito de soma. Entretanto, quando ambos os operandos so
iguais a 1, so necessrios dois dgitos para expressar seu
resultado. Neste caso, o transporte (vai-um ou carry, em ingls) somado ao prximo par mais significativo de bits. Um
circuito combinacional que implementa a adio de dois bits
chamado meio-somador (half adder, em ingls). Um circuito que implementa a adio de trs bits (dois bits significativos e um carry) chamado de somador completo (full adder,
em ingls). Estes nomes decorrem do fato de que com dois
meio-somadores pode-se implementar um somador comple76

to. O somador completo um circuito aritmtico bsico a


partir do qual todos os outros circuitos aritmticos so construdos.
3.5.1 Meio somador e somador completo
A operao aritmtica mais simples a adio de dois
dgitos binrios (bits), a qual pode ser vista como a adio
de dois nmeros binrios de um bit cada. Considerando-se
todas as 4 combinaes de valores que podem ocorrer, os
resultados possveis dessa adio so:
0+0=0
0+1=1
1+0=1
1 + 1 = 10
Repare que no ltimo caso acima, o resultado da adio o valor 2, que em binrio necessita de dois dgitos para ser representado (10). Ora, um circuito aritmtico para
realizar a adio de dois bits deve operar corretamente para
qualquer combinao de valores de entrada. Isso significa
que o circuito para a adio de dois bits deve possuir duas
entradas e duas sadas, conforme ilustrado na Figura 3.6.

Figura 3.6 - Esquema das entradas e sadas de um meio somador (half


adder ou HAD).

Denomina-se meia-soma a operao de adio de dois


bits. O circuito mostrado na Figura 3.6 denominado meio
somador. As duas entradas, A e B, representam os dois bits
a serem adicionados. A sada S representa o dgito menos
significativo do resultado, enquanto que a sada Cout representa o dgito mais significativo do resultado, o qual tambm
conhecido por transporte de sada (carry), uma vez que ele
assume valor 1 somente quando o resultado da soma de A e
B no pode ser representado num nico dgito.
77

A fim de se projetar o circuito do meio somador, devemos montar uma tabela verdade para as sadas S e Cout
utilizando-se os valores que resultam da adio de dois dgitos binrios, como segue:

Note que a sada S nada mais do que o XOR entre A


e B ( S =A.B + A. B = AB). J a sada Cout o E entre A e
B ( Cout = A . B ). Ento, um circuito para o meio somador
usa apenas uma porta XOR de duas entradas e uma porta E
de duas entradas, conforme mostrado na Figura 3.7.

Figura 3.7 - Circuito para o meio somador (half adder ou HAD).

Entretanto, quando ao somarmos dois nmeros binrios que possuem mais de um dgito cada ocorrer transporte
diferente de zero para a soma de um par de dgitos intermedirios, a soma do par seguinte dever considerar esse
transporte proveniente do par anterior, conforme ilustra o
exemplo a seguir (Figura 3.8).

78

Figura 3.8 - Exemplo de adio de dois nmeros binrios com mais de


um dgito.

O exemplo mostrado na Figura 3.8 ilustra bem o fato


de, para cada posio exceto a menos significativa, o resultado obtido mediante a adio de trs bits: um pertencente
ao nmero A, um pertencente ao nmero B e um terceiro
que o transporte proveniente do resultado da adio entre
os bits da posio anterior.
O circuito capaz de realizar a soma de trs bits (A, B e
Cin), gerando o resultado em dois bits (S e Cout) denominado somador completo (full adder, em ingls). Apesar da
entrada Cin normalmente receber o transporte proveniente
da soma imediantamente anterior (carry in, em ingls), a rigor as trs entradas so absolutamente equivalentes sob o
ponto de vista funcional. A tabela verdade para a soma
completa mostrada a seguir, juntamente com o mapa de
Karnaugh e as equaes mnimas resultantes para S e Cout.
A Figura 3.9 mostra um circuito para o somador completo.

79

Conforme pode-se ver pelo mapa de Karnaugh acima,


a expresso mnima em soma de produtos para S contm
todos os mintermos da funo:

O circuito que implementa a sada S do somador completo pode ser derivado a partir da equao em soma de
produtos acima. No entanto, pode-se ainda manipular tal
equao conforme segue:

Logo, o circuito para a sada S do somador completo


pode tambm ser representado com duas portas XOR, conforme mostra a Figura 3.9.

A sada Cout tem como expresso mnima em soma de


produtos:

80

Figura 3.9 - Circuito para o somador completo (full adder ou FAD).

EXERCCIOS

1. Um cofre tem 5 cadeados com chaves (x, y, z, v, w) e 5


executivos (A, B, C, D, E) so possuidores de chaves para estes cadeados, conforme o quadro abaixo:
o executivo A tem as chaves x e v;
o executivo B tem as chaves v e y;
o executivo C tem as chaves w e y;
o executivo D tem as chaves x e z;
o executivo D tem as chaves v e z.
a) Determine o nmero mnimo de executivos necessrios
para que o cofre possa ser aberto (sem massarico);
b) Ache todas as combinaes de executivos que abrem o
cofre;
c) Qual o executivo indispensvel para o cofre seja aberto?
2. Ao longo de uma parede existem 3 portas. Ao lado de cada porta existe um interruptor. Os trs interruptores (A, B,
C) controlam uma lmpada. Encontre a tabela verdade de
f(A, B, C) que indica quando a lmpada est acesa.
81

3. Dado o diagrama abaixo,

A
B

F(A,B,C,D)

C
D

a) Encontre a forma em mintermos da funo F;


b) Ache as forma em maxtermos da funo F.

3.5.2 O somador paralelo


Utilizando-se n somadores completos, pode-se realizar
um somador capaz de operar dois nmeros binrios de n
bits. Particularmente, o dgito de ordem i do resultado, Si,
ser obtido pela adio de Ai, Bi e Ci, onde Ci o transporte
proveniente do dgito anterior. O somador de ndice i recebe
como entradas Ai, Bi e Ci, gerando a soma Si e o valor de
transporte Ci+1, o qual ser entrada para o somador completo do dgito seguinte (i+1). A Figura 3.10 mostra uma representao de bloco possvel para o somador completo da Figura 3.9. A Figura 3.11 mostra um circuito somador paralelo
para nmeros binrios com 4 bits.

82

Figura 3.10 - Representao de bloco para o somador completo (full


adder ou FAD).

Figura 3.11- Somador paralelo de 4 bits.

Repare que o somador completo de ndice zero, FAD0,


tambm possui uma entrada Cin, aqui denominada C0. Como
a priori no existe um valor de transporte a ser somado aos
dgitos menos significativos, A0 e B0, esta entrada dever
estar constantemente ligada a zero. J a sada de transporte
Cout do dgito mais significativo, C4 no caso do somador de
4 bits, serve para indicar se o resultado da adio entre A e
B pode ser representado em 4 bits. Caso o resultado no
pode ser representado em 4 bits, C4 ir exibir o valor 1.
Repare tambm que, uma vez que um novo par de valores A e B fornecido ao circuito somador, as ltimas 2 sadas que se estabilizam so S3 e C4 , uma vez que estas dependem de C3, que por sua vez depende da estabilizao de
C2 e assim por diante. Desta forma, pode-se aproximar o
atraso deste somador como sendo proporcional ao nmero
de estgios (=nmero de somadores completos cascateados). Com efeito, a propagao do transporte ou carry ao
83

longo da cadeia de somadores o ponto fraco deste tipo de


somador.
Existem outros tipos de somadores capazes de operar
mais rapidamente, mas que por razes de tempo no sero
estudados nesta disciplina.
A construo de um somador para operar dois nmeros
binrios de n bits requer o uso de n somadores completos,
conectados segundo a mesma topologia mostrada na Figura
3.11.
importante ressaltar que tal somador pode operar
dois nmeros inteiros quaisquer, positivos ou negativos,
desde que ambos estejam representados em complemento
de 2.
3.5.3 O somador/subtrator
A subtrao de dois nmeros inteiros em binrio pode
ser feita utilizando-se a seguinte frmula:

onde todas as operaes so aritmticas, exceto B ,


que representa a complementao de B, bit a bit.
A Figura 3.12 mostra um circuito somador/subtrator de
4 bits. Esse circuito originado do somador paralelo de 4
bits, porm com a adio de portas xor nas entradas associadas a B, de modo a permitir a negao individual de cada
bit de B. A tabela que segue mostra o funcionamento deste
circuito, em funo dos sinais de controle sel1 e sel2. Note
que sel1 coincide com C0.
A exemplo do que ocorre com o somador paralelo apresentado na seo anterior, tambm o somador/subtrator
pode operar dois nmeros inteiros quaisquer, positivos ou
negativos, desde que tais nmeros estejam representados
em complemento de dois. Caso os dois nmeros a serem
operados estivessem representados em sinal-magnitude, por
exemplo, seria necessrio existir um circuito para testar o
84

sinal de cada nmero e comparar as magnitudes, para s


ento realizar a soma ou a subtrao. Como isso representaria a necessidade de um hardware mais complexo, e possivelmente mais caro e mais lento, a representao em
complemento de dois dominantemente utilizada nos computadores atuais.

Figura 3.12 - Somador/subtrator de 4 bits.

Operaes possveis para o somador/subtrator da Figura 3.12.

3.5.4 O multiplicador
A multiplicao de nmeros binrios realizada da
mesma maneira como a de nmeros decimais. O multiplicando multiplicado por cada bit do multiplicador, comeando do bit menos significativo. Cada uma destas multiplicaes formam um produto parcial. Os sucessivos produtos
parciais so deslocados uma posio para a esquerda. O
produto final obtido a partir da soma dos produtos parciais.

85

Para entender como um multiplicador binrio pode ser


implementado com um circuito combinacional, considere a
multiplicao de dois nmeros de dois bits mostrada na Figura abaixo:

Figura 3.13 Multiplicador de 2 bits.

Os bits do multiplicando so B1 e B0, os bits do multiplicador so A1 e A0 e o produto M3M2M1M0. O primeiro produto parcial formado pela multiplicao de B1B0 por A0. A
multiplicao de dois bits, tais como A0 e B0, produz um 1 se
ambos os bits so 1, do contrrio ela produz um 0. Isto
idntico operao E. Assim, o produto parcial pode ser
implementado com portas E como mostrado no circuito da
Figura 3.13. O segundo produto parcial formado pela multiplicao de B1B0 por A1 e deslocado uma posio para a
esquerda. Os dois produtos parciais so somados com dois
circuitos meio-somadores. Usualmente tem-se mais bits nos
produtos parciais, fazendo-se necessrio o uso de somadores completos para produzir a soma dos produtos parciais.
Um circuito multiplicador binrio combinacional com
mais bits pode ser construdo de maneira semelhante. Um
86

bit do multiplicador operado por um E com cada bit do multiplicando em tantos nveis quanto existam bits no multiplicador. A sada binria em cada nvel de portas E somada em
paralelo com o produto parcial do nvel anterior para formar
um novo produto parcial. O ltimo nvel produz o resultado.
Para j bits no multiplicador e k bits no multiplicando, sero necessrios jk portas E e (j-1) somadores de k bits para
gerar um produto de j+k bits.

EXERCCIOS

Exerccio 3.1 - Projetar um decodificador 3:8 com ativao


em lgica negada (isto , para cada sada Di, se Di=0, Di est ativada, se Di=1, a Di est desativada).
Exerccio 3.2 - Projetar um decodificador 2:4 com entrada
de habilitao. Tanto a habilitao como a ativao das sadas deve se dar em lgica negada.
Exerccio 3.3 - Reprojete o decodificador do exerccio anterior utilizando somente portas NAND de 2 entradas.
Exerccio 3.4 - Projete um decodificador 3:8 utilizando um
inversor e 2 decodificadores 2:4 com entrada de habilitao.
Exerccio 3.5 - Projetar um seletor 8-1 a partir de seletor 4-1.
Exerccio 3.6 - Projetar um seletor 4-1, onde cada entrada
composta por um conjunto de 2 bits. Usar o smbolo para
representar cada seletor 4-1, ao invs de desenhar o
circuito detalhado.
Exerccio 3.7 - Desenhe o circuito lgico de um multiplicador
de quatro bits.

87

3.6 SAIBA MAIS


Existem muitos bons textos e alguns deles esto listados na Bibliografia colocada ao final da Unidade 2. Outros
esto na Internet disposio . Estes esto listados a seguir.

3.7 WEB-BIBLIOGRAFIA
www.ufpi.br/uapi (A Pgina da Universidade Aberta do Piau
- UAPI)
www.uab.gov.br (O Site da Universidade Aberta do BrasilUAB)
www.seed.mec.gov.br (A Homepage da Secretaria de Educao a Distncia do MEC - SEED )
www.abed.org.br (O site da Associao Brasileira de Educao a Distncia - ABED)

3.8 REFERNCIAS BIBLIOGRFICAS


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

88

Unida de 4
CIRCUITOS SEQUENCIAIS

Resumo
O objetivo principal desta unidade apresentar os circuitos
seqenciais aps serem apresentados os circuitos
combinacionais na Unidade anterior. Ao contrrio dos
combinacionais, os circuitos seqenciais no dependem
unicamente dos valores de entrada. Eles dependem tambm
dos valores anteriores que devem estar armazenados em
algum circuito para que possam ter alguma utilidade, ou seja,
devem ser armazenados em algum tipo de memria. Entre os
circuitos seqenciais esto os latches e os flip-flpos que so
os elementos principais na construo dos diversos tipos de
memrias que os computadores utilizam.
A forma de apresentao utilizada de acordo com o exigido
para o ensino distncia, ou seja, tendo em vista sempre esta
nova modalidade de ensino.

SUMRIO

SUMRIO

4 Circuitos seqenciais..................................................... 90
4.1 Introduo ..................................................................... 91
4.2 Fundamentao terica ................................................ 91
4.3 Latches ......................................................................... 96
4.3.1 O latch RS ............................................................................. 96
4.3.2 O latch RS controlado ................................................... 102
4.3.3 O latch D .............................................................................. 104
4.3.4 Latches com lgica de ativao complementar 106
4.4 Flip-flops ..................................................................... 108
4.4.1 Flip-flop D mestreescravo ......................................... 109
4.4.2 Flip-flops disparados pela borda .............................. 111
4.4.3 Flip-flops disparados pela borda descendente.. 114
4.4.4 Set e reset assncronos ................................................ 115
4.5 SAIBA MAIS ..................... Erro! Indicador no definido.
4.6 WEB-BIBLIOGRAFIA .................................................. 117
4.7 REFERNCIAS BIBLIOGRFICAS ............................ 117

90

4 Circuitos seqenciais
4.1 Introduo
Conforme j citado no captulo 3, os circuitos lgicos
dos sistemas digitais podem ser de dois tipos: circuitos
combinacionais ou circuitos seqenciais. Um circuito combinacional constitudo de um conjunto de portas lgicas, as
quais determinam os valores das sadas diretamente a partir
dos valores atuais das entradas. Estes tipos de circuitos foram objeto de estudo no Captulo 3 deste estudo. O objeto
de estudo do Captulo atual so os circuitos seqenciais.

4.2 Fundamentao terica


A Figura 4.1 mostra o diagrama de blocos de um circuito seqencial. Um circuito seqencial composto por um
circuito combinacional e elementos de memria. As entradas e as sadas do circuito seqencial esto conectadas
somente ao circuito combinacional. Os elementos de memria so circuitos capazes de armazenar informao codificada em binrio. Algumas das sadas do circuito combinacional so entradas para os elementos de memria, recebendo
o nome de variveis do prximo estado. J as sadas dos
elementos de memria constituem parte das entradas para
o circuito combinacional e recebem o nome de variveis do
estado atual. As conexes entre o circuito combinacional e
os elementos de memria conFiguram o que se costuma
chamar lao de realimentao, pois a sada de um bloco
entrada para o outro e vice-versa.

A informao armazenada nos elementos de memria


num dado instante determina o estado em que se encontra
o circuito seqencial. O circuito seqencial recebe informao binria das entradas que, juntamente com a informao
do estado atual, determinam os valores das sadas e os valores do prximo estado (vide Figura 4.1). Desta forma, fica
evidente que as sadas de um circuito seqencial dependem
no apenas das entradas, mas tambm do estado atual,
armazenado nos elementos de memria. E o mesmo pode
ser dito para as variveis de prximo estado. Em funo
deste comportamento seqencial, um circuito seqencial
91

especificado pela seqncia temporal de entradas, sadas e


estados internos.

Figura 4.1 - Diagrama de blocos de um circuito seqencial.

Os circuitos seqenciais podem ser divididos em dois


tipos, conforme o comportamento temporal dos seus sinais:
sncronos e assncronos.

O comportamento de um circuito seqencial assncrono depende da ordem segundo a qual as entradas mudam e
o estado do circuito pode se alterar a qualquer tempo, como
conseqncia de uma mudana de suas entradas. Os elementos de memria utilizados nos circuitos seqenciais assncronos apresentam uma capacidade de armazenamento
que est associada diretamente ao atraso de propagao
dos circuitos que os compem. Em outras palavras, o tempo
que esses circuitos levam para propagar uma mudana de
suas entradas at suas sadas pode ser encarado como o
tempo durante o qual eles retm os valores aplicados antes
da mudana, e esse fenmeno coincide com o conceito de
memria, para os circuitos digitais. Nos circuitos seqenciais
assncronos, os elementos de memria so compostos por
portas lgicas que provem um atraso de propagao com
valor adequado para o funcionamento do circuito. Ento, um
circuito seqencial assncrono pode ser visto como um circuito combinacional com realimentao. O projeto de circuitos com realimentao apresenta grandes dificuldades, uma
92

vez que seu funcionamento correto dependente das caractersticas temporais dos componentes (portas lgicas e fios).
A principal dificuldade provm do fato de que os componentes apresentam atrasos que no so fixos, podendo ser diferentes mesmo para exemplares com mesma funo e de um
mesmo fabricante. Desta forma, os circuitos seqenciais
assncronos tm sido evitados, sempre que possvel, em
favor do uso de circuitos seqenciais sncronos.

Um circuito seqencial sncrono utiliza um sinal especial denominado de relgio (clock, em ingls) o qual tem a
funo de cadenciar uma eventual troca de estado. A Figura
4.2 mostra um exemplo de sinal de relgio. A forma de onda
de um sinal de relgio dita montona, pois no se altera
ao longo do tempo. Nela podem ser identificados a borda de
subida, a borda de descida, o nvel lgico zero e o nvel lgico um. O tempo que decorre para o sinal se repetir denominado perodo e representado por T. Por exemplo, o
tempo entre duas bordas de subida sucessivas igual a T.
Da mesma forma, o tempo entre duas bordas de descida
sucessivas igual a T.

Figura 4.2 - Exemplo de sinal de relgio (clock).

A freqncia de um sinal de relgio, representada por


f, definida como sendo o inverso do perodo, ou seja:

(4.1)

Para medir-se o perodo, usa-se os mltiplos do segundo: ms (milissegundo = 10-3s), s (microssegundo = 1093

6s), ns (nanossegundo = 10-9s) e ps (picossegundo = 1012s). Para medir-se a freqncia, usa-se os mltiplos do
hertz: kHz (quilohertz = 10+3Hz), MHz (megahertz
=10+6Hz) e GHz (gigahertz = 10+9Hz). Um hertz equivale a
1/s (i.e., o hertz o inverso do segundo).

Exemplo 4.1: um circuito digital sncrono cadenciado


pelo uso de um sinal de relgio de 200 MHz. Qual o maior
atraso permitido para um circuito combinacional
qualquer dentro deste circuito?

Ora, se esse circuito deve trabalhar freqncia de


200 MHz, ento, cada um de seus blocos combinacionais
deve ter um atraso inferior ao perodo do relgio, o qual pode ser calculado por:

Num circuito seqencial sncrono, o sinal de relgio determina quando os elementos de memria iro amostrar os
valores nas suas entradas. Conforme o tipo de circuito utilizado como elemento de memria, esta amostragem das
entradas pode ser sincronizada pela borda ascendente ou
pela borda descendente do relgio. Seja qual for o tipo de
sincronizao, o tempo que transcorre entre duas amostragens sucessivas equivale a T, o perodo do relgio. Isto implica que, qualquer mudana no estado de um circuito seqencial sncrono ir ocorrer somente aps a borda do sinal
de relgio na qual seus elementos de memria so disparados. A Figura 4.3 mostra o diagrama de blocos de um circuito seqencial sncrono.

Os elementos de memria utilizados nos circuitos seqenciais sncronos so denominados flip-flops. Um flip-flop
um circuito digital que possui duas entradas e duas sadas
e capaz de armazenar um bit de informao. As duas entradas no so intercambiveis: uma reservada ao sinal
de controle (relgio) e a outra recebe o dado (bit) a ser ar94

mazenado. As sadas correspondem ao dado (bit) armazenado e ao seu complemento. O sinal de relgio determina o
instante em que o flip-flop amostra o valor do dado, podendo
corresponder a uma borda de subida ou a uma borda de
descida, dependendo de como o flip-flop constitudo. O
diagrama da Figura 4.3 mostra que o valor de cada varivel
de estado armazenado num flip-flop especfico. Os valores
que representam o prximo estado s so amostrados na
borda ativa do relgio. Logo, o estado atual fica armazenado
no conjunto de flip-flops at que uma nova borda do relgio
chegue, quando ento o prximo estado passa a ser o estado atual e um novo prximo estado ser gerado pelo circuito
combinacional.

Figura 4.3 - Diagrama de blocos de um circuito seqencial sncrono.

Desde que devidamente alimentado com energia, um


flip-flop pode manter indefinidamente um estado, at que os
sinais de entrada assumam uma conFigurao tal que o faam mudar de estado. Essa conFigurao depende de como o flip-flop constitudo. O estado em que um flip-flop se
encontra usualmente associado ao valor binrio que ele
est armazenando. Desta forma, num dado instante, um flipflop estar armazenando ou o valor lgico 1 (um) ou o valor
lgico 0 (zero), pois esses so os dois valores possveis para uma varivel Booleana.

95

4.3 Latches
Os vrios flip-flops existentes se diferenciam pelo nmero de entradas que possuem e na maneira pela qual tais
entradas afetam o estado em que o flip-flop se encontra. Os
tipos mais bsicos de flip-flops so denominados latches.
Os latches operam por nveis dos sinais de entrada (diz-se
que so sensveis a nvel) e servem como base na construo dos flip-flops mais sofisticados.

Apesar de serem capazes de armazenar informao


binria, os latches so pouco utilizados na construo de
circuitos seqenciais sncronos por serem menos prticos
do que os flip-flops. A seguir, sero estudados o latch RS, o
latch RS controlado e o latch D.
4.3.1 O latch RS
O latch RS o latch mais simples que existe. Ele pode
ser construdo com o uso de duas portas nor de 2 entradas
cada, conectadas conforme mostra a Figura 4.4. Note que
h

duas entradas, chamadas R e S, e duas sadas, Q e Q.


Note tambm que existe uma conexo entre a sada Q e a
outra entrada da nor n2. Existe tambm uma conexo entre
a sada Q e a outra entrada da nor n1. Conexes entre sada e entrada so denominadas realimentaes, e no caso
de circuitos digitais, so responsveis pela propriedade de
armazenamento apresentada pelo circuito.

Figura 4.4 - Latch RS com portas nor.

96

Conforme j citado na introduo deste captulo, circuitos que possuem algum tipo de realimentao so ditos seqenciais, pois seu comportamento no depende somente
dos valores das entradas, mas tambm do estado em que o
circuito se encontra. Assim, a anlise do funcionamento do
latch RS obedecer os seguintes passos:

1. Identificao de uma combinao de entradas capaz de


determinar o estado do latch de maneira independente do
estado anterior (se isso for possvel)

2. Assumindo o estado determinado no passo 1 como sendo


o estado inicial, aplicao de uma nova combinao de
entradas para verificar como o circuito se comporta (se
muda de estado ou no);
Repetio dos passos 1 e 2 para cada combinao de
entradas capaz de determinar o estado do circuito de maneira independente.

A partir do procedimento anterior encontrar-se- uma


tabela de comportamento denominada tabela de transio
de estados (ou simplesmente, tabela de transio), a qual
caracterstica deste latch. Em particular, cada latch e cada
flip-flop possui um comportamento que pode ser expresso
em termos de uma tabela de transferncia que lhe prpria.

Para o latch RS da Figura 4.4, imaginemos que sejam


aplicados simultaneamente os valores 1 e 0 s entradas R e
S, respectivamente, no instante de tempo t0. Ora, sabemos
que o valor 1 aplicado a qualquer uma das entradas de uma
porta nor determina o valor da sada desta porta como sendo 0, independente dos valores das demais entradas. Logo,
se for aplicado R=1 e S=0 em t0, a sada Q se estabilizar
com valor 0 em t0+td(n1), onde td(n1) o atraso da porta nor
n1. Como existe uma ligao fsica (ou seja, um fio) entre Q
e uma das entradas da porta nor n2, a partir do tempo
t0+td(n1) ambas entradas desta porta estaro estabilizadas
em 0. Ento, a partir do tempo t0+td(n1)+td(n2), onde td(n2)
97

o atraso da porta nor n2, a sada Q estar estabilizada com


o valor lgico 1.

Imaginemos agora que na seqncia de operao deste latch foram aplicados os valores R=0 e S=0 s suas entradas no instante de tempo t1, com t1>t0+td(n1)+td(n2) (ou
seja, bem depois da aplicao de R=1 e S=0). Em funo
dos atrasos das portas n1 e n2, as sadas Q e Q no se alteraro imediatamente. Logo, para efeitos de anlise, podemos considerar que a entrada de n1 que est conectada
a Q continua com o valor lgico 1 e que a entrada de n2 que
est conectada a Q continua com o valor lgico 0. Desta
forma, logo aps o instante t1, n1 ter 0 e 1 em suas entradas, fazendo com que sua sada, que a sada Q do circuito, permanea no valor lgico 0. De maneira semelhante,
logo aps t1, n2 ter em suas entradas 0 e 0, fazendo com
que sua sada, que a sada Q do latch, permanea com o
valor lgico 1. As formas de onda que ilustram o resultado
da aplicao sucessiva destes dois vetores de entrada
(R=1;S=0) e (R=0;S=0) no latch RS so mostradas na Figura 4.5.

Suponhamos agora que a seqncia de valores aplicados s entradas do latch (R=0;S=1) em t0 e (R=0;S=0),
em t1. Ento, em t0+td(n2) a sada Q se estabilizar com o
valor lgico 0. Como existe uma ligao fsica entre a sada
Q e uma das entradas da porta nor n1, aps o instante
t0+td(n2) ambas entradas de n1 estaro estabilizadas em 0.
Ento, a partir do instante t0+td(n2)+td(n1), a sada Q estar
estabilizada com o valor lgico 1. Supondo novamente que
t1>t0+td(n2)+td(n1), podemos admitir que imediatamente aps t1 as sadas Q e Q ainda se mantm com seus valores
anteriores, quais sejam Q=1 e Q =0. Desta forma, n1 ter o
valor lgico 0 em ambas entradas, resultando que Q se
mantm em 1. De forma similar, n2 ter em suas entradas
os valores 1 e 0, resultando que Q se mantm em 0. A Figura 4.6 mostra as formas de onda resultantes da aplicao do
vetor de entrada (R=0;S=1) em t0, seguido do vetor
(R=0;S=0), em t1. Note que td(n1) e td(n2) podem ser valores
bem diferentes. Note ainda que em ambos casos, o atraso
para a estabilizao do latch sempre ser td(n1)+td(n2).
98

Figura 4.5 -Formas de onda para aplicao do vetor de entrada


(R=1;S=0) seguido do vetor (R=0;S=0) no latch RS.

Figura 4.6 -Formas de onda para aplicao do vetor de entrada


(R=0;S=1) seguido do vetor (R=0;S=0) no latch RS.

Note que para todas as situaes estudadas at aqui,


os valores exibidos pelas sadas Q e Q so sempre complementares. justamente por esse motivo que elas recebem essas denominaes. Entretanto, se aplicarmos o vetor
de entrada (R=1;S=1), ambas sadas se estabilizaro em 1,
o que conflita com o que foi colocado anteriormente. Ora, se
um latch deve ser capaz de armazenar um dentre os dois
estados possveis para uma varivel Booleana e se o estado
est associado ao valor de Q e Q (Q exibe o estado e Q , o
seu complemento), ento qual seria o estado representado
pela situao Q=1 e Q =1? Por no haver uma resposta
plausvel a essa pergunta, foi convencionado que esse seria
um estado proibido (ou indeterminado), de modo que a situao (R=1;S=1) deve sempre ser evitada, no caso do latch
RS.

99

Conforme j mencionado na introduo dessa seo,


um latch, assim como um flip-flop, pode assumir um dentre
dois estados possveis. Esses estados correspondem aos
valores que uma varivel Booleana pode assumir, ou seja, 0
e 1. O estado 0 tambm chamado estado reset e o estado
1 tambm chamado estado set.

Analisando-se a situao mostrada pelas formas de


onda da Figura 4.5, conclui-se que a aplicao do vetor
(R=1;S=0) faz com que o latch v para o estado set (i.e., a
sada Q estabiliza com o valor lgico 1), independente de
seu estado anterior. Se aps isso for aplicado o vetor
(R=0;S=0), o latch no muda o seu estado. Avaliando-se
agora as formas de onda da Figura 4.6, conclui-se que a
aplicao do vetor (R=0;S=1) faz com que o latch v para o
estado reset (i.e., a sada Q estabiliza com o valor lgico 0),
independente de seu estado anterior. Se aps isso for aplicado o vetor (R=0;S=0), o latch no muda o seu estado. Finalmente, pode-se afirmar que a aplicao do vetor
(R=0;S=0) no muda o estado em que o latch est. Por outro lado, o vetor (R=1;S=1) deve ser evitado, por conduzir a
um estado proibido. Essas informaes podem ser resumidas pela tabela que segue:

Tabela 4.1 - Resumo do funcionamento seqencial do


latch RS.

A tabela anterior pode ser escrita de maneira mais


compacta, de modo a incorporar a informao da dependncia temporal.
Tabela 4.2 - Tabela de transio de estados para o latch RS.

100

A Tabela 4.2 lista os valores possveis para as entradas nas colunas mais esquerda, admitindo que esses valores esto sendo aplicados no instante presente t. Para
cada situao de entradas, o novo valor da sada (e portanto, o novo estado do latch) para o instante imediatamente
posterior t+1 encontra-se na coluna mais direita. Como a
sada Q sempre exibe o complemento da sada Q, apenas o
valor de Q listado, ficando Q subentendido.

O comportamento de circuitos seqenciais pode tambm ser expresso por meio de um diagrama denominado
diagrama de estados. Sendo o latch RS um circuito seqecial, pode-se usar um diagrama de estados para representar
seu funcionamento, conforme mostrado na Figura 4.7.

No diagrama da Figura 4.7, os estados reset e set esto representados por nodos (crculos). A transio entre
estados mostrada por uma aresta (seta). A condio de
entradas segundo a qual uma determinada transio pode
ocorrer est definida junto a aresta respectiva. Por exemplo,
estando o latch RS no estado reset, para que ele v para o
estado set necessrio que R=0 e S=1. Caso R=0 e S=0, o
latch RS ficar no estado em que se encontra.

Figura 4.7 - Diagrama de estados para o latch RS.


101

Para evitar que se tenha que desenhar o circuito completo toda a vez que houver uma ocorrncia do latch RS,
costuma-se adotar o smbolo mostrado na Figura 4.8.

Figura 4.8 - Smbolo do latch RS.

Exemplo 4.2: desenhar as formas de onda para as sadas do latch RS abaixo, a partir das formas de onda fornecidas para as entradas R e S.

4.3.2 O latch RS controlado


No latch RS, cujo funcionamento foi descrito na subseo 4.1.1, uma alterao das entradas R e S pode acarretar
uma troca de estado. Porm, em alguns casos pode ocorrer
que os sinais conectados s entradas R e S sofram variaes no desejadas, sendo vlidos somente em alguns intervalos de tempo bem determinados. Nesse caso, seria
interessante que houvesse uma entrada de maior prioridade
que fosse encarregada de controlar a habilitao do latch,
deixando-o sensvel ou no aos valores das entradas R e S.

Nesse sentido, o latch RS controlado um aprimoramento do latch RS. Ele construdo a partir do latch RS,
pela colocao de um par de portas E nas entradas R e S,
102

conforme mostra a Figura 4.9. A entrada C tem o objetivo de


habilitar ou desabilitar o latch RS: caso C=0, o latch mantm
o estado, pois R1=0 e S1=0; caso C=1, o latch funciona
normalmente, segundo a Tabela 4.2. A tabela de transio
desse latch mostrada na Tabela 4.3. Note que se C=0, o
latch mantm seu estado, independente dos valores de R e
S (os X indicam essa independncia). Repare tambm que
h ainda outra situao em que o latch mantm o estado,
qual seja, quando C=1, mas R=0 e S=0.

Figura 4.9 -Latch RS controlado.

Tabela 4.3 - Tabela de transio de estados para o latch RS controlado.

O diagrama de estados para o latch RS controlado


muito semelhante ao diagrama do latch RS, conforme mostra a Figura 4.10. Apenas as condies para troca ou manuteno de estado so diferentes: no caso do latch RS controlado, as condies so compostas. Por exemplo, para
que o latch RS controlado se mantenha num mesmo estado
necessrio que C=0 ou que C=1 e R=0 e S=0.

103

Figura 4.10 -Diagrama de estados para o latch RS controlado.

A Figura 4.11 mostra o smbolo do latch RS controlado.

Figura 4.11 - Smbolo do latch RS controlado.

Exemplo 4.3. Desenhar as formas de onda para as sadas


do latch RS abaixo, a partir das formas de onda fornecidas
para as entradas C, R e S.

4.3.3 O latch D
A necessidade de evitar a ocorrncia do estado proibido um detalhe que dificulta o projeto de circuitos seqenciais com latches RS. O latch D construdo a partir do latch
104

RS, de maneira tal que, pela colocao de um inversor entre


as entradas S e R, fica assegurado que nunca ocorrer a
situao de entradas R=1 e S=1, responsveis pelo surgimento do estado proibido (Figura 4.12). Desta forma, a tabela de transio do latch D pode ser derivada da tabela do
latch RS controlado, onde as entradas R e S passam a ser a
entrada D (com D=S). Duas combinaes de entradas desaparecem: uma que resultava na manuteno do estado e
outra que resultava no estado proibido. A tabela de transio do latch D mostrada na tabela 4.3 e seu smbolo, na
Figura 4.13.

Figura 4.12: latch D.

Tabela 4.4 - Tabela de transio de estados para o latch D.

Figura 4.13 - Smbolo do latch D.

Exemplo 4.4. Desenhar as formas de onda para as sadas


do latch D abaixo, a partir das formas de onda fornecidas
para as entradas.

105

4.3.4 Latches com lgica de ativao complementar


Os latches vistos at aqui apresentam lgica de ativao direta, isto , esto ativados enquanto o controle estiver
no nvel lgico 1 e desativados enquanto o controle estiver
no nvel lgico 0. possvel inverter-se essa lgica de ativao pela simples insero de um inversor antes da entrada
de controle. Assim, um latch com lgica de ativao complementar (ou negada ou invertida) est ativado enquanto o
controle vale 0 e desativado enquanto o controle vale 1. A
Figura 4.14 mostra os smbolos do latch RS controlado e do
latch D, ambos com lgica de ativao complementar. Repare que a indicao da lgica de ativao complementar
feita por meio de um crculo colocado antes da entrada de
controle.

Figura 4.14 - Smbolo do latch RS controlado (a) e do latch D (b), ambos


com lgica de ativao complementar.

As Tabelas 4.5 e 4.6 mostram o funcionamento destes


latches com lgica de ativao negada. Comparando-se
com as tabelas de transio dos latches correspondentes
com lgica de ativao direta, nota-se que as aes so as
106

mesmas; apenas o que muda o nvel do sinal de controle


necessrio para ativ-los.

Tabela 4.5 - Tabela de transio de estados para o latch RS controlado com lgica de ativao negada.

Tabela 4.6 - Tabela de transio de estados para o latch D com lgica de ativao negada.

Exemplo 4.5. Desenhar as formas de onda para as sadas


do latch RS abaixo, a partir das formas de onda fornecidas.

Exemplo 4.6 Desenhar as formas de onda para as sadas


do latch D abaixo, a partir das formas de onda fornecidas.

107

4.4 Flip-flops
Conforme visto na seo anterior, os latches controlados D e RS so ativados ou controlados pelo nvel lgico do
sinal de controle. Isso significa que, enquanto o sinal de
controle estiver ativando o latch, eventuais variaes das
entradas D ou R e S sero percebidas pelo latch e este poder mudar de estado. Essa caracterstica particularmente
imprpria para a construo de circuitos seqenciais sncronos, uma vez que em tais circuitos qualquer troca de estado
deve ocorrer de maneira sincronizada com o sinal de relgio.

Os flip-flops so circuitos derivados dos latches, porm


ativados pela transio do sinal de controle (i.e., pela borda). Isso faz com que um flip-flop permanea ativado apenas durante um intervalo de tempo muito pequeno, aps a
ocorrncia de uma transio do sinal de controle. Assim,
uma eventual troca de estado s pode ocorrer durante esse
breve intervalo de tempo em que o flip-flop est ativado. Entre duas transies sucessivas do mesmo tipo (ou subida ou
descida) do sinal de controle, o flip-flop mantm o ltimo
estado adquirido.

Dependendo de sua construo, um flip-flop pode ser


disparado pela transio de subida ou pela transio de
descida do sinal de controle. Diz-se ento, que flip-flops so
disparados pela borda (ascendente ou descendente, conforme for o caso), enquanto que latches so sensveis ao
nvel lgico (alto ou baixo, conforme for o caso). A seguir,
sero estudados os flip-flops mais utilizados.

108

Os latches e os flip-flops
so muito parecidos. Qual
a verdadeira diferena
entre eles?

4.4.1 Flip-flop D mestreescravo


O flip-flop D mestre-escravo composto por dois latches D conectados em cascata, conforme mostra a Figura
4.15: o primeiro chamado de mestre e o segundo chamado de escravo. O sinal de controle externo est conectado diretamente ao controle do latch mestre e ao inversor
cuja sada est conectada ao controle do latch escravo.

Figura 4.15 - Flip-flop D mestre-escravo.

Analisando-se as conexes, possvel deduzir facilmente que os dois latches funcionam de maneira complementar com relao ao sinal de controle externo: enquanto o
controle vale 1, o mestre est ativado e o escravo est mantendo seu estado anterior e enquanto o controle vale 0, o
mestre est mantendo seu estado anterior e o escravo est
ativado. Como a entrada do escravo est conectada sada
do mestre, o ltimo valor lido durante a ativao do mestre
aparecer na sada do escravo no semiperodo seguinte. A
Figura 4.16 exemplifica o funcionamento do flip-flop D mestre-escravo a partir de formas de onda arbitrrias para as
entradas C e D.

109

Figura 4.16 - Exemplo do funcionamento do flip-flop D mestre-escravo.

Do ponto de vista externo, o flip-flop D mestre-escravo


da Figura 4.15 funciona como se fosse disparado pela borda
descendente do sinal de controle: o ltimo valor de D amostrado pelo latch mestre antes da borda descendente fica
armazenado, aparecendo na sada Q do latch escravo logo
aps a mesma borda descendente.

Exemplo 4.7. Traar as formas de onda para as sadas de


cada um dos latches do circuito que segue, a partir das formas de onda fornecidas.

110

4.4.2 Flip-flops disparados pela borda


Um flip-flop disparado pela borda (tambm referenciado por sensvel borda) ignora o sinal de controle enquanto
este se encontra estvel num dos dois nveis lgicos. Porm, quando o sinal de controle passa por uma transio, o
flip-flop disparado pela borda fica ativado por um breve instante durante o qual as entradas podem (ou no) determinar
a troca de seu estado. Dependendo da maneira como
construdo, o flip-flop ser disparado ou somente pela borda
ascendente ou somente pela borda descendente. A Figura
4.17 mostra o circuito de um flip-flop D disparado pela borda
ascendente, feito com portas nand de duas entradas.

Figura 4.17 - Flip-flop D disparado pela borda ascendente.

A tabela de transio de um flip-flop D disparado pela


borda ascendente mostrada a seguir

111

Tabela 4.7 - Tabela de transio de estados para o flipflop D disparado pela borda ascendente.

Na tabela anterior, o smbolo indica que a ativao do


flip-flop instantnea e s ocorre durante as bordas ascendentes do sinal de controle C. Por outro lado, entre duas
bordas ascendentes consecutivas do sinal de controle, o
flip-flop mantm o estado anteriormente armazenado. O
smbolo do flip-flop D mostrado na Figura 4.18; o tringulo
colocado na entrada de controle C indica que a ativao se
d pela borda ascendente (e no pelo nvel lgico, como
ocorre no latch D).

Figura 4.18 - Smbolo do flip-flop D disparado pela borda ascendente.

Exemplo 4.8. Traar as formas de onda para as sadas do


flip-flop que segue, a partir das formas de onda fornecidas.

Alm do flip-flop D existe tambm o flip-flop JK, cujo


funcionamento mostrado na tabela 4.8. Note que seu fun112

cionamento assemelha-se ao do latch RS, exceto que a


combinao de entradas (J=1;K=1) no leva a um estado
proibido, mas sim complementao do estado anterior. Da
mesma forma que o flip-flop D, esse flip-flop ativado instantaneamente durante a passagem de uma borda ascendente do sinal de controle. Entre duas bordas ascendentes
consecutivas, o flip-flop mantm o estado anterior.

Tabela 4.8 - Tabela de transio de estados para o flipflop JK disparado pela borda ascendente.

O smbolo do flip-flop JK disparado pela borda ascendente mostrado na Figura 4.19. Tambm nesse smbolo, o
tringulo na entrada de controle indica que a ativao se d
pela borda ascendente.

Figura 4.19 - Smbolo do flip-flop JK disparado pela borda ascendente.

Exemplo 4.9: traar as formas de onda para as sadas


do flip-flop JK que segue, a partir das formas de onda fornecidas.

113

4.4.3 Flip-flops disparados pela borda descendente


Um flip-flop disparado pela borda descendente ativado apenas no instante em que o sinal de controle passa pela
borda descendente. Nesse instante, o flip-flop amostra os
sinais das entradas (D ou J e K), podendo mudar de estado
conforme o valor destas entradas. Entre duas bordas descendentes consecutivas, o flip-flop mantm o estado anterior. As tabelas 4.9 e 4.10 mostram o funcionamento do flipflop D e do flip-flop JK disparados pela borda descendente,
respectivamente.

Tabela 4.9 - Tabela de transio de estados para o flipflop D disparado pela borda descendente.

Tabela 4.10 - Tabela de transio de estados para o


flip-flop JK disparado pela borda descendente.

114

A Figura 4.20 mostra os smbolos do flip-flop D e do


flip-flop JK disparados pela borda descendente. Note a existncia de um crculo antes da entrada de controle, indicando
que os flip-flops so disparados pela borda descendente.

Figura 4.20 - Smbolos para o flip-flop D (a) e para o flip-flop JK (b), ambos disparados pela borda descendente.

Exemplo 4.10: traar as formas de onda para as sadas do


flip-flop D que segue, a partir das formas de onda fornecidas. (Note que o enunciado no diz se o flip-flop
disparado pela borda ascendente ou pela borda descendente, pois essa informao faz parte da interpretao da questo!)

4.4.4 Set e reset assncronos


Nos circuitos seqenciais complexos, muitas vezes
necessrio que se possa colocar todos os flip-flops num estado conhecido, o qual pode ser o estado reset (Q=0) ou o
estado set (Q=1). Entretanto, todos os flip-flops de um circuito seqencial sncrono esto sujeitos ao mesmo sinal de
controle, que normalmente o sinal de relgio, de modo que
qualquer mudana de estado somente pode ocorrer aps
uma borda de relgio. Alm disso, a operao de "resetar"
(i.e., fazer o flip-flop ir para o estado reset) ou "setar" (i.e.,
fazer o flip-flop ir para o estado set) pode no ser banal.
115

A fim de permitir que seja possvel "resetar" ou "setar"


um flip-flop a qualquer tempo, os flip-flops podem ser construdos de modo a possuir um pino de "reset" assncrono
e/ou um pino de "set" assncrono. A denominao "assncrono" refere-se ao fato de que a ao deste pino independente do sinal de controle. Tais pinos so denominados
clear (ou DC reset) e preset (ou DC set).

Ento, para um flip-flop que tenha o pino de clear (ou


DC reset), enquanto este pino estiver ativado, a sada Q do
flip-flop estar estvel com o valor 0, independente dos valores das demais entradas (incluindo a de controle). De modo
similar, para um flip-flop que tenha o pino preset (ou DC
set), enquanto este pino estiver ativado, a sada Q do flipflop estar estvel com o valor 1, independente dos valores
das demais entradas (incluindo a de controle). Alguns flipflops podem possuir ambos pinos (clear e preset). Porm,
no tem sentido ativar ambos simultaneamente.

A ativao dos pinos clear e preset pode se dar por


meio de lgica direta (i.e., nvel lgico 1) ou por lgica complementar (i.e., nvel lgico 0), o que possvel de ser identificado pelo desenho do flip-flop: caso haja um crculo junto
ao pino, a ativao se d com lgica complementar; caso
contrrio, a ativao se d com lgica direta.

Exemplo 4.11. Traar as formas de onda para as sadas do


flip-flop que segue, a partir das formas de onda fornecidas.

Exemplo 4.12. Traar as formas de onda para as sadas do


flip-flop que segue, a partir das formas de onda fornecidas.
116

SAIBA MAIS
Existem

muitos

bons textos e alguns deles esto


listados na Bibliografia colocada ao
final
des.

das

unida-

Outros po-

4.5 WEB-BIBLIOGRAFIA

dem ser encontrados na Internet

www.ufpi.br/uapi (A Pgina da Universidade Aberta do Piau


- UAPI)
www.uab.gov.br (O Site da Universidade Aberta do BrasilUAB)
www.seed.mec.gov.br (A Homepage da Secretaria de Educao a Distncia do MEC - SEED )
www.abed.org.br (O site da Associao Brasileira de Educao a Distncia - ABED)

4.6 REFERNCIAS BIBLIOGRFICAS


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

Unida de 5
ARMAZENAMENTO DE DADOS

Resumo
O objetivo principal desta unidade apresentar os principais
conceitos e circuitos utilizados para armazenar alguns
valores, ou seja, as memrias. Estas memrias podem ser os
registradores, que so memrias rpidas e esto prximas ao
processador do computador, ou tambm podem ser de outros
tipos como apenas de leitura ou de leitura e escrita.
A unidade tambm contm vrios exemplos, e exerccios
resolvidos tentando proporcionar ao leitor o entendimento
pleno dos conceitos envolvidos, alm de serem propostos
vrios exerccios para sedimentar a teoria apresentada.
A forma de apresentao utilizada de acordo com o exigido
para o ensino distncia, ou seja, tendo em vista sempre esta
nova modalidade de ensino.

SUMRIO

UNIDADE 5 ARMAZENAMENTO DE DADOS


5 ARMAZENAMENTO DE DADOS ............................... 120
5.1 Introduo .................................................................. 120
5.2 Registradores ............................................................. 120
5.2.1 Registrador com carga paralela ...................... 122
5.2.2 Registradores de deslocamento ..................... 123
5.2.3 Registrador de deslocamento com sinal de carga
paralela .......................................................... 125
5.2.4 Contador assncrono ....................................... 126
5.3 Memrias .................................................................... 128
5.3.1 Memria RAM (Random-Access Memory).... 129
5.4 SAIBA MAIS ............................................................... 136
5.5 WEB-BIBLIOGRAFIA ................................................. 137
5.6 REFERNCIAS BIBLIOGRFICAS ........................... 137

119

5 ARMAZENAMENTO DE DADOS
5.1 Introduo
Nos sistemas digitais, e em particular nos computadores, as informaes esto representadas por conjuntos de
dgitos binrios denominados "palavras". Nos computadores
atuais o tamanho da palavra de 32, 64 ou 128 bits. Porm,
at h pouco tempo atrs, os computadores pessoais usavam apenas 8 e 16 bits.

Naturalmente, um sistema digital projetado para trabalhar com um determinado tamanho de palavra, devendo
portanto conter recursos de hardware que lhe permitam processar e armazenar simultaneamente conjuntos de n bits,
onde n o tamanho da palavra.

A seguir estudaremos os circuitos digitais responsveis


pelo armazenamento de informao. Alguns destes circuitos
so construdos de modo a tambm poder manipular a informao armazenada. Dentre as operaes possveis esto os deslocamentos ( direita e esquerda), o incremento
e o decremento.

5.2 Registradores
Um registrador um circuito digital formado por n flipflops, de modo a poder armazenar simultaneamente (e de
maneira independente) n bits. Trata-se de um tipo de elemento de armazenamento bsico: um processador possui
um conjunto de registradores que pode variar de trs a algumas dezenas. A existncia de registradores dentro do
processador acelera o processamento, pois os dados que
esto sendo manipulados ficam armazenados prximo dos
recursos de processamento (ULA, por exemplo), o que reduz os acessos feitos memria.. A Figura 5.1 mostra um
registrador de 4 bits feito com flip-flops D (disparados pela
borda ascendente).
120

Figura 5.1 - Um registrador de 4 bits, com carga paralela.

Note que cada flip-flop responsvel pelo armazenamento de um bit, seguindo a notao posicional, e que cada
bit possui um caminho independente dos demais, tanto para
entrada como para a sada. Por isso, o registrador dito "de
carga paralela". Note tambm que o flip-flop de ndice 0 armazena o bit menos significativo e o flip-flop de ndice 3 armazena o bit mais significativo de uma palavra de 4 bits. Um
registrador funciona como uma barreira: os dados disponveis nas entradas D0, D1, D2 e D3 somente sero copiados
quando o sinal de relgio (CK, no caso) passar por uma
borda ascendente. Os valores copiados quando da passagem de uma borda ascendente permanecero armazenados
pelos flip-flops at a ocorrncia da prxima borda ascendente. Isto deixa o registrador imune a eventuais mudanas indesejadas dos sinais representados por D0, D1, D2 e D3. O
valor armazenado num flip-flop qualquer est sempre presente na sua sada Q. Isto quer dizer que o dado armazenado no registrador pode ser consultado por outro recurso de
hardware a qualquer tempo, desde que haja um caminho
fsico (i.e., um conjunto de fios) entre a sada do registrador
e a entrada do outro elemento. O outro elemento pode ser,
por exemplo, um somador/subtrator como na Unidade 3.

O registrador da Figura 5.1 apresenta, porm, uma deficincia grave: toda a vez que o sinal de relgio CK passar
por uma borda ascendente, os valores das entradas D0, D1,
D2 e D3 sero copiados, mesmo que isso no seja explicitamente desejado. Entretanto, os circuitos de um computador
devem seguir as ordens dos sinais provenientes da unidade
de controle. O sinal de relgio serve apenas para determinar
o momento no qual uma ordem dever ser cumprida. Logo,
um registrador de um computador deve possuir recursos
121

capazes de realizar a carga do dado (i.e., a carga paralela


dos sinais conectados as suas entradas) quanto o relgio
passar pela borda ativa somente se o sinal de "carga" (conhecido por "load") estiver ativado. A Figura 5.2 mostra um
registrador de 4 bits com carga paralela e sinal de carga.

Figura 5.2: - Um registrador de 4 bits, com carga paralela e sinal de carga.

Nos desenhos de circuitos digitais mais complexos, ser utilizado preferencialmente o smbolo mostrado na Figura
5.3, ao invs do esquema completo do circuito, a fim de facilitar a compreenso.

Figura 5.3 - Smbolo para um registrador de 4 bits, com carga paralela e


sinal de carga. "Reg" o nome do registrador.

5.2.1 Registrador com carga paralela


Exemplo 5.1. Desenhar a forma de onda da sada Q
para o circuito que segue.

122

Figura 5.4 - Um bit do registrador com carga paralela.

Este exemplo ilustra o funcionamento do circuito associado a um bit de um registrador de carga paralela com sinal
de carga.
5.2.2 Registradores de deslocamento
Uma operao muito importante na aritmtica binria
o deslocamento de bits. Essa operao consiste em deslocar o contedo de um flip-flop para o seu adjacente. A operao

pode se dar da esquerda para a direita (deslocamento


direita) ou da direita para a esquerda (deslocamento esquerda).

No primeiro caso, cada flip-flop recebe o contedo do


seu vizinho imediatamente esquerda. O flip-flop mais
123

esquerda recebe o dado de uma "fonte" externa pela "entrada serial". J o contedo do flip-flop mais direita descartado.

No segundo caso, cada flip-flop recebe o contedo do


seu vizinho imediatamente direita. O flip-flop mais direita
recebe o dado de uma "fonte" externa pela "entrada serial".
J o contedo do flip-flop mais esquerda descartado.

Exemplo 5.2. Traar as formas de onda dos bits armazenados no registrador-deslocador mostrado a seguir, a partir
das formas de onde fornecidas.

Figura 5.5 - Registrador de deslocamento direita de 4 bits (com reset


assncrono): exemplo de funcionamento.

Repare que h uma ligao entre a sada de cada flipflop e a entrada do seu vizinho imediatamente direita (adjacente a direita). O registrador de deslocamento do exemplo 5.2 no possui sinal de carga. Porm, tal sinal normalmente existe, como ser visto mais adiante.
124

Um registrador de deslocamento esquerda deve apresentar uma ligao entre a sada de cada flip-flop e a
entrada do flip-flop imediatamente esquerda. Um tal registrador mostrado na Figura 5.6. Note que a entrada serial
est conectada ao flip-flop mais direita (flip-flop que armazena o bit menos significativo).

Exemplo 5.3. Traar as formas de onda dos bits armazenados no registrador-deslocador mostrado a seguir, a partir
das formas de onde fornecidas.

Figura 5.6 - Registrador de deslocamento esquerda de 4 bits (com


reset assncrono): exemplo de funcionamento.

5.2.3 Registrador de deslocamento com sinal de carga


paralela
Um registrador muito til aquele que, alm de permitir a carga paralela por meio de sinal de carga, ainda permite
deslocamentos direita e esquerda. Isso possvel se, na

125

entrada de cada flip-flop houver um seletor capaz de


escolher de onde vem o dado a ser armazenado no flip-flop
corrente: de uma fonte externa (no caso de uma carga paralela), da direita, da esquerda (no caso de deslocamento) ou
do prprio flip-flop (no caso de simplesmente se querer
manter o contedo inalterado). Um tal registrador mostrado na Figura 5.7.

Figura 5.7 - Um registrador-deslocador de 4 bits com sinal de carga e


reset assncrono.

As operaes possveis para o registrador-deslocador


(tambm conhecido como shift-register) da Figura 5.7 so:
1.
2.
3.
4.

Carga paralela;
Mantm contedo;
Zera o contedo (fazendo-se clear=1);
Desloca direita e desloca esquerda.
E seu funcionamento se d como segue:
Se o sinal clear=1, Q3=Q2=Q1=Q0=0;
caso contrrio, vale a tabela verdade a seguir

5.2.4 Contador assncrono


Um contador (ou incrementador) um registrador que
"conta" em binrio, ou seja, a cada sinal de relgio, o conte126

do do registrador incrementado de uma unidade. Logo,


um registrador contador de 4 bits capaz de contar de 0
(0000) at 15 (1111).

Primeiramente, vejamos como funciona um contador


de um bit.

Exemplo 5.4: traar a forma de onda de Q para o circuito a seguir.

Figura 5.8 - Contador de um bit (com reset assncrono).

Um circuito contador de mais bits possui uma conexo


entre cada flip-flop vizinho, de modo que cada flip-flop de
maior ordem responsvel pela ordem de incremento de
seu vizinho de menor ordem.

Exemplo 5.5. Encontrar as formas de onda para as sadas


dos flip-flops do registrador abaixo.

127

Figura 5.9 - Contador assncrono de 3 bits (com reset assncrono).

5.3 Memrias
Na seo anterior, vimos como so construdos diversos tipos de registradores. Apesar de serem muito rpidos,
os registradores tm capacidade de armazenamento reduzidssima: cada registrador capaz de armazenar somente
uma palavra por vez. Porm, nos sistemas digitais em geral,
e particularmente nos computadores, grandes quantidades
de informao (palavras) devem poder ser armazenadas.
Para tanto, necessrio que o sistema digital possua um
conjunto especfico de circuitos que sejam mais apropriados
ao armazenamento simultneo de um grande nmero de
palavras. Tais circuitos efetivamente existem e so genericamente denominados de memrias.

Do ponto de vista do funcionamento, as memrias podem permitir apenas a consulta (leitura) ao seu contedo ou
podem permitir a consulta (leitura) e a modificao (escrita)
de seu contedo. As memrias que s permitem a leitura
so chamadas de ROMs (Read-Only Memories, que significa memrias de leitura apenas), enquanto que as memrias
que permitem a leitura e a escrita so genericamente denominadas RAMs (Random-Access Memories, que significa
memrias de acesso randmico).

128

O contedo das ROMs pode ser escrito (gravado)


quando da fabricao ou mesmo aps, por um usurio, que
no caso pode ser o fabricante do computador, por exemplo.
A caracterstica principal que uma vez gravadas as informaes na ROM, estas no podero ser modificados, mas
somente consultadas (lidas). J as memrias RAM possuem
circuitos capazes de armazenar as informaes binrias, as
quais podem ser modificadas um nmero indeterminado de
vezes.

Tanto as memrias ROM como as memrias RAM so


fabricadas com a tecnologia CMOS, que alis a mesma
tecnologia de fabricao dos microprocessadores. Porm, o
que origina a diferena de funcionamento entre ROMs e
RAMs o tipo de circuitos utilizados. Na seo que segue,
veremos detalhes de implementao das memrias RAM,
as quais so utilizadas na implementao da memria principal dos computadores.
5.3.1 Memria RAM (Random-Access Memory)
Nesta seo iremos estudar a estrutura fsica das memrias RAM, isto , os circuitos que as compem.

Uma memria RAM organizada como uma matriz de


2n linhas com m bits armazenados em cada linha, perfazendo um total de 2n x m bits. Em geral, n est entre 16 e 32,
enquanto que m pode ser 1, 4, 8, 16 ou 32. A Figura 5.10
ilustra essa organizao matricial. Note que existem 2n linhas, tambm chamadas posies. A cada posio associado um endereo, iniciando pelo endereo 0 (zero). Portanto, so necessrios n bits para decodificar os 2n endereos existentes.

Suponha que se deseje fabricar num nico chip (circuito integrado) uma memria RAM capaz de armazenar 2n x
m bits, seguindo a organizao descrita anteriormente. A
Figura 5.11 mostra duas representaes grficas possveis
para um tal chip. Este chip dever possuir n entradas de
endereo (An-1, , A1,A0), de modo a se poder selecionar
129

uma (e somente uma) dentre todas as 2n posies existentes na matriz. Este chip tambm dever conter m entradas
(In-1, , I1,I0), e m sadas (On-1, , O1,O0), de modo a
permitir a leitura (=consulta) do contedo de uma das 2n
linhas ou a escrita (=gravao) de uma nova informao
numa das 2n linhas da matriz. Como existem duas operaes possveis sobre o contedo da matriz (leitura e escrita),
natural que deva existir uma entrada de seleo de operao. Esta entrada ser denominada RWS (Read/Write Select). Quando RWS=0, a operao a ser realizada ser a
leitura do contedo da posio cujo endereo est presente
na entrada de endereos. O valor lido aparecer na sada
do chip. Quando RWS=1, a operao a ser realizada ser a
escrita da informao binria presente na entrada do chip na
linha cujo endereo est presente na entrada de endereo.
Por fim, deve existir um sinal de habilitao do chip como
um todo (CS - Chip Select). Caso CS=0, o chip est desativado. Caso CS=1, o chip estar realizando a operao especificada pelo valor da entrada RWS.

Figura 5.10 - Organizao de uma memria RAM: linhas e endereos.

130

Figura 5.11 - Representaes grficas possveis para um chip de memria RAM.

O sinal de habilitao do chip, CS, serve para o caso


em que seja necessrio mais de um chip para implementar
a memria do computador.

Quando o nmero de bits a serem armazenados em


cada posio de memria m for pequeno, o chip RAM poder ter as entradas separadas das sadas, conforme representado pelo smbolo da Figura 5.11a. Entretanto, o mais
comum que um mesmo conjunto de pinos do chip sirvam
como entradas e como sadas, situao representada pelo
smbolo da Figura 5.11b. A funo ir depender da operao, selecionada por meio do pino RWS. Esse uso compartilhado reduz o nmero de pinos do chip, tornando-o mais
barato.

Do ponto de vista estrutural, uma memria RAM organizada como uma matriz de elementos bsicos de memria, buffers de entrada e sada e um decodificador de endereos. Como mostrado na Figura 5.12, uma clula de memria (CM) pode ser representada simbolicamente como
sendo constituda por um latch D controlado cuja entrada
est conectada a sada de uma porta E e cuja sada se conecta entrada de um buffer.

Um buffer (driver) pode ter duas funes: reforar o sinal lgico (o que necessrio quando existem muitas portas
131

conectadas a uma mesma sada ou quando o sinal deve


percorrer um fio muito longo) ou servir como uma chave eletrnica que isola fisicamente a sada da entrada (o que serve para disciplinar o acesso de vrios sinais a um mesmo fio
ou barramento).

Quando o sinal de seleo de linha igual a 1, o bit


armazenado no latch passar pelo buffer, ficando disponvel
na sada da clula. Se o sinal de habilitao de escrita tambm valer 1, o valor presente na entrada ser armazenado
no latch. O sinal de habilitao de escrita serve como controle para o latch.

Figura 5.12 - Clula de memria (CM).

A Figura 5.13 mostra um exemplo de memria RAM 4


x 4, constituda por 16 CMs. Para cada acesso memria, o
decodificador de endereos ativa o sinal de seleo de linha
associado ao endereo aplicado as suas entradas, o que
ativa todos os CMs da linha selecionada. Neste momento,
se RWS=1 e CS=1, o novo conjunto de bits ser armazenado nas CMs da linha selecionada. Por outro lado, se RWS=0
e CS=1, os bits que esto armazenados na linha selecionada passaro pelos buffers de sada das respectivas CMs e
pelos buffers de entrada/sada do chip.

A organizao da memria RAM implica em restries


de tempo nas operaes de escrita e leitura. Por exemplo,
132

como o caminho crtico da entrada a sada passa pelo decodificador, as entradas de endereo devem estar estveis
antes de quaisquer outros sinais. Isto significa que durante o
ciclo de leitura mostrado pela Figura 5.14 as entradas de
endereo devero ser fornecidas em t0, seguidas por CS
em t1. Assim, os dados da memria estaro disponveis somente em t2. O atraso t2-t0 denominado tempo de acesso
memria (memory-access time), enquanto que o tempo t2t1 denominado tempo de habilitao da sada (outputenable time). Note que aps os valores das entradas de endereo terem sido modificadas em t3, os dados ainda estaro disponveis at t5. O intervalo t5-t3 denominado tempo
de manuteno da sada (output-hold time). J o intervalo t5t4 denominado tempo de desabilitao da sada (outputdisable time). Como o caminho entre as entradas de endereo e as sadas maior do que o caminho entre CS at as
sadas, o tempo de acesso determina a validade dos dados
sempre que o endereo e CS forem aplicados ao mesmo
tempo. Por outro lado, se o endereo e CS deixarem de ser
vlidos (CS=0, no caso), o tempo de desabilitao determinar a validade dos dados.

Figura 5.13 - Diagrama de blocos de uma memria RAM

133

A Figura 5.15 mostra as restries temporais para o


caso de um ciclo de escrita numa memria RAM. No exemplo, foi assumido que CS e RWS foram aplicados simultaneamente, no instante t1. Como o atraso entre o endereo e
a sada maior do que o atraso entre CS ou RWS e a sada, o endereo deve ser aplicado algum tempo antes, como
por exemplo em t0. O atraso t1-t0 denominado tempo de
preparao do endereo (address setup time). Como cada
CM feita a partir de um latch D controlado com CS fazendo o papel de controle, cada bit do dado na borda de descida de CS (t3) ficar armazenado no respectivo latch. Entretanto, necessrio que o dado esteja estvel por algum
tempo antes e depois da borda de descida de CS para garantir a escrita. Na Figura 5.15 esses tempos so anotados
como tempo de preparao do dado (data setup time) e
tempo de manuteno do dado (data hold time), sendo definidos respectivamente como t3-t2 e t4-t3.
Tambm importante ressaltar que CS ou RWS devem ter uma durao igual ou maior que o intervalo de tempo t3-t1, o qual denominado durao do pulso de escrita
(write-pulse- width). Alm disso, o endereo deve estar vlido por algum tempo aps a borda de descida de RWS ou
CS. Este tempo chamado tempo de manuteno do endereo (address-hold time), e definido como t5-t3.

Figura 5.14 - Ciclo de leitura em uma memria RAM.

134

Figura 5.15 - Ciclo de escrita em uma memria RAM.

Apesar da CM ter sido representada como sendo constituda por um latch D e duas portas, na prtica sua fabricao pode ser levada a cabo com estruturas mais simples,
que utilizam menos transistores. A forma de implementao
de CMs leva a classificao das memrias RAM em estticas e dinmicas. No caso da RAM esttica (conhecida por
SRAM, static RAM), a CM feita com 6 transistores, onde
quatro deles formam dois inversores conectados em lao de
realimentao, fazendo o papel do latch D. No lugar da porta E e do buffer de sada h um transistor (para cada um, no
caso), o qual serve como chave de liga-desliga. A memria
SRAM capaz de manter seu contedo por tempo indeterminado, desde que este a alimentao no seja interrompida. No caso da memria dinmica (conhecida por DRAM,
dynamic RAM), cada CM implementada com somente um
transistor. A desvantagem deste tipo de RAM que o contedo da CM perdido aps a operao de leitura, devendo
ser reescrito. Para piorar, devido s imperfeies do processo de fabricao, o contedo da CM s se mantm por um
curto perodo de tempo. Estes dois problemas so contornados pela utilizao de um mecanismo de reflash construdo dentro da memria, o qual periodicamente refora o contedo de cada linha de CMs. Durante a operao de reflash,
as operaes de leitura e escrita so suspensas, o que reduz o desempenho deste tipo de memria.

As memrias DRAM apresentam uma densidade muito


grande, o que se traduz em maiores capacidades de armazenamento. Elas tambm apresentam um custo bem redu135

zido. Devido a estas duas caractersticas, as DRAMs so


muito utilizadas no projeto de produtos eletrnicos.

Por outro lado, as memrias SRAM so mais caras e


apresentam menores capacidades de armazenamento. Porm, so mais velozes do que as memrias DRAM, sendo
portanto apropriadas para os casos em que a quantidade de
dados a serem armazenados no grande e uma velocidade maior de operao necessria.

As memrias SRAM e DRAM so ditas memrias volteis, pois, uma vez interrompido o fornecimento de energia,
elas perdem seu contedo. J as memrias ROM so ditas
no volteis, pois no perdem seu contedo quando o fornecimento de energia interrompido. As memrias ROM
tem uma organizao semelhante s memrias RAM (matriz
de CMs com decodificador de endereo e buffers de sada).
Porm, a CM de uma ROM bem mais simples, normalmente constituda por um nico transistor ou diodo, o qual
pode ser conFigurado uma vez para permitir o acesso ao 0
lgico (=0V) ou ao 1 lgico (de 5V a 1,5 V, conforme a tecnologia). Nos computadores, as memrias ROM servem
para armazenar todas as conFiguraes bsicas que jamais
sero alteradas, como por exemplo, as rotinas de entrada e
sada (denominadas de ROM-BIOS, nos computadores tipo
PC).

SAIBA MAIS
Existem muitos bons textos e alguns deles
esto listados na Bibliografia colocada ao
final das unidades. Outros podem ser encontrados na Internet .

136

5.4 WEB-BIBLIOGRAFIA
www.ufpi.br/uapi (A Pgina da Universidade Aberta do Piau
- UAPI)
www.uab.gov.br (O Site da Universidade Aberta do BrasilUAB)
www.seed.mec.gov.br (A Homepage da Secretaria de Educao a Distncia do MEC - SEED )
www.abed.org.br (O site da Associao Brasileira de Educao a Distncia - ABED)

5.5 REFERNCIAS BIBLIOGRFICAS


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

137