Você está na página 1de 102

EA-772 Circuitos Lgicos - Reviso 2013

Prof. Dr. Jos W. M. Bassani


____________________________________________________________________________________

EA - 772 CIRCUITOS LGICOS

Prof. Dr. Jos W. M. Bassani


Reviso - 2013
DEB/FEEC/UNICAMP

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Sumrio

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.

Introduo, motivao, objetivos ... ou pra que diabos serve o curso de circuitos lgicos ...................3
Evoluo histrica das mquinas de calcular.....................................................................................5
Nmeros.........................................................................................................................................11
Aritmtica Binria..........................................................................................................................29
Clulas Binrias..............................................................................................................................41
lgebra Booleana............................................................................................................................54
Blocos Lgicos................................................................................................................................64
Tecnologias de circuitos integrados..................................................................................................68
Funes booleanas e circuitos digitais..............................................................................................73
Simplificao de funes booleanas..................................................................................................83
Circuitos Sequenciais.......................................................................................................................90
Cdigos............................................................................................................................................97
Exemplos de Circuitos Digitais .....................................................................................................100
Bibliografia....................................................................................................................................104

NOTA: Este texto no se trata de publicao original. Alguns pontos so apenas traduo de
textos citados. So notas de aula e no uma apostila ou outra coisa do gnero. Os estudantes
devem usar este material como referncia inicial para estudo. O autor no autoriza reproduo
ou qualquer outra utilizao que no seja como roteiro e material de estudo individual. O seu
uso indevido responsabilidade de quem o fizer.

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

1. Introduo, motivao, objetivos ... ou pra que diabos


serve a disciplina de circuitos lgicos?
O curso tem como objetivo ensinar como projetar circuitos bsicos que so
utilizados no dia-a-dia do projeto e construo dos computadores e de outras mquinas.
Outra meta o ensino de tcnicas que sero teis no entendimento e no projeto de
sistemas de transmisso de dados. De modo mais geral vamos estudar e projetar
circuitos digitais, tais como os circuitos de transferncia de dados, contadores,
divisores, vrios tipos de detetores, somadores, temporizadores e outros.
O desenvolvimento de circuitos lgicos fundamentado por uma lgebra prpria,
a lgebra Booleana. Com base nesta lgebra pode-se desenvolver expresses que
correspondem a circuitos complexos. Uma especificao organizada (e.g. na forma de
uma tabela) do processo que se deseja sintetizar suficiente para possibilitar a
construo de circuitos com base nas expresses algbricas. Utilizando regras e
propriedades da operao algbrica pode-se realizar, formalmente, simplificaes nas
expresses que possibilitam a construo de circuitos incrivelmente mais simples do
que os circuitos originais. Isto, por si s, gera a oportunidade de se ver a importncia do
desenvolvimento das novas teorias e mtodos matemticos para expandir o
conhecimento nas outras reas e quo importante o aprendizado das regras e
fundamentos bsicos das teorias para o desenvolvimento futuro da Engenharia Eltrica.
O estudante dever tomar contato com tcnicas envolvidas na sntese de
circuitos lgicos e ter bom conhecimento de como manipular as expresses algbricas
para obter os melhores circuitos (menor custo e melhor desempenho). Por outro lado,
espera-se que o aluno se sinta estimulado a pensar sobre novos problemas no campo.
Por exemplo, nos novos mtodos de simplificao automtica de circuitos, nos
computadores moleculares e no fato de que ser engenheiro significa contribuir, com
criatividade, para que a cincia possa seguir seu caminho da auto-correo, buscando
aproximar os modelos da verdade.
3

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Alternativamente voc pode se lembrar que hora de cursar uma disciplina


bsica, obrigatria, importante para o entendimento de muitas outras (e.g.
comunicaes, processamento digital de sinais), e que preciso estudar muito para ser
um bom engenheiro.

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

2. Evoluo histrica das mquinas de calcular


H uma grande necessidade de se desenvolver mtodos e mquinas para
computar. Os engenheiros so, em princpio, os responsveis pela construo destas
mquinas. Portanto, comeo com um apelo aos jovens estudantes: no tirem dos seres
menos preparados o prazer de poder us-las de modo cada vez mais simples. Mas, de
onde vem este interesse pela computao? possvel que isto esteja ligado a alguma
necessidade ancestral que temos de contar. J em 1871, Charles Darwin, em sua obra
The descent of man, comenta que algumas espcies animais possuem memria e
imaginao (Boyer, 1991). Evolutivamente, saber se h um grupo de 2 ou de 4
predadores em ao pode ter sido importante para a sobrevivncia. muito estimulante
pensar sobre, mas difcil de saber, quais os elementos mnimos necessrios para que
crebros mais primitivos efetuem a atividade de contar. Talvez a capacidade de
identificar padres seja suficiente (dentro de certos limites), ou talvez seja preciso
padres mais elementares (e.g. um nico smbolo) e memria. Um sistema bastante
sofisticado de armazenamento e representao de quantidades (Figura 0) e contagem
j podia ser encontrado na civilizao Inca (National Geographic, Dec. 1973, 729-766).
Identificar smbolos e cont-los computar!

1999 Simon Fraser University


HTML Written by Alice Storey

Figura 0. direita: o Quipu. Sistema Inca de contagem e armazenamento de informao (ref.: Como
fazer seu prprio quipu). esquerda: quipu Inca com ilustrao de codificao para contagem (veja:
http://agutie.homestead.com/files/Quipu_B.htm)

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

O primeiro dispositivo de clculo, contudo, parece ter sido o baco (do latim
Abacus), introduzido pelos babilnios cerca de 3000 AC. A Figura 1 ilustra um baco
que consiste de uma armao retangular com hastes e contas, dividida por uma barra
transversal, separando conjuntos de 5 ou de 2 contas. Cada coluna de contas tem um
peso, da direita para a esquerda, 1, 10, 100, etc. Na representao de um nmero at 5
so utilizadas as contas do grupo de 5 e quando este valor ultrapassado, at dez,
usa-se a combinao do movimento (na direo da diviso central) das contas
agrupadas em duplas. O sistema permite que as operaes aritmticas sejam
efetuadas e que o resultado fique registrado. Os clculos podem ser efetuados de modo
bastante rpido por indivduos experientes.

Figura 1. Foto de um baco, mostrando o nmero 2650. Verso chinesa do baco (origem: abacus do
Latin que quer dizer sandboard. A palavra pode ter se originado do Grego abakos que quer dizer
calculating table (abax).

Milnios se passaram at que o homem, que j conhecia o baco, criasse a


primeira mquina de calcular. A era das mquinas mecnicas durou aproximadamente
de 1623 a 1945, um perodo bastante longo. J no sculo XVII os matemticos usavam
algumas mquinas capazes de efetuar adio, subtrao, multiplicao e diviso.
Dentre os nomes importantes esto Wilhelm Schickhard, Blaise Pascal e Gottfried
Leibnitz. A primeira mquina programvel foi projetada por Charles Babbage em 1823,
nunca tendo sido realmente construda. A primeira mquina de calcular que chegou a
6

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

ser exibida publicamente foi a mquina construda por George e Edvard Scheutz (pai e
filho). Uma das primeiras utilizaes de mquinas mecnicas para computao foi o
equipamento que fazia uso de cartes perfurados projetado por Herman Hollerith em
1890. Mais tarde a sua companhia se juntou com uma empresa competidora para
fundar nada menos que a IBM (International Business Machine).
Aproximadamente no perodo de 1937 a 1953 nasceram as mquinas
eletromecnicas e eletrnicas, constituindo a primeira gerao de computadores
eletrnicos. As chaves eletrnicas, embora no muito confiveis no incio, podiam
"abrir" e "fechar" cerca de 1.000 vezes mais rpidamente que os acionadores ou chaves
mecnicas.
Uma contribuio importante veio de Alan Turing que projetou a chamada
Colossus usada para quebrar cdigos das foras alems, durante a II Guerra Mundial.
A maior contribuio de Turing, no entanto, foi a sua chamada Mquina de Turing,
seguindo um formalismo matemtico usado no estudo das chamadas funes
computveis.
O primeiro computador eletrnico de aplicao geral foi o ENIAC, projetado na
universidade da Pensilvnia por Eckert e Mauchly entre 1943 e 1945, usado
intensamente nos clculos no projeto da bomba de hidrognio. A partir desta mquina
estes autores aliados a John von Neumann desenvolveram o primeiro computador
eletrnico de programa armazenado. Esta mquina acabou por dar origem ao UNIVAC
em 1952.
A segunda gerao de computadores inaugura a fase dos circuitos de
chaveamento baseados em transistores e diodos, operando na faixa de fraes de
microsegundos. Por volta de 1954 as mquinas TRADIC, da Bell Lab, e a TX-0, do
Lincoln Lab no MIT, so exemplos. Mudanas importantes ocorreram do ponto de vista
da arquitetura e do processamento, em particular com a introduo de clculos em
ponto flutuante permitindo a operao com nmeros reais. Esta era, que durou at por
volta de 1962, trouxe a inovao da construo de muitas linguagens de programao
tais como o FORTRAN (1956) para computao cientfica, o ALGOL (1959) como uma
linguagem estruturada e o COBOL (1959) voltada ao processamento comercial. Nesta
poca surge uma famlia de computadores da IBM que em sua verso mais moderna
7

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

trouxe a novidade dos processadores de entrada e sada que otimizaram a troca de


informaes entre os dispositivos e a memria que, j nesta poca, podia ser de
acesso aleatrio. O conceito de supercomputadores j pde ser introduzido e
implementado. So mquinas que devem possuir capacidade de computao cerca de
uma ordem de magnitude acima das mquinas disponveis na poca.
Na terceira gerao (1963-1972) surgem mquinas com grande ganho de
"potncia computacional". Conta-se com a inovao dos chamados circuitos integrados
(CI). As memrias de semicondutores passam a ser usadas no lugar das memrias de
ncleo magntico da gerao anterior. O grau de integrao, nesta fase, era ainda
pequeno com cerca de 10 dispositivos por CI evoluindo em seguida para cerca de 100
dispositivos por pastilha (chip). Muitas novas mquinas surgiram com vantagens de
arquitetura e novas linguagens tambm foram desenvolvidas, como, por exemplo, o
CPL (Combined Programming Language) para ficar com apenas as caracteristicas mais
importantes da ALGOL.

nesta gerao que comeam a surgir os chamados

computadores paralelos (e.g. SOLOMON da Westinghouse Co. e o ILLIAC IV da


Burroughs em cooperao com o departamento de defesa e a universidade de Illinois).
Na quarta gerao comea a chamada integrao em larga escala (Large Scale
Integration, LSI), com 1.000 dispositivos por CI e j a escala muito grande de
integrao (Very Large Scale Integration, VLSI) com 100.000 dispositivos por CI. Nesta
ltima j se podia incluir processadores inteiros em um nico CI e para alguns sistemas
o computador inteiro (processador, memria principal e controlador de entrada e sada).
Surgem computadores com memria muito grande como por exemplo o CRAY 2.
Muitas variantes do processamento paralelo comeam a ser implementadas. Comeam
a surgir os microcomputadores e estaes de trabalho e o uso de grandes
computadores operando em time-sharing.
Nesta gerao surge a linguagem C e o sistema operacional UNIX que teve uma
de suas verses escrita em C para o recm-desenvolvido DEC PDP-11 (Digital
Equipment Co., USA).

Nos anos 80 os Estados Unidos tomaram conhecimento

(provavelmente por meio do chamado Lax report, relatrio editado por Peter Lax;
http://www.pnl.gov/scales/archives.stm)

de que o pas estava investindo muito pouco e dando

poucas oportunidades para desenvolvimento de supercomputadores, por exemplo em


8

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

contraste com

o Japo. Isto deu origem a inmeros centros para estudo de

computao de alto desempenho (http://www.nsf.gov/news/news_summ.jsp?cntn_id=106875), um destes o


famoso John von Neummann Center de Princeton.
Ainda nos anos 80 (1984 a 1990) se inicia a quinta gerao de computadores
que se caracterizou pela adoo definitiva da computao paralela. Nesta gerao
algumas mquinas dispunham de centenas de processadores que podiam ao mesmo
tempo atuar em diferentes partes do mesmo programa. J em 1990 era possvel
integrar milhes de dispositivos no mesmo CI e as memrias de semicondutores
passaram a ser padro em todos os computadores. Proliferam as redes de
computadores e o uso das estaes de trabalho. O sistema DEC VAX-780 era um
computador de uso geral, baseado no sistema operacional UNIX com vrios
processadores cada qual "cuidando" do processo de usurios diferentes. Surge para
competir o chamado Sequent Balance 8000 com 20 processadores, dividindo um nico
bloco de memria com um bloco especialmente dedicado a cada processador.
Surge em seguida o sistema apelidado de hipercubo da Intel, o iPSC-1, que
usava um bloco de memria para cada processador, que estavam ligados em rede.
Esta foi uma filosofia diferente para a arquitetura, a chamada arquitetura de memria
distribuda. Esta verso evoluiu para mquinas com mais de uma centena de
processadores e por fim um sistema com vrios milhares de processadores bem
simples foi colocado a disposio. Ainda havia nesta fase o domnio do processamento
vetorial ao invs de processamento paralelo. As redes evoluram bastante, tanto as
WANs (Wide Area Network) quanto as LANs (Local Area Network). Nestes casos, com
a idia de compartilhar um grande computador central, parte do processamento passou
a ser feito usando recursos de vrios modos: localmente, distribudo em servidores e
ainda acessando recursos de supercomputadores todos ligados na rede. As estaes
de trabalho e servidores ficaram mais eficientes e baratos com a entrada da chamada
tecnologia RISC (Reduced Instruction Set Computer).
Inicia-se o que podemos chamar de sexta gerao por volta de 1990. Cada vez
mais

fica

difcil

predizer

que significa uma nova gerao,

a no ser

retrospectivamente. possvel, pela evoluo que se observa de hardware e de


software, dizer que a computao paralela ir, definitivamente, predominar. No fundo, j
9

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

no incio dos anos 90, havia a idia de que talvez o sistema hbrido vetorial e paralelo
devesse ser uma boa soluo. Nesta poca, j se prometia sistemas hbridos capazes
12

de operar na faixa dos teraflops (TFLOPS, 10

FLOPS Floating point operations per

second). As arquiteturas comeam a se fundir: RISC, pipelining e paralela. Ser que


isto significa que os princpios bsicos das operaes computacionais estariam
definitivamente determinados e agora s nos restaria combin-los? O que vem
acontecendo hoje? Busque esta informao voc mesmo!
A grande mudana nesta gerao parece ter sido nas interligaes de
computadores. As taxas de transmisso aumentaram ordens de grandeza e a
abrangncia das redes cresceu exponencialmente. A computao de alto desempenho
e a pesquisa de sistemas muito mais eficientes que os convencionais tambm cresceu
muito. A cada instante um novo centro de estudos avanados destas tecnologias
aparece e recebe, nos pases evoludos, grandes somas de recursos para pesquisa.
E ento, os investimentos a partir do famoso relatrio Lax fizeram efeito, pelo
menos nos Estados Unidos? Veja o site sobre os 500 supercomputadores atuais
(http://www.top500.org) e conclua por voc mesmo.

10

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

3. Nmeros
3.1 Conceito
aparentemente bvia, e ao mesmo tempo intrigante, a necessidade que os seres
humanos, e provavelmente outras espcies tem, de contar. Esta atividade est na base
do desenvolvimento do que hoje chamamos de nmeros. provvel que a persistncia
da espcie humana no tenha sido independente da sua capacidade de desevolver a
matemtica e, nela, o conceito de nmeros, que se desenvolveu gradual e lentamente
por vrios milnios (Boyer, 1991). Este conceito est na origem de pensamentos
sofisticados da matemtica atual como tambm das linguagens e dessa nossa
compulso por ordenar, classificar e "atribuir nmeros", aparentemente para minimizar
erros e prever o futuro ("adivinhar" onde e quando eventos importantes podem ocorrer).
Isso nos confere maiores chances de sobrevivncia e provavelmente algum prazer e/ou
conforto.
Faz diferena ter que enfrentar com as mos limpas ou sem armas de fogo, um,
dois ou muitos animais famintos. Faz diferena pescar um ou muitos peixes e ter um,
dois ou cinco filhos. provvel ter sido confortante saber que seu exrcito primitivo
continha 10.000 homens a mais que o dos seus opositores. De necessidades bsicas
como estas deve ter surgido a necessidade de contar. A representao numrica e o
reconhecimento de formas e padres tambm evoluram lentamente ao longo de
milnios com experincias acumuladas por civilizaes diferentes. Contar requer
estratgias para acumular, agrupar, dar peso e registrar. Quando h muitos elementos
preciso, definitivamente, computar. Para lidar com os nmeros, povos como os
egpcios e os mesopotmicos, h cerca de 4.000 anos, criaram smbolos e os
organizaram em grupos atribuindo-lhes pesos relativos s posies ocupadas em
sequncias pr-estabelecidas. Estas atividades devem ter originado o conceito de
sitemas de numerao (bases numricas), provavelmente por associao com
conjuntos incidentalmente disponveis como, por exemplo, 5 dedos nas mos e ps.
Estes, deram origem a sistemas quinrios (base 5), decimais (base 10), vigesimais
(base 20). Outras bases foram tambm usadas primitivamente como a binria, ternria
11

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

e outras, em porcentagem bastante inferior, mas deixando efeitos que so vistos nos
nossos dias, como por exemplo, contar de 2 em 2.
Foi necessrio desenvolver a linguagem para expressar os nmeros da forma
que hoje os conhecemos, mas os nmeros e a capacidade de contar tambm
influenciaram as linguagens. A palavra twelve (12 em ingls) pode ter sido originada do
uso da base 10 significando two above ou two more (dois acima ou a mais). Ns
diferenciamos no portugus, um de muitos, ou seja, singular e plural. No grego
distingue-se 1, 2, 3 e muitos, como pode ser a origem do nosso mono, bi, tri e poli.
Outro exemplo o uso da base para "falar o nmero" como h ainda hoje na lingua
francesa. Escreve-se para o nmero oitenta, quatre-vingt (quatro-vinte), evidenciando o
uso ancestral da base 20.
Insisto na questo de quo bsico contar. Ser que outras espcies tem esta
capacidade? Em sua obra The descent of man (1871), Charles Darwin descreveu a
capacidade de alguns "animais superiores" de memria e imaginao. Hoje, estas
habilidades esto melhor estudadas e confirmadas. Quem nunca ouviu falar da
inteligncia dos corvos (corvo = crow em ingls)? Procure sobre isto quando estiver
navegando pela internet (veja por exemplo: http://www.pbs.org/lifeofbirds/brain/). Estes
animais conseguem saber quantos caadores esto se aproximando (se 1 ou at 4, por
exemplo). Se uma artimanha feita para atra-los, isto no dura muito. Duas vezes
seguidas da mesma estratgia faz com que as aves se posicionem em rvores bem
distantes e faam um enorme barulho, no mais caindo na armadilha. H indstrias nos
EUA dedicadas a desenvolver maneiras de ludibriar os corvos para que possam ser
caados. J sei, vocs devem estar pensando: e por que algum iria querer caar
corvos? Procure sobre isto no mesmo local indicado anteriormente e em outros e ver!
No h dvidas que os animais podem contar. Os mesmos corvos conseguem
enterrar milhares de sementes e depois recuperar cerca de 90% delas. Algumas
pginas poderiam ser escritas aqui sobre a capacidade de animais distinguirem
padres, contar e executar outras atividades como, por exemplo, usar ferramentas, mas
vamos voltar a nossa disciplina. Ns estvamos falando sobre contar, reconhecendo
padres, agrupando, colocando em sequncia, dando pesos, descrevendo por meio de
uma linguagem, computando ... nmeros.
12

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

3.2 Sistemas de representao numrica


Para que uma mquina digital execute clculos, primeiro preciso representar os
dados numricos por meio de estados dos dispositivos fsicos disponveis na mquina.
Estes por sua vez so, em geral, dispositivos bi-estveis, que podem operar a
velocidades altas, de modo confivel, sendo usados, portanto, para representar 2
estados. Os dispositivos usados para operar como bi-estveis, principalmente nas
a

mqinas de 2 gerao, eram colocados em pontos extremos de operao: os ncleos


magnticos saturados em uma direo ou outra e os transistores "cortados" ou
saturados. Posteriormente os projetos tem feito os dispositivos operar longe dos limites,
em faixas de operao, mas de modo que possam ser tratados como dispositivos
estveis em um ou outro estado. O sistema numrico que mais se adapta a isso o
binrio.
Outra classe de mquinas utilizou a representao decimal codificado em binrio
(BCD, Binary coded decimal) e, embora a sua prevalncia no seja grande hoje em dia,
o seu estudo ainda importante para se mostrar a diferena de processamento,
necessria ao se usar diferentes representaes. As representaes surgem por
alguma razo. A representao BCD no to eficiente sob o ponto de vista da
mquina, mas pode ser mais conveniente do ponto de vista dos usurios das mquinas.
bom lembrar que o sistema decimal o mais adequado para computao manual,
manuteno de registros, etc.
Na prtica o usurio da mquina raramente escreve suas instrues de modo
que sequer se lembre a real linguagem que a mquina "entende". Qualquer computador
atual equipado com programas de converso que transformam os smbolos usados
pelo usurio em cdigos de mquina.
Hoje em dia a comunicao com as mquinas pode ser feita praticamente em
ingls, usando sistema decimal e expresses matemticas. A mquina se encarrega de
fazer as converses. Contudo, futuros engenheiros e engenheiras: Quem faz as
mquinas fazerem tudo isto? Resposta: Vocs! por isso que vocs precisam saber
tudo sobre sistemas de numerao, exatamente para que o usurio comum, cada vez
13

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

mais, nem sequer precise saber que isso existe. O conhecimento do sistema numrico
interno das mquinas importante sob o ponto de vista de desenvolvimento de
programas e sistemas e de manuteno da mquina. Saber detalhes de construo e
da representao numrica nos computadores, bem como detalhes de suas operaes
aritmticas bsicas o que na Engenharia "separa os meninos dos homens". Qual ser
o conhecimento necessrio para os prximos desenvolvimentos? Qual o futuro da
interao homem-mquina e o que ser que vocs precisaro saber para possibilitar
que isto ocorra cada vez melhor? Qual a sua opinio? Devemos procurar evoluir no
sentido de construir mquinas que substituam o crebro humano?
Como j foi dito, a escolha natural para construo de mquinas digitais genricas
o sistema binrio de numerao. Isto no quer dizer que outras tcnicas de numerao
no estejam em teste, em particular para mquinas dedicadas, como o uso de nmeros
primos de Mersenne (nmeros da forma 2n -1) e outros. Contudo, no caso das
mquinas de uso geral, a soma das vantagens do uso de sistemas no-binrios ainda
no superou a soma das desvantagens. preciso desenvolver mais pesquisa sobre o
assunto.
3.2.1 Notao posicional
Um nmero decimal qualquer pode ser considerado como um polinmio de
potncias de dez. Na verdade o nmero uma sequncia dos coeficientes do
polinmio. Por exemplo, o nmero 423,12 corresponde ao polonmio:
2

-1

-2

4x10 +2x10 +3x10 +1x10 +2x10

Nmeros decimais como este so ditos representados na base ou raiz 10 por que h 10
dgitos para represent-los (0, 1, 2 ..., 9), a partir dos quais todo o sistema numrico
representado. De modo semelhante podemos representar qualquer nmero em
qualquer base b. Vamos escrever o nmero como (N)b. Assim, um nmero qualquer
pode ser escrito:

14

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________
n

n-1

(N)b = cnb + cn-1b

-1

-2

-m

+ ... + c0b + c-1b + c-2b + ... + c-mb

(1)

ou de modo compacto:

( N )b =

c b

i=m

Os coeficientes do polinmio acima ficam no intervalo 0 ci b-1. Para nmeros


decimais, o smbolo "." denominado de ponto decimal; no caso geral denomina-se
ponto da raiz ou ponto da base. A parte do nmero direita do ponto denominada de
parte fracionria e a parte esquerda de parte inteira.

Nmeros inteiros e bases numricas


Nmeros expressos na base 2 so chamados de nmeros binrios. Estes so
frequentemente usados nos computadores j que utilizam apenas dois coeficientes. Os
valores de 0 a 15 so representados na Tabela 2.1 em vrias bases. Como no h
coeficientes para valores maiores ou iguais a 10 so usadas letras de A a F. A base 8
chamada de octal e a 16 de hexadecimal. Nmeros escritos em octal ou hexadecimal
so frequentemente usados para representar nmeros binrios de modo mais
compacto. Nmeros escritos nestas bases podem ser convertidos para binrios pela
converso de cada dgito individual. Esta propriedade vlida por que 8 e 16 so
potncias de 2. Quando o nmero no for potncia de 2 a converso mais complexa e
ser vista logo adiante.
Tabela 2.1 Nmeros inteiros em vrias bases
2
Binria
0000
0001
0010
0011
0100
0101

4
Quaternria
00
01
02
03
10
11

8
Octal
00
01
02
03
04
05

10
Decimal
00
01
02
03
04
05

12
Duodecimal
00
01
02
03
04
05

16
Hexadecimal
0
1
2
3
4
5

15

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________
0110
12
06
06
06
6
0111
13
07
07
07
7
1000
20
10
08
08
8
1001
21
11
09
09
9
1010
22
12
10
0A
A
1011
23
13
11
0B
B
1100
30
14
12
10
C
1101
31
15
13
11
D
1110
32
16
14
12
E
1111
33
17
15
13
F

Converso entre bases


Para fazer uso dos sistemas numricos no-decimais preciso ser capaz de
converter um nmero expresso em uma base em outro nmero expresso em outra
base. Uma maneira de fazer isto usar o polinmio (Eq. 1) que representa o nmero.
Por exemplo, o nmero binrio (1011.101)2 tem como correspondente decimal:
1x23+0x22+1x21+1x20+1x2-1+0x2-2+1x2-3
ou

11 + 5/8 = 11.625
Esta tcnica uma maneira geral de converter da base b1 para outra base b2.

Este mtodo ser chamado de mtodo polinomial. O mtodo consiste em:


1. Expressar o nmero (N) b1 como um polinmio, com os nmeros na base b1 usados
como coeficientes do polinmio;
2. Avaliar o polinmio, usando aritmtica na base b2.
claro que este mtodo muito usado quando se deseja converter para a base 10, por
que, neste caso, utiliza-se aritmtica decimal. Aproveitamos para dizer que a lista de
passos acima constitui um algoritmo. Um algoritmo um conjunto de passos ou uma
lista de instrues, especificando uma sequncia de operaes, que ir dar a resposta
para qualquer problema de um determinado tipo. As caractersticas importantes de um
algoritmo so: (a) ser completo e no depender de intuio ou habilidade especial da
pessoa que o executa; (b) sempre funcionar.
16

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Exemplos:
(26) 8 ser (22)10
1) 2x81 + 6x80
2) 2x8 + 6x1 = (16) 10 + (6) 10 = (22) 10
( 26) 8 = (42) 5
1

1) 2x8 +6x8

Lembrete: contas na base 5!

2) 25x(13) 5 + (11)5x15 = (31) 5 + (11) 5 = (42) 5


Como apresentado no lembrete, as operaes aritmticas devero ser efetuadas na
base 5. Isto ser revisto mais adiante quando estudarmos as operaes aritmticas
binrias. Contudo, no sempre conveniente usar aritmtica na base b2 para fazer a
converso de b1 para b2. Um algoritmo para fazer esta converso usando aritmtica na
base b1 ser discutido a seguir. Esta discusso ser especificamente para a base b1 =
10, mas pode ser extendida ao caso geral. Este ser denominado de mtodo iterativo,
desde que envolve repetidas multiplicaes e divises. Na converso de (N)10 para (N)b
a frao e a parte inteira so convertidas separadamente. Primeiro considere a parte
inteira, ou seja, a poro esquerda do ponto decimal. O procedimento geral dividir
(N)10 por b, resultando (N)10 / b e um resto. O resto, chamado de c0, o dgito menos
significativo (mais direita) de (N)b. O prximo dgito menos significativo c1 ser o resto
da diviso de (N)10 / b por b, e os dgitos sucessivos so obtidos continuando este
processo. Uma forma conveniente de conduzir esta converso est apresentada nos
exemplos a seguir.
a) (23) 10 = (10111) 2
Divisor
2
2
2
2

Dividendo/Q
23
11
5
2

Resto
1
1
1
0

Sequncia
- sig.
c0
c1
c2
c3
17

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

1
0

+ sig.

c4

Exerccio: a) Faa a diviso apresentando os nmeros da forma que voc aprendeu


dividir na escola; b) mostre claramente onde fica o dgito menos significativo.
b) (23) 10 = (27) 8

A seta indica a direo do dgito mais significativo para o dgito menos significativo.

Divisor
8
8

Div/Quoc.
23
2
0

c) (410) 10 = (3120) 5
Divisor
Div/Quoc.
5
410
5
82
5
16
5
3
0

Resto
7
2
Resto
0
2
1
3

Agora considere a poro do nmero direita do ponto decimal (i.. a parte


fracionria). O procedimento para converter multiplicar a frao de (N)10 por b. Se o
produto resultante for menor que 1, ento o dgito mais significativo (mais esquerda)
da frao zero. Se o produto for maior que 1, dgito mais significativo da frao a
parte inteira do produto resultante. O prximo dgito mais significativo formado
multiplicando a parte fracionria deste produto por b e tomando a parte inteira. Os
outros dgitos so obtidos pela repetio deste processo. Veja a seguir uma maneira
conveniente de fazer esta converso.

18

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________
a) (0.625) 10 = (0.5) 8
0.625 x 8 = 5.000

0.5

b) (0.23) 10 = (0.001110...) 2
0.23 x 2 = 0.46
0.46 x2 = 0.92
0.92 x 2 = 1.84
0.84 x 2 = 1.68
0.68 x 2 = 1.36
0.36 x 2 = 0.72
c) (27.68) 10 =
D
2
2
2
2

Div/Q
27
13
6
3
1
0

0.0
0.00
0.001
0.0011
0.00111
0.001110 ...

(11011.101011 ...) 2

= (33.53) 8

R
1
1
0
1
1
0.68 x 2 = 1.36
0.36 x 2 = 0.72
0.72 x 2 = 1.44
0.44 x 2 = 0.88
0.88 x 2 = 1.76
0.76 x 2 = 1.52

0.1
0.10
0.101
0.1010
0.10101
0.101011

8
8

27 R
3 3
0 3

0.68 x 8 = 5.44 0.5


0.44 x 8 = 3.52 0.53

19

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Neste exemplo podemos ver a relao interessante entre as bases 2 (binria) e 8


(octal). Se agruparmos os dgitos binrios (tambm chamados de bits que uma
contrao de Binary Digit) em grupos de 3 e expressarmos como nmeros decimais
teremos os correspondentes dgitos octais. Veja novamente ( a seta indica a direo de
agrupamento dos dgitos, independentemente para parte inteira e fracionria):
(110 101
( 6
5

0 011 101)2
0 3
5 )8

Esta converso to simples que muitas vezes nmeros octais so usados para
representar os nmeros binrios por questes de compactao. Para avaliar o nmero
em decimal, dentro de cada bloco de 3 usamos a notao posicional na base 2 com
aritmtica decimal. Por exemplo:
( 1 101 011)2 = (1 5 3)8
onde 011 seria o dgito 3 porque seria, na notao posicional, 0x22+1x21+1x20 = 0 +
2+1 = 3.
Quando uma frao convertida, a converso pode no terminar porque pode
ser que no seja possvel representar a frao exata em um nmero finito de dgitos.
Por exemplo, considere a converso (0.1)3 para uma frao na base 10. O resultado
ser (0.333 ...)10 que pode ser escrito com (0.3)10 para representar que 3 seria repetido
indefinidamente.
Exerccio: Faa a converso de (0.1)3 para a base 10.
fcil concluir que, pela combinao dos dois mtodos de converso, possvel
converter entre duas bases arbitrrias quaisquer usando somente aritmtica em uma
terceira base. Por exemplo (16)7 para a base 3, convertendo antes para a base 10:
(16) 7 = 1x71+6x70 = 7 + 6 = (13)10

20

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Agora converta (13)10 para a base 3.


3 13 R
3 4 1
3 1 1
3 0 1
(16)7 = (13)10 = (111)3
3.2.2 Representao de nmeros fracionrios e negativos
A representao de fraes segue naturalmente da notao posicional. Um
smbolo denominado ponto da raiz ou da base usado em uma sequncia que
representa uma frao ou um nmero misto. O ponto da raiz separa os dgitos da
sequncia para os quais os expoentes (potncias) so maiores ou iguais a zero
daqueles que so negativos.
A sequncia c1c2 ... cn cn+1cn+2 ... cn+m representa a soma

n+m

c b

n i

i =1

onde ci so dgitos, "" o ponto da raz e b a raiz ou base numrica. Na base 10 o


ponto chamado de ponto decimal e, na base 2, ponto binrio.
Vamos agora considerar o problema da representao de nmeros negativos em
uma mquina digital. A informao se um nmero positivo ou negativo pode ser
armazenada em um nico dgito binrio. Vamos colocar o smbolo c0 na posio mais
esquerda da sequncia e assumir que se c0 = 0 o nmero positivo e se c0 = 1 o
nmero negativo. Denominamos c0 de bit de sinal. Agora, o valor da sequncia pode
ser sintetizado por:

21

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

(1 2c0 )

c b

n i

i =1

Deste modo, c0 indica se o nmero positivo ou negativo e a sequncia c1, c2, ..., cn
representa a magnitude do nmero. A sequncia 010102 representa +10102 = 1010 e a
sequncia 110102 = -1010 . Do mesmo modo a sequncia 1942410 representa -942410 e
0942410 representa +942410 .
Dois outros sistemas de representao so frequentemente usados. So eles o
chamado complemento da base (true complement system) e o complemento da base
diminuda. Ambos so usados para facilitar a adio e subtrao.
O complemento da base de um nmero c = c1c2 ... cn definido como o nmero
bn - c
onde b a base do sistema. O complemento de base de c = c1c2 ... cn pode ser
formado simplesmente pela subtrao de cada ci de b-1, formando assim o
complemento de ci (ci' ) e ento adicionando 1 ao nmero resultante c' = c'1c'2 ... c'n .
Assim o complemento da base do octal 24138 definido como 84 - 24138 =
53658 e pode ser formado como segue:
(8-1) = base - 1
3

(7-2) x 8 + (7-4) x 8 + (7-1) x 8 + (7-3) x 8 + 1 = 5364 + 1 = 53658


O complemento da base de 741410 258610 e do nmero 10102 = 01102.

22

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Por definio o complemento da base diminuda (lembre-se diminuda de 1) de c =


c1c2 ... cn o nmero:
bn - c - 1
onde b a base. O complemento formado pela subtrao de cada dgito que forma o
nmero ci de b-1. Por exemplo 241710 torna-se 758210 e 10102 torna-se 01012 .
O complemento da base no sistema decimal denominado de complemento de
10 e no binrio complemento de 2. De modo similar os complementos de base
diminuda nestes dois sistemas seriam respectivamente complemento de 9 e
complemento de 1.
Estas representaes numricas so usadas apenas para os nmeros negativos.
Deste modo o complemento de 10 de +241710 o nmero negativo -758310 e o
complemento de 9 seria -758210. A grande virtude destes complementos que so
fceis de serem formados e, se utilizados, as adies e subtraes podem ser
facilitadas com apenas algumas regrinhas, mas lembre-se: existiro regras para se
efetuar as operaes mas as operaes so simplificadas de modo que mesmo uma
mquina simples poderia efetu-las (o preo a pagar so as regrinhas!).
Vamos assumir que nmeros negativos estejam armazenados na forma de
complemento de 9 e que todos os nmeros sero representados em sequncias de
comprimento 5, c0c1c2c3c4 ,onde c0 (dgito de sinal) indica se o nmero positivo ou
negativo e os dgitos seguintes representam a magnitude do nmero. Neste caso, a
sequencia 0001910 representa o nmero +1910 e a sequencia 1011410 representa o
nmero -988510.

Podemos adicionar os nmeros simplesmente adicionando as

sequncias:
19
-9885
-9866

00019
10114
=

10133

23

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

preciso cuidado para ver se a soma ou diferena no maior ou menor que os


nmeros que podem ser representados. No podemos, por exemplo, representar a
soma de 9484 com 5966 neste sistema, nem a soma de -5966 e -5976 (verifique!).
Outra regra necessrio cumprir: c0 interpretado como binrio e deve, assim, ser
adicionado como tal, qualquer que seja a base do nmero. Se um vai um (carry)
gerado do bit do sinal no sistema de base diminuda, ento 1 adicionado posio cn
da soma. Exemplo:
-27

19972

-54

19945

-81

1 19917
+1

(retorno de vai um)

19918
A maoria das mquinas representam nmeros negativos em complemento de 2
ou de 1 e representam nmeros na forma fracionria. Vamos agora assumir
complemento de 1 e nmeros com 5 dgitos, sendo c0 o bit de sinal: c0c1c2c3c4. Os
dgitos de c1 a c4 representam a frao binria com o ponto binrio esquerda de c1.
Assim, -0.01012 representada por 110102 e + 0.01012 por 001012. A soma destes
nmeros resulta zero ou 111112 que o zero negativo, neste sistema. H ainda outra
representao para o zero, ou seja, 000002 chamada de zero positivo.
Em complemento de 2 o nmero +0.0012 representado por 00012. O nmero 0.0012 representado po 11112. Agora, no complemento de 2, qualquer vai um (carry)
que ocorra da posio c0 durante a adio desprezado como segue:
-10

11110

+10

00010

00

100000
(drop!)

Assim 00000 zero e h apenas 1 zero neste sistema de representao. Podemos


definir o valor de uma sequncia c = c0c1c2 ... cn na representao fracionria em
complemento de 2 como:
24

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

2 (c ) = c0 +

c 2

i =1

Este sistema particular de representao de fraes binrias ir representar nmeros


no intervalo:

-1 2 1-2-n

O sistema de representao numrica binria de fraes em complemento de 1 fornece


para o nmero c = c0c1c2...cn a seguinte definio geral:

2 (c ) = c0 ( 2

1) +

c 2

i =1

De modo similar os complementos da base e base diminuida podem ser usados


em outras bases. Podemos definir o valor de uma sequencia c = c0c1c2 ... cn na base b
como frao em complemento da base por

25

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

b (c ) = c 0 +

c b

i =1

e na base b-1

b1 (c) = c0 (b

1) +

c i b i

i =1

No complemento da base as fraes podem ento ser representadas no intervalo

1 b 1 b n
e na base diminuida

1 + b n b1 1 b n
Como o nico sistema, fora o binrio, que usado de algum modo o BCD,
vamos descrever algumas de suas caractersticas. Sistemas em outras bases tem
caractersticas semelhantes.
O nmero negativo na representao em complemento de 9 fracionrio pode ser
facilmente obtido. O bit de sinal muda de valor e os outros dgitos tem seus valores
subtrados de 9. Assim o negativo de 04454 15545 e o negativo de 12426 07573.
Adio e subtrao podem ser feitas neste sistema usando somente adio. Dois
pontos devem ser considerados:

a formao do complemento de 9 (no BCD o 9

26

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

representa a base diminuda) e o end-around-carry (retorno de vai um) que, s vezes,


deve ser adicionado ao dgito cn da soma.
Vamos primeiro considerar a formao do complemento de 9. Se dgitos
decimais so representados em uma mquina usando BCD, a construo simplificada
se o complemento de 9 de um certo cdigo representando um dgito decimal puder ser
facilmente formado. O modo mais direto para formar o complemento de 9 seria
simplesmente complementar cada dgito binrio no cdigo (grupo de bits para
representar 1 decimal). Mas note que se isto for feito no cdigo 8421 o resultado no
ser correto. Por exemplo, se complementarmos bit a bit o conjunto 10002, que
corresponde ao decimal 810, obtemos 0111 que representa 710 e no 110. No cdigo
2421 iria funcionar: 1111 = 910 teria como complemento 0000 = 010; 0001 = 110
complementado seria 1110 = 810 e neste caso basta complementar cada dgito binrio
para obter de qualquer nmero o seu complemento de 9.
Outro cdigo que permite a formao do complemento de 9 facilmente o
excesso de 3. Este foi usado nas primeiras mquinas da Harvard e formado pela
adio de 310 = 00112 aos nmeros obtidos no cdigo 8421. Assim o cdigo excesso de
3 representa 310 = 01102 e 410 = 01112, 510 = 10002, etc. Veja o que ocorre com o
complemento de 9. O nmero 01112 = 410 complementado fica 10002 = 510 e 01002 =
110 complementado fica 10112 = 810, etc. O cdigo excesso de 3 no um cdigo
pesado havendo dificuldades quando os clculos envolvem nmeros positivos e
negativos. (Veja pag. 315, Bartee, Lebow & Reed).
No caso do 8421 o complemento de 9 pode ser formado, mas usando a
subtrao ou soma em complemento de 1 ou 2, respeitando eventual gerao de
retorno de vai um. Por exemplo: Dado o nmero 10002 = 810, o seu complemento de 9
deve ser 110, ou seja,
1001 = 910
1000
0001= 110
Usando o complemento de 1 para efetuar a subtrao, ficaria:

27

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

1001
0111

(complemento de 1 do nmero acima)

10000
1

(retorno de "vai um" por causa da operao em complemento de 1)

0001
Neste sistema o complemento de 10 mais complexo operacionalmente por que
para cada grupo de dgitos preciso achar o complemento de 1 e adicionar 1. Isto
complica o modo de sintetizar circuitos para executar automaticamente as operaes.
Neste caso, se um vai um ocorre no sinal ele descartado.

28

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

4. Aritmtica binria
Os computadores modernos usam o sistema binrio para representar os
nmeros e, consequentemente, usam a aritmtica binria nas operaes. Vamos ver
aqui as tcnicas para realizar as operaes aritmticas elementares na base 2. Para
executar aritmtica na base 10 necessrio saber a taboada. Nas outras bases isto
tambm ocorre. H tabelas que ajudam a memorizar. Um ponto importante que a
adio no fundo a operao fundamental. A partir dela todas as outras podem ser
efetuadas. Desde que se saiba operar com nmeros negativos a subtrao pode ser
transformada em adio e a partir da obter as outras operaes, tais como
multiplicao, diviso e exponenciao.

4.1 Operaes bsicas


Adio Binria
S
0+0 = 0
0+1 = 1
1+0 = 1
1+1 = 0

Vai um (carry, C)
0
0
0
1

Os nmeros devem ser alinhados pelo ponto da base e cada coluna somada da
direita para a esquerda, levando-se em conta a possibilidade de gerao de "vai-um".
Neste caso o valor do "vai-um" adicionado como uma linha a mais na soma. De modo
geral, cada coluna somada na base 10 e dividida pela base. O resto entra como a
soma para aquela coluna e o quociente vai como "vai-um" para a prxima coluna.
Exemplo:
C=

Soma =

11 11
1001.011
1101.101

9.37510
13.62510

1 0111.0002

23.00010

29

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Subtrao binria
A tabela para subtrao binria est apresentada a seguir:
D
0-0 = 0
0-1 = 1
1-0 = 0
1-1 = 0

Emprstimo
(Borrow, B)

0
1
0
0

A subtrao feita colocando-se o minuendo sobre o subtraendo alinhados pelo


ponto binrio. Se um borrow ocorre e o bit mais esquerda do minuendo 1 ele
mudado para 0 e o processo de subtrao continua da direita para a esquerda.
Transbordo:
Trocas:
Minuendo:
Subraendo:

1
0
10
01

Diferena:

01

Se, por outro lado, ocorre transbordo e o bit mais esquerda, do minuendo, zero, este
zero trocado por 1, assim como todos os outros bits sucessivos que forem zero. O
primeiro bit 1 esquerda ser trocado por zero e a subtrao continua.

Transbordo:
Trocas:
Minuendo:
Subtraendo:

1
011
11000
10001

24
17

Diferena:

00111

4.2 Aritmtica binria usando complementos


possvel evitar este processo de subtrao usando a representao de
complemento para os nmeros negativos. Vamos discutir este assunto para nmeros

30

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

binrios fracionrios e posteriormente faremos a generalizao. O complemento de 2


(2B) de uma frao binria B definido como se segue:
2

B = (2-B)10 =(10-B)2

Assim, 2(0.1101) = 10.0000 - 0.1101 = 1.0011. Um mtodo simples para se fazer esta
operao notando que 10.0000 = 1.1111 + 0.0001. Deste modo,
10.0000 - 0.1101 = (1.111 + 0.0001) - 0.1101
ou
1.1111 - 0.1101 + 0.0001
Esta subtrao particularmente fcil j que basta inverter todos os bits e obter o
resultado:
1.1111 - 0.1101 = 1.0010 e da basta adicionar o que falta, ou seja, 0.0001, ficando
1.0010 + 0.001 = 1.0011.
Isto significa que para se obter o complemento de 2 de uma frao basta inverter todos
os bits e adicionar a frao 0.00 ... 01. A aplicao do complemento de 2 est na
possibilidade de se obter a diferena pela soma do complemento. Assim,
A-B = A + 2B = (A + 10 - B)2 = (10 + (A-B))2
Se A-B 0, ento (10 + A-B)2 ser 10 + frao positiva (A-B). possvel obter A-B
2

desprezando (dropping) o 1 mais esquerda de A + B. Por exemplo:


A=
B=

0.1110
0.1101

Diferena

0.0001

A=
B=

0.1110
1.0011
1 0.0001

Se A-B < 0, ento A + B = (10 - mod(A-B))2 exatamente igual a A-B, o


complemento de 2 de A-B.
Por exemplo:

31

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

A=
B=

0.1101
0.1110

Diferena

0.0001

A=
B=

0.1101
1.0010
1.1111

(0.0001) = 1.1111

Resumindo:
2
Se A-B 0 o resultado A+ B com dropping do 1 esquerda;
2
2
Se A-B < 0 o resultado A-B = (B-A)

O complemento de 1 tambm bastante utilizado. A definio, neste caso, a


seguinte:
1

B = (10 - 0.00 ... 1 - B)2

onde a localizao do 1 na frao 0.00 ... 1 corresponde ao dgito menos significativo


de B. Uma vez que (10 - 0.00 ... 1)2 igual a 01.11 ... 1, possvel fazer 1B invertendo
os dgitos de B e adicionando 1, antes do ponto da raiz. Assim, 1(0.1101) = (1.0010)2.
1

Se somarmos A + B o resultado ser (A-B + 10 - 0.00 ... 1)2 . Se (AB) > 0, podemos converter para A-B, removendo o (10)2 e adicionando 1 ao dgito
1
menos significativo de A + B. Este procedimento denominado retorno de vai-um
(end-around carry). Por exemplo:
A = 0.1110
B = 0.1101

A = 0.111.
B = 1.0010

10.0000

0.0001

A + 1B

0.0001 (End-around carry)


A-B =

0.0001

Se A-B < 0, ento A + B ser o complemento de 1 do mdulo de A-B, ou seja,


A-B. Por exemplo:

A = 0.1101
B = 0.1110

A = 0.1101
B = 1.0001

32

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

0.0001

1.1110

(0.0001) = 1.1110

(0.1110 - 0.1101) =

Mostrar que:
B = 2(B*22) / 22

Generalizando o complemento de fraes:


Agora, o complemento da base de uma frao F definida por
b

F = (10 - F)b

O complemento da base diminuda :


b-1

F = ( 10 - F - 0.00 ... 1)b

Estes procedimentos so usados para formar os complementos e eventualmente


executar as operaes de subtrao.
Generalizando o complemento de nmeros mistos:
Neste caso estamos apresentando ao lado o conceito de mdulo e mostrando com isto
o significado do complemento com base no mdulo do nmero.
b

N = (100 ...0. - N)b

(M-N) + 1

b-1

N = (100 ... 0. - N - 0.00 ...1)b

M = 2n - 1 (definio de mdulo)

M-N

onde 100 ... 0 contm 2 dgitos a mais que qualquer inteiro encontrado na subtrao.
Por exemplo: Se N = 11.01 ento
2

(N) = 1000.00 - 11.01


= 111.11 - 11.01 + 0.01
= 100.10 + 0.01
= 100.11

M = 11.10
N = 11.01
0.01

M = 11.10
N = 100.11

1000.01
Descarta (Drop!)

Operao deslocamento

33

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Para efetuar multiplicao e diviso comum a necessidade de passos


intermedirios de deslocamento do nmero para a direita ou esquerda. Deslocar um
+k
nmero na base b para a esquerda k vezes equivalente a multiplic-lo por b e para
-k
a direita equivale a multiplic-lo por b . Portanto, deslocar um nmero inteiro binrio
para a esquerda equivale a multiplic-lo por 2 e para a direita a divid-lo por 2.

( N )b =

c b

= (cn cn1 c1c0 c1c2 cm ) b

i = m

Deslocando k posies para a direita ou para a esquerda resulta:

ci b

i+k

=b
k

i = m

ci b i = b k ( N ) b

i = m

Manipulao semelhante mostra o que ocorre com o deslocamento para a


direita. Deslocar um n;umero binrio k posies para a esquerda equivale a multiplic-lo
k
por 2 . Por exemplo:
(110.101)2= (6.635)10
-2

(1.10101)2 = 2 (6.625) = (6.625/4)10

= (1.65625)10

(11010.1)2 = 22(6.625)10 = (4x6.625)10 = (26.5)10


ou seja

ci b

i = m

i k

=b

ci b i =

i = m

( N )b
bk

34

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

4.3 Multiplicao binria


A tabela para multiplicao binria a seguinte:
0x0 = 0
0x1= 0
1x0= 0
1x1= 1
Exemplo: multiplicar 110.10 por 10.1
Multiplicando
Multiplicador

110.10
10.1
11010
00000
11010
10000.010

Para cada dgito do multipliador que igual a 1, um produto parcial formado


consistindo do multiplicando deslocado de modo que seu dgito menos significativo
fique alinhado com o dgito 1 do multiplicador. Na verdade este produto nulo pode ser
omitido. O produto final obtido pela soma dos produtos parciais. O ponto binrio
colocado no produto, usando a mesma regra da multiplicao decimal.
A tcnica mais simples para multiplicao de nmeros negativos usar o
processo j descrito para multiplicar as magnitudes. O sinal do produto determinado
separadamente, e o produto feito negativo se multiplicando e multiplicador tiverem
sinais diferentes. possvel efetuar multiplicao direta de nmeros negativos
representados em complemento. Isto feito usando um esquema de recodificao
chamado de algoritmo de Booth que tambm acelera a multiplicao.

4.4 Diviso binria


A diviso a operao aritmtica mais complexa. Divises longas em decimal
requererem operaes de tentativa e erro. Por exemplo, ao dividir 362 por 46 preciso
primeiro saber que 46 maior que 36 e ento chutar quantas vezes 46 cabe em 362.
Se um primeiro chute for 8 ao efetuar 8x46 = 368 vemos que este nmero maior que
362 e da o prximo chute seria 7. Este processo de tentativa e erro mais simples em
binrio por que h menos nmero de opes nesta base. Para implementar a diviso
binria em um computador, necessrio especificar um algoritmo de diviso. Dois
algoritmos diferentes, chamados de restaurao (restoring) e sem restaurao (nonrestoring) do dividendo so usados.
A diviso com restaurao do dividendo processada da seguinte forma: no
primeiro passo, o divisor subtrado do dividendo com seus dgitos mais esquerda,
alinhados. Se o resultado positivo, um "1" colocado como um dgito do quociente

35

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

correspondendo ao dgito mais direita do dividendo do qual um dgito do divisor foi


subtrado. O prximo dgito mais direita do dividendo juntado ao resultado, que
ento passa a ser o prximo dividendo parcial e o processo se repete.
Se o resultado da subtrao do divisor do dividendo for negativo, um "0"
colocado no quociente e o divisor adicionado ao resultado negativo para restaurar o
dividendo original. O divisor ento deslocado uma posio para a direita e uma
subtrao efetuada novamente. O processo da diviso por restaurao ilustrado no
exemplo a seguir.
Divisor = 1111
Dividendo = 1100
q0 q-1 ...
x x ...
1111 110 0. 0
1111
- 0011

q-5
x

0 0 0

quociente
nmero de dgitos aps o ponto

Se o dividendo menor que o divisor, a primeira subtrao j ter resultado negativo.


Outro ponto que a subtrao mostrada na verdade o divisor menos o dividendo e o
sinal negativo indica que o mdulo foi obtido pela subtrao do menor do maior e o
sinal negativo por que o dividor maior. Neste caso, ao q0 deve ser atribudo o valor 0
(zero).
q0 q-1 ...
0. x ...
1111 1100. 0
1111
- 0011
+ 1111

q-5
x

0 0 0

quociente
nmero de dgitos aps o ponto

1100
11000
- 0 1111
10010
Como o resultado foi negativo o dividor foi adicionado ao resultado negativo para
restaurar o dividendo e o divisor deslocado uma posio para a direita para que nova
subtrao seja efetuada. Agora o divisor ficou menor e com isto o resultado positivo.
Assim, ao q-1 ser atribudo o valor 1 e o prximo nmero do dividendo (neste caso no
h mais e portanto zero!) "baixado" para ser parte do dividendo do qual o divisor ser
novamente subtrado.

36

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

q0 q-1 ...
0. 1 ...
1111 1100. 0
1111
- 0011
+ 1111

q-5
x

quociente

0 0 0

nmero de dgitos aps o ponto

1100
11000
- 0 1111
10010
No prximo passo ento o divisor ser novamente subtrado deste novo dividendo (veja
o zero baixado em negrito)
q0 q-1 q-2 ...
q-5
0. 1 1 ...
x
quociente
1111 1100. 0
1111
- 0011
+ 1111

0 0 0

nmero de dgitos aps o ponto

1100
11000
- 0 1111
10010
1111
000110
Nesta iterao o resultado foi positivo, q-2 foi feito igual a 1, novo zero baixado e nova
subtrao dever ser feita.
q0 q-1 q-2 q-3 ...
0. 1 1 0 ...
1111 1100. 0
-

1111
0011

0 0 0

q-5
x

quociente
nmero de dgitos
aps o ponto

37

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

1111
1100
11000
- 0 1111
10010
1111
000110
1111
- 1001
+ 1111
01100
- 1111

Nesta iterao o resultado foi novamente negativo. Lembre-se que o valor mostrado
na verdade 1111 - 0110 j que 0110 menor que 1111 e o sinal marcado como
negativo. Assim, q-3 ficou igual a 0. Como anteriormente o dividendo foi restaurado e
portanto 1111 (divisor) adicionado ao resultado (veja que esta adio a subtrao de
1001 de 1111), resultado 0110 que era o dividendo anterior (foi portanto, restaurado). O
divisor ento deslocado para a direita para se efetuar a nova subtrao. --- Notem a
diferena de baixar o zero (colocado em negrito) e deslocar o divisor!). Veja tambm
que o divisor foi deslocado com relao ao dividendo que era 0110. A nova subtrao
ser ento 1100 - 1111. Novamente o resultado ser negativo.

q0 q-1 q-2 q-3 q-4...


0. 1 1 0 0...
1111 1100. 0
1111
q0=0
- 0011
+ 1111

0 0 0

q-5
x

quociente

nmero de dgitos aps o ponto

38

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

1100
11000
- 0 1111
q1=1
q-2=1
q-3=0

10010
1111
000110
1111
- 1001
+ 1111
01100
- 1111

q-4=0

- 0011
1111
11000
1111

q-5=1

(resto)

1001

Da iterao anterior nova restaurao foi necessria e a q-4 foi atribuido o valor
0. A ltima iterao resultou em resultado positivo (1001) levando q-5 para 1 e como o
nmero de digitos aps o ponto j estava determinado e seria igual a 5 a diviso
termina deixando como resto o ultimo resultado da subtrao.
Na diviso sem restaurao a etapa de adicionar o dividendo parcial negativo ao
divisor omitida e o divisor deslocado somado ao dividendo parcial negativo. Este
passo de somar o dividendo parcial negativo ao divisor deslocado substitui os dois
passos de adicionar o divisor e ento subtrair o divisor deslocado. Isto pode ser
justificado por: Se X representa um dividendo parcial negativo e Y o divisor, ento 1/2Y
representa o divisor deslocado uma posio para a direita. Adicionando o divisor e
ento subtraindo o divisor subtraido produz
X+Y-1/2Y = X+1/2Y
enquanto que adicionando o divisor deslocado produz o mesmo resultado,
X+1/2Y
Os passos para diviso de 1100 por 1111 esto apresentados a seguir:
Divisor: 1111

39

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Dividendo: 1100
q0 q-1 ...
0. 1 ...

q-5
x

quociente

1111 1100. 0 0 0 0
nmero de dgitos aps o ponto
1111
- 00110
q-0=0
+ 1111
desloca e soma
+ 10010
q-1=1
1111
desloca e subtrai
+
00110
q-2=1
1111
desloca e subtrai
10010 q-3=0
+ 1111
desloca e soma
- 000110 q-4=0
+ 1111 desloca e soma
1001
q-5=1 (resto)

4.5 Operaes em outras bases


Apenas para que no passe em branco, vamos exercitar algumas operaes em
outras bases numricas. O exerccio pode ser til para estimular voc a pensar sobre o
assunto a no ficar preso apenas ao que o convencional.

40

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

5. Clulas Binrias
Mquina digital um tipo de mquina na qual os dados esto representados de
modo discreto. Isto feito pelo uso de dispositivos que exibem um nmero finito de
estados e estes so colocados em correspondncia com os valores das variveis a
serem representadas. Os dispositivos fsicos usados para este propsito so quase que
exclusivamente de dois estados. So dispositivos binrios que so denominados de
clulas binrias. Os tipos de clulas binrias em uso so muito diferentes e variados
quanto ao comportamento. Mesmo quando um fenmeno fsico associado a um certo
dispositivo basicamente contnuo, utiliza-se o modo binrio de operao por causa da
simplicidade e confiabilidade.
Como um dispositivo binrio pode representar somente um dgito binrio,
evidente que para representar valores de variveis contnuas com qualquer preciso ou
para representar inteiros de qualquer magnitude, os dispositivos bi-estveis devem ser
manipulados como conjuntos. Na prtica os dados armazenados em uma mquina
digital so divididos em conjuntos de caracteres ordenados chamados de palavras. Em
uma mquina uma palavra , ento, um conjunto ordenado de caracteres com um
significado. O termo palavra se refere a informao armazenada e no aos dispositivos
fsicos nos quais a informao armazenada. Nos referiremos ao conjunto ordenado de
dispositivos fsicos usados para armazenar uma certa poro de dados como
registradores.

Clula binria de armazenamento


Vamos inicialmente imaginar a clula binria do ponto de vista ideal e depois sob
o ponto de vista de dispositivos reais. A Figura 4.1 ilustra uma funo com os estados
assumidos por uma clula binria, no tempo.

t1

t2

t3

t4

t5

t6

Figura 5.1 Valor do estado versus tempo em uma clula binria ideal. Os valores a e b so valores exatos
assumidos pela varivel binria. Os pontos t1, ..., t6 so instantes no tempo.

41

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Primeiro vamos descrever a clula como um dispositivo primrio com as


seguintes propriedades:
1. Possui dois estados possveis que iremos chamar de A e B;
2. Qualquer
mudana de estado (de A para B ou de B para A) ocorre
instantaneamente, isto , em instantes discretos de tempo t1, t2, ..., tj, ...
3. Uma medida de alguma propriedade fsica da clula tal como magnetizao, tenso
ou corrente em algum ponto, sempre resulta em um nmero a se a clula est no
estado A ou b se a clula est no estado B. Esta definio de medio implica que o
dispositivo de medio no perturbe a clula, ou equivalentemente, no extraia ou
drene energia da clula. Como, pela propriedade 2 a clula muda de estado
instantaneamente, uma medio no tem nenhum significado nos instantes de
transio t1, t2, ..., tj, ...
Se fizermos um experimento no qual medimos o estado fsico da clula binria em
todos os instantes t tj, e plotarmos os resultados destas medies como funo do
tempo, ns obtemos uma funo binria como apresentada na Figura 5.1. Assumimos,
sem perda de generalidade que a < b.
Uma clula binria ento um dispositivo fsico que pode armazenar uma
funo binria (que assume dois valores) do tempo. A determinao do estado da
clula em um tempo t equivalente a "avaliar" a funo no instante t e ter como sada
um bit de informao (mais tarde vero que estamos falando da informao no conceito
definido por Shannon). A clula binria o elemento fundamental de armazenamento
de um processador de dados digital. De modo correspondente a funo binria a
funo matemtica fundamental para representao de variveis fsicas nas mquinas.
O fato do elemento fundamental de armazenamento ser binrio e a funo matemtica
bi-estvel ("two-valued") devido a maior facilidade de construo dos elementos
fsicos.
Existe uma correspondncia natural um-pra-um entre a clula binria e a funo
que ela armazena. Vamos, as vezes, considerar a clula binria como uma funo tipo
"two-valued function". Segue que em um instante t a clula x armazena a funo com
valor a e ento pode ser tratada como uma funao x com valor x(t) = a.
Exemplos de clulas binrias de armazenamento
Na realidade nenhum dispositivo fsico pode apresentar as propriedades 2 e 3,
i.., chavear instantaneamente e fornecer um valor de tenso to exato. Estas
condies podem ser atenuadas de modo que dispositivos fsicos no-perfeitos podem
ainda guardar funes bi-estveis.
Um dispositivo bi-estvel no apresentar resultados precisos da leitura de seus
estados mas, preferencialmente ele ir apresentar dois intervalos estreitos de valores,
como apresentado na Figura 5.2.

42

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

1 a 2 = A

1 b 2 = B

2
1

1
t1

t3

t2

t4

t5

t6

tempo
Figura 5.2 Clula binria real. A e B so os dois estados possveis que ficam definidos pelas faixas alfa e
beta. Os valores assumidos pela varivel binria pode ser a ou b, definidos dentro das faixas.

O espalhamento no valor, ou seja a faixa ao invs de valor numrico, decorre do


fato de que ambos, a clula e o mecanismo de medio esto afastados da condio
ideal 3. Qualquer dispositivo real de medio absorve alguma energia da clula e isto
por sua vez afeta o valor que est sendo medido. Se a faixa de valores for
suficientemente pequena de modo que as faixas de variao dos dois valores no se
interceptem, a propriedade 3 efetivamente satisfeita. Ns denominamos a medio
que no afeta o valor armazenado na clula de no-destrutiva.
De modo similar, qualquer dispositivo real requer um tempo finito para mudar de
estado. Se o intervalo de tempo durante o qual a medio feita no intercepta o
intervalo para mudana de estado, ento a propriedade 2 pode ser aceita. Veja o
esquema da Figura 5.3.

2
1
2
1

t1 t2
t0

tf

Intervalo de
Medio

tempo

Intervalo de
Transio
Figura 5.3 Relao entre tempo de medio e tempo de transio. Os intervalos esto apontados pelas
setas.

43

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

O intervalo t1- t2 pode ser pr-fixado junto com um intervalo de medio de modo
a no haver interseco com o intervalo de chaveamento t0-tf.
Talvez a clula binria de armazenamento mais comum seja o chamado FlipFlop (assunto que iremos tratar mais tarde em detalhe) esttico, como apresentado na
Figura 5.4. Este um circuito, geralmente consistindo de dois circuitos ativos como
transistores (voces vero este assunto em detalhe em outras disciplinas, mas vamos
falar um pouco sobre os transistores mais adiante, tambm) e vrios elementos
passivos, com a propriedade de entrar em regime permanente, ou de se estabilizar com
apenas um transistor ativo, ou seja, conduzindo corrente, de cada vez. Na Figura 5.4 o
estado A ocorre quando T1 est conduzindo corrente e estado B quando T2 est
conduzindo. A medio da tenso de sada no terminal X dar um valor prximo de um
valor a determinado pelos parmetros do circuito no estado A e prximo de um valor b
no estado B. Esta medio ter significado ou valor desde que seja feita fora do tempo
de transio de um estado para outro.

Figura 5.4 Flip-flop esttico transistorizado. Bartee, Lebow & Reed, 1962
A Figura 5.5a ilustra um outro exemplo de clula binria, chamada de Flip-Flop
dinmico. Esta clula consiste de um elemento de atraso e um amplificador conectado
em "loop". Os dois estados so representados pela presena ou ausncia de um pulso
no "loop". Suponha que o atraso seja de T segundos e um pulso, se presente, seja de
segundos a cada T segundos. A medio do estado consiste em observar a presena
ou ausncia do pulso durante segundos (Figura 5.5 b).

44

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Atraso - T

Amplificador
Read in
0

2T

3T

(b)

(a)

Figura 5.5. Flip-Flop dinmico. Veja que os instantes de medio esto indicados por
e o valor lido representado na parte superior da parte b por 1 ou 0.
Um tipo diferente de clula binria o ncleo magntico (Figura 5.6). O ncleo
est no estado A quando as linhas de fluxo magntico esto no sentido anti-horrio e
no estado B quando se apresentam no sentido horrio.
Sai zero aps
pulso de leitura

Estado A

Estado B

(a)

Sai 1

Leitura

(b)

Figura 5.6. Clula binria a base de ncleo magntico (a). Estado A corresponde a
magnetizao no sentido anti-horrio e B no sentido horrio. A passagem de corrente
(fio com seta) magnetiza o ncleo no sentido indicado. Se, como no caso mais direita
em (b), a passagem de corrente muda o sentido da magnetizao anterior, o fio de
leitura ver um pulso correspondendo a sada igual a 1 e destroi o estado anterior.
Veja que neste caso a leitura destrutiva porque se a direo da corrente de
leitura fizer aparecer um pulso na sada ("1") significa que o estado foi mudado para
outro. Assim, aps a leitura, se o resultado for "1" deve-se "passar corrente" no sentido
inverso para restaurar o estado inicial.

45

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Um outro tipo de clula binria seria o que est apresentado na Figura 5.7. Os
estados A e B so obtidos pela abertura e fechamento da chave de modo que se estiver
aberta a sada zero volts ( a) e quando fechada c = E+ (b).

E+

Sada

Figura 5.7. Clula binria baseada em uma chave. E , tenso da fonte de alimentao, R,
resistor sobre o qual a sada medida.

O Registrador
Como mostrado at agora a clula binria o elemento bsico de
armazenamento de uma mquina digital de processamento de dados. Uma extenso
simples do conceito de clula binria o conceito de registrador. Ns definimos um
registrador como um conjunto ordenado de clulas binrias. As propriedades do
registrador so derivadas imediatamente das propriedades da clula binria. Considere
um registrador C de n clulas, composto pelas clulas c1c2...cn. Cada clula Ci (1, 2,
..., n) armazena uma funo bi-estvel do tempo Ci (t). Assim, em qualquer ponto t1,
cada Ci (t) tem um valor a ou b. Correspondentement, C armazena n funes binrias
do tempo c1(t), c2(t), ... , cn(t), ou em outras palavras uma funo vetorial do tempo, c(t),
com componentes ci(t), i= 1, 2, ... , n. Como no caso da clula, frequentemente nos
referimos ao registrador como uma funo binria vetorial do tempo. Assim, em um
instante fixo t dizemos que o valor do registrador C o valor da funo que ele
armazena, ou seja, a n-upla [c1(t), c2(t), ... , cn(t)], Ci (t) = a ou b.
Para exemplicar, considere o registrador de duas clulas C = (c1c2),
armazenando os dois componentes da funo vetorial do tempo c(t) = [c1(t), c2(t)]. Em
um instante t1, C tem o valor C(t1) = [c1(t1), c2(t1)] com Ci(t) = a ou b. A Figura 5. 8 ilustra
os quatro possveis valores de c1(t), as coordenadas (a, a), (a, b), (b, a) e (b, b).

46

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

c2(t1)

a
a

c1(t1)

Figura 5.8. Faixa de valores de um registrador de duas clulas em um ponto especfico do tempo. As
setas so vetores com mdulo igual ao valor da combinao correspondente dos valores de a e b.

Como apresentado, os registradores so dispositivos fsicos que armazenam


representaes dos valores numricos nas mquinas digitais. Ns demonstramos que
o registrador armazena n-componentes de uma funo vetorial binria. Para completar
a figura devemos definir um meio pelo qual os valores de um registro esto associados
a um conjunto de valores numricos. A associao mais simples e mais natural entre
n
2 diferentes valores que um registrador de n clulas pode assumir e os nmeros
n
inteiros de 0 a 2 - 1. Se associamos os inteiros 0 e 1 com os nmeros a e b,
respectivamente, e imaginando o ponto binrio localizado direita do registrador, ento
os valores do registrador so n-uplas de 0's e 1's que correspondem aos primeiros 2n
inteiros no-negativos do sistema binrio de numerao. Ns chamamos isso de
representao inteira do registrador. Assim, por exemplo, se o registrador de 4 clulas
(c1, c2, c3, c4) tem o valor bbab, dizemos que na representao inteira o registrador
armazena o inteiro binrio 1101.
O valor decimal equivalente [I(c)] de um inteiro binrio armazenado em um
registrador c obtido formando-se o polinmio:

I (c) =

c 2

n i

i =1

n-i

com ci = 0, 1; i = 1, ..., n e onde os valores 2 e a soma I(c) so expressos como


nmeros inteiros decimais. Assim, no exemplo acima, o decimal equivalente ao valor
armazenado no registrador 1101 13. O sistema numrico octal tambm
frequentemente usado. Se as n clulas do registrador c so agrupadas em K subregistradores de 3 clulas:
1

R = 0 0
0 c1
c1 c2

c1
c2
c3
...

n = 3k-2
n= 3k-1
n= 3k

47

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________
k-1

= cn-5

R =

cn-4 cn-3

cn-2 cn-1

cn

ento o octal equivalente da representao inteira de c uma k-upla


1

I(R ), I(R ), ..., I(R )


Assim o octal equivalente de 1101 15.
Veja como: K = 2 registradores de 3 clulas para um n = 4
1

R = c-1c0c1
R2= c2c3c4

I(R )= 1
I(R2)= 5

Exerccio: Construa uma tabela com os valores do registrador (combinaes aaaa,


aaab, etc), valores binrios, valores octais e valores decimais para a representao
inteira de um registrador de 4 bits.
De agora em diante os valores de uma clula de um registrador, a ou b, sero
sempre considerados representar os inteiros 0 e 1. Alm disso, se nada for
especificado o valor contido em um registrador ser considerado inteiro.
Consideraremos como sinnimos a representao inteira do nmero, em qualquer
base, contida no registrador e o valor do registro. Vamos dizer que o valor do
registrador X (10)10. Ou ainda , o registrador de 4 clulas com valor bbba ter o valor
binrio 1110 ou o valor octal 16, ou o valor decimal 14.
Outra representao de um registrador assumido o ponto binrio localizado do
lado esquerdo do registrador. Assim, um registrador de 4 clulas 1110 ter a
representao fracionria .1110. O valor decimal equivalente, neste caso, como j visto
anteriormente ser dado pelo polinmio:

F (c ) =

c 2
i

= 2 n I (c )

i =1

Similarmente, o equivalente octal obtido agrupando as clulas de 3 em 3 comeando


agora da esquerda para a direita do registrador. Assim, a frao binria .1110
equivalente frao decimal 7/8 = .875 e a frao octal .70.

48

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Ambas as representaes inteira e fracionria so denominadas representaes


n
binrias uma vez que 2 valores do registrador de n clulas so feitos correspondentes
n
a 2 nmeros.
De modo diferente so as representaes denominadas decimal-codificado em
binrio, ou BCD, como apresentado anteriormente. Nestas, grupos de clulas so
associados a dgitos decimais. Por exemplo, suponha que o registrador C contm n =
4k clulas onde k um inteiro. Divida C em k sub-registradores
R1 = c1, c2, c3, c4
...
k

R = cn-3 cn-2 cn-1, cn


Tomando o caso em que K = 2 e n = 8
1

R = c1, c2, c3, c4


2
R = c5, c6, c7, c8
Restringimos cada registrador a assumir os valores 0, 1, 2, ..., 9 e atribumos um nico
valor decimal a cada sub-registrador. Assim, a representao BCD do registrador C
uma k-upla
1

I(R ), I(R ), ..., I(R )


com valor decimal
1

k-1

I(R )10

k-2

+ I(R )10

k-k

+ ... + I(R )10

Nesta representao os 10k inteiros decimais so associados com 10k dos 24k possveis
valores do registrador.
Exemplo:
K=2en=8
C = 1000 0011
BCD:

R = 1000
1

R = 0011

I(C) = I(1000)10 + I(0011)10 = 8 x 10 + 3 x 1 = 80 + 3 = 83

Claramente, muitas outras representaes binrias so possveis. O ponto


binrio (ou decimal), por exemplo, pode estar localizado em qualquer lugar com relao
s clulas do registrador. H tambm representaes para nmeros negativos.

49

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Representaes no-numricas so tambm possveis. Seja C um registrador de


5
5 clulas com 2 = 32 possveis valores. As 26 letras do alfabeto podem ser
representadas por C atribuindo a cada letra um dos 32 valores possveis do registrador,
como na Tabela 3.2. Em geral qualquer lista de K coisas pode ser representada por um
registrador de log2K clulas ou mais por uma associao de cada item com um nico
valor do registrador.
Tabela 5.2 Associao entre letras e valores de C
Valor do registrador
00000
00001
00010
00011
00100
...
11000
11001

Representao do alfabeto
A
B
C
D
E
...
Y
Z

Generalizao do conceito de registrador


Chegamos a uma definio de registrador como o dispositivo bsico de um
computador digital para o armazenamento de valores de variveis e mostramos como
ambos dados numricos e no-numricos podem ser armazenados nos registradores
pelo estabelecimento de correspondncia entre os nmeros ou dados e os vrios
valores de um registrador. Esta definio, ainda independente da implementao
fsica do registrador.
Qualquer parte de um registrador (i.., um sub-registrador) um registrador. Ao
considerar as representaes inteiras octal e decimal assumimos que o registrador
um conjunto de sub-registradores no qual cada sub-registrador contm um valor octal
ou decimal. Em qualquer registrador de n-clulas, cada uma das n clulas um
registrador de uma clula.
H

= n(n 1) / 2

registradores de 2 clulas diferentes que mantem a ordem, (n3) registradores de 3


clulas, etc. H

50

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

n
= 2n 1

k =1 k
n

registradores diferentes incluindo o prprio registrador de n clulas como o ltimo


termo da soma. Nem todos estes sub-registradores possuem significados. Faz sentido
considerar um sub-conjunto das clulas de um registrador como um sub-registrador
separado somente se em deteminado instante o seu conjunto tratado
independentemente do resto do registrador. Como um exemplo simples, suponha que
um registrador C de 10 clulas as vezes sirva para armazenar binrios inteiros e
algumas vezes 2 letras do alfabeto. Os sub-registradores que teriam significado seriam
as duas metades de C (registradores de 5 clulas) e o registrador C propriamente dito.

Nota: A notao apresentada acima representa o coeficiente binomial que definido


por:

n!
n
=
k k!(n k )!
O sub-registrador apenas um caso especial da classe geral de registradores de
funes. Resumidamente, um registrador, por definio um dispositivo fsico
idealizado que armazena uma funo vetorial do tempo, com cada componente
podendo armazenar um dentre dois valores. O prprio registrador pode ser considerado
uma funo. Assim chegamos a uma definio matemtica de um registrador de nclulas como uma funo cujo domnio o eixo do tempo e valores no vetor ndimensional Vn, no qual cada componente pode assumir um dos dois valores. Com
base nesta definio matemtica de registrador, podemos definir uma funo ou
transformao de um registrador como segue:
D = f(C)
de um registrador C uma funo com m componentes onde cada componente
Di (i= 1,2, ... m) de D uma funo binria de, em geral, dos componentes Cj (j= 1,2, ...,
n) do registrador C. Uma funo de um registrador uma funo vetorial m-dimensional
com algumas propriedades matemticas do registrador. Uma funo de um registrador
no possui as propriedades fsicas do registrador, j que no existe um conjunto de
clulas de armazenamento, mas sim o valor da funo no tempo t que dependente do
valor do registro fisico no instante t. Um registrador ento anlogo a uma varivel
independente e uma funo de um registrador varivel dependente. Deste modo que
para diferenciar o registrador da funo ns referenciamos o registrador como
registrador independente e funo como registrador dependente. Agora vemos que
um sub-registrador apenas um caso especial de registrador dependente. O

51

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

mapeamento de Vn em Vm a projeo dos vetores de Vn no sub-espao mdimensional Vm. Neste caso especial o registrador dependente existe como um
conjunto de clulas fsicas e pode tambm ser considerado como um registrador
independente. Um exemplo menos trivial o de registrador dependente:
D = (D1, D2, ..., Dn)
que funo do registrador independente
C = (C1, C2, ... Cn)
onde cada componente Di deterninado por:
Di = 0 quando Ci = 1
1 quando Ci = 0
Como veremos mais tarde o registrador dependente D chamado de complemento de
C e uma funo bastante comum. Outro registrador dependente comum o
registrador de n-clulas D definido por:
Di = Ci+1
Dn = 0

i = 1, 2, ... n-1

Esta funo evidentemente equivalente a deslocar cada clula de C uma posio


para a esquerda e introduzir 0 na clula Cn. De modo anlogo podemos introduzir
funes de dois registradores. Seja C e D
registradores independentes com
componentes dados por:
C = (C1, C2, ..., Cn)
D= (D1, D2, ..., Dr)
Uma funo de C e D um registrador de m clulas F (C, D) no qual cada componente
de Fi (i = 1, 2, ..., m) uma funo binria de todos os Cj e Dk.
Uma mquina digital essencialmente uma coleo de registradores
dependentes e independentes. Nas mquinas diferentes, o nmero de registradores
independentes e o nmero e natureza dos registradores dependentes pode variar muito
de acordo com o propsito da mquina. A menos deste fato, qualquer mquina pode
ser descrita considerando seus registradores dependente e independentes, e
suas interaes. Para tratar da construo de mquinas sob este ponto de vista
preciso tratar a questo das funces de registradores muito mais detalhadamente. Isto
no ser feito neste curso. O objetivo aqui deixar clara a possibilidade de que a
construo das mquinas digitais pode ser feita totalmente baseada em operaes
matemticas com registradores. Fica para a imaginao do aluno fazer exerccios sobre
isto e possibilitar que suas fantasias sobre as possibilidades imaginadas se tornem
realidade no futuro.

52

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

_____________________________________________________________________

Exerccio:
Um computador possui um total de 10 instrues ou operaes que pode executar. Defina uma
representao binria para as 10 instrues usando o mnimo nmero de clulas.
Defina uma representao binria para o computador do exerccio anterior de modo que cada valor
binrio contenha dois e somente 2 dgitos 1. Qual o mnimo nmero de clulas requerido?
Suponha que as operaes do computador sejam O1, O2, ... O10. Defina uma representao binria
para as operaes tal que os valores para as sucessivas operaes difiram em um e somente um dgito.
Qual o mnimo nmero de clulas requeridas para este que chamado cdigo de Gray? (veremos mais
tarde)

_____________________________________________________________________

53

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

6. A lgebra booleana
Em 1854 George Boole publicou um trabalho intitulado "An Investigation of the
Laws of Thought", no qual ele descreveu o desenvolvimento de uma notao simblica
que podia ser usada em certos problemas de lgica formal e um clculo para
manipulao das expresses simblicas. Subsequentemente vrios outros matemticos
extenderam este trabalho criando uma nova rea da matemtica chamada de lgica
simblica da qual a lgebra de Boole era parte integrante. Apenas em 1938 que
Claude Shannon descreveu o uso da lgebra de Boole para o projeto de circuitos de
chaveamento. Desde ento a lgebra booleana passou a ser ferramenta fundamental
no desenvolvimento de circuitos e mquinas digitais.
Uma lgebra booleana definida sobre um conjunto com dois elementos,
tipicamente falso e verdadeiro, alto e baixo, um e zero. Ns nos referimos a lgebra
booleana binria, quando os elementos deste conjunto so "0" e "1". Neste sentido
esta classe de lgebra pode ser definida como uma n-upla {V, +, } onde V um
conjunto e os smbolos + e so operaes binrias sobre os elementos de V.
Operaes bsicas:
(As duas primeiras operaes definem a chamada lgebra de chaveamento que
consiste de um conjunto V={0,1} e das duas operaes AND e OR como apresentadas
abaixo.

AND (E), smbolo: ,


1) 0.0 = 0
2) 0.1 = 0
3) 1.0 = 0
4) 1.1 = 1

OR (OU), smbolo: +,
5) 0+0 = 0
6) 0+1 = 1
7) 1+0 = 1
9) 1+1 = 1
Veja mais adiante o uso desta operao

_____________________________________________________________________
XOR (OU exclusivo), smbolo:
10) 00 = 0
11) 01 = 1
12) 10 = 1
13) 11 = 0

54

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Postulado: proposio que se deve admitir antes de um raciocnio e que no ser posta
em dvida. Para esta lgebra so vlidos os seguintes postulados:
Postulados:
(Os smbolos + e so operadores que denominamos OU (OR) e E (AND). Os elementos do conjunto V
so literais a serem usados em expresses como variveis booleanas)

P1: se a e b so elementos de V, ento


P1.1 a+b=b+a
P1.2 ab=ba
P2: Se a, b, c so elementos de V, ento
P2.1 a+(bc)=(a+b) (a+c)
A operao OR distributiva sobre a operao AND
P2.2 a(b+c)=(ab)+(ac)
A operao AND se distribui sobre a OR
P3: Para os dois elementos do conjunto V ={0,1}, h identidade tal que:
P3.1 0+a=a+0=a
P3.2 1a=a1=a
P4: Para um elemento a de V existe a' denominado de complemento de a em V
com as seguintes propriedades:
P4.1 a+a' = 1
P4.2 aa' = 0
Vamos, a seguir, estudar os teoremas mais conhecidos da lgebra de Boole,
procurando apresentar algumas demonstraes com o objetivo de introduzir o aluno a
tcnicas usadas para provar os teoremas:
Teoremas bsicos : proposies que podem ser demonstradas.

T1: Comutatividade: a+b = b+a


Se as operaes bsicas forem usadas pode-se verificar que as tabelas abaixo so
simtricas com relao a diagonal.
OR
0
1

0 1
0 1
1 1

AND 0 1
0
0 0
1
0 1
Verifique as operaes bsicas com cuidado e confirme.

55

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

T2: Distributividade: a (b+c) = ab + ac


ou a(b+c) = ab+ac
Pode-se mostrar por induo perfeita. Neste caso deve-se considerar todas as
possibilidades de valores para as variveis:
abc
000
001
010
011
100
101
110
111

a(b+c)
0
0
0
0
0
1
1
1

ab+ac
0
0
0
0
0
1
1
1

T3: Elemento identidade: a+0 =a


Deduz-se das operaes bsicas que 0+0=0 e 0+1=1 portanto 0 o elemento
identidade aditivo. O elemento identidade multiplicativo (a1=a) seria ento verificado
por 01=0 e 11=1 ou seja 1 o elemento identidade multiplicativo.
T4: Existncia de complemento: a + a' = 1
Vamos assumir que 0 o complemento de 1 e verificar que o postulado P4 se verifica:
a
a'
a+a' aa'
1
0
1
0
0
1
1
0
ou seja dado a existe a' que satisfaa P4.
T5: Princpio da Dualidade:
Toda identidade algbrica da lgebra booleana permanece vlida se:
1) todos os operadores e + forem intercambiados;
2) todos os elementos 1 e 0 tambm forem intercambiados;
Exemplo:
a+b+cd=1

abc+d=0

Para todo postulado da lgebra de Boole existe o seu dual que obtido trocando-se 0s
por 1s e as operaes + por .

T6: Unicidade do complemento:


Prova (ref. 6). Vamos admitir que a V e que x e y sejam complementos de a.
Podemos efetuar as seguintes operaes:
x

= x1
=x(a+y)
=xa+xy
=ax+xy

P3.2
Por hiptese
P2.2
P1.2

identidade
y o complemento de a
distributividade
comutatividade

56

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

=0+xy
=xy

Por hiptese
P3.1

x o complemento de a
identidade

Trocando x por y e vice-versa e repetindo todos os passos para y obtemos:


= yx
= xy
e portanto, x = y.

P1.2

Aps demonstrada a unicidade do complemento podemos considerar o smbolo ' (NOT)


como uma operao de complementao.

T7: Elemento nulo:


Para qualquer elemento a de V :
a+1 = 1 e a0 = 0
a+1

= 1(a+1)
= (a+a') (a+1)
= a + (a'1)
= a + a'
=1

P3.2
P4.1
P2.1
P3.2
P4.1

a0

= 0 + (a0)
P3.1
= (aa')+(a0)
P4.2
= a(a'+0)
P2.2
= aa'
P3.1
=0
P4.2
(Este ltimo pode ser provado por meio de dualidade do anterior)

T8: O complemento de 0 1 e o complemento de 1 0


Sabemos que a + a' = 1 (P4.1) e que o complemento nico (T6). Assim podemos
dizer que se a' = 1 ento a ser 0 e vice-versa. Logo o complemento de 1 0 e viceversa.
T9: Lei da Idempotncia:
Para todo a pertencente a V
a+a=a
aa=a

57

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

a+a

= (a+a) 1
= (a+a) (a+a' )
= a+(a a' )
= a+0
=a

P3.2
P4.2
P2.1
P4.2
P3.1

a a = a prova-se pelo teorema da dualidade (T5).

T10: Lei da Involuo:


Para todo a pertencente a V podemos dizer que
(a' ) ' = a
Pode-se dizer que (a' )' e o prprio a so ambos complementos de a' e que pela
unicidade do complemento (a' )' e a tem que ser iguais.

T11: Lei da Absoro


Para a e b pertencentes a V,
a+ab = a
a(a+b) = a
a+ab = a1+ab
= a(1+b)
= a(b+1)
= a1
=a

P3.2
P2.2
P1.1
T7
P3.2

a(a+b) = a

Princpio da dualidade T5

T12: Para todo par de elementos a e b de V,


a + a'b = a+b
a(a'+b)= ab
a+a'b = (a+a' )(a+b)
= 1 (a+b)
= a+b

P2.1
P4.1
P3.2

a(a'+b)= ab

Princpio da dualidade (T5)

T13: Associatividade das operaes + e


Para a e b pertencentes a V,
a+(b+c)=(a+b)+c
a(bc)=(ab)c
58

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Para demonstrar este teorema faremos uso de propriedades que s podem ser
retiradas dos fundamentos da matemtica associados a lgebra booleana. Neste caso
a terceira operao descrita acima () usada para definir um Anel Booleano que inclui
propriedades especiais. No objetivo deste curso detalhar estes conceitos, portanto
vamos extrair as propriedades da matemtica fundamental e us-las como parte de
operaes vlidas para a lgebra booleana. Deste modo as propriedades que vamos
denominar de R1, ... Rn (Ring) apenas para lembrar a existncia de fundamentos
bsicos da teoria dos anis faro parte do conjunto de opes para demonstaro de
vrios teoremas, sem nenhum rigor matemtico no estabelecimento de cada uma das
propriedades adicionais (Veja referncia 4 para se esclarecer sobre o assunto).
Revendo a operao () denominada de OU exclusivo (XOR, de exclusive OR)

XOR
00=0
01=1
10=1
11=0
a0 = a
a1 = a'
aa = 0
aa' = 1
a b ab = a + b
ab = ab' + a'b

R1
R2
R3
R4
R5
R6

Provando T13,
a+(b+c) =
= a(bcbc) a(bcbc)
= abcbcabacabc
= (abab) c(abab)c

= (a+b)+c

a(bc)= (ab)c

R5
distributiva
comutativa e R5
Princpio da dualidade (T5)

T14: Distributividade do produto sobre a soma:


a(b+c) = ab + ac
= abacabac
= abacabc
= a(bcbc)
= a(b+c)

59

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

T15: Teorema de De Morgan:


(a b)' = a' + b'

(a+b)' = a' b'

(a+b)' = a' b'


= (a1)(b1)
R2
= abab1
= (a+b)1 = (a+b)'

distributiva
R5

(ab)' = a' + b'


= a'b'a'b'
= a1b1(a1)(b1)
= a1b1abab1
= aabb11ab1
= 000ab1
= 0ab1
= (ab)1
= (ab)'

R5
R2
distributiva
R3
R3
R1
R2

Tabela 1. Esta tabela contm um resumo de diversas propriedades da lgebra booleana, mostrando a
identidade e seu dual. Lembre-se que o dual pode ser obtido trocando-se zeros por uns e intercambiando
as operaes + e em toda a expresso.

Propriedade

Identidade

Identidade

a+0=a

a1=a

Elemento nulo

a+1=1

a0=0

Idempotncia

a+a=a

aa=a

Complemento

a + a' = 1

a a' = 0

Involuo
Comutativa

Identidade Dual

(a' )' = a
a+b=b+a

ab=ba

60

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Associativa

(a+b)+c = a+(b+c)

(ab)c = a(bc)

Distributiva

a(b+c) = ab + ac

(a+b)(a+c) = a+bc

Cobertura

a + ab = a

a(a+b) = a

Combinao

ab + ab' = a

(a+b)(a+b') = a

Consenso

ab + a'c + bd =
bc + bd

(a+b)(a'+c)(b+d) =
(b+c)(b+d)

De Morgan

(a b)' = a' + b'

(a+b)' = a' b'

( Retirado de ref.03, Tab.1.1, pag. 6)


(Nem todas as propriedades aqui listadas foram demonstradas ou discutidas. Mais tarde sero utilizadas e ento
apresentadas para melhor entendimento. Talvez fosse bom que o aluno se antecipasse em verificar algo sobre elas
na bibliografia e ficasse preparado. No se sabe o dia de amanh, certo?)

61

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Analogia entre operaes lgicas e a teoria de conjuntos:

Outras funes podem ser tambm representadas. Experimente!

Exerccios
Nos dois primeiros casos abaixo utilizamos a tcnica de demonstrao que consiste no
desenvolvimento da expresso procurando aplicar as propriedades mais bsicas.
Demonstrar:
(a+b) (a+c) =
(a+b) (a+c) =
=
=
=
=

a + (b c)
aa + ac + ba + bc
a+ a (b+c) + bc
a (1+b+c) + bc
a (1) + bc
a + bc

Demonstrar:
(ab) = ab' + a'b
= ab'a'bab'a'b
= ab'a'b
= a(b1) (a1)b
= abaabb
= ababab
= 0ab
= ab

62

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Podemos, contudo demonstrar teoremas por verificao que o que faremos para os
casos a seguir.
Demonstrar:
a + ab = a
a
0
0
1
1

b ab
0 0
1 0
0 0
1 1

a+ab
0
0
1
1

Neste caso montamos uma tabela com todas as combinaes das variveis que esto
dos dois lados da identidade. Observa-se que a funo booleana a+ab igual a a
qualquer que seja o valor de b.
Demonstrar:
(a+b)' = a' b'
a
0
0
1
1

b
0
1
0
1

(a+b)
0
1
1
1

(a+b)'
1
0
0
0

a'
1
1
0
0

b'
1
0
1
0

a' b'
1
0
0
0

Demonstrar:
(ab)' = a' b = ab' = a'b' + ab
a+a = aaaa=(aa) a = 0a=a
b + a'b = a' + b
a(a' + b') = ab'
(a+b) (a+c) = a + (bc)
ab + ab' = a

Exerccio:

Demonstrar todos os teoremas dados em classe. Use o bom senso! Aqueles mais simples, demonstre apenas por
verificao. Todos que possibilitarem um certo trabalho algbrico demonstre pelo desenvolvimento das expresses.
Justifique todos os passos com os postulados ou teoremas previamente demonstrados. Voc precisa saber todos
de cor!

63

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

7. Blocos lgicos
Aqui sero descritos, de acordo com a operao algbrica correspondente, os
principais smbolos que caracterizam os chamados blocos lgicos. Com estes blocos
(da o nome) pode-se construir uma infinidade de combinaes que iro representar e
sintetizar circuitos altamente complexos.
Funo: NOT

(inversor)

a'

Funo: AND (E)

a
b

ab

Funo: NAND (NOT E)

a
b

(ab)

Esta operao comutativa, i.., L= (ABC)' = (BAC)',


mas no associativa.
64

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Funo: OR (OU)

a+b

b
Funo: NOR

(a + b)

b
Esta operao comutativa, i.., L= (A+B+C)' = (B+A+C)',
mas no associativa.

Funo: XOR

(a + b)

b
Esta operao comutativa e associativa!

65

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

A operao AB pode ser representada por meio de blocos lgicos j conhecidos


conforme apresentado abaixo:

a b'

b'

a'
b

(a + b)
a' b

Vamos trabalhar um pouco com os blocos lgicos. A idia construir circuitos


gerados pela conexo, aleatria ou no, de blocos e determinar a funo final obtida.
Neste ponto, podemos intuitivamente identificar os conceitos de simplificao,
dualidade, falhas e custo.

Exerccio:
Um determinado circuito com 3 entradas binrias A,B e C pode ser projetado usando-se 2 blocos AND, de modo
que a sada seja simplesmente o produto lgico ABC. Como sempre voc no dispe de todos os recursos
necessrios. Da entra o papel do engenheiro! Como voc faria se no dispuzesse de circuitos (blocos) AND, mas
sim de blocos OR e NOT ? Justifique. E se voc dispuzesse de 2 blocos OR, um bloco NAND e dois blocos NOT ?
Justifique. (Obs.: considere os blocos NAND, AND e OR de duas entradas).

66

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

8. Tecnologia
Conceitos apresentados de modo simplificado leia refs. adicionais !
Os componentes eletrnicos mais importantes atualmente so os chamados
semicondutores. Os semicondutores podem atuar como condutores ou isolantes
dependendo das condies. Um dos materiais semicondutores mais populares o
silcio, um dos ingredientes encontrados na areia. O tomo de silcio tem 4 eltrons na
sua camada mais externa e assim pode se ligar covalentemente a at 4 outros tomos
compartilhando seus eltrons. Um cluster de tais tomos forma um cristal. H bastante
silcio na natureza. Cerca de 28% da crosta terrestre formada por silcio, que,
contudo, no est na sua forma pura, como sempre...
Quando silcio misturado, ou "temperado" com outros elementos, tais como
fsforo ou boro, a mistura tem propriedades eltricas muito teis. O tempero
denominado de doping. Os eltrons das camadas mais externas dos tomos de silcio
podem ser compartilhados com os de tomos de boro ou fsforo. O tomo de boro tem
apenas 3 eltrons na sua camada mais externa. J o tomo de fsforo tem 5 eltrons
na camada mais externa. Silcio com eltrons de fsforo extras forma um cristal do
tipo N (negativo). Quando a combinao feita com um tomo deficiente em eltrons,
como o boro, o tipo P (positivo).
Cristal tipo P
Um tomo de boro em um cluster de tomos de silcio deixa uma "vaga",
chamada de "lacuna" (buraco), para um eltron. E' possvel que eltrons de tomos
vizinhos "caiam" na tal lacuna. Deste modo a lacuna teria se movido para outro local
atravs do silcio.
Cristal tipo N
Um tomo de fsforo, em um cluster de tomos de silcio, doa um eltron extra.
Este eltron pode mover-se atravs do cristal. Silcio tipo N pode, portanto, conduzir
corrente eltrica. E tambm o tipo P! As lacunas "conduzem" a corrente.
O diodo
Ambos os tipos de silcio (P e N) conduzem corrente eltrica. A resistncia
determinada pelo nmero de buracos ou de eletrons extras. Deste modo, ambos
podem funcionar como resistores, conduzindo eletricidade em qualquer direo.
Contudo, pela formao de silcio tipo P em uma pastilha de silcio tipo N, os eltrons
iro fluir em apenas uma direo. Este o princpio bsico da construo e
funcionamento do diodo. A interface P-N chamada de Juno PN.

67

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

O smbolo do diodo apresentado abaixo:

A conduo se dar pelo diodo quando o anodo for mais positivo que o catodo. Alm
disso deve-se observar o seguinte:
a) O diodo no ir conduzir at que a tenso direta seja maior que um certo limiar.
Para diodos de silcio esta tenso de 0,6 V.
b) Se a corrente direta for excessiva o componente pode fundir. Quando isto acontece
o diodo pode conduzir em ambas as direes. O calor torna-se excessivo e pode
vaporizar o componente.

68

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

d) Existem vrios tipos de diodos. Diodos para pequenos sinais (e.g. 1N914),
retificadores de potencia (alta corrente), diodos Zener (e.g. 1N4733), LEDs e
fotodiodos.
O circuito abaixo ir reduzir a tenso a partir da tenso da fonte de alimentao, de
cerca de 0,6 V por diodo e constitui um exemplo de aplicao:

Sabendo, agora, como funcionam os diodos, vamos sintetizar circuitos lgicos com
estes componentes e observar seu funcionamento.

OR

69

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

O Transistor
um dispositivo que pode, com uma corrente pequena, controlar uma corrente
muito maior. Pode funcionar como amplificador ou como chave. H duas grandes
classes de transistores: Bipolares e de efeito de campo (FET - field effect transistor).

Transistor Bipolar
Do ponto de vista de construo estes transistores so formados por
combinaes convenientes de junes N e P. Veja a figura abaixo:

Quando a base de um transistor NPN ligada ao terra (0 V), no h fluxo de


corrente do emissor para o coletor (diz-se que o transistor est "cortado"). Se uma
polarizao direta suficiente para vencer a barreira de potencial de 0,6 V aplicada a
base do transistor uma corrente ir fluir do coletor para o emissor. Se esta corrente for
prxima de Vcc/R dizemos que o transistor est saturado. Operando com correntes de
base que levem o componente sempre de cortado para saturado e vice-versa, dizemos
que o transistor esta funcionando como chave. neste modo de operao que os
transistores so usados para sntese de circuitos digitais e portanto apenas este caso
ser estudado neste curso.
Para que o transistor opere necessrio que seja polarizado. Isto significa
aplicar uma tenso no coletor, positiva com relao a do emissor. Veja a figura a
seguir:

70

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Se o transistor estiver polarizado, a corrente no coletor depender da corrente na


base de modo que, para pequenas correntes de base,
Ic = Ib
onde o ganho de corrente do transistor (pode variar de algumas dezenas at
algumas centenas). Se Ib for suficientemente grande, o transistor atingir a saturao.
Este ponto ocorre quando a corrente no coletor tiver crescido tanto (voc sabe que Ic =
Ib ) a ponto da tenso no coletor cair para zero (queda no resistor igual a Vcc).
Ocorre saturao quando
o que leva a

Icsat Vcc / R,
Ibsat Vcc / (R)

O transistor vai operar em dois modos:


cortado:
Ib = 0, Ic = 0 e Vc = Vcc
Saturado:
Ib>= Vcc / (R), Ic = Vcc / R e Vc = 0
Veja o caso real em que Vcc= 10 V, R = 1k e = 50.
Ibsat = Icsat / = 10 mA / 50 = 200 A.

Icsat = 10V/1k = 10 mA e

Exerccio:

Procurar manuais (atualizados) na biblioteca e encontrar componentes com as principais funes lgicas. Duas
entradas so suficientes. Mostre como o componente seria usado para efetuar as funes bsicas: NOT, AND,
NAND, OR, NOR e XOR. Inclua a referencia (manual(ais) de onde a informao foi retirada).

71

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

9. Funes booleanas e circuitos digitais


Como escrito no ttulo deste tem vamos falar um pouco sobre circuitos digitais.
Os circuitos digitais podem ser classificados em dois grandes grupos. Os circuitos
combinacionais (ou combinatrios) e os circuitos sequenciais. Os circuitos
combinatrios so circuitos digitais nos quais a sada depende apenas das entradas
atuais e nos circuitos sequenciais a sada depende das entradas e do estado interno do
circuito, ou seja, so circuitos com memria.
A representao esquemtica dos circuitos combinatrios a seguinte:

a1
a2
an-1

Circuito lgico
combinacional

S= f(a1, a2, ... , an)

an
Os circuitos combinatrios so circuitos desprovidos de memria. Por outro
lado, a outra classe de circuitos digitais, os circuitos sequenciais, formada por
circuitos com memria. Neste caso, no basta saber o estado das entradas atuais para
se conhecer as sadas. necessrio que se conhea o estado interno do circuito.
Nestes circuitos a sequncia de apresentao das entradas fundamental na
determinao da sada atual. Alm dos blocos lgicos j estudados, outros circuitos
bsicos com memria so utilizados nos circuitos sequenciais. A descrio e definio
formal dos circuitos sequenciais ser vista mais adiante quando estivermos estudando
a sua sntese.
De modo geral chamaremos de circuitos digitais aqueles formados por
combinaes dos blocos lgicos bsicos descritos anteriormente. A funo que
descreve matematicamente o circuito uma funo booleana. Se f(x,y,z) = x.y+z+x'
uma funo tal que x,y e z assumem apenas dois valores (por exemplo 0 e 1) e
consequentemente so variveis booleanas, ento f (x,y,z) uma funo booleana.
Chega de papo! Como fazer para avaliar uma funo destas? Simples! Se
cada varivel assume apenas dois valores, ento o nmero de combinaes de n
variveis ser 2n. Deste modo podemos construir uma tabela na qual as entradas so
as variveis e a sada, o valor da funo. Cada varivel assumir apenas os valores 1
e 0 e assim tambm ocorrer com a sada (valor de f) para cada combinao das
entradas. Veja por exemplo a tabela abaixo:

72

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

1
1
1
1
0
1
1
1

(Veja com o professor um truque para poder construir tabelas como estas com qualquer nmero de
variveis, sem ter que realmente pesnsar nas combinaes...ou descubra voce mesmo!!!)

Esta tabela denominada de Tabela Verdade (como se tivssemos atribuido


valor Verdade para a sada 1 em oposio a Falso para sada 0. O circuito iria ligar
algo quando a sada fosse 1 ("alta"), etc... Veja mais tarde que a lgica poderia ser
"invertida"!
Continuando agora com a lgica no-invertida. E o oposto? Dada a tabela com
as sadas desejadas como determinar a funo booleana correspondente? Da vem
mais umas coisinhas para incrementar seu cabedal de conhecimento das palavras:
mintermo e soma cannica de produtos. O produto lgico (AND, ) de todas as
variveis da funo, complementadas se o seu valor na tabela 0, chamado de um
mintermo. Pronto! ( o mintermo assume o valor 1 para apenas uma combinao das
variveis). A soma lgica (OR, +) de todos os mintermos da tabela uma soma
cannica e esta soma descreve a funo -- Essa boa!!! Vejamos no caso da funo
descrita acima qual seria a soma cannica a partir da tabela. Siga em frente e faa
alguma coisa.....Por exemplo, olhe para a tabela e comee a escrever os mintermos e
v somando, somando,....Seria:

f = x'y'z' + x'y'z + x'yz' + x'yz + xy'z + xyz' + xyz


Muito interessante. O que esta funo tem a ver com a funo original, f = xy + z
+ x' ? Voc quer mesmo saber? Ento faa o exerccio de avaliar a funo cannica e
colocar o resultado ao lado da sada da funo original, na tabela. Viu? Deu a mesma
coisa, e agora? Espere a prxima aula ..... e saber. Ou melhor ainda, deixe a
preguia de lado e leia a bibliografia at descobrir.
Vamos agora verificar como seria o circuito digital correspondente a cada uma
das funes, construido-o com blocos lgicos de apenas duas entradas. Quantas
entradas tem os CIs que vocs viram nos manuais? Muito bem, faam como exerccio
o circuito com a funo mais complexa e o professor, como sempre, far o circuito para
a funo mais simples, este circuito est apresentado a seguir:

73

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Uma funo booleana pode ser representada por um produto de somas. Basta
considerar os termos para os quais a funo assume o valor 0. Vamos direto a tabela
descrita anteriormente. A combinao x = 1, y = 0 e z = 0 assume valor 0. Deste modo
o termo x + y' + z' aparece na funo, que neste caso seria: f = (x' + y + z)(alguma outra
sada nula se houvesse) ... . A soma x' + y + z chamada de maxtermo e o produto de
todos os maxtermos ser o produto cannico de somas (viu? mais "termos").
Compare a funo obtida a partir dos max- com aquela obtida a partir dos mintermos.
As combinaes apresentadas na tabela verdade poderiam ser representadas
por um nmero decimal (por exemplo o nmero da linha). Na realidade se atribuirmos
valores a cada posio ocupada pelos 0s e 1s na linha podemos escrever um nmero
binrio, usando uma notao posicional, como fazemos para escrever os nmeros
decimais, ou seja, o nmero 34 corresponde a 3x101 + 4x100 = 30 + 4 = 34 e 10 a
base numrica, certo? Por analogia, o nmero binrio 101 seria 1x22 + 0x21 + 1x20 = 4
+ 0 + 1 = 5 em decimal. Deste modo podemos escrever cada combinao das entradas
da tabela verdade na sua notao decimal e com alguma convenincia representar a
funo por:
f(x,y,z) = S(0,1,2,3,5,6,7).
Acho que neste ponto algum j deve estar pensando: "o que vem primeiro o
ovo ou a galinha?" Certo, o que voc acha? A gente constroi uma tabela verdade e da
projeta um circuito ou a gente escreve tabelas para representar os circuitos? Claro,
exatamente o que voc estava pensando... a tabela representa aquilo que a gente quer
e consequentemente uma das maneiras de representar a funo ou o circuito.
Suponha que voc
tenha que fazer um circuito com as seguintes
especificaes: a) um painel com trs lmpadas (uma vermelha, outra amarela e outra
verde) dispostas verticalmente; b) as lmpadas devero ser acesas de acordo com o
acionamento de 3 chaves por uma determinada pessoa (ou animal). Se a chave 1 for
ligada a lmpada verde ser acesa, caso a chave 2 seja a escolhida a lmpada
vermelha ser ativada e finalmente se a opo for pela chave 3 a lmpada amarela

74

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

que ser ligada. Se, por outro lado as trs chaves forem ligadas ao mesmo tempo,
todas as lmpadas devero acender. Como poderamos expressar este problema na
forma de uma tabela? Assim:

C1

C2

C3

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
0
0
0
1
0
0
1

0
1
0
0
0
0
0
1

0
0
1
0
0
0
0
1

E agora? So 3 sadas ! Problema novo! pra isto que existe professor... e


livros! Vamos ento escrever os circuitos para cada sada e pronto.
G = C1C2'C3' + C1C2C3
Y = C1'C2'C3 + C1C2C3
R = C1'C2C3' + C1C2C3
Pronto a esto as somas cannicas para cada sada. Como exerccio faam os
circuitos equivalentes e testem o que fizeram (com lpis e papel mesmo...calma!). Veja
um modo organizado de desenhar o circuito com o professor.

.......Trabalho.......
Vamos agora pensar em outra situao, na qual, para certas combinaes das
entradas, a sada pudesse ser indiferente. Como assim?... assim como na tabela
abaixo:

x
00
10
20
30
41
51
61
71

y
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1

s
0
1
0
1
x
0
x
0
75

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

A funo, sem levar em conta os estados para os quais a sada indiferente seria:
f = x'y'z + x'yz
Quando esta situao acontece dizemos que se trata de uma combinao ou estado
indiferente (Don't care state). Os don't care so marcados com um x que significa
troque por 1 ou 0, I don' t care !, frase muito comum nos USA:
A me
- Darling please, you don't look fine on these pants...
O filho adolescente
- I don't care, mom!
Usando a notao simplificada para representar a funo teramos:
f = S(1,3) + D(4,6),
onde D representa as sadas indiferentes ou don't care states (veremos o que fazer com
eles depois...).

Mapas de Karnaugh
Continuando um pouco com a idia de representao das funes booleanas,
vamos definir o que se chama de mapa de Karnaugh. Trata-se de uma forma
modificada da tabela verdade. Uma forma conveniente de apresentao (Porque voc
no inventa outra melhor? Eu sei. porque voc ainda no entende o suficiente sobre
o assunto? Certo?). Os mapas de n variveis iro conter 2n clulas. Vejamos como
seria representada a tabela a seguir:

0
1

0
0

0
0

0
1

1
1

76

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

2
3
4
5
6
7

0
0
1
1
1
1

1
1
0
0
1
1

0
1
0
1
0
1

0
1
1
0
0
1

Mapa para tres variveis:

Observe que cada clula pode ser marcada com o decimal correspondente
combinao binria da tabela verdade. No final, o mapa de Karnaugh deve conter em
suas clulas a sada que se deseja representar, ou seja:

Vamos ento ver agora como seriam as configuraes para 4, 5 e 6 variveis:


Mapa para 5 variveis:

77

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Coloque os valores das combinaes das entradas (em decimal) nas diversas
clulas do mapa apresentado acima. Que relao h entre os valores binrios das
clulas adjascentes? Veja por exemplo, 2 e 6, 16 e 20. Pratique. MUITO !!!
Mapa de Karnaugh para 6 variveis:

A organizao das clulas no mapa de Karnaugh no fortuita! muito


interessante notar que todas as clulas vizinhas difiram em apenas uma posio na sua
notao binria. Revise o que voc j pensou anteriormente e confira.
Esta
organizao parte da base para a simplificao automtica de funes, usando o
mapa de Karnaugh.
O cdigo usado para identificar as linhas e colunas

78

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

extremamente importante. Graas a este cdigo, clulas com um lado em comum


correspondem a combinaes que diferem no valor de uma nica varivel (voc se
lembra da definio de combinao ou matching ? ). Estas clulas so chamadas de
adjacentes. Observe que, no mapa de 3 variveis as clulas 0 e 4 so adjacentes.
Deste modo a idia juntar clulas com valor 1 nos chamados subcubos compostos
por 2n clulas. Um produto das variveis que assumem o mesmo valor pode ser
gerado, de modo que as variveis apaream complementadas se o valor for 0 e no se
o seu valor for 1. O valor da varivel aquele que voc observa lendo os 1s e 0s
dispostos convenientemente no ndice das clulas do mapa. Um conjunto de 2n
clulas, cada uma adjacente a n clulas do conjunto chamado de subcubo de ordem
n. Dizemos que este subcubo cobre estas clulas. Todo subcubo cuja ocorrencia ("1")
obriga a funo a ter valor 1, ou seja, Implica na funo dada um implicante da
funo. Associamos a cada implicante um produto de literais. Uma certa funo pode
ser expressa pela soma de todos os produtos implicantes correspondentes aos
subcubos necessrios para cobrir todas as clulas com valor 1 no mapa.
Exemplo:

Os subcubos escolhidos foram todos aqueles que cobririam a funo


completamente, sem interseco entre eles. Cada subcubo deve ser escolhido como
sendo o maior possvel (neste caso mais variveis sero eliminadas). No caso da
existencia de don't care states eles devero ser usados convenientemente como 0s ou
como 1s, de modo a favorecer a formao dos subcubos. Um implicante que obtido
de um subcubo no contido em nenhum subcubo maior chamado de implicante
primo (prime implicant).

Custos e risco de falhas


Como sempre, na prtica a teoria outra. No entanto sem saber a teoria voc pode
cair no lema do velho ditado: "se voc no sabe o que est procurando, quando acha
no sabe que achou".
Supondo que saibamos representar e simplificar circuitos digitais, a idia ao se definir
um circuito final a de procurar reduzir custos, desde que a qualidade seja preservada.

79

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Vamos assumir como custo, uma funo que nada mais que a soma dos terminais
de entrada dos blocos lgicos. Tomemos por exemplo a funo:
f(x,y) = yx' + y
Neste caso o custo seria:
Custo = 2 + 1 + 2 = 5
Simplificando a funo (e vocs j sabem faze-lo por meio de manipulao algbrica),
teramos:
f (x,y) = y
e neste caso o custo torna-se:
Custo = 1 (Bem menor...certo?)
Infelizmente os circuitos digitais no respondem instantneamente aos sinais de
entrada! Isto pode ocasionar falhas. Por causa disso deve-se ter em mente os
conceitos de TPHL (time for propagation of the low to high transition) e TPHL (time of
propagation of the high to low transition). TPLH o tempo necessrio para a mudana
do nvel baixo para o nvel alto em um determinado componente lgico. Deste modo
as vezes temos que sacrificar o baixo custo para garantir o bom funcionamento do
circuito. J ouviu dizer que o barato sai caro ? isso.

Suponha que voc esteja projetando um circuito que deva transmitir milhares de
dados e que em um determinado ponto a sada do circuito amostrada, de modo
sincronizado, como indicado pelos pontos na parte "1" do sinal (Figura acima). Que
desastre! Por causa do atraso introduzido pelo componente, "1" ser transmitido, ao
invs de "0", para o primeiro ponto. Se aquilo fosse uma "palavra" binria, (0111)2
seria transformado em (1111)2 . Se isto fosse seu dbito, ao invs de R$ 7.000,00 (o
milhar apareceu apenas para lhe assustar!) voc estaria devendo R$ 15.000,00
(ligeiramente diferente certo?).

80

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Correo do risco de falhas


Quando a falha ocasionada por apenas um par de combinaes de entrada
adjacentes que produzem a mesma sada e no houver na expresso mnima uma
clula que contenha ambas as combinaes das entradas. O circuito gerado pelo
mapa a seguir um destes casos e pode ser corrigido conforme apresentado no mapa
seguinte.

Exerccio:

Resolver os exerccios da srie 1 (Que srie 1 ? )

81

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

10. Simplificao de funes booleanas


Agora vamos estudar como fazer para simplificar funes booleanas de modo
sistemtico. Antes porm tentaremos fazer algum trabalho de simplificao de modo
que possamos tomar contato com o mapa de Karnaugh, usado para esta funo.
Vamos ento propor a construo de um circuito, construir a sua tabela verdade,
expresso booleana (soma cannica) e mapa de Karnaugh. Em seguida vamos
simplificar a funo no mapa de Karnaugh e obter a funo simplificada. Com isto
teremos condies de desenhar o diagrama do circuito com os blocos lgicos
conhecidos. Vamos iniciar com algumas definies no formais:

Prime implicant (implicante primrio ou implicante primo )


Dado um circuito combinatrio descrito pelo mapa de Karnaugh, agrupamos as
clulas com 1s nos maiores grupos retangulares de tamanho 2n. A cada grupo destes
associamos um produto das variveis (complementadas ou no) que pode ser obtido
da soma cannica de todos 1s do grupo, simplificados pelo teorema que diz que AB +
AB' = A (combinao). Este produto chamado de Prime Implicant da funo.

Soma mnima
A soma mnima corresponde a soma do menor nmero de prime implicants que
cobre completamente a funo.
Marca-se o conjunto de todos os prime implicants e depois escolhe-se um conjunto
mnimo. Primeiro identifica-se os chamados essenciais, que so aqueles que sozinhos
(sem intersees) cobrem um conjunto de clulas (subcubo) com 1s. Depois, os noessenciais sero escolhidos levando-se em conta um critrio de custos.
Exemplo prtico:
Queremos sintetizar um circuito com quatro entradas que tenha como sada o
valor 1 apenas quando duas entradas forem iguais a 1. A tabela verdade seria:
abcd
s
0000
0
0001
0
0010
0
0011
1
0100
0
0101
1
0110
1
0111
0
1000
0
1001
1

82

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

1010
1011
1100
1101
1110
1111

1
0
1
0
0
0

O mapa de Karnaugh para quatro variveis seria:

Neste caso a vida no sorriu!!! Temos que escolher subcubos de apenas 1


elemento, o que torna a funo mnima identica soma canonica. Ficaramos com:
F(a,b,c,d) = abc'd' + a'bc'd + ab'c'd + a'b'cd + a'bcd' + ab'cd'
Vamos contudo sintetizar um circuito um pouco diferente. Neste caso vamos
assumir que as entradas 1000 e 1101 (abcd) sejam don't care states. Neste caso
teramos:

83

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Os prime implicants seriam:


essenciais: a'b'cd, a'bcd', ac', bc'd, ab'
O produto a'bc'd no um prime implicant porque est contido em um subcubo maior!
Sm = a'b'cd + a'bcd' + ac' + bc'd + ab'

Exerccio:

proponha vrios outros mapas e descreva os conjuntos de prime-implicants

Mtodo de Quine-McCluskey
Etapa1. Gerao dos implicantes primos
Vamos trabalhar com os produtos fundamentais de modo que w'xy'z seja representado
por 0101. O Passo 1 ser listar as linhas para as quais a funo assume sada igual a
1. Cada linha contm (coluna 2 da esquerda para a direita) o decimal equivalente
levando-se em conta a funo que queremos minimizar:
F(v,w,x,y,z) = (0,2,4,6,7,8,10,11,12,13,14,16,18,19,29,30)

0
1
1
1
1
2
2
2
2
3
3
3
3
3
4
4

(0)
(2)
(4)
(8)
(16)
(6)
(10)
(12)
(18)
(7)
(11)
(13)
(14)
(19)
(29)
(30)

V
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1

W
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1

X
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1

Y
0
1
0
0
0
1
1
0
1
1
1
0
1
1
0
1

Z
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0

marca

b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b

84

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

O Passo 2 consiste em comparar cada par de caracteres binrios dos produtos


fundamentais para verificar se diferem em apenas uma coordenada (posio binria) e
combin-los pelo teorema :
XY+XY' = X
As comparaes so feitas de modo guiado pela primeira coluna esquerda. Todos de
ndice 0 com todos de ndice 1, todos de indice 1 com os de ndice 2 e assim por diante.
Uma marca (a) colocada na coluna mais direita para indicar que o elemento da
referida linha foi combinado com algum outro.
Com isto gera-se uma nova tabela com produtos fundamentais formados pelos
caracteres binrios que so iguais nos pares comparados e um trao no local
correspondente ao caractere que foi diferente. Por exemplo ao comparar :
01000
00000

v' w x' y' z'


v' w' x' y' z'

Gera-se
0-000

v' x' y' z'

Assim, a tabela a seguir contm o resultado deste segundo passo.

(0,2)
(0,4)
(0,8)
(0,16)
(2,6)
(2,10)
(2,18)
(4,6)
(4,12)
(8,10)
(8,12)
(16,18)
(6,7)
(6,14)
(10,11)
(10,14)
(12,13)
(12,14)

V
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0

W
0
0
0
0
0
0
1
1
0
0
1
1
1
1

X
0
0
0
0
0
1
1
0
0
1
1
0
1
1

Y
0
0
0
1
1
1
0
0
1
1
1
1
0
-

Z
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

marca

b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
85

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

(18,19)
(13,29)
(14,30)

1
-

0
1
1

0
1
1

1
0
1

1
0

Agora, novas combinaes so investigadas (faa em ordem crescente e no inclua na


tabela as repeties) e aquelas possveis so marcadas. O produto que pode ser
combinado com outro no implicante primo e portanto deve ser marcado.
No Passo 3 os caracteres da tabela acima so comparados novamente, do mesmo
modo para buscar possveis combinaes. Deste modo uma nova tabela ser montada
como a seguir:

(0,2; 4,6)
(0,2; 8,10)
(0,2; 16,18)
(0,4; 8,12)
(2,6; 10,14)
(4,6; 12,14)
(8,10; 12,14)

V
0
0
0
0
0
0

W
0
0
1

X
0
0
1
-

Y
0
1
-

marca

Z
0
0
0
0
0
0
0

b
b
b
b
b
b

Repare que quase todas as linhas esto marcadas e apenas uma combinao est
apresentada na ltima tabela. Isto porque aps combinar (0,2,4,6) com (8,10,12,14) as
outras combinaes geram exatamente 0 - - - 0 que j existia. Portanto no sero
colocados na nova tabela. Agora, no Passo 4 tudo se repete com a tabela anterior e o
resultado o que se apresenta abaixo:

(0,2,4,6,8,10,12,14)

V
0

W
-

X
-

Y
-

Z
0

Os produtos no marcados so os implicantes primos da funo:


F = (0,2,4,6,8,10,12,14) + (0,2,16,18) + (14,30) + (13,29) + (18,19) + (12,13) + (10,11)
+ (6,7)
No entanto esta ainda no a soma mnima. Passemos para a segunda etapa do
mtodo que corresponde a cobertura dos mintermos.

86

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Etapa 2. Cobertura de mintermos


Nesta etapa sero procurados os mintermos que so cobertos pelos implicantes primos
da funo. Um prime implicant que combre apenas um mintermo chamado de
implicante primo essencial. Este dever fazer, necessariamente, parte da funo. Para
isto montamos o seguinte tipo de tabela:

Prime implicant

Mintermo
0

(0,2,4,6,8,10,12,14)
(0,2,16,18)
(14,30)
(13,29)
(18,19)
(12,13)
(10,11)
(6,7)

0- - -0
-00-0
-1110
-1101
1001011001010011-

x x x x
x x

10

11

x x

12

13

14

16

18

19

29

x
x
x

x
x

x
x

x x

30

Agora olhamos na tabela e identificamos os mintermos que so cobertos por apenas 1


prime implicant, por exemplo, o mintermo 7 que coberto pelo (6,7) apenas. Lembre-se
que a tabela foi montada simplesmente listando PI x (produtos fundamentais)
Mintermos e marcando quais mintermos correspondem aos PIs. Por exemplo,
colocamos x em 18 e 19 para o PI (18,19) e assim por diante. Todos os PIs que tem
mintermos cobertos apenas por eles devem ser marcados na tabela com uma seta na
linha correspondente. Estes j fazem parte da funo mnima. So essenciais. Marquei
com um a linha que no contem um PI essencial.
Veja que a linha 2, por exemplo, foi marcada por que o mintermo 16 unicamente
coberto pelo PI (0,2,16,18) e a linha 4 foi marcada por que o mintermo 30 unicamente
coberto pelo PI (13,29) e assim por diante. As setas esto indicando quem ser retirado
da tabela porque j faz parte da funo. Neste caso apenas a lina 6 no satisfaz este
requisito ( ).
A linha (10,11) e coluna 11 caracterizam a linha como linha essencial e a coluna como
distinta (importante). Nesta funo todas as colunas (mintermos) esto em alguma linha
essencial e o nico PI que no essencial o (12,13).
Desta forma a funo final :

Fmin = v'z' + w'x'z' + wxyz' + wxy'z + vw'x'y + v'wx'y + v'w'xy


Lembre-se que todas as colunas estavam marcadas com x em linha essencial.

87

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

11. Circuitos sequenciais


Os circuitos lgicos estudados at o momento so desprovidos de memria.
Neste caso, a sada funo unicamente do estado atual das entradas. Nos circuitos
lgicos sequenciais, elementos de memria podem informar o estado interno do
circuito. Assim a sada ser funo das entradas e do estado anterior dos elementos de
memria. Em outras palavras o circuito lembra estados anteriores.
A Figura 8.1 ilustra um esquema geral de um circuito sequencial, na qual, uma
rede combinacional realimentada por elementos de memria. As sadas zi, neste
caso, sero funo das entradas xj e do estado dos elementos 1 a p dados por y1 ...yp.
Circuito lgico sequencial
x1
x2

Circuito lgico
combinacional

xn
y1

yp

z1
z2
zn

y1

Figura 8.1 Esquema geral de um circuito lgico sequencial. A rede ou circuito


combinacional associada a elementos de memria (p elementos). O conjunto dos
elementos de memria compe um registrador com definido no captulo x.
Os elementos bsicos de memria so clulas binrias como definido no
captulo (x). Vamos agora definir outras clulas de memria que do ponto de vista
prtico so fundamentais para a construo de circuitos digitais, em particular dos
registradores, elementos bsicos das mquinas digitais. Estas clulas so os diversos
tipos de Flip-Flops.
Flip-Flop - RS
A sigla RS vem do ingls "Reset" que significa inicializar com zeros, "apagar" e "Set"
que significa "ligar", carregar, colocar "1". Apresentamos a seguir duas maneiras de
sintetizar um flip-flop - RS tambm chamado de "latch".

88

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

No primeiro caso o FF-RS sintetizado com portas NOR como apresentado na Figura
8.2.
S

Inativo 0 0
Reset
Set
Proibido

Q'

SR
Q' Q
Anterior
0 1
1 0
1 0
0 1
1 1
0 0

Figura 8.2 Flip-Flop RS sintetizado com portas NOR. Note que Q' e Q esto trocados com
relao ao latch NAND. Ativo alto.

A Figura 8.3 ilustra o Flip-Flop RS sintetizado com portas NAND. Note que as entradas
esto complementadas.

Q'

Proibido
Set
Reset
Inativo 1 1

S' R' Q
0 0
1
0 1
1
1 0
0
Anterior

Q'
1
0
1

Figura 8.3 Flip-Flop RS sintetizado com portas NAND. S'e R' so notaes para indicar que o
latch ativo baixo

Flip-Flop RS com ativador ou clock


Neste caso se CK = 0 haver bloqueio, ou seja, independente de R e S o circuito
mantem o estado. Se CK=0 o que ocorre que S1 e R1 sero ambas iguais a 1,

89

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

forando a condio de inatividade do FF e portanto manuteno do seu estado. Para


CK = 1 o FF se comporta como um FF-RS comum.
S

S1

R1

CK

Figura 8.4 Flip-Flop RS com controle. O controle feito pelo sinal de entrada CK. Note
que nesta configurao o aparecimento do circuito direcionador (onde entra o CK) torna
o FF ativo alto.
Vejamos o que ocorre quando, no FF da Figura 8.4 a condio de S = R = 1 e
CK vai de 1 para 0 se estabelece.

CK 0
Q
Q

0
Indeterminado

Figura 8.5 Temporizao e sinais correspondentes no FF-RS com controle. A seta


indica um instante em que CK vai de 1 para 0 com S e R iguais a 1. Neste caso Q fica
imprevisvel.
Flip-Flop tipo D
Procurando contornar este problema foi desenvolvido o flip-flop tipo D. Neste
caso, o controle (CK) permite ou no que um certo dado (D) seja "copiado". Este FF

90

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

tem o inconveniente de ter as entradas para o latch, alteradas sempre que CK = 1, se


o dispositivo for sensvel a nvel.

S1

R1

CK

CK = 1

CK = 0
D
0
1

Q
Q
Anterior
Anterior

D
0
1

Q
0
1

Q
1
0

Figura 8.6. Flip-Flop tipo D, sensvel a nvel. Neste caso no h estado indeterminado e
a sada Q "copia" o dado enquanto CK =1.
Vamos agora analisar o diagrama temporal relativo ao FF-D sensvel a nvel
como apresentado na Figura 8.6. Observe que o valor de Q muda, copiando D, sempre
que CK for igual a 1.

91

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Mquinas Sncronas
Mquina seqencial, sncrona ou mquina de estados finitos o modelo abstrato
do circuito seqencial real. Seu comportamento descrito como uma seqncia de
eventos que ocorrem em intervalos discretos, designados t1, t2, ..., tn. Suponha que
uma mquina M receba alguns sinais de entrada e responda produzindo alguns sinais
de sada. Se no instante t for aplicado um sinal x(t) a M, sua resposta z(t) depende de
x(t), bem como das entradas de M nos instantes anteriores. Como M pode ter uma
variedade infinita de estados anteriores ou passados, seria necessrio uma capacidade
de armazenamento infinita. Vamos nos concentrar nas mquinas cujo passado pode
ser resumido em um conjunto finito de variveis (Mquinas determinsticas ou
markovianas).

x(t)

Circuito
Combinacional

z(t)
r entradas
{x1, x2, ..., xr}

Y
Elementos de
Memria

m sadas
{z1, z2, ..., zm}
K variveis de estado

Estes valores definem o


estado interno da mquina

Q1, Q2, ..., Qk

Tabelas e diagramas de estado


Tabela

p = 2 colunas (1 para cada ocorrncia do vetor de entrada)


k
n = 2 linhas (1 para cada estado)

Diagrama de estados um grafo orientado, no qual cada estado da mquina


corresponde a um dos ns. De cada n emanam p arcos orientados, correspondentes
s transies de estado causadas pela ocorrncia da entrada. O arco rotulado com a
entrada que determina aquela transio e com a sada gerada nas mquinas
determinsticas ou markovianas.

92

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

A) Q(t+1) = f [Q(t), x(t)]


Onde f a funo de transio de estados. O valor da sada z(t) funo do estado
presente Q(t) e muitas vezes, das entradas presentes x(t).
B) z(t) = g[Q(t)]
C) z(t) = g[Q(t), x(t)]
onde g a funo de sada.
Mquinas que seguem A e B so chamadas de Mquinas de Moore e as que seguem
A e C denominam-se Mquinas de Mealy.
Mealy

Q(t)= f [Q(t), x(t)]


Q0

0/0

z(t)= g [Q(t), x(t)]

1/0
Q2

1/0

Q1

0,1/0
1/0

0/0
0/0
Q3

Q(t)
Q0
Q1
Q2
Q3

1/1
0,1/

(Q(t) , z(t))
X=1
Q1,0
Q2,0
Q2,0
Q2,1

X=0
Q2,0
Q3,0
Q3,0
Q2,0

93

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Moore
1

Q0 /0

Q1/0

0,1
Q2/0

Q(t+1) = f [Q(t), x(t)]


z(t) = g[Q(t)]

0
Q3/0

0,1

1
Q4/1

Q(t+1)
Q(t)
Q0
Q1
Q2
Q3
Q4

X=1
Q1
Q2
Q2
Q4
Q2

X=0
Q2
Q3
Q2
Q2
Q2

Z(t)
0/0
0/0
0/0
1/0
0/0

94

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

12. Cdigos
12.1

Decimal codificado em binrio (BCD, Binary Coded Decimal)


Neste sistema, conjuntos de dgitos binrios so tratados como pseudo-

decimais. Um grande nmero de mquinas, no incio, usou BCD e talvez at hoje este
sistema persista em grandes mquinas comerciais. Basicamente,

o que se faz

associar um nico nmero de m dgitos, m 4, a cada dgito decimal. O mais usado o


mais bvio, chamado cdigo 8421. Neste caso 0000 0; 0001 1 ... 1001 9. Assim o
decimal 243 seria representado em BCD como 0010 0100 0011. Em BCD cada decimal
precisa ser representado por, pelo menos, 4 dgitos binrios. Neste caso h 16! / 6!
9

maneiras diferentes de codificar os 10 dgitos decimais com 4 binrios. Destes, 3 x 10

cdigos apenas alguns tem sido realmente usados e com propsitos especficos.
Normalmente h duas classes de BCDs: cdigos pesados e no-pesados. O 8421 um
cdigo pesado. Cada posio vale o produto do dgito com o correspondente valor da
base ( no caso 2) elevada ao ndice da posio. Cada dgito decimal equivalente
soma dos pesos dos 1' s que representam a sequncia binria. Por exemplo: 1011
pode ser visto assim:

8
1
8 +

4
0
0 +

2
1
2 +

1
1
1 = (11)10

De modo geral, em um cdigo BCD pesado cada dgito decimal corresponde a uma
sequencia c1 c2 c3 c4 com valor

c w
i

i =1

onde wi o peso e ci o dgito binrio.

95

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

Se forem usados apenas nmeros positivos para os pesos h apenas 17 BCD pesados
com 4 dgitos (wi > 0). Por exemplo:

0
1
2
3
4
5
6
7
8
9

w1 w2
2
4
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
1

w3 w4
2
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1

0
1
2
3
4
5
6
7
8
9

w1 w2
7
4
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0

w3 w4
2
1
0
0
0
1
1 0
1
1
0
0
0
1
1
0
0
0
0
1
1
0

0
1
1
0
0
1

ou
0 1
0 0
0 1
1 0
1 1
1 0

0
1
0
1
0
1

ou
0 1 1 1

Observe que no h unicidade nestes cdigos. Apenas o cdigo 8421 apresenta


unicidade na representao BCD.
tambm possvel trabalhar com pesos negativos. Deste modo o nmero de
cdigos cresce para 88 com 71 pesos negativos e positivos. Um destes cdigos o
que est apresentado abaixo:

96

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

0
1
2
3
4
5
6
7
8
9

w1 w2
8
6
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0

w3 w4
-4
1
0
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1

Dos 71 cdigos deste tipo, 21 apresentam unicidade na representao dos dgitos


decimais, como o apresentado acima.
Muitos outros sistemas BCD tem sido usados e sugeridos. Um cdigo biquinrio
no qual cada dgito decimal representado por dois grupos de cdigos binrios, um na
base dois e outro na base 5 foi usado h muito tempo em mquinas dos laboratrios da

Bell Telephone. Um cdigo 5 reduzido de 2 tambm foi usado com propsitos de


comunicao. Este cdigo formado por grupos de cdigos de 5 dgitos binrios, todos
contendo apenas dois 1's para cada dgito decimal. Assim, se um cdigo detectado
contendo mais ou menos 1's claro que um erro ocorreu (na transmisso!). Por causa
disso este cdigo chamado de cdigo detetor de erro. H muitos outros cdigos
detetores e corretores de erro. O mais popular sem dvida o cdigo de teste de
paridade. Neste caso, dgitos adicionais so juntados a cada grupo de dgitos binrios
de modo que o nmero de 1's se torne sempre par ( ou eventualmente mpar). Se o
nmero de 1's no for par algum erro ocorreu (por exemplo na transmisso do dado).
Vamos falar mais sobre cdigos, mais tarde.

97

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

13. Alguns exemplos de circuitos digitais


13.1 Decodificador
Este circuito pode ser generalizado

como um circuito digital com n

entradas e 2 sadas (Tabela 13.1 e Figura 13.1, decodificador de 2 entradas) das quais
apenas uma ativada para cada combinao das entradas. Ns dizemos que o circuito
decodifica (descobre qual o cdigo) a entrada. Imagine, por exemplo, que cada
sada de um circuito de 3 entradas esteja ligada ao sistema de acionamento de 8
caixas-fortes se a combinao correta (que pode por exemplo ser uma senha) for
aplicada na entrada a caixa correspondente aberta.
Tabela 13.1 - Tabela Verdade
Do Decodificador de 2 entradas
E0

E1

S0 S1 S2 S3

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 0

Veja em aula
Figura 13.1 Decodificador de 2 entradas. A- esquema e B- circuito

98

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

13.2 Circuitos de Paridade


Para entender os circuitos de paridade importante antes de tudo demonnstrar
que x x x ... x igual a zero para um nmero par de x e igual a x para um
nmero mpar de x.
a) x x = 0
0x=x

portanto x x x = x

(nmero mpar de x)

b) x x x = x
xx=0

portanto x x x x = 0

(nmero par de x)

Existem dois tipos clssicos de circuitos de paridade: o gerador de paridade (Figura


13.2) e o detector ou verificador de paridad (Figura 13.3). Os circuitos de paridade so
usados no processo de deteo de erros de transmisso de dados binrios.

Veja em aula
Figura 13.2 Gerador de paridade

Veja em aula

Figura 13.3 Detector de paridade

99

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

14.3 Circuitos de prioridade


So circuitos de n entradas e n sadas. Se uma nica entrada 1 a sada
correspondente 0. Se mais que uma entrada for 1 ento a sada de maior prioridade
ser 0 (Figura 13.4).

Veja em aula
Figura 13.4 Circuito gerador de sinal de prioridade

14.4 Portas de seleo


Nesta classe de circuitos esto os chamados multiplexadores. Estes circuitos
selecionam um conjunto de bits da entrada para ser transferido para a sada (Figura
13.5) sob ativao de sinais de controle.
Veja em aula
Figura 13.5 Portas de seleo

14.5 Portas de distribuio


14.6 Conversor de cdigo
14.7 Registrador de 3 bits
14.8 Deslocador direita com giro
14.9 Somador de 4 bits com propagao de vai um
14.10 Mquina digital elementar

100

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

14.11 Deslocador direita sem giro


14.12 Contador mdulo 2 (divisor por 2)
14.13 Contador modulo 4
14.14 Mquina de estados finitos
Mquina de vender chiclete (sem trco)

101

EA-772 Circuitos Lgicos - Reviso 2013


Prof. Dr. Jos W. M. Bassani
____________________________________________________________________________________

14. Bibliografia
1. Bonatti, I. & Madureira, M.
Introduo anlise e sntese de circuitos lgicos. Editora da
Universidade Estadual de Campinas - Unicamp, Campinas, SP, 1990.
2. Fregni, E. & Saraiva, A. M.
Engenharia do projeto lgico digital: conceitos e prtica. Editora Edgar
Blucher Ltda., So Paulo, SP, 1995.
3. Bartee, T.; Lebow, I. L. & Reed, I. S.
Theory and design of digital machines. MIT publication, Massashusetts,
USA, 1962.
4. Langdon Jr., G. G. & Fregni, E.
Projeto de computadores digitais. Editora Edgar Blucher Ltda, So Paulo,
1974.
5. Ercegovac, M; Lang, T & Moreno, J H.
Introduo aos sistemas digitais. Editora Bookman, Porto Alegre, 2000.
6. McCluskey, EJ.
Logic Design Principles. Prentice Hall, Englewood Cliffs, 1986.
9. Halliday, D.; Resnick, R. & Walker, J.
Fundamentals of Physics. John Wiley & Sons, Inc., New York, 5th ed.,
1997
10. Tocci, RJ & Widmer, NS.
Sistemas Digitais. Princpios e Aplicaes. Prentice Hall, So Paulo, 8th
ed., 2003.
11. Boyer, CB
A history of mathematics, 2nd ed., John Wiley & Sons, Inc, New York,
1991

102