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 re-
presentao 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 proces-
sam 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 combinacio-


nais, onde os resultados dependem apenas dos valores de su-
as 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 NUMRI-


CAS

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 siste-


mas 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 re-
presentar 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 ape-
nas 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 repre-
senta o nmero 15.

Nesta unidade, sero estudadas as formas como os da-


dos so representados, destacando a representao binria.
Os dados encontrados nos sistemas digitais podem ser classi-
ficados 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 conve-
nientemente interpretadas pelos valores 0 e 1 de um dgito bi-
nrio (bit = binary digit).

9
1.2 Notao posicional

Todos os sistemas numricos utilizados pelo ser humano


so posicionais. Em um sistema posicional, cada dgito possui
Quando que um peso associado. o que conhecido como valor relativo
111 igual a 7?
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, on-


de 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 corres-
pondente potncia da base:

10
Para um nmero qualquer, o dgito mais direita refe-
renciado 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 no-
decimal, 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 mes-
mo, s trocando os pesos que devem ser potncias de b. Por
exemplo, para encontrar o valor decimal do nmero 23415 de-
ve-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 repre-
sentar 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 numri-
co 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 po-
tentes. No entanto isto fica para o
futuro e no momento os sistemas
mais utilizados so o sistema bin-
rio e o hexadecimal. Por este moti-
vo, 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 sig-
nifica 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, jun-


tamente com seus equivalentes em binrio, octal e hexadeci-
mal. 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

0 0 0 0

1 1 1 1

2 10 2 2

3 11 3 3

4 110 4 4

5 101 5 5

6 110 6 6

7 111 7 7

8 1000 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

14 1110 16 E

15 1111 17 F

16 10000 20 10

17 10001 21 11

J a Tabela 1.2 mostra os inteiros de 0 a 17 com as re-


presentaes binrias de seus equivalentes no sistema octal,
decimal e hexadecimal. Deve ser observado que as represen-
taes 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.

Octal codifi- Decimal codi- Hexadecimal


Binrio cado em bi- ficado em bi- codificado em
nrio nrio binrio
0 000 0000 0000
1 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 separam-


se os dgitos em grupos de 3, a partir do ponto binrio para a
esquerda, substituindo-se cada grupo pelo dgito octal corres-
pondente. Por exemplo:

100111001012 = 010 011 100 1012 = 23458

14
Para converter-se um nmero em binrio para hexadeci-
mal, 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 es-


querda, para que todos os grupos tivessem 3 dgitos, no caso
da converso direta binrio-octal, e 4 dgitos, no caso da con-
verso direta binrio-hexadecimal.

A converso no sentido oposto tambm bastante sim-


ples. Substitui-se cada dgito octal ou hexadecimal pelo conjun-
to 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 repre-


sentado numa determinada base para outra base simplesmen-
te 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 dividen-
do o quociente obtido na diviso anterior. Este processo conti-
nua 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 repre-


sentao 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 representa-
o;
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 seguin-
te forma:

4 3 2 1 0
30 3010 = 1x2 + 1x2 + 1x2 + 1x2 + 0x2 = 111102
2

0 15 2

1 7 2

1 3 2

1 1

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 corre-
to.

1.2.2.2 Nmeros fracionrios

Tambm possvel converter nmeros decimais fracion-


rios em binrios. Vamos explicar isto com um exemplo.

Exemplo 1.4. Vamos converter o nmero decimal 23,37510 pa-


ra a base 2.

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


23, inteiro, j sabemos realizar. 2310 = 101112. Vamos nos de-
dicar frao 0,375. O processo prtico consiste na multiplica-
o 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 pri-


meiro dgito e continuamos o processo. 0,750x2=1,500; sepa-
ramos o 1 e continuamos. 0,500x2=1,000. Separamos o 1 e,

17
neste ponto, o processo termina porque a parte fracionria en-
contrada nula.

Assim 23,37510 = 10111,0112

Exerccio. Converter o nmero 345,14610 para a base 2 e veri-


fique 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 Y S=X+Y carry
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

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 0 0
001 1 0
010 1 0
011 0 1
100 1 0
101 0 1
110 0 1
111 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 entan-
to, 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 Y D=X-Y borrow

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

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 0 0
001 1 1
010 1 1
011 0 1
100 1 0
101 0 0
110 0 0
111 1 1

O procedimento para subtrao semelhante ao de adi-


o: 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 bor-
row 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, produ-
zindo 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 co-


mo nmeros sem sinal. No entanto, para se representarem
nmeros negativos, necessria a utilizao de alguma nota-
o. 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 trans-
formada 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 signifi-


ca 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 subtra-


o entre uma potncia de 2 e o nmero N. Esta subtrao
feita de forma otimizada. uma vez que isto pode ser consegui-
do apenas trocando os bits 0 por 1 e os bits 1 por 0 e soman-
do-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 ou-
tra subtrao entre um nmero e uma potncia da base do sis-
tema. 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 se-


guinte:

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 (n = 5)
10110
+10101
---------
101011

Neste caso, houve carry bit, logo despreza-se e o resulta-


do (01011)2 = 1110

Exemplo 2. Faa a subtrao 710 11810.

A B = (0000111)2 (1110110)2 (n = 7)
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 re-


presentao em complemento de 2 usando operaes de com-
plemento.

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


troduo aos Sistemas Digitais. Porto Alegre: Bookman, 2002
(ISBN: 85-7307-698-4)

UYEMURA, John. Sistemas digitais: Uma Abordagem Integra-


da. 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 LGI-


COS

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 representa-
das por uma lgebra Booleana com dois valores.
Uma lgebra Booleana definida com um conjunto de
George
operadores e um conjunto de axiomas, que so assumidos
Boole
Diferentemente da lgebra ordinria dos reais, onde as va-
riveis podem assumir valores no intervalo (-;+), as vari-
veis 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 po-
dem 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 fun-


es bsicas. So elas: operao OU, operao E e com-
plementao. 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 re-


sulta 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
Um smbolo utilizado para representar a operao OU
+, como o smbolo da adio algbrica (dos reais). Po-
rm, 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 ope-
rao OU, tem-se:

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

Note que a operao OU definida para duas vari-


veis, 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 A+B
0 0 0
0 1 1
1 0 1
1 1 1

A tabela verdade pode ser tambm utilizada para re-


presentar uma expresso booleana envolvendo mais de du-
as 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 A+B+C

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

importante notar que, devido ao fato de haver so-


mente 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. Es-
ta propriedade conhecida como associativa. Tambm a
ordem em que so avaliadas as variveis A, B e C irrele-
vante (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.

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


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

30
2.2.2 Operao E (multiplicao lgica)

A operao E, ou multiplicao lgica entre dois ope-


randos resulta 0 se pelo menos uma das variveis de entra-
da for 0 e ser 1 todas as entradas valerem 1.

O smbolo usualmente utilizado na operao E .,


porm outra notao possvel . Listando as possibilida-
des 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 com-


portamento da equao A. B (l-se A e B), escreve-se uma
tabela verdade, como segue:

A B A.B
0 0 0
0 1 0
1 0 0
1 1 1

De forma semelhante, pode-se determinar o resultado


da equao A.B.C (A e B e C) utilizando diretamente a defi-
nio da operao E: o resultado ser 0 se pelo menos uma
das variveis de entrada valer 0.

31
A B C A.B.C
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1

Tambm para a operao E valem as propriedades


associativa e comutativa. Ento, a equao A.B.C pode ain-
da 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.C A.B (A.B).C B.C A . (B.C)


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

2.2.3 Complementao (negao ou inverso)

A complementao a operao cujo resultado sim-


plesmente o valor complementar ao que a varivel apresen-
ta. Se o valor de uma varivel for 0, o seu complemento se-
r 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 nota-

32
o (A) pela dificuldade do editor Word. O resultado da ope-
rao complementao pode ser listado:

0 = 1
1 = 0

Diferentemente das operaes OU e E, a complemen-


tao s definida sobre uma nica varivel, ou sobre o
resultado de uma expresso. Ou seja, o operador comple-
mentao unrio. A tabela verdade para a complementa-
o 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 fun-
o se comporta para qualquer combinao das variveis
de entrada. O comportamento de uma funo descrito pe-
la 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 basi-
camente de um conjunto de colunas, nas quais so listadas
todas as combinaes possveis entre as variveis de en-
trada ( esquerda) e o resultado da funo ( direita). Tam-
bm, pode-se criar colunas intermedirias, onde so listados
os resultados de sub-expresses contidas na expresso
principal. Isto normalmente facilita a avaliao, principal-
mente 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 prece-
dncia. Tal como na lgebra dos reais, a multiplicao (lgi-
ca) tem precedncia sobre a adio (lgica). Alm disso,

33
expresses entre parntesis tm precedncia sobre opera-
dores E e OU que estejam no mesmo nvel. Quanto com-
plementao, esta deve ser avaliada to logo seja possvel.
Caso a complementao seja aplicada sobre uma sub-
expresso 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 n-
mero 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 apa-


rea complementada na equao e anotar os valores re-
sultantes;

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 vari-
veis 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 valo-
res para Z. Aps, inicia-se a avaliao propriamente dita, a
partir do nvel mais interno de parntesis. Como no h pa-
rntesis 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 co-
luna para X . Y, na qual anotam-se os resultados para este
produto. Finalmente, utilizam-se os resultados de X.Y, lista-
dos 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 so-
mente que este termo j foi avaliado e que no passo refe-
rente a esta coluna, tomaram-se apenas os valores previa-
mente encontrados.

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

2.4 Portas lgicas

por uma equao ou detalhada pela sua tabela verda-


de. Mas uma funo Booleana tambm pode ser represen-
tada de forma grfica, onde cada operador est associado a
um smbolo especfico, permitindo o imediato reconhecimen-
to visual. Tais smbolos so conhecidos por portas lgicas.

Na realidade, mais do que smbolos de operadores l-


gicos, as portas lgicas representam recursos fsicos, isto ,
circuitos eletrnicos, capazes de realizar as operaes lgi-
cas. Na eletrnica que trabalha com somente dois estados,
a qual denominada eletrnica digital, o nvel lgico 0 nor-
malmente est associado ausncia de tenso (0 volt) en-
quanto o nvel lgico 1, presena de tenso (a qual geral-
mente 5 volts). Nesta disciplina, nos limitaremos ao mundo
da lgebra Booleana, admitindo que as portas lgicas re-
presentam tambm circuitos eletrnicos que, de alguma
maneira, realizam as funes Booleanas simbolizadas. En-
to, 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 en-
tradas (b).

2.4.2 Portas AND (E)

O smbolo da porta E mostrado na Figura 2.2. es-


querda esto dispostas as entradas (no mnimo duas, obvi-
amente) 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 entra-
das (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, obvia-
mente, uma sada. Caso se queira complementar uma ex-
presso, necessrio obter-se primeiramente o seu resulta-
do, 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 de-


senhar-se o circuito lgico que a implementa. O circuito lgi-
co composto das portas lgicas relacionadas s opera-
es 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 dese-


nho do circuito lgico a partir de uma equao so pratica-
mente os mesmos usados na avaliao da expresso. To-
memos 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 sub-
expresses, 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. A+0=A
2. A+1=1
3. A+A=A
4. A + A = 1

Da multiplicao lgica:

5. A.0=0
6. A.1=A

38
7. A.A=A
8. 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 comple-


mentao 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 pri-


meiro, 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 (2.3)
(A + B) = A . B (2.4)

2.5 Derivao de expresses booleanas

Dada uma funo Booleana, descrita por sua tabela


verdade, derivar uma expresso Booleana para esta funo
encontrar uma equao que a descreva. Logo, a deriva-
o de expresses Booleanas o problema inverso da ava-
liao de uma expresso Booleana.

H basicamente duas maneiras de se definir (ou des-


crever) uma funo Booleana: descrevendo-se todas as si-
tuaes 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 produ-
to de somas (PdS). Qualquer funo Booleana pode ser
descrita por meio de soma de produtos ou por meio de pro-
duto de somas. Como as funes Booleanas s podem as-
sumir 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 po-
dem 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 cons-
trudo 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 pro-
duto associados a cada combinao de entradas para uma
funo Booleana de trs variveis (A, B e C, por exemplo).

40
ABC Mintermos
000 A. B. C
001 A. B. C
010 A. B . C
011 A. B . C
100 A . B .C
101 . B . C
110 A . B . C
111 A.B.C

Cada termo produto construdo conforme a regra ante-


riormente descrita denominado mintermo (ou minitermo).
Note que, para um dado mintermo, se substituirmos os valo-
res das variveis associadas, obteremos 1. Porm, se subs-
tituirmos nesse mesmo mintermo quaisquer outras combi-
naes 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 as-
sociados 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 verda-
de:
ABC F
000 0
001 0
010 1
011 1
100 0
101 1
110 1
111 0

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 produ-
tos 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 rees-
crita 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 to-
das as variveis da funo esto presentes, e que cons-
trudo 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 so-
ma associados a cada combinao de entradas para uma
funo Booleana de trs variveis, A, B e C.

ABC Maxtermos
000 A+B+C
001 A + B + C
010 A + B+ C
011 A + B + C
100 A + B + C
101 A + B + C
110 A + B + C
111 A + B + C

Exemplo 2.2. Encontrar a equao em produto de somas


(PdS) para a funo F, descrita pela seguinte tabela verda-
de:

42
ABC F
000 0
001 0
010 1
011 1
100 0
101 1
110 1
111 0

Foi escolhida a mesma funo do exemplo anterior, pa-


ra que se possa estabelecer comparaes entre os dois m-
todos 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 avali-
ada, 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 pro-
dutos e o produto de somas, descritos nas duas sees an-
teriores, apresentam ainda uma caracterstica bastante par-
ticular: em cada termo soma e em cada termo produto todas
as variveis da funo esto presentes. Devido a essa ca-
racterstica, essas formas so chamadas cannicas.
Alm das representaes descritas nas sees anterio-
res, 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 de-
cimal 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 fun-
o de trs variveis (A, B e C).

ABC Mintermo Maxtermo


000 m0 M0
001 m1 M1
010 m2 M2
011 m3 M3
100 m4 M4
101 m5 M5
110 m6 M6
111 m7 M7

Voltando funo F das sees anteriores, podemos


reescrever a expresso em soma de produtos, na forma ca-
nnica, 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 ca-


nnica, 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 digi-
tais. O nmero de elementos (portas lgicas e conexes) de
um circuito lgico depende diretamente do nmero de ope-
raes 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 po-
der-se implement-la com circuitos lgicos mais simples, e
portanto, de menor custo. A reduo do nmero de opera-
es obtida mediante a eliminao de literais da expres-
so, 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 simplifica-


o 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 pro-
priedade (14). Os mintermos ABC e ABC, por exemplo,
possuem os mesmos literais, exceto pela varivel C: no pri-
meiro, o literal C , enquanto no segundo, o literal C. En-
to, 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. Substitu-


indo 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 ex-


presso em soma de produtos que mais simples em rela-
o a sua expresso em soma de produtos na forma canni-
ca, 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 n-
mero de operaes, sendo portanto, de mesma complexida-
de. 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 l-
gebra 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) Boolea-
nas 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 pro-


priedade (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 apa-
rea 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 agru-
pados 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 ex-
presso 2.15 uma soma de produtos simplificada (porm,
no-mnima). Logo, toda equao mnima simplificada,
porm, nem toda equao que foi simplificada necessari-
amente mnima.

Embora a equao mnima em soma de produtos apre-


sente menor nmero de operaes Booleanas que a repre-
sentao 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 fato-
rao 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 compreen-
so do desenho:

as variveis de entrada devem ser identificadas pre-


ferencialmente esquerda, junto aos respectivos fi-
os;
inversores devem ser providos para as variveis que
aparecem negadas na equao;
as portas que implementam as operaes Boolea-
nas 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 (ca-


nnica ou simplificada), h um primeiro nvel (desconside-
rando-se possveis inversores), constitudo somente por por-
tas 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 gran-
de), como se fosse uma sol-
da. Logo, quando no h o
referido ponto na interseo
de fios, significa que tais fios
esto eletricamente isola-
dos.

Figura 2.5 - Um circuito lgico para soma de produtos.

O circuito da Figura 2.5 pode ainda ser desenhado utili-


zando-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 cr-
culo junto a cada entrada de cada porta na qual h uma va-
rivel negada. Veja a Figura 2.6 abaixo.

48
Figura 2.6 - Um circuito lgico para soma de produtos - outra pos-
svel representao.

No caso de equaes na forma produto de somas (ca-


nnica ou simplificada), o primeiro nvel constitudo por
portas OU, sendo cada uma responsvel por uma das so-
mas 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 e-
quao 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 calcu-
lada somando-se o nmero de entradas das portas. Nos cir-
cuitos 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 en-
tradas 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 normal-
mente 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 condu-
zem 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 rela-
tiva tambm inclui o nmero de entradas de cada porta. En-
to, a maneira mais segura de saber se o circuito associado
forma fatorada de menor complexidade ou no dese-
nh-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 ma-


pas de Karnaugh
O mtodo de simplificao apresentado at aqui tem
aplicao limitada, principalmente quando se tem um nme-
ro 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 expli-
cado nas prximas sub-sees. Todo o processo se baseia Maurice Karnaugh
(4 de outubro de 1924)
na simplificao de mintermos adjacentes.
foi um fsico america-
no que se tornou fa-
Definio. Em uma expresso booleana na forma de moso pela criao dos
soma de produtos, dois ou mais mintermos so adjacentes mapas de Karnaugh
se existir, em todos eles, uma ou mais variveis em comum. utilizados na lgebra
Estas ocorrncias comuns tero que ser obrigatoriamente na Booleana.
mesma forma, ou seja ou todas na forma natural ou todas na
Ele estudou Matemti-
forma complementar. Por exemplo, na expresso AB + AB, ca e Fsica no City
os mintermos AB e AB so adjacentes porque a varivel A College of New York
ocorre em ambos mintermos. Esta ocorrncia implica em (1924-1928) e foi
que a varivel B pode ser eliminada facilmente utilizando os transferido para a U-
teoremas da Lgica Booleana, da seguinte forma: AB + AB niversidade de Yale
= A(B + B) = A. Neste caso, apenas uma varivel foi elimi- para completar seu
Bacharelado (1949),
nada, mas podem acontecer casos em que mais de uma
seu Mestrado (1950) e
varivel pode ser eliminada. seu PhD em Fsica
com uma Tese intitu-
Como outro exemplo, na expresso ABCD + ABCD lada The Theory of
+ ABCD + ABCD todos os mintermos so adjacentes por- Magnetic Resonance
que as variveis B e D ocorrem em todos eles. Neste caso, and Lambda-Type
ABCD + ABCD + ABCD + ABCD = (AC + AC + AC + Doubling in Nitric-
Oxide (1952).
AC)BD = ((A(C + C) + A(C + C))BD = (A + A)BD =BD.
Ou seja, duas variveis so eliminadas. A quantidade de Karnaugh trabalhou na
variveis que sero eliminadas na simplificao exatamen- Bell Labs (1952-1966)
te a quantidade de mintermos adjacentes, sem considerar desenvolvendo os ma-
mintermos repetidos. pas de Karnaugh
(1954) e tambm de-
senvolveu patentes
2.8.1 Mapas de Karnaugh para duas variveis para a PCM na rea de
Codificao de Circui-
Para expresses booleanas com apenas duas vari- tos Lgico-
veis, o mapa de Karnaugh bastante simples, porque uma Magnticos. Depois
expresso booleana deste tipo s apresenta os mintermos ele trabalhou na Fede-
ral Systems Division
m0 = AB, m1 = AB, m2 = AB e m3.= AB. Cada mintermo
da IBM em Gaithers-
tem seu local fixo, onde ele apresenta um valor 1 ou 0. Isto burg (1966 70) e na
pode ser verificado na figura a seguir
B B B B
A AB AB A m0 m1
ou
A AB AB A m2 m3

52
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 ex-
presses 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:

B B
A 0 1

A 1 1

A etapa seguinte consiste em agrupar os mintermos de


valor 1 e que sejam adjacentes. Neste caso,

B B B B
A 0 1 A 0 1
e
A 1 1 A 1 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 adja-
cente ao mintermo m1 e m2 e, por este motivo, ele agru-
pado com cada um destes. Isto justificado pela proprieda-

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

B B
A 0 1
f(A,B) = A + B
A 1 1

2.8.2 Mapas de Karnaugh para trs variveis

Para expresses booleanas com 3 variveis, a aparn-


cia do mapa-K a seguinte.

B B

A ABC ABC ABC ABC

A ABC ABC ABC ABC

C C C

ou em forma de mintermos:

B B

A m0 m1 m3 m2

A m4 m5 m7 m6

C C C

Os agrupamentos mximos so 4 mintermos, mas po-


dem ser de 2 mintermos tambm. Os mintermos sem adja-
centes sero considerados isolados. Neste caso, os agrupa-
mentos possvels de 4 mintermos so:

54
B B

A m0 m1 m3 m2

A m4 m5 m7 m6

C C C

que igual a B, ou

B B

A m0 m1 m3 m2

A m4 m5 m7 m6

C C C

que igual a C, ou ainda

B B

A m0 m1 m3 m2

A m4 m5 m7 m6

C C C

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

B B

A m0 m1 m3 m2

A m4 m5 m7 m6

C C C

55
que igual a A, ou ainda pode acontecer o agrupa-
mento a seguir que igual a A.

B B

A m0 m1 m3 m2

A m4 m5 m7 m6

C C C

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 min-
termo 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 resul-
tante C.

B B

A m0 m1 m3 m2

A m4 m5 m7 m6
Va- mos veri-
ficar um C C C exemplo.

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 minter-


mos-1 adjacentes entre si. Cada grupo de mintermos-1 ori-
ginar um produto, conforme indicado na Figura 2.13. A e-
quao 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

C C

ABCD ABCD ABCD ABCD B


A
ABCD ABCD ABCD ABCD
B
ABCD ABCD ABCD ABCD
A
ABCD ABCD ABCD ABCD B

D D D

Os mapas de Karnaugh para 4 variveis apresentam o


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

57
16 mintermos em um nico grupo, ou seja, a expresso boo-
leana igual a 1, ou pode-se fazer agrupamentos de 8 min-
termos, de 4 mintermos ou de 2 mintermos. Os agrupamen-
tos de 8 mintermos eliminam 3 variveis, os de 4 eliminam 2
e os de 2 eleiminam 1 varivel. Ou em termos de minter-
mos:

C C

m0 m1 m3 m2 B
A
m4 m5 m7 m6
B
m12 m13 m15 m14
A
m8 m9 m11 m10 B

D D D
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 mai-


or nmero de elementos possvel, iniciando com o
tamanho 2n, onde n o nmero de variveis da fun-
o. 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 agru-


pamento, caso isso resulte em uma simplificao mai-
or;

2. Um ltimo teste para verificar se a expresso obtida


realmente a mnima consiste em verificar se algum a-
grupamento pode ser removido, sem deixar algum min-
termo descoberto. Um agrupamento que poder ser re-
movido sem descobrir mintermos dito subcubo no-
essencial. 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 vari-
veis.

C C C C
As reas onde de
m0 m1 m3 m2 B m0 m1 m3 m2 B mintermos adjacentes po-
A A
m4 m5 m7 m6 m4 m5 m7 m6
dem conter at 16 minter-
B B mos. Neste caso, o valor
m12 m13 m15 m14 m12 m13 m15 m14 da funo 1. Estas reas
A A tambm podem conter 8
m8 m9 m11 m10 m8 m9 m11 m10
B B mintermos adjacentes, que
D D D D D D
so os seguintes, mostra-
dos na figura a seguir.

C C C C

m0 m1 m3 m2 B m0 m1 m3 m2 B
A A
m4 m5 m7 m6 m4 m5 m7 m6
B B
m12 m13 m15 m14 m12 m13 m15 m14
A A
m8 m9 m11 m10 B m8 m9 m11 m10 B

D D D D D D

59
C C C C

m0 m1 m3 m2 B m0 m1 m3 m2 B
A A
m4 m5 m7 m6 m4 m5 m7 m6
B B
m1 m13 m1 m1 m1 m1 m1 m14
A A
m8 m9 m1 m1 B m8 m9 m1 m10 B

D D D D D D

C C C C

m0 m1 m3 m2 B m0 m1 m3 m2 B
A A
m4 m5 m7 m6 m4 m5 m7 m6
B B
m1 m13 m1 m1 m1 m1 m1 m14
A A
m8 m9 m1 m1 B m8 m9 m1 m10 B

D D D D D D

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 C
0 1 1 1 B
A
0 1 1 0
B
1 1 1 0
A
1 1 1 0 B
D D D

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

C C
0 1 1 1 B
A
0 1 1 0
B
1 1 1 0
A
1 1 1 0 B
D D D

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 for-
marem a quadra AC, Esta forma de agrupamento prefer-
vel porque anula-se mais uma varivel na expresso final.
Neste caso teremos o agrupamento mostrado na figura a
seguir.

C C
0 1 1 1 B
A
0 1 1 0
B
1 1 1 0
A
1 1 1 0 B
D D D

Finalmente, o mintermo m2 o ltimo a ser considera-


do. Verificamos que ele est isolado mas ele adjacente ao
mintermo m3 e portanto deve ser agrupado a este para for-
mar o subcupo ABC, apesar do mintermo m3 j estar agru-
pado em outro subcubo. A figura final a seguinte:

61
C C
0 1 1 1 B
A
0 1 1 0
B
1 1 1 0
A
1 1 1 0 B
D D D

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 apre-


sentam a necessidade, por parte do usurio, de que ele te-
nha 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 fun-
es com 5 variveis o mapa-K tem a seguinte aparncia:

D D D D

ABC- ABC- ABC- ABC- C ABC- ABC- ABC- ABC- C


B B
ABC- ABC- ABC- ABC- ABC- ABC- ABC- ABC-
A C A C
ABC- ABC- ABC- ABC- ABC- ABC- ABC- ABC-
B B
ABC- ABC- ABC- ABC- C ABC- ABC- ABC- ABC- C

E E E E E E

ou em termos de mintermos,

62
D D D D

m m m3 m2 C m1 m1 m1 m1 C
B B
m m m7 m6 m2 m2 m2 m2
A C A C

m1 m1 m1 m1 m2 m2 m3 m3
B B
m m9 m1 m1 C m2 m2 m2 m2 C

E E E E E E

A dificuldade surge porque o mapa do lado esquerdo


dever ser posto sobre o mapa do lado direito para determi-
nar os mintermos adjacentes.

Mapas com mais de 5 variveis tambm podem ser uti-


lizados 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 especi-


ficada pela descrio de seus mintermos-1. Mas como foi
solicitada a expresso em produto de somas, uma vez mon-
tado 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 pa-


ra essa funo.

2.9 SAIBA MAIS

Existem muitos bons textos e alguns deles esto lista-


dos na Bibliografia colocada ao final da Unidade 2. Outros
esto na Internet disposio . Estes esto listados a se-
guir.

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 Brasil-
UAB)
www.seed.mec.gov.br (A Homepage da Secretaria de Edu-
cao a Distncia do MEC - SEED )
www.abed.org.br (O site da Associao Brasileira de Edu-
cao 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 Educa-
tion (a McGraw-Hill Company), 2000 (ISBN texto: 0-07-
012591-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 Benja-


min/Cummings Publishing Company, Inc. , 1994 (ISBN: 0-
8053-2703-7)

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


Eletrnica Digital. 40. Edio. Editora rica Ltda. So Pau-
lo, 2008.

UYEMURA, John. Sistemas digitais: Uma Abordagem Inte-


grada. 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 conjun-


to de portas lgicas as quais determinam os valores das sa-
das 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 Boolea-
nas. 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 Fi-
gura 3.1 mostra o diagrama de blocos genrico de um circui-
to combinacional.

Figura 3.1 - Diagrama genrico de um circuito combinacional.

Um circuito seqencial, por sua vez, emprega elemen-


tos de armazenamento denominados latches e flip-flops, a-
lm de portas lgicas. Os valores das sadas do circuito de-
pendem dos valores das entradas e dos estados dos latches
ou flip-flops utilizados. Como os estados dos latches e flip-
flops funo dos valores anteriores das entradas, diz-se
que as sadas de um circuito seqencial dependem dos valo-
res 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 gen-
rico para circuitos seqenciais conhecido como modelo de

68
Mealy. Circuitos seqenciais sero objeto de estudo da pr-
xima 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 descre-
vem suas sadas. Uma vez encontradas tais equaes, po-
de-se obter a tabela verdade, caso esta seja necessria.
importante certificar-se que o circuito seja realmente combi-
nacional 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 equa-


es 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 circui-
to);

2. A partir da esquerda, e seguindo a ordem de precedncia


determinada pelas ligaes, determinar as equaes as-

69
sociadas a cada varivel, at que as equaes de todas
as sadas tenham sido encontradas.

Uma vez determinadas as equaes das sadas, a


montagem da tabela verdade ser direta, havendo uma co-
luna 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 sa-
das 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 especi-


ficao do problema e culmina no diagrama do circuito (ou
no conjunto de equaes que o descrevem). Um procedi-
mento 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 bi-


nrio de 3 bits e determina se este nmero menor ou igual
a 3. Usar somente portas NAND de duas entradas e inverso-
res.

Chamemos a funo que representa a sada do circuito


de menor. Denominando de A2A1A0 aos 3 bits que com-
pem 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.

1 1 1 1

0 0 0 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). A-
71
lm das operaes lgicas e aritmticas como adio, sub-
trao complementao, existem ainda outras funes ne-
cessrias 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 decodifica-
dores, respectivamente, e so tambm circuitos combinacio-
nais. 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 compo-
nentes. 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 entra-


das 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 en-
trada 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 sa-
das.

O circuito de um decodificador 3:8 ter, portanto, 8 sa-


das, 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 Figu-
ra 3.3b mostra um circuito possvel para o mesmo decodifi-
cador, 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 habili-
tao. Esta entrada tem a funo de habilitar ou desabilitar
seu funcionamento. Assim, se esta entrada valer 0, nenhu-
ma sada estar ativada, independente dos valores das de-
mais 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 en-
trada de habilitao valer 1. A lgica de habilitao poderia
ser negada, ou seja, habilita se a entrada de habilitao va-
ler 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, inde-
pendentemente 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 decodifica-
dor e a Figura 3.4b mostra uma possvel implementao
(circuito lgico).

Figura 3.4: smbolo (a) e diagrama (b) de um decodificador 2x4 com en-
trada 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 se-
letor 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 vari-


veis 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 produ-
tos, 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 Fi-


gura 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 ope-


raes 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 in-
gls) 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 circui-
to que implementa a adio de trs bits (dois bits significati-
vos 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 comple-

76
to. O somador completo um circuito aritmtico bsico a
partir do qual todos os outros circuitos aritmticos so cons-
trudos.

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 adi-


o o valor 2, que em binrio necessita de dois dgitos pa-
ra 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 repre-
senta 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, deve-
mos montar uma tabela verdade para as sadas S e Cout
utilizando-se os valores que resultam da adio de dois dgi-
tos 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 bin-


rios que possuem mais de um dgito cada ocorrer transporte
diferente de zero para a soma de um par de dgitos interme-
dirios, 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 resul-
tado 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) denomi-
nado somador completo (full adder, em ingls). Apesar da
entrada Cin normalmente receber o transporte proveniente
da soma imediantamente anterior (carry in, em ingls), a ri-
gor 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 com-


pleto 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, con-
forme 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 ad-
der 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 pa-
ra 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 ca-


da 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

A F(A,B,C,D)
C

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 comple-
to do dgito seguinte (i+1). A Figura 3.10 mostra uma repre-
sentao de bloco possvel para o somador completo da Fi-
gura 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 va-


lores A e B fornecido ao circuito somador, as ltimas 2 sa-
das que se estabilizam so S3 e C4 , uma vez que estas de-
pendem 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 cascatea-
dos). 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 associ-
adas 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 a-


presentado 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 represen-
taria a necessidade de um hardware mais complexo, e pos-
sivelmente mais caro e mais lento, a representao em
complemento de dois dominantemente utilizada nos com-
putadores atuais.

Figura 3.12 - Somador/subtrator de 4 bits.

Operaes possveis para o somador/subtrator da Figu-


ra 3.12.

3.5.4 O multiplicador

A multiplicao de nmeros binrios realizada da


mesma maneira como a de nmeros decimais. O multipli-
cando multiplicado por cada bit do multiplicador, comean-
do do bit menos significativo. Cada uma destas multiplica-
es 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 Fi-
gura abaixo:

Figura 3.13 Multiplicador de 2 bits.

Os bits do multiplicando so B1 e B0, os bits do multipli-


cador so A1 e A0 e o produto M3M2M1M0. O primeiro pro-
duto 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 mul-
tiplicao 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 somado-
res 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 mul-
tiplicando em tantos nveis quanto existam bits no multiplica-
dor. 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, se-


ro 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 es-
t 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 sa-
das deve se dar em lgica negada.

Exerccio 3.3 - Reprojete o decodificador do exerccio ante-


rior 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 lista-


dos na Bibliografia colocada ao final da Unidade 2. Outros
esto na Internet disposio . Estes esto listados a se-
guir.

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 Brasil-
UAB)
www.seed.mec.gov.br (A Homepage da Secretaria de Edu-
cao a Distncia do MEC - SEED )
www.abed.org.br (O site da Associao Brasileira de Edu-
cao 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. McGraw-


Hill, 1982.

BROWN, Stephen; VRANESIC, Zvonko. Fundamentals of


Digital Logic with VHDL Design, McGraw-Hill Higher Educa-
tion (a McGraw-Hill Company), 2000 (ISBN texto: 0-07-
012591-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 Benja-


min/Cummings Publishing Company, Inc. , 1994 (ISBN: 0-
8053-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 combi-
nacional 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 fo-
ram 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 circui-


to seqencial. Um circuito seqencial composto por um
circuito combinacional e elementos de memria. As entra-
das e as sadas do circuito seqencial esto conectadas
somente ao circuito combinacional. Os elementos de mem-
ria so circuitos capazes de armazenar informao codifica-
da em binrio. Algumas das sadas do circuito combinacio-
nal 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 informa-
o binria das entradas que, juntamente com a informao
do estado atual, determinam os valores das sadas e os va-
lores 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 assncro-


no 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 ele-
mentos de memria utilizados nos circuitos seqenciais as-
sncronos 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 cir-
cuito combinacional com realimentao. O projeto de circui-
tos com realimentao apresenta grandes dificuldades, uma

92
vez que seu funcionamento correto dependente das carac-
tersticas temporais dos componentes (portas lgicas e fios).
A principal dificuldade provm do fato de que os componen-
tes apresentam atrasos que no so fixos, podendo ser dife-
rentes 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 espe-


cial 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 l-
gico um. O tempo que decorre para o sinal se repetir de-
nominado 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 se-


gundo: ms (milissegundo = 10-3s), s (microssegundo = 10-

93
6s), ns (nanossegundo = 10-9s) e ps (picossegundo = 10-
12s). 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 po-
de ser calculado por:

Num circuito seqencial sncrono, o sinal de relgio de-


termina quando os elementos de memria iro amostrar os
valores nas suas entradas. Conforme o tipo de circuito utili-
zado 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 amostra-
gens sucessivas equivale a T, o perodo do relgio. Isto im-
plica que, qualquer mudana no estado de um circuito se-
qencial sncrono ir ocorrer somente aps a borda do sinal
de relgio na qual seus elementos de memria so dispara-
dos. A Figura 4.3 mostra o diagrama de blocos de um circui-
to seqencial sncrono.

Os elementos de memria utilizados nos circuitos se-


qenciais 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 en-
tradas no so intercambiveis: uma reservada ao sinal
de controle (relgio) e a outra recebe o dado (bit) a ser ar-

94
mazenado. As sadas correspondem ao dado (bit) armaze-
nado 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 esta-
do 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 fa-
am mudar de estado. Essa conFigurao depende de co-
mo 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 flip-
flop estar armazenando ou o valor lgico 1 (um) ou o valor
lgico 0 (zero), pois esses so os dois valores possveis pa-
ra uma varivel Booleana.

95
4.3 Latches

Os vrios flip-flops existentes se diferenciam pelo n-


mero 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 constru-
o 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 sa-
da 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, circui-
tos que possuem algum tipo de realimentao so ditos se-
qenciais, 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 manei-
ra 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 sen-
do 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 des-


te latch foram aplicados os valores R=0 e S=0 s suas en-
tradas 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 al-
teraro imediatamente. Logo, para efeitos de anlise, po-
demos 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 entra-
das, fazendo com que sua sada, que a sada Q do circui-
to, 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 Figu-
ra 4.5.

Suponhamos agora que a seqncia de valores apli-


cados 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 a-
ps 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 Figu-
ra 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 com-
plementares. justamente por esse motivo que elas rece-
bem 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 situ-
ao (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 apli-
cado o vetor (R=0;S=0), o latch no muda o seu estado. Fi-
nalmente, pode-se afirmar que a aplicao do vetor
(R=0;S=0) no muda o estado em que o latch est. Por ou-
tro lado, o vetor (R=1;S=1) deve ser evitado, por conduzir a
um estado proibido. Essas informaes podem ser resumi-
das 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 depen-
dncia temporal.

Tabela 4.2 - Tabela de transio de estados para o lat-


ch RS.

100
A Tabela 4.2 lista os valores possveis para as entra-
das nas colunas mais esquerda, admitindo que esses va-
lores esto sendo aplicados no instante presente t. Para
cada situao de entradas, o novo valor da sada (e portan-
to, 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 tam-


bm ser expresso por meio de um diagrama denominado
diagrama de estados. Sendo o latch RS um circuito seqe-
cial, 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 es-


to 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 com-
pleto 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 sa-


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

4.3.2 O latch RS controlado

No latch RS, cujo funcionamento foi descrito na subse-


o 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 varia-
es no desejadas, sendo vlidos somente em alguns in-
tervalos 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 aprimora-


mento 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 lat-


ch RS controlado.

O diagrama de estados para o latch RS controlado


muito semelhante ao diagrama do latch RS, conforme mos-
tra a Figura 4.10. Apenas as condies para troca ou manu-
teno de estado so diferentes: no caso do latch RS con-
trolado, 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 proibi-


do um detalhe que dificulta o projeto de circuitos seqen-
ciais 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 surgi-
mento do estado proibido (Figura 4.12). Desta forma, a tabe-
la 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 de-
saparecem: uma que resultava na manuteno do estado e
outra que resultava no estado proibido. A tabela de transi-
o 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 lat-


ch 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 ativa-


o 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 ativa-
o pela simples insero de um inversor antes da entrada
de controle. Assim, um latch com lgica de ativao com-
plementar (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. Re-
pare 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 lat-


ch RS controlado com lgica de ativao negada.

Tabela 4.6 - Tabela de transio de estados para o lat-


ch 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 controla-


Os latches e os flip-flops
dos D e RS so ativados ou controlados pelo nvel lgico do
so muito parecidos. Qual
sinal de controle. Isso significa que, enquanto o sinal de a verdadeira diferena
controle estiver ativando o latch, eventuais variaes das entre eles?
entradas D ou R e S sero percebidas pelo latch e este po-
der mudar de estado. Essa caracterstica particularmente
imprpria para a construo de circuitos seqenciais sncro-
nos, uma vez que em tais circuitos qualquer troca de estado
deve ocorrer de maneira sincronizada com o sinal de rel-
gio.

Os flip-flops so circuitos derivados dos latches, porm


ativados pela transio do sinal de controle (i.e., pela bor-
da). Isso faz com que um flip-flop permanea ativado ape-
nas 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. En-
tre 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, con-
forme 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
4.4.1 Flip-flop D mestreescravo

O flip-flop D mestre-escravo composto por dois lat-


ches D conectados em cascata, conforme mostra a Figura
4.15: o primeiro chamado de mestre e o segundo cha-
mado de escravo. O sinal de controle externo est conecta-
do 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 facil-


mente que os dois latches funcionam de maneira comple-
mentar com relao ao sinal de controle externo: enquanto o
controle vale 1, o mestre est ativado e o escravo est man-
tendo 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 mes-
tre-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 amos-
trado 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 for-
mas de onda fornecidas.

110
4.4.2 Flip-flops disparados pela borda

Um flip-flop disparado pela borda (tambm referencia-


do por sensvel borda) ignora o sinal de controle enquanto
este se encontra estvel num dos dois nveis lgicos. Po-
rm, quando o sinal de controle passa por uma transio, o
flip-flop disparado pela borda fica ativado por um breve ins-
tante 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 flip-
flop D disparado pela borda ascendente.

Na tabela anterior, o smbolo indica que a ativao do


flip-flop instantnea e s ocorre durante as bordas ascen-
dentes 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 fun-

112
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 ins-
tantaneamente durante a passagem de uma borda ascen-
dente 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 flip-


flop JK disparado pela borda ascendente.

O smbolo do flip-flop JK disparado pela borda ascen-


dente 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 forne-
cidas.

113
4.4.3 Flip-flops disparados pela borda descendente

Um flip-flop disparado pela borda descendente ativa-


do 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 des-
cendentes consecutivas, o flip-flop mantm o estado anteri-
or. As tabelas 4.9 e 4.10 mostram o funcionamento do flip-
flop D e do flip-flop JK disparados pela borda descendente,
respectivamente.

Tabela 4.9 - Tabela de transio de estados para o flip-


flop 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 exis-
tncia 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), am-
bos 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 forneci-
das. (Note que o enunciado no diz se o flip-flop
disparado pela borda ascendente ou pela borda descenden-
te, pois essa informao faz parte da interpretao da ques-
to!)

4.4.4 Set e reset assncronos

Nos circuitos seqenciais complexos, muitas vezes


necessrio que se possa colocar todos os flip-flops num es-
tado conhecido, o qual pode ser o estado reset (Q=0) ou o
estado set (Q=1). Entretanto, todos os flip-flops de um circui-
to 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 cons-
trudos de modo a possuir um pino de "reset" assncrono
e/ou um pino de "set" assncrono. A denominao "assn-
crono" refere-se ao fato de que a ao deste pino inde-
pendente 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 valo-
res 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 flip-
flop estar estvel com o valor 1, independente dos valores
das demais entradas (incluindo a de controle). Alguns flip-
flops 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 com-
plementar (i.e., nvel lgico 0), o que possvel de ser iden-
tificado 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 al-
guns deles esto
listados na Biblio-
grafia colocada ao
final das unida-
des. Outros po- 4.5 WEB-BIBLIOGRAFIA
dem ser encon-
www.ufpi.br/uapi (A Pgina da Universidade Aberta do Piau
trados na Internet
- UAPI)
www.uab.gov.br (O Site da Universidade Aberta do Brasil-
UAB)
www.seed.mec.gov.br (A Homepage da Secretaria de Edu-
cao a Distncia do MEC - SEED )
www.abed.org.br (O site da Associao Brasileira de Edu-
cao 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. McGraw-


Hill, 1982.

BROWN, Stephen; VRANESIC, Zvonko. Fundamentals of


Digital Logic with VHDL Design, McGraw-Hill Higher Educa-
tion (a McGraw-Hill Company), 2000 (ISBN texto: 0-07-
012591-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 Benja-


min/Cummings Publishing Company, Inc. , 1994 (ISBN: 0-
8053-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 computado-


res, 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 usa-
vam apenas 8 e 16 bits.

Naturalmente, um sistema digital projetado para tra-


balhar com um determinado tamanho de palavra, devendo
portanto conter recursos de hardware que lhe permitam pro-
cessar 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 in-
formao armazenada. Dentre as operaes possveis es-
to os deslocamentos ( direita e esquerda), o incremento
e o decremento.

5.2 Registradores

Um registrador um circuito digital formado por n flip-


flops, de modo a poder armazenar simultaneamente (e de
maneira independente) n bits. Trata-se de um tipo de ele-
mento de armazenamento bsico: um processador possui
um conjunto de registradores que pode variar de trs a al-
gumas 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 re-
duz 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 armazena-


mento 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 ar-
mazena o bit menos significativo e o flip-flop de ndice 3 ar-
mazena o bit mais significativo de uma palavra de 4 bits. Um
registrador funciona como uma barreira: os dados dispon-
veis 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 passa-
gem de uma borda ascendente permanecero armazenados
pelos flip-flops at a ocorrncia da prxima borda ascenden-
te. Isto deixa o registrador imune a eventuais mudanas in-
desejadas dos sinais representados por D0, D1, D2 e D3. O
valor armazenado num flip-flop qualquer est sempre pre-
sente na sua sada Q. Isto quer dizer que o dado armazena-
do 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 de-


ficincia 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 explicita-
mente 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" (co-
nhecido 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 car-


ga.

Nos desenhos de circuitos digitais mais complexos, se-


r utilizado preferencialmente o smbolo mostrado na Figura
5.3, ao invs do esquema completo do circuito, a fim de faci-
litar 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 asso-


ciado 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 deslo-
car o contedo de um flip-flop para o seu adjacente. A ope-
rao

pode se dar da esquerda para a direita (deslocamento


direita) ou da direita para a esquerda (deslocamento es-
querda).

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 "entra-
da serial". J o contedo do flip-flop mais direita descar-
tado.

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 armazena-


dos 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 flip-


flop e a entrada do seu vizinho imediatamente direita (ad-
jacente a direita). O registrador de deslocamento do exem-
plo 5.2 no possui sinal de carga. Porm, tal sinal normal-
mente existe, como ser visto mais adiante.

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

Exemplo 5.3. Traar as formas de onda dos bits armazena-


dos 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 permi-


tir 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 para-
lela), 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 mostra-
do 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. Carga paralela;
2. Mantm contedo;
3. Zera o contedo (fazendo-se clear=1);
4. 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 conte-

126
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 cir-


cuito 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 diver-


sos tipos de registradores. Apesar de serem muito rpidos,
os registradores tm capacidade de armazenamento reduzi-
dssima: 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 generi-
camente denominados de memrias.

Do ponto de vista do funcionamento, as memrias po-


dem 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 signifi-
ca memrias de leitura apenas), enquanto que as memrias
que permitem a leitura e a escrita so genericamente deno-
minadas 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 infor-
maes 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 prin-
cipal dos computadores.

5.3.1 Memria RAM (Random-Access Memory)

Nesta seo iremos estudar a estrutura fsica das me-


mrias RAM, isto , os circuitos que as compem.

Uma memria RAM organizada como uma matriz de


2n linhas com m bits armazenados em cada linha, perfazen-
do 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 li-
nhas, tambm chamadas posies. A cada posio asso-
ciado um endereo, iniciando pelo endereo 0 (zero). Por-
tanto, so necessrios n bits para decodificar os 2n endere-
os existentes.

Suponha que se deseje fabricar num nico chip (circui-


to 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 existen-
tes 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 opera-
es possveis sobre o contedo da matriz (leitura e escrita),
natural que deva existir uma entrada de seleo de opera-
o. Esta entrada ser denominada RWS (Read/Write Se-
lect). 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 desati-
vado. Caso CS=1, o chip estar realizando a operao es-
pecificada 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 mem-
ria 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 pode-
r ter as entradas separadas das sadas, conforme repre-
sentado 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 opera-
o, selecionada por meio do pino RWS. Esse uso comparti-
lhado reduz o nmero de pinos do chip, tornando-o mais
barato.

Do ponto de vista estrutural, uma memria RAM or-


ganizada como uma matriz de elementos bsicos de mem-
ria, buffers de entrada e sada e um decodificador de ende-
reos. Como mostrado na Figura 5.12, uma clula de me-
mria (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 co-
necta entrada de um buffer.

Um buffer (driver) pode ter duas funes: reforar o si-


nal 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 ele-
trnica que isola fisicamente a sada da entrada (o que ser-
ve 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 tam-
bm valer 1, o valor presente na entrada ser armazenado
no latch. O sinal de habilitao de escrita serve como con-
trole 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 armazena-
do nas CMs da linha selecionada. Por outro lado, se RWS=0
e CS=1, os bits que esto armazenados na linha seleciona-
da 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 de-
codificador, 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 so-
mente em t2. O atraso t2-t0 denominado tempo de acesso
memria (memory-access time), enquanto que o tempo t2-
t1 denominado tempo de habilitao da sada (output-
enable time). Note que aps os valores das entradas de en-
dereo terem sido modificadas em t3, os dados ainda esta-
ro disponveis at t5. O intervalo t5-t3 denominado tempo
de manuteno da sada (output-hold time). J o intervalo t5-
t4 denominado tempo de desabilitao da sada (output-
disable time). Como o caminho entre as entradas de ende-
reo 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 determi-
nar 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 exem-
plo, foi assumido que CS e RWS foram aplicados simulta-
neamente, no instante t1. Como o atraso entre o endereo e
a sada maior do que o atraso entre CS ou RWS e a sa-
da, 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 fazen-
do o papel de controle, cada bit do dado na borda de desci-
da de CS (t3) ficar armazenado no respectivo latch. Entre-
tanto, necessrio que o dado esteja estvel por algum
tempo antes e depois da borda de descida de CS para ga-
rantir 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 defi-
nidos respectivamente como t3-t2 e t4-t3.

Tambm importante ressaltar que CS ou RWS de-


vem ter uma durao igual ou maior que o intervalo de tem-
po t3-t1, o qual denominado durao do pulso de escrita
(write-pulse- width). Alm disso, o endereo deve estar vli-
do por algum tempo aps a borda de descida de RWS ou
CS. Este tempo chamado tempo de manuteno do ende-
reo (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 cons-


tituda por um latch D e duas portas, na prtica sua fabrica-
o 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 estti-
cas 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 por-
ta 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 indeter-
minado, desde que este a alimentao no seja interrompi-
da. 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 con-
tedo da CM perdido aps a operao de leitura, devendo
ser reescrito. Para piorar, devido s imperfeies do proces-
so de fabricao, o contedo da CM s se mantm por um
curto perodo de tempo. Estes dois problemas so contor-
nados pela utilizao de um mecanismo de reflash constru-
do dentro da memria, o qual periodicamente refora o con-
tedo de cada linha de CMs. Durante a operao de reflash,
as operaes de leitura e escrita so suspensas, o que re-
duz o desempenho deste tipo de memria.

As memrias DRAM apresentam uma densidade muito


grande, o que se traduz em maiores capacidades de arma-
zenamento. Elas tambm apresentam um custo bem redu-

135
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. Po-
rm, 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 velocida-
de maior de operao necessria.

As memrias SRAM e DRAM so ditas memrias vol-


teis, 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 for-
necimento 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, normal-
mente 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 tec-
nologia). 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 en-
contrados 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 Brasil-
UAB)
www.seed.mec.gov.br (A Homepage da Secretaria de Edu-
cao a Distncia do MEC - SEED )
www.abed.org.br (O site da Associao Brasileira de Edu-
cao 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. McGraw-


Hill, 1982.

BROWN, Stephen; VRANESIC, Zvonko. Fundamentals of


Digital Logic with VHDL Design, McGraw-Hill Higher Educa-
tion (a McGraw-Hill Company), 2000 (ISBN texto: 0-07-
012591-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 Benja-


min/Cummings Publishing Company, Inc. , 1994 (ISBN: 0-
8053-2703-7)

137

You might also like