You are on page 1of 27

1

Cincia da Computao




Circuitos Digitais





Teoria de circuitos digitais usando portas
lgicas
ntroduo a lgebra de Boole
mplementao e simplificao de circuitos
lgicos com portas lgicas



2

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 (0) e uns (1). Esta representao conseguida usando dois
nveis discretos de Tenso eltrica. Estes nveis so frequentemente
representados por L e H (do ingls low - baixo - e high - alto -, respectivamente).
Os computadores, tele mveis, Leitores de DVD, so alguns exemplos de
aparelhos que baseiam a totalidade, ou parte, do seu funcionamento em circuitos
digitais.

Portas Lgicas

Portas lgicas so dispositivos, ou circuitos lgicos, que operam um ou mais
sinais lgicos de entrada para produzir uma e somente uma sada, dependente
da funo implementada no circuito. So geralmente usadas em circuitos
eletrnicos; o comportamento das portas lgicas conhecido pela tabela
verdade que apresenta os estados lgicos das entradas e das sadas.
No incio da era da eletrnica, todos os problemas eram resolvidos por sistemas
analgicos, isto , sistemas lineares. Apenas em 1938, o engenheiro americano
Claude Elwood Shannon utilizou as teorias da lgebra de Boole para a soluo
de problemas de circuitos de telefonia com rels, tendo publicado um trabalho
denominado Symbolic Analysis of Relay and Switching, praticamente
introduzindo na rea tecnolgica o campo da eletrnica digital. Esse ramo da
eletrnica emprega em seus sistemas um pequeno grupo de circuitos bsicos
padronizados conhecidos como Portas Lgicas.
Uma funo Booleana tambm pode ser representada de forma grfica, onde
cada operador est associado a um smbolo especfico, permitindo o imediato
reconhecimento visual. Tais smbolos so conhecidos por portas lgicas.
Na realidade, mais do que smbolos de operadores lgicos, as portas lgicas
representam recursos fsicos, isto , circuitos eletrnicos, capazes de realizar as
operaes lgicas. Na eletrnica que trabalha com somente dois estados, a qual
denominada eletrnica digital, o nvel lgico 0 normalmente est associado
ausncia de tenso (0 volt) enquanto o nvel lgico 1, presena de tenso (a
qual geralmente 5 volts).
3

As portas lgicas so geralmente indicadas por seu nome em ingls. As portas
lgicas, seus correspondentes na lgica matemtica, bem como sua simbologia
pela norma ANS E EC so apresentadas na tabela a seguir:

4

Funo AND (E): Assume valor 1 quando todas as variveis forem iguais a 1 e
assume valor zero nos outros casos possveis.
Funo OR (OU): Assume valor 0 quando todas as variveis forem iguais a 0 e
assume valor 1 nos outros casos.
Funo NOT (NO) NVERSOR: nverte a varivel aplicada a sua entrada.
Funo NAND (NE): nverso da funo E.
Funo NOR (NOU): nverso da funo OU.
Funo XOR (OU EXCLUSVO): Assume valor 1 quando as variveis assumirem
valores diferentes entre si.
Funo XNOR (NOU EXCLUSVO): Assume valor 1 quando houver coincidncia
entre os valores das variveis.

lgebra Booleana
A lgebra de Boole um conjunto de postulados e operaes lgicas com
variveis binrias desenvolvido pelo matemtico e filsofo ingls George Boole
(1815-1864).
George Boole foi o primeiro a definilas como parte de um sistema de lgica em
meados do sculo XX.
A lgebra booleana foi uma tentativa de utilizar tcnicas algbricas para lidar
com expresses no clculo proposicional.
Hoje, as lgebras booleanas tm muitas aplicaes na eletrnica. Foram pela
primeira vez aplicaas a interruptores por !laue "hannon, no s#culo $$.%
Tambm conhecida como lgebra de Boole.
Na matemtica e na cincia da computao, as lgebras booleanas so
estruturas algbricas que "capturam a essncia" das operaes lgicas E, OU e
NO, bem como das operaes da teoria de conjuntos soma, produto e
complemento. Ela tambm o fundamento da matemtica computacional,
baseada em nmeros binrios.
5

A lgebra Booleana de dois elementos tambm utilizada no c em engenharia
eltrica; aqui 0 e 1 representam os dois diferentes estados de um bit em um
circuito digital, tipicamente alta e baixa voltagem.
Os circuitos so descritos por expresses contendo variveis, e as tais duas
expresses so iguais para todos os valores das variveis se e somente se o
circuito correspondente tiver o mesmo comportamento de entrada-sada.

frequente serem simplesmente escritos como E, OU ou NO (so mais
comuns os seus equivalentes em ingls: AND, OR e NOT).
Na descrio de circuitos tambm podem ser utilizados NAND (NOT AND), NOR
(NOT OR) e XOR (OR exclusivo).
Os matemticos usam com frequncia + para OU e . para E (visto que sob alguns
aspectos estas operaes so anlogas adio e multiplicao noutras
estruturas algbricas) e representam NO com uma linha traada sobre a
expresso que est a ser negada.
Outra notao comum, com ^ (ou ^ para browsers que no suportam esse
caracter) para E, V (ou v) para OU, e (ou ~) para NO.
Variveis
Uma varivel booleana representa um dgito binrio, ou seja, s pode ter os
valores 0 ou 1. Matematicamente pode-se dizer que o domnio de uma varivel
o conjunto B = {0, 1} e uma varivel genrica X elemento desse conjunto, X
pertence a B.
6

So comuns, para os valores 0 e 1, as designaes &also e veraeiro,
respectivamente.

Operaes Bsicas
As operaes fundamentais da lgebra de Boole tm semelhana com
operaes aritmticas comuns, inclusive alguns smbolos so idnticos, mas no
so necessariamente coincidentes:

1) Operao OU
2) Operao E
3) Operao !O

0 interpretado como "falso" e 1 "verdadeiro


Opera"o OU
similar adio comum, mas a correspondncia no plena.
Smbolo usual o mesmo da adio.
Exemplo:
X = A + B (l-se X igual a A ou B).
Um outro smbolo, comum em linguagem de programao, a barra vertical (X
= A | B).

Opera"o E
similar multiplicao comum e h correspondncia, como poder ser visto
adiante. Smbolo usual o mesmo da multiplicao.
Exemplo:
X = A B (l-se X igual a A e B).
Muitas vezes, tambm de forma semelhante lgebra comum, o sinal de ponto
suprimido: X = AB.
O e comercial (&) um smbolo usado em algumas linguagens (X = A & B).
Opera"o !O
7

Tambm denominada negao ou complemento, pode ser considerada similar
ao negativo da lgebra comum.
Entretanto, no h correspondncia plena porque a lgebra de Boole no usa
sinal negativo. Smbolo usual uma barra acima (ou antes) da varivel.
Exemplo:
X = (l-se X igual a no A). Alguns outros smbolos so o sinal de exclamao
(X = !A) e o apstrofo (X = A').
Os postulados da lgebra de Boole definem os resultados das operaes bsicas
informadas no tpico anterior.

Postulados
Postulados da opera"o OU
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1
'lgumas re&erncias escrevem postulaos a ai(o. )as lembrar *ue # i(o
booleana, n(o e*uivale plenamente + ai(o comum plenamente + ai(o
comum por*ue, para esta ,ltima, - . - eve ser /.%

Postulados da opera"o E
0 0 = 0
0 1 = 0
1 0 = 0
1 1 = 1
0m algumas re&erncias, s(o enominaos postulaos a multiplica(o. 1otar
*ue h e*uivalncia plena com a multiplica(o comum.%

Postulados da opera"o !O
-0 = 1
-1 = 0


8

E#erc$cio:
2mitino as emonstraes, algumas ientiaes poem ser euzias a partir
os postulaos acima3

a4 5a opera(o 26
$ . / 7 8
$ . - 7 8
$ . $ 7 8
b4 5a opera(o 0
$ 9 / 7 8
$ 9 - 7 8
$ 9 $ 7 8
c4 5a opera(o 1:2
; ; $ 7 8

%olu"o&
a4 5a opera(o 26
$ . / 7 $
$ . - 7 -
$ . $ 7 $
$ . $ 7 -
b4 5a opera(o 0
$ 9 / 7 /
$ 9 - 7 $
$ 9 $ 7 $
$ 9 $ 7 /
c4 5a opera(o 1:2
; ; $ 7 $

Propriedades e 'eore(as
)* Propriedade co(utativa
A + B = B + A
A B = B A
9

+* Propriedade associativa
A + (B + C) = A + (B + C) = A + B + C
A (B C) = A (B C) = A B C

,* Propriedade distributiva
A (B + C) = AB + AC

-* 'eore(as de .organ


/* Outras 0gualdades
1 2 1 3 B 4 1
1 2 1 3 B 4 1 2 B
51 2 B* 3 51 2 C* 4 1 2 B 3 C
6un"o Booleana
Uma funo matemtica genrica de conjunto X para um conjunto Y, f:XY,
pode ser entendida com uma regra que define um elemento nico y e Y para
cada elemento x e X. A notao prtica mais comum y = f(x). Pode-se tambm
dizer que a funo faz um mapeamento de x para y.
O Conjunto X denominado do($nio da funo e o conjunto Y o seu co7
do($nio.
Seja agora o conjunto das variveis booleanas B
n
= {0, 1}. Se existem n variveis,
o conjunto de todas as combinaes possveis simbolizado por B (produto
cartesiano).
Uma funo booleana o conjunto de todas as funes que o mapeamento de
m variveis de entrada para n variveis de sada:
F: B
m
B
n.
10

Na prtica, pode-se dizer que uma funo que estabelece uma relao entre
um conjunto de m variveis de entrada com um conjunto de n variveis de sada.


Desde que os valores das variveis so discretos (apenas 0 e 1), o mapeamento
da funo pode ser apresentado em forma tabular, denominada tabela de
verdade da funo. O quadro Tab 01 d um exemplo para trs entradas e duas
sadas.
E#e(plo
Uma expresso booleana para a rede lgica da fig. 1.1 (X1X2 + X3)' X3.

Fig. 1.1





11

Conclus"o&
A lgebra booleana importante na cincia computacional.
Uso da tabela verdade nas expresses algbricas.
O conhecimento da lgebra booleana fundamental para compreender o
comportamento dos circuitos.
E8ua"o
Para a obteno do circuito a partir da equao necessrio lembrar da ordem
de prioridade das operaes: parnteses, e, ou.
Exemplos (usando apenas portas de duas entradas)


12

Para a obteno da equao a partir do circuito, inicia-se a anlise prximo s
entradas e escreve-se a equao de sada de cada porta lgica, at obter a
equao de sada final do circuito.

E#e(plos

2s parnteses nas e*uaes intermeirias, na sa<a e caa porta l=gica,
servem para garantir a prioriaes corretas as operaes na e*ua(o Final.
2bserve *ue nos e>emplos ?a4 e ?c4 h parnteses ispensveis.
"e voc @souber o *ue est &azenoA, poe suprimi;los j nas e*uaes
intermeirias.

E8ua"o 9 tabela verdade
Lembre que a tabela verdade quem descreve o too o funcionamento lgico
de um circuito digital combinacional, ou too o comportamento de uma equao
lgica. Assim, a tabela verdade deve contemplar todas as possibilidades de
entrada do circuito/equao e cada sada correspondente. As entradas devem
ser organizadas na forma de uma contagem binria crescente. Uma tabela
verdade de um circuito/equao de trs variveis, por exemplo, possui oito
linhas, pois este o nmero de combinaes possveis dos estados (apenas
dois: 0 ou 1) das 3 variveis. Matematicamente: a tabela verdade de uma funo
lgica de n variveis tem B
n
linhas (23 = 8). A seguir so apresentados trs
mtodos para a obteno da tabela verdade de um circuito ou de uma equao.

13

.:todo )
Decompor a equao em operaes menores e obter as sadas de cada
operao menor em colunas auxiliares, at obter a sada final. Caso seja dado o
Circuito e no a equao, obter a equao correspondente e ento aplicar o
mtodo.
E#e(plo


.:todo +
Substituir cada possibilidade de entrada na equao e obter o resultado. Caso
seja dado o circuito e no a equao, obter a equao correspondente e ento
aplicar o mtodo.

E#e(plo



14

.:todo ,
Aplicar cada possibilidade de entrada no circuito e obter a sada. Caso seja dada
a equao e no o circuito, obter o circuito correspondente e ento aplicar o
mtodo.

E#e(plo



E#erc$cio
Desenhe o circuito lgico para a equao F = X (Y + ; )

Passo 1: Desenhar a porta inversora que implementa Z.

Passo 2: Desenhar a porta "OU que implementa (Y + ; ).

Passo 3: Desenhar a porta "E que implementa X (Y + ; ).


15

E#presses Boolenas Obtidas de Circuitos Lgicos
Todo circuito lgico executa uma expresso booleana e, por mais complexo que
seja, formado pela interligao das portas lgicas bsicas.
Podemos obter a expresso booleana que executada por um circuito lgico
qualquer. Para o procedimento, vamos obter a expresso que o circuito da figura
abaixo executa:

Vamos dividir o circuito em 2 partes:

Na sada S1, teremos o produto A.B, pois sendo este bloco uma porta E, sua
expresso se sada ser: S1 = A.B. Como S injetada em uma das entradas da
porta OU pertencente segunda parte do circuito e na outra entrada est a
varivel C, a expresso de sada ser S = S1 + C.
Para determinarmos a expresso final, basta agora, substituirmos a expresso
de S1 na expresso acima, obtemos ento:
S = A . B + C que a expresso que o circuito executa.
Uma outra maneira mais simples para resolvermos o problema, a de
escrevermos nas sadas dos diversos blocos bsicos do circuito, as expresses
por este executadas. A figura abaixo ilustra este procedimento:
16


S = A . B + C

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

Tabela 01.

1 parntesis (dos mais internos para os mais externos);
2 operaes E;
3 operaes OU.
17


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


Um circuito lgico.
E#erc$cios
1 Escreva a expresso booleana executada pelo circuito da figura abaixo:


Vamos, agora, escrever as expresses de sada de cada bloco bsico do circuito:

S = (A + B) . (C + D)
2 Determine a expresso booleana caracterstica do circuito da figura abaixo:

18





Seguindo o processo descrito, temos:

S = A . B + C + C . D
dem, para figura acima:

O crculos colocados nas terminais de entrada junto s portas, representam
tambm inversores.
19

Solucionando, temos:


4 Qual a expresso executada pelo circuito da figura abaixo:

Resoluo:

20

%i(pli<ica"o de circuitos Lgicos
Uma vez obtida a expresso de um circuito lgico podemos ser capazes de
reduzi-la a uma forma mais simples, que contenha um menor nmero de termos
ou variveis em um ou mais termos da expresso. Esta nova expresso pode
ser usada para implementar um circuito que equivalente ao circuito original,
mas que contm um menor nmero de portas e conexes.
Para exemplificar, o circuito da figura 1-1 (a) pode ser simplificado para produzir
o circuito da figura 1-1 (b). Uma vez que os circuitos implementam a mesma
lgica, obvio que um circuito mais simples mais desejvel porque contm um
menor nmero de portas e portanto ser menor e mais barato do que o circuito
original. Alm disso, a confiabilidade ser melhorada porque existe um menor
nmero de ligaes, diminuindo assim uma das causas potenciais de falhas no
circuito.
Como exemplo citarei dois mtodos utilizados para simplificar circuitos lgicos.
Um dos mtodos faz o uso dos teoremas da lgebra de booleana e, como
veremos, bastante dependente da inspirao e da experincia. O outro mtodo
(o mapa Karnaungh) tem uma abordagem mais sistemtica com instrues
passo a passo. Algumas pessoas podem querer omitir este mtodos porque ele
bastante mecnico e provavelmente no contribui para uma melhor
compreenso da lgebra booleana. sto pode ser feito sem alterar a continuidade
ou clareza do restante do texto.

Fig. 1.1 (a) e (b) - Geralmente possvel simplificar um circuito lgico, como o
que aparece em (a), e produzir uma implementao mais eficiente, mostrado em
(b).
21

%i(pli<ica"o 1lg:brica
Podemos usar os teoremas da lgebra booleana, para ajudar a simplificar
expresses para um circuito lgico. nfelizmente, nem sempre bvio qual o
teorema deve ser aplicado de modo a produzir o resultado mais simples. Alm
disso, no existe um modo fcil de constatar se a expresso obtida est em sua
forma mais simples ou se poderia ser ainda mais simplificada. Portanto, a
simplificao algbrica frequentemente se torna um processo de tentativas e
erro. Com a experincia, no entanto, pode-se ficar perito e obter resultados
razoavelmente bons.
Os exemplos que seguem ilustram muitas maneiras pelas quais os teoremas
booleanos podem ser aplicados na tentativa de simplificar uma expresso. Voc
deve notar que estes exemplos contm dois passos essenciais.
1. A expresso original colocada sob a forma de soma-de-produtos pela
aplicao repetitiva dos teoremas de Demorgan e pela multiplicao de termos.
2. Uma vez que a expresso original esteja nesta forma, os termos produto so
verificados quanto a fatores comuns, realizando-se a fatorao sempre que
possvel. Com sorte, a fatorao resulta na eliminao de um ou mais termos.

Exemplo 1-1:
Simplifique o circuito lgico mostrado na figura 2-2 (a).
Soluo
O primeiro passo determinar a expresso para a sada. O resultado
Z = ABC + A B . ( 1C )
J com a expresso determinada, usualmente uma ideia quebrar todos os
grandes sinais de inverso usando os teoremas de DeMorgan e ento multiplicar
todos os termos.
22


Com a expresso agora sob a forma de soma-de-produtos, devemos procurar
por variveis comuns dentre os vrios termos com a inteno de fatorar. O
primeiro e terceiro termo tm '! em comum, que pode ser fatorado:



Fig. 1-2 Exemplo 1-1
Z = '!(B + B + A B )
J que B + B = 1 ento
Z = AC(1) + A B
= AC + A B
Podemos agora fatorar A, o que resulta em Z A(C + B
23

Este resultado no pode mais ser simplificado. A implementao do circuito
mostrada na Fig. 1-2(b). bvio que o circuito em (b) bem mais simples do
que o circuito original (a).

Exemplo 1.2
Simplifique a expresso z = ABC + AB C + A B C.
%olu"o
Vamos ver dois modos diferentes de chegar ao mesmo resultado.
)#too -3 Os primeiros dois termos na expresso tm o produto AB em comum
Logo.
Z = AB(C + C ) + A B C
= AB(1) + A B C
= AB + A B C
Podemos fatorar a varivel ' de ambos os termos:
Z = A(B + B C)
Aplicando o teorema (15).
Z = A(B + C)

)#too B3 A expresso original z = ABC + AB C + A B C.
Os primeiros dois termos tm 'C em comum. O primeiro e o ltimo termo tm
'! em comum. Como saber se devemos fatorar 'C primeiros dois termos ou '!
dos dois termos extremos? Na verdade, podemos fazer ambos usando o termo
ABC duas vezes. E outras palavras, podemos reescrever expresso como
z = ABC + AB C + A B C + ABC
24

Onde somamos um termo extra ABC. sto valido e no altera o valor da
expresso, tendo em vista que ABC + ABC = ABC [teorema (7)]. Agora podemos
fatorar 'C dos dois primeiros termos e '! dos dois ltimos termos:
z = AB(C + C + AC( B + B)
= AB . 1 + AC . 1
= AB + AC = A(B + C)
Este naturalmente o mesmo resultado obtido com o mtodo 1. Esse artificio de
usar o mesmo termo duas vezes sempre pode ser usado. De fato, o mesmo
termo duas vezes sempre pode ser usado. De fato, o mesmo termo pode ser
usado mais de duas vezes se for necessrio.


E#erc$cio&

1 - Simplificar um circuito com quatro portas lgicas.


1 - Porta NOT entrou A e saiu A'
2 - Porta END entrou B C saiu termo BC
3 - Que a entrada da porta XOR
4 Sada da porta XOR vai ser (A'+BC)' que ser entrada da porta END
juntamente com termo AC, logo a expresso X ser 51=2BC*=> 1 > B
(A'+BC)'* A * B - Reescrevendo ficou assim:
X = AB(A' + BC)' - aplicando o teorema de Demorgan alterando termo OR para
o termo END a simplificao ser assim:
25

X = AB(A* (BC)`) - aplicando o teorema de Demorgan novamente para o termo
BC a simplificao ser assim:
X = AB * (A * (B' + C')) aplicando a propriedade distributiva
X = AB * (B' + C') e novamente aplicando a propriedade distributiva teremos.
X = ABB' + ABC' Que B*B' igual a 0 portanto podemos elimina-los
X = ABC' Tornado est simplificao.
E assim teremos a expresso abaixo:



2 Simplifique a equao abaixo.

Pri(eiro& 0denti<icar os ter(os abai#o da invers"o co(posta?
Temos ento dois termos: o primeiro termo composto pela varivel A, e o
segundo termo composto pelo conjunto de variveis BA.
Mas porque o B 1 um termo? Porque existe entre eles um operador AND. O
operador AND considerado um operador "forte, fazendo com que as variveis
que relacionam atravs dele fiquem juntas formando um termo.
%egundo& 1plicar o teore(a
26

nicialmente, invertemos o primeiro termo. Depois, invertemos o segundo termo.
Por ltimo, alteramos o operador OR para AND.
Repare que foi acrescentado um parnteses ao segundo termo. sso foi
necessrio porque agora existe um operador AND fazendo a operao com o
segundo termo. Como o segundo termo formado por mais de uma varivel
necessrio separ-las.
'erceiro& 1plicar nova(ente o teore(a
Aps aplicarmos o teorema no segundo passo, surgiu outra inverso composta

Quais so os termos dessa inverso composta? A varivel B e a varivel.
Assim, aplicamos o teorema invertendo o primeiro termo, invertendo o segundo
termo e alterando o operador AND para o operador OR.
@uarto& 1plicar os outros teore(as
Agora no existe mais nenhuma inverso composta! Basta aplicarmos os
teoremas para simplificar ainda mais a equao. Sendo assim, fazemos:

2) Aplicamos a propriedade distributiva















27

Bibliografia:
LOURENO, Antonio Carlos de, ET AL. Circuitos Digitais - Captulo 3. So
Paulo, 1996 - ESTUDE E USE - RCA.
Tocci, R. j.,Widmer, N. S.; Sistemas Digitais - Princpios e Aplicaes - 8 Ed,
Editora Pearson, 2003.
Capuano, F. G., doeta, .V.; Elementos de Eletrnica Digital 26 Ed, Editora
rica,1997.
Volnei Pedroni, Eletrnica digital moderna e VHDL, Elsevier, 2010.

You might also like