Você está na página 1de 198

Tcnicas Digitais A

Departamento de Engenharia de Telecomunicaes


Escola de Engenharia
Universidade Federal Fluminense

Prof. Joo Marcos Meirelles da Silva


jmarcos@vm.uff.br
Sala D425 www.professores.uff.br/jmarcos

Prof. Joo Marcos Meirelles da Silva

1/198

NDICE
Introduo ......................................................................................................................... 7
Objetivo da Disciplina .................................................................................................. 7
Bibliografia ................................................................................................................... 7
Avaliao ...................................................................................................................... 7
Laboratrio ................................................................................................................... 8
Condies para aprovao ............................................................................................ 9
Ementa ........................................................................................................................ 10
Por qu estudar tcnicas digitais? ............................................................................... 11
Sistemas Analgicos x Sistemas Digitais ................................................................... 11
Sistemas Analgicos ............................................................................................... 11
Sistemas Digitais .................................................................................................... 11
Sistemas Digitais ........................................................................................................ 12
Vantagens ............................................................................................................... 12
Desvantagens .......................................................................................................... 12
Representaes Numricas ............................................................................................. 13
Representao Analgica ........................................................................................... 13
Representao Digital ................................................................................................. 13
Sistemas de Numerao: ................................................................................................. 15
Classificao ............................................................................................................... 17
Sistemas posicionais ............................................................................................... 17
Sistemas no posicionais ........................................................................................ 18
Gerao de inteiros ..................................................................................................... 18
Algoritmo de avano de dgitos .............................................................................. 18
Algoritmo de gerao de inteiros............................................................................ 18
Contagem binria........................................................................................................ 19
Exerccios ................................................................................................................... 19
Mudana de Bases .......................................................................................................... 20
Converso de binrio para decimal ............................................................................ 20
Converso de decimal para binrio ............................................................................ 20
Converso de Nmeros Binrios Fracionrios em Decimais ..................................... 22
Converso de Nmeros Decimais Fracionrios em Binrios ..................................... 23
Sistema Octal .................................................................................................................. 25
Converso do sistema octal para o sistema decimal ................................................... 25
Converso do sistema decimal para o sistema octal ................................................... 26
Sistema Hexadecimal ..................................................................................................... 29
Sistemas de Pesos ....................................................................................................... 29
Contagem em hexadecimal ......................................................................................... 29
Converso de hexadecimal para decimal.................................................................... 30
Converso de decimal para hexadecimal.................................................................... 30
Converso de hexadecimal para binrio ..................................................................... 30
Converso de binrio para hexadecimal ..................................................................... 30
Cdigos ........................................................................................................................... 31
Cdigo BCD ............................................................................................................... 31
Cdigo de Gray........................................................................................................... 32
Converso de binrio para Cdigo de Gray............................................................ 32
Converso de Cdigo de Gray para binrio............................................................ 33
Aplicaes do Cdigo de Gray ............................................................................... 33
Cdigos Alfanumricos .............................................................................................. 34

Prof. Joo Marcos Meirelles da Silva

2/198

Cdigo ASCII ......................................................................................................... 34


Outros Cdigos Alfanumricos .............................................................................. 35
Cdigos de Deteco de Erro ..................................................................................... 36
Mtodo da Paridade ................................................................................................ 36
Cdigos de Hamming ................................................................................................. 38
Passo 1: Determinar o nmero de bits de paridade necessrios ............................. 38
Passo 2: Insero dos bits de paridade ................................................................... 38
Passo 3: Determinao dos valores dos bits de paridade........................................ 39
Passo 4: Determinar o cdigo resultante ................................................................ 40
Deteco e Correo de Erro ...................................................................................... 43
Exerccios ................................................................................................................... 45
Aritmtica Digital ........................................................................................................... 46
Adio Binria ............................................................................................................ 46
Representao de nmeros com sinal ......................................................................... 47
Forma de Sinal Magnitude ..................................................................................... 47
Forma de Complemento de 1.................................................................................. 48
Forma de Complemento de 2.................................................................................. 48
Representao de nmeros com sinal usando Complemento de 2 ............................. 48
Extenso de sinal para nmeros positivos .............................................................. 49
Negao .................................................................................................................. 50
Adio no Sistema de Complemento de 2 .................................................................. 51
Exerccios ................................................................................................................... 53
Overflow Aritmtico................................................................................................... 54
Multiplicao Binria ................................................................................................. 56
Em binrio puro ...................................................................................................... 56
No sistema de complemento de 2 ........................................................................... 56
Diviso Binria ........................................................................................................... 57
Nmeros em Ponto Flutuante ..................................................................................... 59
Nmeros binrios em PF (Preciso Simples) ......................................................... 60
Exerccios ................................................................................................................... 61
lgebra Booleana ........................................................................................................... 62
Anlise formal para circuitos digitais: ........................................................................ 62
Operadores da lgebra Booleana ............................................................................... 63
Operao No (NOT) .......................................................................................... 63
Operao E (AND).............................................................................................. 63
Operao Ou (OR) .............................................................................................. 64
Operao Ou Exclusivo (XOR ou EXOR) ......................................................... 64
Teoremas da lgebra Booleana .................................................................................. 64
Lei Comutativa ....................................................................................................... 65
Lei Associativa ....................................................................................................... 65
Lei Distributiva ....................................................................................................... 65
Lei de Absoro ...................................................................................................... 65
Identidades Importantes .......................................................................................... 66
Teoremas da lgebra Booleana .................................................................................. 67
Dualidade .................................................................................................................... 68
Teoremas de De Morgan ............................................................................................ 68
Primeiro Teorema ................................................................................................... 68
Segundo Teorema ................................................................................................... 68
Funes Booleanas ..................................................................................................... 70
Tabela-Verdade .......................................................................................................... 70

Prof. Joo Marcos Meirelles da Silva

3/198

Portas Lgicas ................................................................................................................ 72


Implementao de Funes Booleanas ....................................................................... 73
Princpio da Equivalncia e Suficincia ..................................................................... 73
Simplificao de Expresses Booleanas......................................................................... 74
Formas de Expresses Booleanas ................................................................................... 77
Converso de uma Soma-de-Produtos Padro para um Produto-de-Somas Padro ... 80
Exerccios ................................................................................................................... 81
Converso de Expresses em Tabela-Verdade ........................................................... 82
Mapas de Karnaugh ........................................................................................................ 84
Clulas Adjacentes ..................................................................................................... 85
Mapeando uma expresso padro de soma-de-produtos ............................................ 85
Mapeando uma expresso no padro de Soma-De-Produtos: .................................. 87
Simplificao via Mapas de Karnaugh de Expresses de Soma-de-Produtos............ 88
Determinao da expresso Soma-De-Produtos Mnima a partir do mapa ................ 90
Minimizao de Produto-De-Somas via Mapas de Karnaugh.................................... 92
Minimizao de Produto-De-Somas via Mapas de Karnaugh.................................... 93
Converso de Expresses Booleanas entre Formas Padro........................................ 94
Mtodo de Quine-McCluskey ........................................................................................ 98
O Processo de Agrupamento ...................................................................................... 98
Passo 1 .................................................................................................................... 99
Passo 2: ................................................................................................................. 100
Passo 3 .................................................................................................................. 101
Seleo de Implicantes Prime ................................................................................... 104
Implementando Circuitos Lgicos................................................................................ 104
Implementao com Portas Lgicas Bsicas ............................................................ 106
Implementao em PLDs.......................................................................................... 107
A Linguagem VHDL ............................................................................................ 108
Implementao em ASIC.......................................................................................... 109
Circuitos Combinacionais ............................................................................................ 111
Projeto de Circuitos Combinacionais ....................................................................... 111
Situao ................................................................................................................ 111
Problema ............................................................................................................... 111
Projeto................................................................................................................... 112
Condies Dont Care .......................................................................................... 114
Exemplos de Aplicaes de Circuitos Combinacionais ........................................... 117
Porta XOR ou EXOR ou OU EXCLUSIVO ........................................................ 117
Gerador de Paridade (par)..................................................................................... 118
Detector de Paridade (par) .................................................................................... 118
Somadores ............................................................................................................ 119
Expanso de um Somador .................................................................................... 123
Comparadores ....................................................................................................... 124
Codificador Bsico ............................................................................................... 126
Decodificadores .................................................................................................... 128
Multiplexadores .................................................................................................... 131
Demultiplexadores ................................................................................................ 132
Equivalncia de Portas.................................................................................................. 133
Formas de Onda Digitais na Entrada ............................................................................ 134
Caractersticas Bsicas de Circuitos Integrados Digitais ............................................. 135
Quanto sua escala de integrao ............................................................................ 135
Quanto ao Encapsulamento ...................................................................................... 136

Prof. Joo Marcos Meirelles da Silva

4/198

Quanto sua famlia ................................................................................................. 137


Terminologia de CIs Digitais ................................................................................... 138
Parmetros de Corrente e Tenso ......................................................................... 138
Fan-Out ................................................................................................................. 139
Atrasos de Propagao.......................................................................................... 139
Imunidade ao Rudo ............................................................................................. 139
A Famlia Lgica TTL.............................................................................................. 141
Sries TTL ............................................................................................................ 144
A Famlia Lgica CMOS .......................................................................................... 145
Sries CMOS ........................................................................................................ 147
Buffers Tristate (Trs Estados) ................................................................................. 150
Circuitos Seqenciais ................................................................................................... 151
Latch ......................................................................................................................... 151
O Latch SR ............................................................................................................... 151
Latch com Portas NOR ......................................................................................... 152
Latch com Portas NAND ...................................................................................... 153
Estado do latch quando energizado ...................................................................... 154
O Latch SR Controlado ............................................................................................ 154
O Detector de Borda (ou transio) .......................................................................... 156
O Latch Controlado com Detector de Borda ............................................................ 157
O Latch SR com Clock ............................................................................................. 158
Exerccios ................................................................................................................. 159
Flip-Flops ..................................................................................................................... 160
O Flip-Flop JK disparado por borda ......................................................................... 160
O Flip-Flop do tipo T ............................................................................................... 161
Flip-Flop do tipo D ................................................................................................... 162
Entradas Assncronas ................................................................................................ 163
Aplicaes ................................................................................................................ 164
Divisor de Freqncia ........................................................................................... 164
Armazenamento de Dados em Paralelo ................................................................ 164
Transferncia de Dados ........................................................................................ 166
Sincronizao........................................................................................................ 167
Dispositivos Schmitt-Trigger ....................................................................................... 169
Contadores Assncronos ............................................................................................... 171
Contador Binrio Assncrono ................................................................................... 171
Contador de dcada assncrono ................................................................................ 173
Exerccios ................................................................................................................. 176
Contadores Sncronos ................................................................................................... 177
Contador Binrio Sncrono de 2 bits ........................................................................ 177
Projeto de Contadores Sncronos .................................................................................. 179
Mquina de Moore ................................................................................................... 179
Mquinas de Mealy .................................................................................................. 179
Tcnicas de Projeto (Usando flip-flops tipo JK) ...................................................... 180
Exerccios ................................................................................................................. 183
Exemplo de Projeto ...................................................................................................... 184
Tcnicas de Projeto (Usando flip-flops tipo D) ........................................................ 189
Mquinas de Estado ...................................................................................................... 191
Exemplo de projeto: Detector de sequncias ............................................................ 193
Circuitos Monoestveis, biestveis e astveis .............................................................. 196
Circuitos Monoestveis ............................................................................................ 196

Prof. Joo Marcos Meirelles da Silva

5/198

Circuitos Biestveis .................................................................................................. 196


Circuitos Astveis ..................................................................................................... 196
Oscilador com Schmitt-Trigger ................................................................................ 197
Oscilador com 555 .................................................................................................... 197
Oscilador a Cristal .................................................................................................... 198

Prof. Joo Marcos Meirelles da Silva

6/198

Introduo
Objetivo da Disciplina
Oferecer uma viso dos princpios bsicos fundamentais dos sistemas
digitais e tratar de modo abrangente os mtodos tradicionais e modernos
de anlise, projeto e implementao.

Bibliografia

Avaliao
A avaliao do curso se dar da seguinte forma:
1. 2 provas (P1 e P2)
2. Mdia das notas de laboratrio (L)

( P1 P 2 L)
3

OBS: No haver prova de reposio. A prova de Verificao Suplementar


far o papel de prova de reposio.

Prof. Joo Marcos Meirelles da Silva

7/198

Laboratrio
Cada aula de laboratrio dever:
1. Ser precedida de um preparatrio O monitor dar um visto no
preparatrio antes da aula comear. Ao final da aula, o grupo dever
entregar o preparatrio ao monitor (com exceo da 1a aula).
2. Ser concluda com um relatrio O grupo dever preparar um
relatrio sobre a experincia, que por sua vez, dever ser entregue
ao monitor no incio da prxima aula de laboratrio.
OBS: O preparatrio corresponder a 50% da nota do relatrio.
REGRAS:

12 aulas de laboratrio;
Grupos permanentes de at 4 alunos;
Cada aula de laboratrio perdida (falta) dever ser reposta em dia e
horrio a ser definido junto com o monitor;
Caso o aluno no faa a reposio, ser lanada nota zero para o
respectivo relatrio;
Ser permitido at duas reposies por aluno/ms.
Para a aula de reposio, tanto o preparatrio quanto o relatrio
dever ser individual.
Os grupos devero ser definidos j antes da primeira aula de
laboratrio e ser formado por aqueles alunos que constarem na capa
do primeiro relatrio.
Qualquer outra situao alm das previstas aqui ser decidida pelo
professor.

12

L
i 1

12

Onde Li = Nota do Preparatrio (50%) + Nota do Relatrio (50%)

Prof. Joo Marcos Meirelles da Silva

8/198

Condies para aprovao


Aps os clculos das mdias:

Se M > 6 Aprovado
Se 4 M < 6 VS
Se M < 4 Reprovado

OBS:

Os alunos que fizerem a VS devero alcanar a nota mnima de 6,0


para serem aprovados;
No haver reposio da P1 nem da P2. A VS far o papel de prova
substituta;
Frequncia mnima de 75% do total

Prof. Joo Marcos Meirelles da Silva

9/198

Ementa
1. Sistemas de Numerao
1.1. Logaritmos e base
1.2. Codificao Posicional
1.3. Representao de inteiros positivos
1.4. Mudanas de base
1.5. Nmeros inteiros sinalizados
1.6. Operaes Aritmticas
1.7. Nmeros fracionrios
2. Clculo Proposicional
2.1. Variveis lgicas e funes lgicas
2.2. Tabela Verdade
2.3. lgebra Booleana
2.4. Postulados
2.5. Identidades Booleanas. Teoremas de De Morgan
2.6. Relao com Clculo Proposicional
2.7. Representao grfica das funes
2.8. Booleanas
2.9. Formas Padro
3. Simplificao de Funes Lgicas
3.1. Simplificao algbrica
3.2. Mapas de Veich-Karnaugh
3.3. Mtodo de Quine-McKluskey
4. Circuitos Combinacionais
4.1. Abordagem hierrquica
4.2. Somadores
4.3. Blocos hierrquicos bsicos
4.4. Implementao com blocos bsicos
5. Circuitos Sequenciais
5.1. Latch
5.2. Problemas de temporizao
5.3. Flip-flops JK, D e T

Prof. Joo Marcos Meirelles da Silva

10/198

Por qu estudar tcnicas digitais?


Sou da rea de Engenharia de Telecomunicaes. Por que devo estudar
Tcnicas Digitais?

A tecnologia est migrando cada vez mais do mundo analgico para


o mundo digital, e isto no ser reversvel;
As tcnicas digitais clssicas e modernas so a base para a
construo de microprocessadores, que por sua vez equipam
celulares, roteadores, centrais telefnicas, etc...
a base para a cadeira de processamento digital de sinais, disciplina
fundamental para trabalho com imagens, vdeo, som e texto
atualmente;
a base para o entendimento da implementao via hardware de
protocolos de comunicao e interfaces de redes.

Sistemas Analgicos x Sistemas Digitais


Sistemas Analgicos
Um sistema analgico contm dispositivos que manipulam
quantidades fsicas que so representadas na forma analgica. So exemplos
de sistemas analgicos os microfones, alto-falantes, amplificadores de
udio, reguladores de luminosidade (dimmers), etc...

Sistemas Digitais
Um sistema digital uma combinao de dispositivos projetados
para manipular informaes lgicas ou quantidades fsicas que so
representadas no formato digital, ou seja, as quantidades podem assumir
valores discretos. So exemplos os computadores, calculadoras, telefonia,
etc...

Prof. Joo Marcos Meirelles da Silva

11/198

Sistemas Digitais
Vantagens

So mais fceis de projetar que os sistemas analgicos;


O armazenamento de informaes mais fcil e eficiente;
Mais fcil manter a preciso e exatido em todo o sistema;
As operaes podem ser programadas;
Maior imunidade a rudo;
Capacidade de integrao em um chip maior do que para circuitos
analgicos (devido a capacitores e indutores);

Desvantagens

Processar sinais digitais leva tempo Sistemas digitais tendem a ser


mais lentos que os analgicos;
Corresponde a uma aproximao dos valores reais de grandezas
erros de quantizao;
Requer uma Banda Passante maior do que a necessria para
transmitir a mesma informao na forma analgica;
Gera uma quantidade de smbolos muito grande.

Prof. Joo Marcos Meirelles da Silva

12/198

Representaes Numricas
Existem basicamente duas formas diferentes de representao dos valores
das quantidades:

Representao Analgica
Uma quantidade representada por um indicador proporcional
continuamente varivel. Ex: velocmetro de um automvel, termmetro de
mercrio, etc...

Representao Digital
As quantidades no so representadas por quantidades proporcionais,
mas por smbolos denominados dgitos.

Figura 1: Um sinal analgico pode ser discretizado.

Prof. Joo Marcos Meirelles da Silva

13/198

Dentre as quantidades a seguir, quais so as que esto relacionadas


a quantidades analgicas e quais as que esto relacionadas a quantidades
digitais:
(a)
(b)
(c)
(d)
(e)

Chave de dez posies


A corrente que flui de uma tomada eltrica
A temperatura de um ambiente
Gros de areia em uma praia
O velocmetro de um automvel

...and then one day youll find,


Ten years have got behind you
No one told you when to run,
You missed the starting gun.
Time, Pink Floyd
Album The Dark Side of the Moon

Prof. Joo Marcos Meirelles da Silva

14/198

Sistemas de Numerao:
Os sistemas de numerao mais comuns no estudo de sistema
digitais so:

Decimal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 10 smbolos

Octal: 0, 1, 2, 3, 4, 5, 6, 7 8 smbolos

Hexadecimal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 16 smbolos

Binrio: 0, 1 2 smbolos

O sistema de numerao decimal o que estamos mais


familiarizados em nosso dia-a-dia !

Um computador que trabalhasse diretamente com o sistema de


numerao hexadecimal seria muito mais eficiente que os
computadores atuais, mas...
Seria muito difcil de fabric-lo e a probabilidade de interpretar um
smbolo erroneamente seria alta. O circuito teria que interpretar 16
nveis de tenso corretamente, por exemplo: 0V, 1V, 2V, ..., 16V.
Logo...

O sistema de numerao mais seguro deve ser aquele com o menor


nmero de smbolos (dgitos) !
Sistema Binrio

Um possvel problema no uso de mquinas binrias: o nmero binrio


precisa de mais dgitos para ser escrito do que o decimal.

(2)10 nmero de animais representado em decimal


(10)2 nmero de animais representado em binrio

Prof. Joo Marcos Meirelles da Silva

15/198

Vejamos um exemplo:
Quatro em decimal representado como 4. Sua representao em binrio
100.

Consequncia: o computador binrio seria mais preciso, porm muito


lento porque a leitura da informao iria requerer mais tempo.

Uma soluo: o uso de dispositivos eletrnicos baseados na


tecnologia dos semicondutores, como os transistores.

O transistor: um dispositivo usado para controlar o fluxo de corrente. Ele


tem duas caractersticas importantes:
1. capaz de amplificar um sinal eltrico.
2. capaz de chavear (comutar) entre ligado e desligado (ou fechado e
aberto), deixando corrente passar atravs dele ou bloqueando-a. Essas
condies so tambm denominadas saturao e corte,
respectivamente.
O transistor pode mudar da condio de saturao para o corte em
velocidades acima de um milionsimo de segundo. Ele pode ser usado para
caracterizar a presena (ou ausncia) de um dgito binrio (0 ou 1) e pode
tomar decises desse tipo a uma taxa superior a um milho de decises por
segundo.

Prof. Joo Marcos Meirelles da Silva

16/198

Classificao

forma:

Os sistemas de numerao podem ser classificados da seguinte

Sistemas de numerao posicionais


Sistemas de numerao no posicionais

Sistemas posicionais

Nos sistemas de numerao posicional, o valor do dgito em um


nmero depende da posio que ele ocupa neste mesmo nmero.
1989 = 1000+900+80+9
1989 = 1x103 + 9x102 + 8x101 + 9x100

H um peso para cada posio ocupada pelo dgito. Os pesos crescem


para esquerda na parte inteira e decrescem para a direita na parte
fracionria
1989,4= 1x103 + 9x102 + 8x101 + 9x100+4x10-1

Outro exemplo:
1. 27,35

Felizmente, os sistemas: binrio, octal e hexadecimal tambm so


sistemas posicionais. Logo, possvel aplicar os mesmos passos para estes
sistemas. Vamos ver um exemplo para o sistema binrio:
2. (1011,101)2

Prof. Joo Marcos Meirelles da Silva

17/198

Sistemas no posicionais
Nos sistemas de numerao no posicional, no h uma forma
estruturada como a anterior para a indicao dos valores. Vamos tomar
como exemplo o sistema de numerao Romano:
No nmero XX (vinte em decimal), o valor do dgito X esquerda o
mesmo daquele direita. Neste caso a representao aditiva, com X
representando a quantidade decimal 10, e com a combinao XX associada a
10+10=20. Por outro lado em IX (nove em decimal) a representao
subtrativa.

Gerao de inteiros
Algoritmo de avano de dgitos
Avanar um dgito de um alfabeto ordenado consiste em substitu-lo
pelo prximo dgito na hierarquia. O dgito de maior valor do conjunto
sempre avanado para o aquele de menor valor na hierarquia.

01234567890
Algoritmo de gerao de inteiros

O primeiro inteiro o zero


O prximo inteiro obtido do precedente na lista avanando-se seu
dgito mais direita. No caso deste dgito avanar para zero, avanase, ento, o dgito adjacente esquerda.

Prof. Joo Marcos Meirelles da Silva

18/198

Exemplo: Gerar os 26 primeiros inteiros do sistema decimal.

0 1 2 3 4 5 6 7 8 9 10 11 12
13 14 15 16 17 18 19 20 21 22 23
24 25

Observe que o nove avana para o zero, logo o dgito mais esquerda
(o zero, no mostrado explicitamente no nmero) avanado para 1
gerando o prximo nmero na lista, o 10.

Contagem binria

Tabela 1: Contagem binria x decimal

Exerccios
Tocci 10. Edio
1.1 e 1.2

Prof. Joo Marcos Meirelles da Silva

19/198

Mudana de Bases
Para que possamos entender e projetar equipamentos digitais,
necessrio que entendamos muito bem o sistema de numerao binrio. Para
isto, faz-se necessrio aprendermos a converter nmeros decimais em
nmeros binrios puros (nmeros binrios sem sinal), e vice-versa.

Converso de binrio para decimal

Converta o nmero abaixo para decimal

(10110101)2

Converso de decimal para binrio


Existem basicamente dois mtodos:
1. Inspeo

Prof. Joo Marcos Meirelles da Silva

20/198

2. Diviso sucessiva

Converta o nmero abaixo para binrio pelos dois mtodos aprendidos

(76)10

Mtodo da Inspeo

Mtodo das divises sucessivas

Prof. Joo Marcos Meirelles da Silva

21/198

Converso de Nmeros Binrios Fracionrios em Decimais


At agora tratamos de nmeros inteiros. E se no caso de nmeros
decimais fracionrios, como convert-los para binrio?
Vamos analisar o exemplo abaixo:
101,1012 = ?10
Podemos escrever:
1x22 + 0x21 + 1x20 + 1x2-1 + 0x2-2 + 1x2-3 =
= 4 + 1 + 0,5 + 0,125 = 5,62510
Logo,
101,1012 = 5,62510
Converta o nmero binrio abaixo para decimal:

1010,11012 = ?10

Prof. Joo Marcos Meirelles da Silva

22/198

Converso de Nmeros Decimais Fracionrios em Binrios


Agora vamos verificar o procedimento para converter nmeros
decimais fracionrios em nmeros binrios
Vamos analisar o exemplo abaixo:
8,37510 = ?2
Vamos transformar primeiro a parte inteira do nmero, depois
transformaremos a parte fracionria:
8 2 = 4 resto = 0
4 2 = 2 resto = 0
2 2 = 1 resto = 0
1 2 No d para dividir
810 = 10002
Agora vamos converter a parte fracionria. Para isto faremos
multiplicaes sucessivas das partes fracionrias resultantes pela base, at
atingir zero.
0,375 x 2 = 0,750 1 bit = 0 (MSB)
0,750 x 2 = 1,500 2 bit = 1
Quando atingirmos o nmero 1, e a parte fracionria no for nula,
separamos esta ltima e reiniciamos o processo:
0,500 x 2 = 1,000 3 bit = 1 (LSB)
O processo para aqui, pois obtivemos,000 na ltima multiplicao.
Desta forma, temos:
0,37510 = 0112
Para finalizarmos a converso, basta juntarmos parte inteira da parte
fracionria:
8,37510 = 1000,0112

Prof. Joo Marcos Meirelles da Silva

23/198

Converta o nmero decimal abaixo para binrio:

4,810 = ?2

O que aconteceu neste exerccio acima?


Este exerccio nos mostra que nem todos os nmeros decimais
possuem uma representao em binrio com um nmero finito de dgitos.
Isto significa que os computadores acabam truncando nmeros e gerando
com isto um erro que, em alguns casos, podem ser cumulativos em clculos
complexos e/ou repetitivos.
Este um dos motivos que levam os fabricantes de chips a aumentar
o nmero de bits que um processador pode trabalhar: 8, 16, 32, 64 e 128
atualmente.

Prof. Joo Marcos Meirelles da Silva

24/198

Sistema Octal
O sistema octal de numerao um sistema de base 8 no qual existem
8 smbolos assim enumerados:
0,1,2,3,4,5,6 e 7
Atualmente, o sistema octal pouco utilizado em eletrnica, mas
concursos nas reas de eletrnica, eletrotcnica, informtica e
telecomunicaes sempre apresentam uma questo relacionada a este
sistema.
DECIMAL OCTAL
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
10
9
11
10
12
11
13
12
14
13
15
14
16
15
17
16
20
Tabela 2: Comparao entre o sistema decimal e octal.

Converso do sistema octal para o sistema decimal


Para convertermos um nmero octal para decimal, utilizamos o
conceito bsico de sistema posicional, conforme j visto.
1448 = ?10
1 x 82 + 4x81 + 4x80 = 64 + 32 + 4 = 10010

Prof. Joo Marcos Meirelles da Silva

25/198

Converta os nmeros abaixo:


778 = ?10

1008 = ?10

4768 = ?10

Converso do sistema decimal para o sistema octal


O processo anlogo converso do sistema decimal para o sistema
binrio. Porm, a diviso por 8:
Vejamos o seguinte exemplo:
9210 = ?8
92 8 = 11 resto = 4 (LSD)
11 8 = 1 resto = 3
1 8 = No d para dividir (MSD)
Logo, temos:
9210 = 1348

Prof. Joo Marcos Meirelles da Silva

26/198

Converta os nmeros abaixo:


7410 = ?8

51210 = ?8

71910 = ?8

Converso do sistema octal para o sistema binrio


A converso de um nmero octal para o nmero binrio bastante
simples, pois basta transformar cada dgito em octal diretamente em seu
equivalente binrio, lembrando que cada dgito em octal corresponde sempre
a 3 bits.
Seja o exemplo abaixo:
278 = ?2

2 = 010
7 = 111

Logo, temos:
278 = 101112

Prof. Joo Marcos Meirelles da Silva

27/198

Converta os nmeros abaixo:


348 = ?2

5368 = ?2

446758 = ?2

Converso do sistema binrio para o sistema octal


Para efetuar esta converso, basta aplicar o processo inverso ao
utilizado na converso de octal para binrio.
Seja o exemplo abaixo:
1100102 = ?8

110 = 6
010 = 2

Logo, temos:
1100102 = 628
Converta os nmeros abaixo:
110101012 = ?8

10001100112 = ?8

Prof. Joo Marcos Meirelles da Silva

28/198

Sistema Hexadecimal
Sistemas de Pesos

Contagem em hexadecimal

Prof. Joo Marcos Meirelles da Silva

29/198

Converso de hexadecimal para decimal

Converso de decimal para hexadecimal

Converso de hexadecimal para binrio

Converso de binrio para hexadecimal

Prof. Joo Marcos Meirelles da Silva

30/198

Cdigos
Quando nmeros, letras ou palavras so representadas por um grupo
especial de smbolos, dizemos que eles esto codificados, sendo o grupo de
smbolos denominado cdigo.

Cdigo BCD

Os cdigos BCD so muito utilizados em interfaces homem-mquina,


principalmente atravs de displays (Exemplo: Display BCD-7 segmentos).

Prof. Joo Marcos Meirelles da Silva

31/198

Cdigo de Gray
Este cdigo visa reduzir a probabilidade de ocorrncia de erro nos
equipamentos digitais devido interpretao de vrios bits modificando-se
simultaneamente em certas situaes;
No cdigo de Gray, um nmero binrio tem apenas 1 nico bit
modificado em relao ao nmero antecessor ou sucessor;

Converso de binrio para Cdigo de Gray

Prof. Joo Marcos Meirelles da Silva

32/198

Converso de Cdigo de Gray para binrio

Aplicaes do Cdigo de Gray


O Cdigo de Gray possui aplicaes em:
1. Medida de posio de eixo mecnico
2. Mapas de Karnaugh (simplificao de expresses Booleanas)
3. Modulao digital em telecomunicaes

Prof. Joo Marcos Meirelles da Silva

33/198

Cdigos Alfanumricos
Os cdigos alfanumricos so utilizados em interfaces homemmquina, uma vez que a interpretao de informaes em binrio, para ns
seres humanos, exaustiva e complicada. Desta forma, deixamos que as
mquinas faam o trabalho de converso de nmeros e letras para cdigos
binrios e vice-versa.
Em geral, um cdigo alfanumrico possui no mnimo:

Cdigo ASCII

A Tabela a seguir apresenta o chamado Cdigo ASCII.

Prof. Joo Marcos Meirelles da Silva

34/198

Outros Cdigos Alfanumricos

ASCII Estendido Mais 128 smbolos alm dos originais. Utilizado


em computadores pessoais, substituiu o ASCII inicial.
EBCDIC Foi muito utilizado em computadores de grande porte.
UNICODE Novo padro que vem substituindo o ASCII entre
outros

Prof. Joo Marcos Meirelles da Silva

35/198

Cdigos de Deteco de Erro


Mtodo da Paridade

Paridade Par: O nmero de 1s presentes no cdigo binrio, incluindo o


prprio bit de paridade, deve ser par.
Paridade mpar: O nmero de 1s presentes no cdigo binrio, incluindo
o prprio bit de paridade, de ser mpar.

A Figura abaixo apresenta o bit de paridade para diversos exemplos, tanto


para o caso de paridade par como para o caso de paridade mpar.

Prof. Joo Marcos Meirelles da Silva

36/198

Ex: Transmitir o BCD 0101 (paridade par)

Neste caso, o nibble 0101 deve ser transmitido atravs de um meio


de comunicao (par metlico, rdio, satlite, fibra ptica), mas o rudo
afeta a integridade da informao.
Para isto, o transmissor calcula o bit de paridade par para a
informao a ser transmitida (o nibble) e acrescenta-o ao final, ficando
00101.
O receptor, por sua vez, recebe a informao 00001. Como ele faz
para descobrir que houve erro de transmisso?
Ele calcula o bit de paridade para o nibble recebido (0001 P = 1) e
compara o bit de paridade calculado com o bit de paridade recebido (00001
P = 0) e conclui que houve erro porque os dois bits de paridade, calculado
e recebido so diferentes.
E se ocorre erro em mais de um bit durante a transmisso ?

Os bits abaixo foram recebidos. Verifique se houve erro durante a


transmisso/recuperao, sabendo-se que a paridade utilizada mpar:

1. 10110101
2. 011011000110
3. 1000110110101011010001

Prof. Joo Marcos Meirelles da Silva

37/198

Cdigos de Hamming

Um nico bit de paridade pode indicar que existe um erro num certo
grupo de bits, mas no possvel identificar onde ocorreu o erro;

O cdigo de correo de erro de Hamming permite a localizao e a


correo de um nico bit errado.

O preo a pagar a insero de bits de paridade a mais.

Passo 1: Determinar o nmero de bits de paridade necessrios


Se o nmero de bits de dados projetado for d, ento o nmero de
bits de paridade, p, determinado pela seguinte relao:

2 p d p 1
Exemplo:
- 4 bits de dados (d)
Se p = 2 4 4 + 2 + 1 incoerente!
Se p = 3 8 4 + 3 + 1 ok
Logo, so necessrios 3 bits de paridade!

Passo 2: Insero dos bits de paridade


Agora que sabemos determinar o nmero de bits de paridade, temos
que arranjar os bits adequadamente no cdigo.

Prof. Joo Marcos Meirelles da Silva

38/198

O bit mais esquerda designado como bit 1, o prximo bit o 2 e


assim por diante, conforme a seguir:
bit 1, bit 2, bit 3, bit 4, bit 5, bit 6, bit 7
Os bits de paridade esto localizados nas posies que so numeradas
em correspondncia s potncias de dois ascendentes (1, 2, 4, 8, ...),
conforme indicado:
P1, P2, D1, P3, D2, D3, D4
O smbolo Pn designa um bit de paridade em particular e Dn designa
um bit de dado em particular.

Passo 3: Determinao dos valores dos bits de paridade


Finalmente, temos que designar adequadamente o valor 0 ou 1 a cada
bit de paridade.
1. Para determinar o valor do bit, primeiro numere cada posio de bit
em binrio;
2. Indique a localizao dos bits de dados e de paridade, conforme a
tabela abaixo;
3. Observe que o nmero da posio em binrio do bit de paridade P 1
tem 1 no dgito mais direita. Esse bit de paridade verifica as
posies de todos os bits, incluindo ele mesmo, que tem 1s na mesma
posio nos nmeros de posio em binrio;
Designao dos bits
P1
P2 D1 P3 D2 D3 D4
Posio dos bits
1
2
3
4
5
6
7
Nmero da pos. bits
001 010 011 100 101 110 111
Bits de Dados (Dn)
Bits de Paridade (Pn)
O bit de paridade P1 verifica as posies 1, 3, 5 e 7.

Prof. Joo Marcos Meirelles da Silva

39/198

Designao dos bits


P1
P2 D1 P3 D2 D3 D4
Posio dos bits
1
2
3
4
5
6
7
Nmero da pos. bits
001 010 011 100 101 110 111
Bits de Dados (Dn)
Bits de Paridade (Pn)
O bit de paridade P2 verifica as posies 2, 3, 6 e 7.

Designao dos bits


P1
P2 D1 P3 D2 D3 D4
Posio dos bits
1
2
3
4
5
6
7
Nmero da pos. bits
001 010 011 100 101 110 111
Bits de Dados (Dn)
Bits de Paridade (Pn)
O bit de paridade P3 verifica as posies 4, 5, 6 e 7.

Passo 4: Determinar o cdigo resultante


Designao dos bits
P1
P2 D1 P3 D2 D3 D4
Posio dos bits
1
2
3
4
5
6
7
Nmero da pos. bits
001 010 011 100 101 110 111
Bits de Dados (Dn)
Bits de Paridade (Pn)

Prof. Joo Marcos Meirelles da Silva

40/198

Exemplo: Determine o cdigo de Hamming para o nmero BCD 1001 (bit de


dados), usando paridade par:
Passo 1: Determinar o nmero de bits de paridade. Suponha que p = 3.
2p = 23 = 8
d + p + 1 = 4 + 3 + 1 = 8 Ok
Total de bits de cdigo = 3 (paridade) + 4 (dados) = 7 bits

Passo 2: Construa uma tabela de posio de bits e insira os bits de


dados.
Designao dos bits
P1
P2 D1 P3 D2 D3 D4
Posio dos bits
1
2
3
4
5
6
7
Nmero da pos. bits
001 010 011 100 101 110 111
Bits de Dados (Dn)
1
0
0
1
Bits de Paridade (Pn)

Passo 3: Determine os bits de paridade como a seguir:


O bit P1 verifica os bits das posies 1, 3, 5 e 7 e tem que ser
0 para que o nmero de 1s (2) seja par nesse grupo;
O bit P2 verifica os bits das posies 2, 3, 6 e 7 e tem que ser
0 para que o nmero de 1s (2) seja par nesse grupo;
O bit P3 verifica os bits das posies 4, 5, 6 e 7 e tem que ser
1 para que o nmero de 1s (2) seja par nesse grupo;
Passo 4: Determine o cdigo resultante inserindo os bits de paridade
em suas respectivas posies.
Designao dos bits
P1
P2 D1 P3 D2 D3 D4
Posio dos bits
1
2
3
4
5
6
7
Nmero da pos. bits
001 010 011 100 101 110 111
Bits de Dados (Dn)
1
0
0
1
Bits de Paridade (Pn) 0
0
1
Neste exemplo, o cdigo resultante 0011001.

Prof. Joo Marcos Meirelles da Silva

41/198

Determine o cdigo de Hamming para os bits de dados 10110, usando a


paridade par.

Prof. Joo Marcos Meirelles da Silva

42/198

Deteco e Correo de Erro


Agora que o mtodo de Hamming para construo de um cdigo de erro
foi abordado, como o usamos para localizar e corrigir um erro?

Passo 1: Comece com o grupo verificado por P1;


Passo 2: Verifique o grupo quanto a paridade correta. Um 0
representa uma verificao de paridade correta e um 1 representa
uma verificao incorreta;
Passo 3: Repita o passo 2 para cada grupo de paridade;
Passo 4: O nmero binrio formado pelo resultado de todas as
verificaes de paridade determina a posio do bit do cdigo que
est errado. Esse o cdigo de posio de erro. A primeira
verificao de paridade gera o LSB. Se todas as verificaes forem
corretas, no h erro.

Exemplo: Considere que a palavra de cdigo dada no penltimo exemplo


0011001 seja transmitida e que a palavra de cdigo 0010001 seja recebida.
O receptor no sabe o que foi transmitido e tem que testar os bits de
paridade para determinar se o cdigo est correto. A nica coisa que o
receptor deve saber previamente que a paridade utilizada par.
Designao dos bits
P1
P2 D1 P3 D2 D3 D4
Posio dos bits
1
2
3
4
5
6
7
Nmero da pos. bits
001 010 011 100 101 110 111
Dado recebido
0
0
1
0
0
0
1
Verificao de Paridade
P1 0, 1, 0 e 1 Portanto, um nmero par de 1s. Logo P1 deve ser zero! Ok,
zero! Seu bit de Verificao de Paridade deve ser 0.
P2 0, 1, 0 e 1 Portanto, um nmero par de 1s. Logo P2 deve ser zero! Ok,
zero! Seu bit de Verificao de Paridade deve ser 0.
P3 0, 0, 0 e 1 Portanto, um nmero mpar de 1s. Logo P3 deveria ser um!
Ih...no zero! Logo, seu bit de Verificao de Paridade deve ser 1.

Prof. Joo Marcos Meirelles da Silva

43/198

A leitura da posio do bit errado deve ser feita atravs dos bits de
Verificao de Paridade, sempre da esquerda para a direita.
Designao dos bits
P1
P2 D1 P3 D2 D3 D4
Posio dos bits
1
2
3
4
5
6
7
Nmero da pos. bits
001 010 011 100 101 110 111
Dado recebido
0
0
1
0
0
0
1
Verificao de Paridade 0
0
1

O cdigo 101101010 recebido, verifique se h erros e corrija-o se for


o caso. A paridade utilizada mpar.

Prof. Joo Marcos Meirelles da Silva

44/198

Exerccios
Tocci 10 edio
1.3 a 1.10
2.1 a 2.41

Prof. Joo Marcos Meirelles da Silva

45/198

Aritmtica Digital
Adio Binria

Realizada da mesma forma que a adio dos nmeros decimais.


Quatro casos podem ocorrer na soma binria

Prof. Joo Marcos Meirelles da Silva

46/198

Representao de nmeros com sinal

Necessrio arrumar uma maneira de trabalhar com nmeros


positivos e negativos;
Existem 3 formas de representarmos nmeros positivos e
negativos em binrio:
1. Sinal-Magnitude
2. Complemento a 1
3. Complemento a 2

Forma de Sinal Magnitude

Prof. Joo Marcos Meirelles da Silva

47/198

Forma de Complemento de 1

Forma de Complemento de 2

Representao de nmeros com sinal usando Complemento de


2
Duas Regras:
1. Se o nmero for positivo, a magnitude representada na forma
binria pura, e um bit de sinal 0 colocado em frente ao MSB;
2. Se o nmero for negativo, a magnitude representada na forma do
complemento de 2, e um bit de sinal 1 colocado na frente ao MSB.

Prof. Joo Marcos Meirelles da Silva

48/198

O sistema de complemento de 2 usado para representar nmeros


com sinal porque nos permite realizar a operao de subtrao efetuando,
na verdade, uma operao de adio. Isso importante porque um
computador digital pode usar o mesmo circuito tanto na adio quanto na
subtrao, desse modo poupando hardware.

Extenso de sinal para nmeros positivos


Como representar o nmero +9 atravs de 8 bits se o mesmo
necessita de apenas 5 bits (j incluindo o bit de sinal) ?
R: Acrescentando 3 zeros esquerda do sinal de bit.

Prof. Joo Marcos Meirelles da Silva

49/198

E como representar o nmero -9 atravs de 8 bits ?


R: Acrescentando 3 uns esquerda do sinal de bit.

Negao
Negao a operao de converso de um nmero positivo em seu
equivalente negativo ou a converso de um nmero negativo em seu
equivalente positivo.

Observaes:

Sempre que um nmero com sinal tiver 1 no bit de sinal e todos os


bits de magnitude forem 0, seu equivalente decimal ser -2N, em que
N o nmero de bits da magnitude:
1000 = -23 = -8
10000 = -24 = -16
100000 = -25 = -32

Prof. Joo Marcos Meirelles da Silva

50/198

Podemos dizer que a faixa completa de valores que pode ser


representada no sistema de complemento de 2 com N bits :
-2N - 1 a +(2N - 1 - 1)

Adio no Sistema de Complemento de 2

Caso I: Dois nmeros positivos

Caso II: Um nmero positivo e um outro menor negativo

Caso III: Um nmero positivo e um outro maior negativo

Prof. Joo Marcos Meirelles da Silva

51/198

Caso IV: Dois nmeros negativos

Caso V: Nmeros iguais e de sinais opostos

Execute as seguintes operaes em binrio atravs do


complemento de 2:
a) 6 + 4
b) 7 3
c) -6 5
d) 4 - 8

Prof. Joo Marcos Meirelles da Silva

52/198

Exerccios
Tocci 10 edio
6.1 a 6.7

Prof. Joo Marcos Meirelles da Silva

53/198

Overflow Aritmtico
Suponha que dois nmeros binrios sejam representados por 1 bit de
sinal mais 4 bits de magnitude e que a soma destes nmeros tambm deva
ser representada por 1 bit de sinal e 4 bits de magnitude.

A resposta deveria ser +17, mas a magnitude 17 requer mais que


quatro bits para represent-la, logo, ocorre um overflow (transbordo)
na posio do bit de sinal.

O overflow s pode ocorrer quando dois nmeros positivos ou dois


nmeros negativos so somados, e isto pode produzir resultados
errneos.

O overflow pode ser detectado verificando se o bit de sinal do


resultado tem o mesmo valor dos bits de sinal dos nmeros que esto
sendo somados.

Um computador possui um circuito especial para detectar qualquer


condio de overflow quando dois nmeros so somados ou
subtrados.

Refaa a soma de +8 e +9 representando-os por um bit de sinal e sete


bits de magnitude:

Prof. Joo Marcos Meirelles da Silva

54/198

Arianne 5 Rocket Failure


On the morning of June 4, 1996, a French Arianne 5 rocket, carrying a European Space
Agency (ESA) satellite, was scheduled for its first launch in French Guyana. About 37
seconds into its flight, the rocket veered off its flight path, broke up, and exploded. A
board of inquiry was immediately appointed by the ESA and CNES (Centre National
des Etudes Spatiales).
The investigation examined telemetry data received on ground through 42 seconds after
liftoff, trajectory data from radar stations, observations from infrared cameras, and the
inspection of recovered debris. The origin of the failure was soon narrowed to the flight
control system. Fortunately, the two primary computer-controlled inertial reference
subsystems were both recovered, and after further investigation the source of the failure
was determined to be a software error within these units.
Particularly, the error was traced to software controlling the alignment of the rocket's
strap-down inertial platform. An integer overflow error occurred when the program
attempted to convert a 64-bit floating point number to a 16-bit integer. The floating
point number, which measured a quantity related to the horizontal velocity of the
platform, was simply too large to be represented as a 16-bit integer. The Arianne 5
software had been derived from the software for the previous generation Arianne 4
rocket. The Arianne 4 had a different initial trajectory that produced smaller horizontal
velocity values. Hence, the larger values recorded during the Arianne 5 flight were out
of the range that the software was designed to handle.
The overflow error caused the computer in the primary inertial reference system to shut
down and attempt to switch to the backup (redundant) system. Unfortunately, the
redundant system had experienced exactly the same fault and had already shut itself
down when the primary computer attempted to transfer control to it.
Had this problem been identified in preflight software testing, it could have been
corrected very easily. Such is the case for many software errors. The smallest of
problems can cause a program to crash or shut down. This is one of the reasons why it
is so much harder to engineer reliable software than to engineer reliable bridges and
other complex physical structures. An analogy might be that the failure of one very
small bolt in a bridge could cause the entire structure to collapse-possible perhaps, but
highly unlikely. Yet the failure of "small bolts" often causes software systems to
collapse. Our next example provides further demonstration of this fact.
Fonte: http://cs.furman.edu/digitaldomain/themes/risks/risks_numeric.htm

Acessar o video em http://www.youtube.com/watch?v=kYUrqdUyEpI

Prof. Joo Marcos Meirelles da Silva

55/198

Multiplicao Binria
Em binrio puro
Feito da mesma maneira que a multiplicao de nmeros decimais,
porm mais fcil!
Exemplo:

No sistema de complemento de 2
A. Nmeros positivos multiplicao binria vista anteriormente;
B. Nmeros negativos devero estar na forma de complemento de 2.
Aplicar a negao em ambos os nmeros e multiplicar como em A;

Prof. Joo Marcos Meirelles da Silva

56/198

C. Um nmeros positivo e o outro negativo O sinal do resultado da


multiplicao ser obrigatoriamente negativo. Aplicar a negao no
nmero negativo (que dever estar expresso em complemento de 2),
proceder com a multiplicao de nmeros binrios normalmente, e
aplicar o complemento de 2 no resultado. Juntar com o bit de sinal
negativo e est pronto!

Diviso Binria
Os termos de uma diviso so o dividendo, o quociente e o divisor.

Dividendo
quociente
Divisor
A operao de diviso nos computadores realizada utilizando-se
subtraes. Como subtraes so feitas com um somador, a diviso tambm
pode ser realizada com um somador.
O resultado de uma diviso denominada quociente. O quociente o
nmero de vezes que o divisor cabe dentro do dividendo. Isto significa que
o divisor pode ser subtrado a partir do dividendo um nmero de vezes igual
ao quociente.
O sinal do quociente depende dos sinais do dividendo e do divisor de
acordo com as seguintes regras:

Se os sinais forem iguais, o quociente positivo;


Se os sinais forem diferentes, o quociente negativo;

Quando dois nmeros binrios so divididos, os dois nmeros tem que


estar na forma verdadeira (no complementados).

Prof. Joo Marcos Meirelles da Silva

57/198

Os passos bsicos no processo de diviso so os seguintes:


1. Determine se os sinais do dividendo e do divisor so iguais ou
diferentes. Isso determinar o sinal do quociente. Inicialize o
quociente com zero;
2. Subtraia o divisor a partir do dividendo usando a adio do
complemento de 2 para obter o primeiro resto parcial e somar 1 ao
quociente. Se esse resto parcial for positivo, v para o passo 3. Caso
o resto parcial seja zero ou negativo, a diviso est completa.
3. Subtraia o divisor a partir do dividendo e some 1 ao quociente. Se o
resultado for zero ou negativo, a diviso est completa.
4. Continue o divisor a partir do dividendo e os restos parciais at obter
um resultado zero ou negativo. Conte o nmero de vezes que o divisor
subtrado e voc ter o quociente.
Exemplo: Efetue a diviso de 01100100 por 00011001.
Passo 1: Os sinais dos dois nmeros so positivos, de forma que o quociente
ser positivo. O quociente inicializado em zero: 0000 0000.
Passo 2: Subtraia o divisor a partir do dividendo usando a adio do
complemento de 2 (lembre-se que o carry final descartado)

Passo 3: Subtraia o divisor do 1. resto parcial usando a adio do


complemento de 2.

Prof. Joo Marcos Meirelles da Silva

58/198

Passo 4: Subtraia o divisor do 2. resto parcial usando a adio do


complemento de 2.

Passo 5: Subtraia o divisor do 3. resto parcial usando a adio do


complemento de 2.

O processo est completo e o resultado da diviso 0000 0100.

Nmeros em Ponto Flutuante


A representao de nmeros fracionrios, grandes ou pequenos, pode
ser realizada de forma mais eficiente atravs da notao cientfica, sem
aumentar muito o nmero de bits.

Prof. Joo Marcos Meirelles da Silva

59/198

Nmeros binrios em PF (Preciso Simples)

Mantissa entende-se que a vrgula binria est esquerda dos 23


bits. Efetivamente, existem 24 bits na mantissa porque em qualquer
nmero binrio o MSB 1. Portanto, este bit est l, s no
representado.
Expoente (polarizado) obtido acrescentando-se o valor 127 ao
expoente. Sua finalidade permitir nmeros muito grandes sem a
necessidade de um bit de sinal separado para os expoentes.

Exemplo: Representar o nmero 1 0110 1001 0001 no formato de ponto


flutuante.
1011010010001 = 1,0110 1001 0001 x 212

S = 0 (admitindo-se que o nmero positivo).


E = 12 + 127 = 139 10001011
F = 0110 1001 0001

A abordagem geral para determinarmos o valor de um nmero em


ponto flutuante expressa por:
Nmero = (-1)S(1+F)(2E-127)
Exemplo:

Nmero = (-1)1(1,10001110001)(2145-127)
= (-1)(1,10001110001)(218)
= -1100011100010000000 = -407,68810

Prof. Joo Marcos Meirelles da Silva

60/198

Um nmero no formato de ponto flutuante de 32 bits pode substituir


um nmero binrio inteiro de 129 bits.
Como o expoente determina a posio da vrgula binria, nmeros que
contem partes inteira e fracionria podem ser representados.
Excees:
nmero 0,0 0s em todas as posies
nmero E = 1s e F = 0s (NaN)

Exerccios
Tocci 10 edio
6.8 a 6.17

Prof. Joo Marcos Meirelles da Silva

61/198

lgebra Booleana
Anlise formal para circuitos digitais:

George Boole (1815-1865) publicou um trabalho intitulado Uma


investigao das leis do pensamento, sobre as quais so fundadas as
teorias matemticas de lgica e probabilidades.

Em 1854, Boole inventou um sistema algbrico de dois valores, agora


chamado de lgebra Booleana.

Usando esta lgebra, podemos formular proposies que so


verdadeiras ou falsas, combin-las para fazer novas proposies e
determinar se as novas proposies so verdadeiras ou falsas.

Claude Shannon foi o primeiro a aplicar o trabalho de Boole na anlise


e projeto de circuitos lgicos em 1938.

Praticamente introduziu na rea tecnolgica o campo da eletrnica


digital.

A Eletrnica Digital emprega em seus sistemas um pequeno grupo de


circuitos bsicos padronizados conhecidos como Portas Lgicas, com
as quais possvel implementar qualquer expresso gerada pela
lgebra Booleana.

Usa-se variveis simblicas (Ex: A,B,C,...) para representar a


condio de um estado lgico, que pode assumir um dos dois valores
possveis: FALSO (0) ou VERDADEIRO (1).

lgebra baseada em teoremas e propriedades (axiomas).

Prof. Joo Marcos Meirelles da Silva

62/198

Eis algumas definies utilizadas em lgebra Booleana:


1. Variveis: um smbolo (geralmente uma letra maiscula em itlico)
usado para representar o estado lgico de um sinal (verdadeiro ou
falso);
2. Complemento: o inverso de uma varivel e indicado por uma barra
sobre a varivel;
3. Literal: a varivel ou o complemento de uma varivel.
OBS:
Seus elementos, em princpio, no tem significado numrico.
Postulados: Se X uma varivel booleana, ento:
Se X F X = V
Se X F X = V

Operadores da lgebra Booleana


So definidas algumas operaes elementares na lgebra booleana:

Operao No (NOT)
Operao E (AND)
Operao Ou (OR)
Operao Ou-Exclusivo (Exclusive OR ou EXOR)

Operao No (NOT)

O operador uma barra sobre a varivel


0 1
1 0

Operao E (AND)
O operador um ponto ( )
0.0=0
0.1=0
1.0=0
1.1=1

Prof. Joo Marcos Meirelles da Silva

63/198

Para entendermos melhor a idia do operador E, imagine o circuito


eltrico na figura. Assuma que chave fechada = 1 e chave aberta = 0,
lmpada acesa = 1 e lmpada apagada = 0. Em que situaes a lmpada
acende?

Operao Ou (OR)

O operador um sinal de positivo ( + )


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

A lmpada acender quando a chave A OU B estiver fechada (1). Em


linguagem lgica, basta que uma das condies seja verdadeira para que a
lmpada acenda (condio verdadeira).

Operao Ou Exclusivo (XOR ou EXOR)


O operador um sinal de positivo dentro de um crculo
()
00=0
01=1
10=1
11=0

Em quais condies a lmpada


Acender agora ?

Teoremas da lgebra Booleana


A lgebra Booleana, assim como a lgebra Euclidiana, tambm possui
seus prprios teoremas.

Prof. Joo Marcos Meirelles da Silva

64/198

Lei Comutativa
A lei comutativa da adio para duas variveis escrita da seguinte
forma:
A + B = B + A
A lei comutativa da multiplicao para duas variveis a seguinte:
A.B = B.A

Lei Associativa
A lei associativa da adio escrita para trs variveis mostrada a
seguir:
A + (B + C) = (A + B) + C
A lei associativa da multiplicao escrita para trs variveis
mostrada a seguir:
A.(B.C) = (A.B).C

Lei Distributiva
A lei distributiva mostrada a seguir:
A.(B + C) = A.B + A.C
(A + B). (A + C) = A + B.C

Lei de Absoro
A + A.B = A
A + A.B = A + B
(A + B).B = A.B

Prof. Joo Marcos Meirelles da Silva

65/198

Identidades Importantes
A.B + A.B = A
(A + B).(A + B) = A
A.(A + B) = A
A.(A + B) = A.B
A.B + A.C = (A + B).(A + C)

NOT

o 0 = 1
o 1 = 0
o A = A

OR
o A + 1 = A
o A + 0 = A
o A + A = A
o A + A = 1

AND

o A.1 = A
o A.0 = 0
o A.A = A
o A.A = 0

Prof. Joo Marcos Meirelles da Silva

66/198

Teoremas da lgebra Booleana


1. A + A.B = A
2. A.(A + B) = A
3. A.B + A.B = A
4. (A + B).(A + B) = A
5. A + A.B = A + B
6. A.(A + B) = A.B
7. A + B.C = (A + B).(A + C)
8. A.(B + C) = A.B + A.C
9. A.B + A.C = (A + C).(A + B)
10. (A + B).(A + C) = A.C + A.B
11. A.B + A.C + B.C = A.B + A.C
12. (A + B).(A + C).(B + C) = (A + B).(A + C)

Prof. Joo Marcos Meirelles da Silva

67/198

Dualidade
Existe um princpio especial na lgebra Booleana denominado
princpio da dualidade.
Para uma expresso Booelana qualquer, se trocarmos as operaes E e as
operaes OU entre si, assim como os valores 0 e 1 entre si,
obteremos uma expresso Booleana igualmente vlida.
Exemplos:
A + 0 = A A.1 = A
A + 1 = 1 A.0 = 0
A + A = A A.A = A
A + A = 1 A.A = 0

Teoremas de De Morgan
De Morgan, um matemtico que conheceu Boole, props dois teoremas
que representam uma parte importante da lgebra Boolena.

Primeiro Teorema
A.B = A + B

Segundo Teorema
A + B = A.B
Estes dois teoremas permitem mudar o operador sem alterar a
expresso Booleana !

Prof. Joo Marcos Meirelles da Silva

68/198

Aplique os Teoremas de De Morgan nas expresses abaixo:


A.B.C =

A+B+C=

A+B+C=

A.C.D

Prof. Joo Marcos Meirelles da Silva

69/198

Funes Booleanas
As funes Booleanas, s vezes tambm chamadas de funes lgicas,
so funes que indicam se uma determinada expresso Booleana
verdadeira ou falsa para um determinado conjunto especfico de valores
(tambm verdadeiros ou falsos) atribudos s variveis que compem esta
expresso Booleana.
Exemplo:
f(A,B) = A.B Esta funo ser verdadeira se, e somente se, A for
verdadeira e B for verdadeira. Visto de outra maneira: Esta funo ser
falsa para quaisquer combinaes de A e B onde, ao menos uma das
variveis, seja falsa.
Uma funo Booleana s pode ser falsa ou verdadeira.
OBS: muito comum tambm associarmos aos valores falso e verdadeiro, os
valores (0) e (1) tambm chamados de nveis lgicos - conforme j vimos, e
tambm os valores ALTO (verdadeiro) e Baixo (falso). No entanto, a
correspondncia com falso e verdadeiro no obrigatria. apenas
habitual. Porm, caso a correspondncia habitual no seja a escolhida,
obrigatria a indicao da correspondncia utilizada.
Em circuitos digitais, muito comum a associao do valor
VERDADEIRO ou nvel lgico 1 a um valor de tenso como, por exemplo, +5V.
J para o valor FALSO ou nvel lgico 0, usual associarmos a um valor de
tenso de 0V.

Tabela-Verdade
Os resultados de uma funo Booleana podem ser expressos numa
tabela relacionando todas as combinaes possveis dos valores que suas
variveis podem assumir e seus resultados correspondentes. Esta tabela
chama-se de Tabela-Verdade.

Prof. Joo Marcos Meirelles da Silva

70/198

A Figura abaixo apresenta uma Tabela-Verdade para a funo


Booleana f(A,B) = A + B.

Exemplo:
f(A,B) = (A + B).(A + B)
A
0
0
1
1

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

Da Tabela-Verdade, podemos concluir que f(A,B) independe dos


valores assumidos por B, pois f(A,B) s verdadeira quando a varivel A for
verdadeira. Logo, f(A,B) = A, como visto na sub-seo Identidades
Importantes.
Avalie a funo Booleana abaixo e complete a Tabela-Verdade:
f(A,B) = A + B
A
0
0
1
1

B f(A,B)
0
1
0
1

Prof. Joo Marcos Meirelles da Silva

71/198

Portas Lgicas
Se relacionarmos as variveis A e B de uma funo booleana f(A,B)
como entradas e a prpria funo f como sada, podemos imaginar
circuitos que implementem as operaes bsicas da lgebra Booleana.
Tais circuitos eletrnicos, que no sero estudados neste momento,
podem ser simbolizados atravs do conceito que chamamos de portas.
Uma porta representa um operador lgico onde suas entradas
correspondem s variveis lgicas e a sua sada corresponde prpria
funo.
Vejamos as portas lgicas e suas respectivas Tabelas-Verdade.

Prof. Joo Marcos Meirelles da Silva

72/198

Implementao de Funes Booleanas


A sntese de circuitos digitais , classicamente, realizada atravs do
uso das portas lgicas a partir de uma Funo Booleana.
Vamos tomar como exemplo a implementao da funo Booelana
abaixo:
f(A,B,C,D) = A.(B + C.D)

Todo circuito digital (do tipo combinacional) est associado a uma ou


mais Funes Booleanas.

Princpio da Equivalncia e Suficincia


Qualquer funo Booleana pode ser expressa em termos dos
operadores AND, OR e NOT

Prof. Joo Marcos Meirelles da Silva

73/198

Simplificao de Expresses Booleanas


Ao utilizarmos a lgebra Booleana, sempre desejvel reduzir uma
determinada expresso para a sua forma mais simples (ou mnima), ou
transform-la em um formato mais conveniente a fim de implementar a
expresso de maneira mais eficiente.

Exemplo: Usando as regras da lgebra Booleana, simplifique a expresso


Booleana A.B + A.(B + C) + B.(B + C)

E como podemos fazer para verificar se a simplificao foi feita


corretamente?
Utilize a Tabela-Verdade!

Prof. Joo Marcos Meirelles da Silva

74/198

A simplificao de expresses Booleanas nos traz uma srie de


vantagens em relao sntese de circuitos:
1. Permite a reduo do custo total do circuito, pois requer um nmero
menor de portas lgicas;
2. Um nmero menor de portas lgicas, por sua vez, nos permite:
a. Reduzir o consumo de energia
b. Reduzir a dissipao de calor
c. Obter Circuitos mais rpidos
d. Aumentar a confiabilidade do circuito
e. Reduzir as dimenses fsicas do circuito
OBS: Procure sempre minimizar uma expresso Booleana!
Simplifique a expresso A.B + A.(B + C) + B.(B + C) e verifique o
seu resultado.

Prof. Joo Marcos Meirelles da Silva

75/198

Simplifique as expresses abaixo:


1) A.B + B.A.C =

2) A.(A + B)

3) A.(A + B) + C + C.B

4) A + A.B + C.D

5) A.[(B + C.(D + A)]

Prof. Joo Marcos Meirelles da Silva

76/198

Formas de Expresses Booleanas


Todas as expresses booleanas, independente das suas formas,
podem ser convertidas em qualquer uma das duas formas padro:

Soma-de-produtos

Produto-de-somas

Exemplos de soma-de-produtos:
A.B + A.B.C
A.B.C + C.D.E + B.C.D
A.B + A.B.C + A.C
A + A.B.C + B.C.D

Converso de uma expresso geral para a forma de soma-deprodutos:


A.(B + C.D) = A.B + A.C.D

Prof. Joo Marcos Meirelles da Silva

77/198

A chamada forma padro de uma soma-de-produtos deve conter


todas as variveis em cada termo da expresso!
AB + ACD no est na forma padro
ABCD + ABCD est na forma padro
E qual a importncia de uma expresso estar na forma padro?
R: Mapas de Karnaugh mais adiante...
E quando uma expresso no estiver na forma padro de uma soma-deprodutos, o que fazer ?
1. Multiplique cada termo-produto no padro por um termo constitudo
de uma soma de uma varivel que no aparece no termo com o seu
complemento;
2. Repita o passo anterior at que todos os termos-produto resultantes
contenham todas as variveis do domnio na forma complementada ou
no-complementada.
Exemplo:

(A + B)(A + B + C) no est na forma de produto-de-somas!

Prof. Joo Marcos Meirelles da Silva

78/198

A chamada forma padro de um produto-de-somas deve conter


todas as variveis em cada termo da expresso !
(A+B)(A+B+C) no est na forma padro
(A+B+C)(A+B+C) est na forma padro
E quando uma expresso no estiver na forma padro de uma soma-deprodutos, o qu fazer ?
1. Acrescente a cada termo-produto no padro um termo constitudo
do produto da varivel que no aparece pelo complemento dela. Isso
resulta em dois termos-soma. Como sabemos, podemos somar 0 com
qualquer coisa sem alterar o seu valor;
2. Aplique a regra (A+BC) = (A+B)(A+C);
3. Repita o passo 1 at que todos os termos-soma resultantes
contenham todas as variveis do domnio na forma complementada ou
no-complementada.
Exemplo:
(A + B + C).(B + C + D).(A + B + C + D)
(A + B + C) = A + B + C + D.D
= (A + B + C + D).(A + B + C + D)
(B + C+ D) = A.A + B+ C+ D
= (A + B+ C + D).(A + B + C + D)
Logo,
(A + B + C + D).(A + B + C + D).(A + B + C + D).(A + B + C + D)
Observaes:
1. Uma expresso na forma de soma-de-produtos igual a 1 apenas se
um ou mais dos termos-produto na expresso for igual a 1 !
2. Uma expresso na forma de produto-de-somas igual a 0 apenas se
um ou mais termos-soma na expresso for igual a 0 !

Prof. Joo Marcos Meirelles da Silva

79/198

Converso de uma Soma-de-Produtos Padro para um


Produto-de-Somas Padro
1. Determine os termos-produto ausentes na expresso Booleana;
2. Troque os operadores AND por OR em cada um dos termos ausentes e...
3. ...complemente cada uma das variveis de cada termo, produzindo assim
um termo-soma.

Como existem 3 variveis no domnio dessa expresso, existe um total


de 8 (23) combinaes possveis. Os termos-produto ausentes so:
A.B.C A + B + C
A.B.C A + B + C

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

A.B.C A + B + C

Converta a seguinte expresso de soma-de-produtos padro


para uma expresso equivalente de produto-de-somas padro:
A.B.C + A.B.C + A.B.C

Prof. Joo Marcos Meirelles da Silva

80/198

Observaes

Os termos mintermo e maxtermo ainda so bastante encontrados na


literatura sobre circuitos digitais.

Exerccios
Tocci 10 edio
3.2 a 3.40

Prof. Joo Marcos Meirelles da Silva

81/198

Converso de Expresses em Tabela-Verdade


Tambm podemos utilizar
converses entre formas padro.

Tabela-Verdade

para

fazermos

Desenvolva uma Tabela-Verdade para a funo de Soma-de-Produtos:


f(A,B,C) = A.B.C + A.B.C + A.B.C
Existem 3 variveis no domnio, assim existem oito combinaes
possveis de valores binrios para das variveis. Os valores binrios que
tornam os termos-produto nas expresses iguais a 1 so:
001 + 100 + 111
Para cada um desses valores binrios, coloque 1 na coluna de sada
como mostrado na TV na outra pgina. Para cada uma das outras
combinaes binrias restantes, coloque 0 na coluna de sada da TV.

Determine um termo-soma para cada 0 da Tabela-Verdade

Prof. Joo Marcos Meirelles da Silva

82/198

f(A,B,C) = (A + B + C).(A + B + C).(A + B + C).(A + B + C).(A + B + C)

Determine quais dos circuitos lgicos mostrados abaixo so


equivalentes:

(a)

(b)

(c)

(d)

Prof. Joo Marcos Meirelles da Silva

83/198

Mapas de Karnaugh
Um mapa de Karnaugh prov um mtodo sistemtico para
simplificao de expresses Booleanas e, se usado adequadamente, produz
uma expresso de soma-de-produtos ou produto-de-somas mnima.
Uma mapa de Karnaugh similar a uma Tabela-Verdade porque todos
os valores possveis das variveis de entrada e a sada resultante para cada
valor esto presentes no mapa.
O mapa de Karnaugh um arranjo de clulas no qual cada clula
representa um valor binrio das variveis de entrada e o mesmo pode ser
utilizado para expresses com duas, trs, quatro e cinco variveis. Para um
nmero maior de clulas, existe um outro mtodo chamado de QuineMcClusky
O nmero de clulas numa mapa de Karnaugh igual ao nmero de
total de combinaes possveis das variveis de entrada que igual ao
nmero de linhas da Tabela-Verdade.

Prof. Joo Marcos Meirelles da Silva

84/198

Clulas Adjacentes
As clulas num mapa de Karnaugh so arranjadas de forma que exista
apenas uma mudana simples de varivel entre clulas adjacentes. A
adjacncia definida por uma mudana simples de varivel.
Fisicamente, cada clula adjacente a clulas que esto
imediatamente prximas a ela por qualquer um dos seus quatro lados. Uma
clula no adjacente s clulas que tocam diagonalmente qualquer um dos
seus vrtices. Alm disso, as linhas na linha superior so adjacentes s
celulas correspondentes na linha inferior e as clulas na coluna mais
esquerda so adjacentes s celulas correspondentes na coluna mais a
direita. Isso denominado adjacncia cilndrica.

Mapeando uma expresso padro de soma-de-produtos


1. Determine o valor binrio de cada termo-produto na expresso somade-produtos. Aps adquirir alguma prtica, podemos geralmente
fazer a avaliao dos termos mentalmente;
2. medida que cada termo-produto avaliado, coloque 1 no mapa de
Karnaugh na clula que tem o mesmo valor que o termo-produto.

Prof. Joo Marcos Meirelles da Silva

85/198

Exemplo de insero de uma expresso de soma-de-produtos no mapa:

Insira no mapa de Karnaugh a seguinte expresso de soma-deprodutos:

Prof. Joo Marcos Meirelles da Silva

86/198

Mapeando uma expresso no padro de Soma-De-Produtos:


Uma expresso booleana tem que estar primeiro na forma padro
antes de usarmos o mapa de Karnaugh. Se uma expresso no estiver na
forma padro, enta ela deve ser convertida para a forma padro usando o
procedimento abordado anteriormente ou atravs de expanso numrica.
Considere que um dos termos de uma certa expresso booleana de
soma-de-produtos de 3 variveis (A,B,C) dada apenas pela varivel B. As
variveis A e C no fazem parte do termo-produto. Vamos expand-lo
numericamente:
ABC
010
011
110
111
Os 4 nmeros binrios resultantes so os valores dos termos A.B.C,
A.B.C, A.B.C e A.B.C da soma-de-produtos padro.
Insira no mapa de Karnaugh a seguinte expresso de soma-deprodutos:
A + A.B + A.B.C

Prof. Joo Marcos Meirelles da Silva

87/198

Insira no mapa de Karnaugh a seguinte expresso de soma-deprodutos:


B.C + A.B + A.B.C + A.B.C.D + A.B.C.D + A.B.C.D

Simplificao via Mapas de Karnaugh de Expresses de Somade-Produtos


O processo que resulta numa expresso que contm o menor nmero
de termos possvel denominado minimizao.
Podemos fazer grupos de 1s no mapa de Karnaugh de acordo com as
regras abaixo, enlaando aquelas clulas adjacentes que contm 1s. A meta
maximizar o tamanho dos grupos e minimizar o nmero de grupos:
1. Um grupo tem que conter 1, 2, 4, 8 ou 16 clulas, cujos nmeros so
potncias inteiras de 2;
2. Cada clula num grupo tem que ser adjacente a uma ou mais clulas do
mesmo grupo, porm todas as clulas no tem que ser adjacentes uma
da outra;
3. Sempre inclua o maior nmero possvel de 1s num grupo de acordo
com a regra 1;

Prof. Joo Marcos Meirelles da Silva

88/198

4. Cada 1 no mapa tem que ser includo em pelo menos um grupo. Os 1s


que j fazem parte de um grupo podem ser includos num outro grupo
enquanto os grupos sobrepostos incluem 1s no comuns.

Prof. Joo Marcos Meirelles da Silva

89/198

Determinao da expresso Soma-De-Produtos Mnima a partir


do mapa
As regras a seguir so aplicadas para determinar os termos-produto
mnimos e a expresso Soma-De-Produtos mnima:
1. Agrupe as clulas que tm 1s conforme as regras j apresentadas.
Cada grupo de clulas que contm 1s criam um termo-produto
composto de todas as variveis que ocorrem num formato apenas (no
complementadas e complementadas) dentro do grupo. Variveis que
ocorrem tanto de forma complementada quanto no complementada
dentro do grupo so eliminadas. Essas so denominadas variveis
contraditrias;
2. Determine o termo-produto mnimo para cada grupo;
3. Quando se obtm todos os termos-produto mnimos a partir do mapa
de Karnaugh, eles so somados para formar a expresso de somade-produtos mnima.

Encontre as funes booleanas mnimas a partir dos mapas de


Karnaugh abaixo:

Prof. Joo Marcos Meirelles da Silva

90/198

Encontre as funes booleanas mnimas a partir dos mapas de


Karnaugh abaixo:

O Caso para 5 variveis


Seja o mapa de Karnaugh dado abaixo. Como agrupar os 1s?

E=0
E=1
Os dois mapas devem ser superpostos para que haja adjacncia entre
as clulas deles:

E=0

Prof. Joo Marcos Meirelles da Silva

E=1

91/198

A simplificao agora considera os dois mapas simultaneamente.

E=0

E=1

Minimizao de Produto-De-Somas via Mapas de Karnaugh


A abordagem a mesma que a da Soma-de-Produtos, exceto que, com
expresses Produto-de-Somas, os 0 representam os termos-soma padro
que so colocados no mapa de Karnaugh em vez dos 1.
Para uma expresso de Produto-de-Somas na forma padro, um 0
colocado no mapa de Karnaugh para cada termo-soma na expresso. Cada 0
colocado na clula correspondente ao valor de termo-soma
Ex: Para o termo (A+B+C), um 0 colocado na clula 010.
1. Determine o valor binrio de cada termo-soma na expresso de
produto-de-somas padro. Esse um valor biniro que torna o termo
igual a 0;
2. medida que cada termo-soma avaliado, coloque um 0 no mapa de
Karnaugh na clula correspondente;

Prof. Joo Marcos Meirelles da Silva

92/198

Preencha o mapa de Karnaugh com a seguinte expresso de


Produto-De-Somas padro:
(A+B+C+D).(A+B+C+D).(A+B+C+D).(A+B+C+D).(A+B+C+D)

Minimizao de Produto-De-Somas via Mapas de Karnaugh


O processo para minimizao de uma expresso de produto-de-somas
basicamente o mesmo que para uma expresso de soma-de-produtos,
exceto que agrupamos os 0 para produzir termos-soma mnimo em vez de
agruparmos os 1 e produzirmos termos-produto mnimos.
Use um Mapa de Karnaugh para minimizar a seguinte expresso de
Produto-De-Somas:
(A + B + C). (A + B + C). (A + B + C). (A + B + C) (A + B + C)

Prof. Joo Marcos Meirelles da Silva

93/198

Os agrupamentos de 1 resultam numa expresso de Soma-DeProdutos que igual ao dual da expresso obtida pelo agrupamento de 0.
Use um mapa de Karnaugh para minimizar a seguinte expresso
de Produto-De-Somas padro:
(B+C+D).(A+B+C+D).(A+B+C+D).(A+B+C+D).(A+B+C+D)

Converso de Expresses Booleanas entre Formas Padro


Quando uma expresso de produto-de-somas inserida no mapa de
Karnaugh, ela pode ser facilmente convertida para a forma de soma-deprodutos equivalente diretamente do mapa. E vice-versa.
Basta lembrar que todas as clulas que no contm 0 contm 1.
A partir destes 1 podemos retirar a expresso na forma padro de somade-produtos.

Prof. Joo Marcos Meirelles da Silva

94/198

As clulas que no contm 1 contm 0. A partir destes 0


podemos retirar a expresso na forma padro de Produto-De-Somas.

Prof. Joo Marcos Meirelles da Silva

95/198

Sejam as funes lgicas f1 e f2. Simplifique-as via mapa de


Karnaugh e compare as expresses mnimas:
f1(A,B,C,D) = (A + B + C + D).(A + B + C + D).(A + B + C + D).(A + B + C + D).(A
+ B + C + D).(A + B + C +D)
f2(A,B,C,D) = A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D +
A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D

Prof. Joo Marcos Meirelles da Silva

96/198

As duas funes so duais entre si, pois apresentam a mesma TabelaVerdade:

Prof. Joo Marcos Meirelles da Silva

97/198

Mtodo de Quine-McCluskey
Como podemos observar, a complexidade dos mapas de VeichtKarnaugh aumentam conforme o nmero de variveis aumenta. A partir de 7
variveis, a simplificao atravs do uso destes mapas torna-se
impraticvel.
Tendo em vista que, em muitos casos reais, o nmero de variveis
extrapola facilmente o nmero de 6, torna-se importante dispormos de um
mtodo mais prtico, e de preferncia que seja fcil de implementar via
software.
Tais mtodos existem e chamam-se de Mtodos Tabulares, sendo o
mtodo de Quine-McCluskey um dos mais conhecido dentre eles.
OBS: Atualmente, o mtodo implementado em programas de sntese de
circuitos digitais o ESPRESSO (e seus variantes), criado por Robert
Brayton na IBM/Berkeley.

O Processo de Agrupamento
Os mintermos so, inicialmente, separados de acordo com seus
ndices, onde o ndice de um mintermo o nmero de variveis cujo estado
seja verdadeiro.
Ex: A.B.C.D 0101 2 x 1s index = 2
Os mintermos so agrupados conforme seus ndices, e em ordem
crescente da seguinte forma:
Exemplo 1: Listar os mintermos de quatro variveis em grupos de mesmo
ndice.
Mintermo (binrio)
Nmero do Mintermo ndice
0000
0
0
0001, 0010, 0100, 1000
1, 2, 4, 8
1
0011, 0101, 0110, 1010, 1100
3, 5, 6, 9, 10, 12
2
0111, 1011, 1101, 1110
7, 11, 13, 14
3
1111
15
4

Prof. Joo Marcos Meirelles da Silva

98/198

Dada a funo Booleana expressa por


f(A,B,C,D,E,F) = 0,3,6,9,11,14,15,17,21,25,29,30,31
Separe os mintermos em grupos de acordo com o seu ndice.
Mintermo

No. Mintermo

ndice

Uma vez que os mintermos tenham sido separados em grupos de


acordo com seus ndices (mesmo ndice), e listados em ordem crescente, a
simplificao tabular segue os passos:

Passo 1
a) O nmero decimal representando cada mintermo em um grupo de
mesmo ndice comparado com os nmeros de todos os mintermos do
grupo possuindo um ndice mais alto;
b) Somente aqueles mintermos possuindo nmeros maiores, e tambm
ndices maiores, precisam ser considerados para efeito de
comparao. Por exemplo, m9 (ndice 2) no precisa ser comparado
com o mintermo m7 (ndice 3), pois 7 menor que 9 (ver Exemplo 1);
c) Dois mintermos iro combinar-se (como um grupo de 2) se suas
representaes decimais diferirem de 2N. O grupo formar ento um
implicante reduzido1;
d) Cada mintermo que combinado em um grupo de dois, ento riscado
da lista original;
e) Um dado mintermo pode combinar-se com mais de um grupo;
f) Os termos restantes que no formaram grupos so chamados de
implicantes essenciais;

Para compreender a origem dos termos empregados aqui, veja o livro Introduction to Switching Theory
and Logical Design Frederick J. Hill e Gerald R. Peterson Wiley International, 1968.

Prof. Joo Marcos Meirelles da Silva

99/198

Exemplo 2: Dada a funo Booleana f(A,B,C,D) = 1,4,10,11,12,14,15, liste


os mintermos em grupos de mesmo ndice e aplique o passo 1:
Mintermo (binrio) Nmero do Mintermo ndice
0001, 0100
1, 4
1
1010, 1100
10, 12
2
1011, 1110
11, 14
3
1111
15
4

Aplicando o Passo 1, temos:


Coluna 1
1
4
10
12
11
14
15

Passo 2:
a) Os implicantes reduzidos que foram produzidos no Passo 1 so
inseridos em uma segunda coluna na forma
I(2N)
onde I o menor nmero de mintermo do par formado, e 2N a
potncia de 2 pelo qual o mintermo difere;
b) Somente o mintermo de menor nmero precisa ser reescrito na
coluna 2;
c) As entradas da segunda coluna devem ser separadas em grupos de
implicantes reduzidos que resultaram dos vrios cruzamentos do
Passo 1;

Prof. Joo Marcos Meirelles da Silva

100/198

Coluna 1
1
4
10
12
11
14
15

Coluna 2
4(8)
10(1)
10(4)
12(2)
11(4)
14(1)

Passo 3
a) Os implicantes de cada grupo da coluna 2 so comparados com todos
os membros do prximo grupo que possuem a mesma potncia de 2
entre parnteses;
b) Se os nmeros dos mintermos diferem por uma potncia de 2, ento
os dois implicantes podem ser combinados. Isto corresponde a dois
grupos de dois mintermos sendo combinados para formar um grupo de
quatro;
c) O novo implicante reduzido formado deve ser reescrito em uma
terceira coluna da seguinte forma:
I(2N,2M)
onde I o mintermo de menor nmero, e 2N e 2M so as potncias de 2
utilizadas para formar o grupo;
d) Os implicantes utilizados para formar os grupos da coluna 3 devem
ser riscados da coluna 2;
e) As entradas da coluna 3 devem ser comparadas de forma a verificar
se outros grupos podem ser formados, levando uma quarta coluna
(grupos de 8 mintermos);
f) O processo continua at que nenhum novo grupo possa ser formado.
Coluna 1
1
4
10
12
11
14
15

Coluna 2
4(8)
10(1)
10(4)
12(2)
11(4)
14(1)

Coluna 3
10(1,4)

Prof. Joo Marcos Meirelles da Silva

101/198

OBS: As entradas da ltima coluna e os implicantes que no foram riscados


nas colunas anteriores formam o conjunto chamado de implicantes prime,
que podero ser utilizados para representar a funo simplificada.
Para convertermos os implicantes prime em uma funo Booleana
reduzida, seguimos os seguintes passos:
a) Os mintermos cujo nmero aparecem esquerda do implicante prime
so convertidos para sua forma binria;
b) Os termos correspondentes s posies indicadas pelas potncias de
2, entre parnteses, so eliminados.
No caso do exemplo 2, os implicantes prime so: 1, 4(8), 12(2) e
10(1,4), reveja as colunas:
Coluna 1
1
4
10
12
11
14
15

Coluna 2
4(8)
10(1)
10(4)
12(2)
11(4)
14(1)

Coluna 3
10(1,4)

Da temos:
1 = 0001 A.B.C.D
4(8) = 0100 A.B.C.D B.C.D
12(2) = 1100 A.B.C.D A.B.D
10(1,4) = 1010 A.B.C.D A.C
Logo, a funo simplificada toma a seguinte forma:
f(A,B,C,D) = A.B.C.D + B.C.D + A.B.D + A.C

Prof. Joo Marcos Meirelles da Silva

102/198

No entanto, aparece um problema: A simplificao atravs de Mapa


de Karnaugh indica que o termo A.B.D desnecessrio, conforme podemos
observar:

Mas por que isto acontece?


O mtodo de Quine-McCluskey indica todos os implicantes prime
possveis, sem considerar quais so realmente necessrios para representar
a funo simplificada. Veja o Mapa de Karnaugh abaixo:

Nele podemos observar que h uma possibilidade de formao de mais


um grupo, indicado pela cor laranja.
Para resolvermos este problema, faz-se necessrio identificar os
chamados implicantes prime no essenciais.

Prof. Joo Marcos Meirelles da Silva

103/198

Seleo de Implicantes Prime


Para selecionarmos os melhores implicantes prime, necessrio
montarmos uma tabela de implicantes prime.
No exemplo anterior. Os implicantes prime encontrados foram:
1 = A.B.C.D = a
4(8) = B.C.D = b
12(2) = A.B.D = c
10(1,4) = A.C = d
Os implicantes primes so rotulados apenas para facilitar a
referncia a eles.
1 4 10 11 12 14 15
a X
b
X
X
c
X X
d
X X
X X
O X na interseo da primeira linha com a primeira coluna mostra que
o implicante prime a(m1) cobre/representa ele mesmo. J o implicante prime
b cobre dois mintermos
Podemos notar que os implicantes a, b e d so essenciais, pois a cobre
m1, b cobre m4 e m12, e d cobre o restante dos mintermos, fazendo com que
o implicante prime c seja desnecessrio.
1 4 10 11 12 14 15
a

b
X
c
X X
X
d
X X
Logo, a forma reduzida da funo original dada por2:
F = a + b + d = A.B.C.D + B.C.D + A.C
Para maiores detalhes, ver Fundamentals of Digital Systems Design de V. Thomas Rhyne, PrenticeHall, 1973.
2

Prof. Joo Marcos Meirelles da Silva

104/198

Implementando Circuitos Lgicos


H trs formas de implementao de circuitos lgicos atualmente:
1. Utilizando portas lgicas bsicas com tecnologia TTL3 ou CMOS4;
2. Utilizando dispositivos de lgica programvel PLD5;
3. Utilizando tecnologia ASIC6
Ainda existe uma quarta forma que seria atravs do emprego de um
microprocessador, mas neste caso, no se considera uma implementao real
de um circuito e sim uma emulao deste.
A forma mais tradicional, e ainda muito utilizada quando o circuito
muito simples, a forma utilizando portas lgicas bsicas (objeto de estudo
da primeira aula de laboratrio).
A forma mais moderna de implementao atravs do uso de PLDs
devido sua praticidade, baixo custo, confiabilidade e capacidade de
integrao (reduz as dimenses fsicas do circuito final). Tem sido a forma
predominante atualmente para implementao de circuitos de mdia para
alta complexidade quando a escala de produo pequena.
Quando a escala de produo alta e/ou h necessidade de mximo
desempenho do circuito lgico, a tcnica conhecida como ASIC entra em
cena. Trata-se na verdade da produo de um chip que implementa de forma
otimizada o circuito lgico desenhado.
Muitas vezes, um circuito lgico desenvolvido primeiro (prottipo)
utilizando PLDs e, aps confirmados alguns parmetros desejados, um ASIC
daquele mesmo circuito criado.
Por tratar-se de uma tcnica otimizada e totalmente especfica para
aquele circuito lgico, a tecnologia ASIC cara e s justificada, muitas
vezes, quando o volume de produo alto. Devido isto, tem sido muito
comum encontrar equipamentos comerciais no mercado utilizando PLDs.

Tecnologia mais antiga de fabricao das portas conhecida como Transistor-Transistor Logic. Ser
estudada mais adiante.
4
Tecnologia mais recente que a TTL (porm, no a mais atual) conhecida como Complementary MetalOxide Semiconductor. Tambm ser estudada mais adiante.
5
Programmable Logic Device.
6
Application-Specific Integrated Circuit.

Prof. Joo Marcos Meirelles da Silva

105/198

Implementao com Portas Lgicas Bsicas


A implementao de circuitos lgicos simples pode ser realizada
empregando-se chips contendo as portas lgicas bsicas, como o chip 7400
da Texas Instruments. Estes chips normalmente dispem de poucas
unidades de portas lgicas, o que faz com que diversos chips sejam
necessrios para um circuito lgico de complexidade razovel.
Devido ao nmero reduzido de portas em um nico chip, estes so
conhecidos com chips SSI Small Scale of Integration.

O chip TTL 7400, contendo 4 portas NAND.


Para circuitos bsicos como contadores, comparadores, etc..., que
normalmente fazem parte de outros circuitos de maior complexidade, o uso
de chips SSI tornaria a montagem impraticvel. Por sorte, os fabricantes
disponibilizam alguns circuitos j prontos em chips conhecidos como chips
MSI Mdium Scale of Integration.

Chip um pouco mais complexo, j


contendo um circuito completo.

Prof. Joo Marcos Meirelles da Silva

106/198

Implementao em PLDs
O uso de dispositivos de lgica programvel acelera o
desenvolvimento de circuitos digitais devido sua grande praticidade, custo
e tamanho reduzido.
Os PLDs como, por exemplo, os CPLDs e FPGAs, so dispositivos
contendo elementos de circuitos7. Cada elemento deste pode assumir, de
forma grosseiramente falando, a funo de qualquer porta lgica bsica
atravs de programao.

Exemplo de CPLD da Altera.


Tais dispositivos so programados atravs de uma linguagem de
descrio de hardware, tais como a Verilog, AHDL e a VHDL, dentre outras.
Existem hoje dois grandes fabricantes de CPLDs e FPGAs no
mercado: A Altera e a Xilinx.
Utilizaremos os chips da Altera e o seu programa de desenvolvimento:
O Max+Plus II.
No Max+Plus II, h trs formas de descrevermos os circuitos.
Utilizaremos somente as duas primeiras:
1. Diagrama de circuitos
2. Linguagem de descrio de hardware8
3. Diagramas de Tempo

Sero explicados em maiores detalhes no decorrer do curso. H diferenas considerveis entre CPLDs e
FPGAs.
8
Usaremos apenas a linguagem VHDL.

Prof. Joo Marcos Meirelles da Silva

107/198

A Linguagem VHDL
A linguagem VHDL envolve dois elementos fundamentais:
1. A definio das entradas/sadas do circuito;
2. A definio de como as sadas respondem s entradas (operao).
Vejamos um exemplo de circuito lgico, no caso uma porta AND,
descrito em VHDL:
ENTITY and_gate IS
PORT( a, b : IN BIT;
y : OUT BIT);
END and_gate;
ARCHITECTURE ckt OF and_gate IS
BEGIN
y <= a AND b;
END ckt;
A declarao ENTITY pode ser encarada como uma descrio de
bloco, pois o circuito que estamos descrevendo deve estar contido dentro
de algo. O circuito se chama and_gate.
Em VHDL, a palavra-chave PORT diz ao compilador que estamos
definindo entradas e sadas para o circuito. No caso, a e b so entradas
(IN) do tipo BIT (s pode assumir 0 ou 1). A linha contendo END and_gate
termina a descrio do bloco.
A declarao ARCHITECTURE usada para descrever a operao de
tudo que est dentro do bloco. O projetista inventa um nome para essa
descrio da arquitetura do funcionamento interno do bloco ENTITY. No
caso, o nome escolhido foi ckt. Aqui, BEGIN e END abrem e fecham a
descrio desse bloco, respectivamente.
A sada composta pelo sinal de atribuio concorrente (<=) e pela
expresso a AND b. A atribuio concorrente significa que todas as
declaraes (h somente uma neste exemplo) entre BEGIN e END so
avaliadas constante e concorrentemente9.

Essa uma importante diferena entre uma linguagem de programao comum e uma linguagem de
descrio de hardware.

Prof. Joo Marcos Meirelles da Silva

108/198

Em muitos projetos, preciso definir pontos de sinal dentro do


bloco de circuito. Esses pontos no so nem entradas nem sadas. So
apenas pontos de referncia e que, como tal podem ser utilizados para
conectar um lugar a outro lugar no circuito, distribuindo o sinal presente
naquele ponto a diversos outros locais onde esse sinal seja necessrio. Esses
pontos so chamados de ns internos ou sinais locais. Tambm
interessante adicionar comentrios no cdigo em VHDL.
Veja o exemplo abaixo:
-- Variveis intermedirias em VHDL.
ENTITY xyz IS
PORT( a, b, c : IN BIT; -- define entradas no bloco.
y : OUT BIT); -- define a sada do bloco.
END xyz;
ARCHITECTURE ckt OF xyz IS
SIGNAL m : BIT; -- nomeia um sinal intermedirio.
BEGIN
M <= a AND b; -- gera um termo de produto (interno).
y <= m OR c; -- gera soma na sada.
END ckt;

Implementao em ASIC
Os chips ASIC tambm utilizam linguagens de descrio para serem
produzidos.

Cartela contendo chips implementados via ASIC.

Prof. Joo Marcos Meirelles da Silva

109/198

No entanto, ASICs so circuitos integrados no programveis e


totalmente customizados para uma determinada aplicao.
Implementaes modernas de chips via ASIC normalmente incluem
processadores de 32-bits (ex: processadores ARM), blocos de memria
(ROM, RAM, EEPROM, FLASH) e muitos outros blocos de circuitos. Tais
chips so normalmente chamados de SoC (System-on-Chip)

Prof. Joo Marcos Meirelles da Silva

110/198

Circuitos Combinacionais
Os circuitos combinacionais so aqueles cuja sada(s) s depende(m),
em qualquer instante de tempo, das entradas

Projeto de Circuitos Combinacionais


Vamos verificar, atravs de um exemplo, como se d o passo-a-passo
para o projeto de circuito digital a partir da descrio de um problema
prtico.

Situao
Em uma certa planta de um processo qumico, uma substncia na
forma lquida usada num processo industrial. O lquido armazenado em
trs tanques diferentes. Um sensor de nvel em cada tanque produz uma
tenso de nvel alto quando o nvel do lquido no tanque cai abaixo de um
ponto mnimo.

Problema
Projetar um circuito combinacional que monitore o nvel do lquido em
cada tanque e indique quando o nvel em dois tanques quaisquer cair abaixo
do ponto especificado.

Prof. Joo Marcos Meirelles da Silva

111/198

Projeto
O primeiro passo no problema identificar as entradas e as sadas.
Atravs da leitura do problema, possvel dizer que os sensores 1, 2
e 3 so as entradas e a sada a indicao do nvel em dois tanques abaixo
do ponto especificado (esta indicao pode ser luminosa, sonora ou at
mesmo a ligao automtica de uma bomba para encher os tanques
novamente).
Entradas: sensor 1, sensor 2, sensor 3
Sada: Indicao de nvel baixo
Em seguida, vamos atribuir mnemnicos s entradas e sada para
simplificar o trabalho com a lgebra Booleana:
Sensor 1 A
Sensor 2 B
Sensor 3 C
Sada S
Agora vamos definir o estado lgico das variveis de entrada e da
sada. O problema j nos informa que o sensor nos fornece um nvel lgico
alto quando o nvel do lquido est baixo, mas no fala sobre o nvel lgico da
sada. Logo, vamos definir:
Nvel do lquido baixo Nvel lgico 1
Sada (dois tanques em nvel baixo) Nvel lgico 1
Agora que os significados dos nveis lgicos foram definidos,
podemos criar uma Tabela-Verdade que visa cobrir todas as combinaes
possveis de entrada/sada:

Prof. Joo Marcos Meirelles da Silva

112/198

Uma vez obtida a expresso mnima,


implementao atravs das portas lgicas:

podemos

pensar

Um fazendeiro precisa ir cidade. No entanto h alguns


problemas: O fazendeiro possui algumas galinhas que esperam por
uma oportunidade de encontrar a porta do silo aberta e comer
todo o seu estoque de gros. Ele tambm possui um co que espera
por uma oportunidade de encontrar uma galinha nas imediaes
dele, e variar seu cardpio jantando uma. O fazendeiro tambm
possui um empregado que vive esquecendo de trancar a porta do
silo, trancar o canil e trancar o galinheiro. Como um fazendeiro
teme que algum problema possa ocorrer durante a sua ausncia, ele
resolveu contratar voc para projetar um alarme que permita
alertar o empregado, atravs de uma sirene, de um perigo iminente.
Faa o projeto do alarme. Considere o canil, o galinheiro e o silo,
prximos entre si.

Prof. Joo Marcos Meirelles da Silva

113/198

na

Condies Dont Care


Algumas vezes surge uma situao na qual uma combinao das
variveis de entrada no permitida, ou no nos interessa. Como esses
estados no permitidos nunca ocorrero, ou j que eles no nos
interessam, eles podem ser tratados como termos dont care (no
importam) em relao aos seus efeitos na sada. Ou seja, para esses termos
dont care podemos associar 0 ou 1 sada, j que eles nunca iro ocorrer.

Exemplo: Decodificador Binrio-Decimal (Cdigo BCD)

Para exemplificar o uso dos estados dont care no Mapa de


Karnaugh. Vamos imaginar um circuito decodificador BCD.

Prof. Joo Marcos Meirelles da Silva

114/198

Para simplificar, vamos realizar o circuito parcialmente, uma vez que


ele possui sete sadas. Uma para cada segmento do display.

Prof. Joo Marcos Meirelles da Silva

115/198

Vamos realizar um circuito nos preocupando apenas para o segmento


a do display. Os mesmos passos podem ser aplicados para o outros
segmentos e, assim, finalizar o circuito completo do decodificador.

Prof. Joo Marcos Meirelles da Silva

116/198

Exemplos de Aplicaes de Circuitos Combinacionais


A seguir, vamos analisar alguns circuitos combinacionais bsicos (e
clssicos) que nos iro nos servir de blocos de construo para circuitos
ainda mais complexos.

Porta XOR ou EXOR ou OU EXCLUSIVO

O OU EXCLUSIVO aparece com tanta freqncia na lgebra


Booleana que recebe um status de operador desta, apesar de ser um
operador derivado da combinao dos demais operadores (AND, OR e NOT).
Como tal, recebe tambm um smbolo especial ( ).
A porta XOR funciona como um detector de diferenas, comparando
uma entrada (A) com a outra (B) e indicando se elas so diferentes.
Outra possibilidade bastante interessante vermos a porta XOR
como uma porta que realiza a soma binria de dois bits (A e B). verdade
que, neste caso, ainda temos o problema do famoso vai-um (mais conhecido
como carry) em uma soma que no gerado, mas veremos a soluo para
este problema mais a frente.

Prof. Joo Marcos Meirelles da Silva

117/198

Gerador de Paridade (par)


Lembrar que:
- No esquema de paridade par, deve haver um nmero par de 1s, incluindo
o prprio bit de paridade;
- O bit de paridade, normalmente, antecede o MSB.

Circuito gerador de paridade par.

Detector de Paridade (par)

Circuito verificador de paridade par.


Note que, no circuito verificador de paridade, tambm h uma
gerao de bit de paridade (circuito formado pelas portas U1:A, U1:B e
U1:C), que ser utilizado para comparar com o bit de paridade recebido
(atravs da porta U1:D).

Prof. Joo Marcos Meirelles da Silva

118/198

Somadores
A porta EXOR pode ser vista como um somador bsico. Verifique que,
somando-se os valores das colunas A e B, a coluna S apresenta o que seria o
resultado da soma binria entre A e B.

Aqui, dizemos seria devido um nico detalhe: A ltima linha (1 + 1 =


0) deveria ter tambm a gerao do famoso vai-um (tambm conhecido
como carry ou carry-out).
Como podemos resolver isto? Ora, adicionando-se um circuito lgico
que gere este bit de carry-out quando as entradas A e B forem 1
simultaneamente. Veja o circuito refeito abaixo:

O circuito agora conhecido como meio-somador (half-adder).

Prof. Joo Marcos Meirelles da Silva

119/198

Vamos dar continuidade na anlise do nosso circuito somador e tentar


responder seguinte pergunta:

Como fazer para somar dois nmeros de 4 bits cada, por exemplo,
utilizando nosso meio-somador?
A figura abaixo mostra 4 meio-somadores, como interlig-los?

Claramente, nosso circuito ainda no est totalmente apto para


resolver o problema apresentado. Ento, vamos reprojet-lo mais uma vez:

Prof. Joo Marcos Meirelles da Silva

120/198

Agora nosso circuito passa a contar com uma entrada conhecida como
carry-in.
Este circuito agora conhecido como somador completo (full adder)
Voltando pergunta de como fazer para somar dois nmeros de 4
bits cada, temos o circuito completo agora.

O circuito acima conhecido como Somador Paralelo com Carry


Ondulante e, ainda apresenta mais um problema a ser resolvido: O do tempo
necessrio para realizar a soma devido propagao do carry out.
A soluo definitiva encontra-se no chamado Somador Paralelo com
Carry Antecipado.
Vamos ver a soluo.

Prof. Joo Marcos Meirelles da Silva

121/198

A velocidade com a qual uma adio pode ser realizada limitada pelo
tempo necessrio para os carries se propagarem (ondulao) atravs de
todos os estgios do somador paralelo.
O somador paralelo com carry antecipado antecipa o carry de sada
de cada estgio e, com base apenas nas entradas, produz o carry de sada
atravs da gerao ou da propagao de carry.
A Gerao de Carry
Ocorre quando um carry de sada produzido (gerado) internamente
pelo somador-completo. Um carry gerado apenas quando os dois bits de
entrada so 1s. O carry gerado, Cg, expresso como uma funo AND do
dois bits de entrada, A e B.
Cg = A.B
A Propagao de Carry
Ocorre quando um carry de entrada passa por dentro de um
somador completo (ondulao) at se tornar um carry de sada. Um carry de
entrada pode ser propagado pelo somador-completo quando um ou os dois
bits de entrada forem 1s. O carry propagado, Cp, expresso por uma
funo OR entre os bits de entrada.
Cp = A + B
Logo, o carry antencipado pode ser expresso pela seguinte expresso
Booleana:

Cout = Cg + Cp.Cin

Prof. Joo Marcos Meirelles da Silva

122/198

Expanso de um Somador
muito comum nos depararmos com a seguinte necessidade:
Desejamos somar nmeros com mais de 4 bits, mas s dispomos de
somadores de 4 bits. Como resolver?
A soluo est na expanso de somadores, mostrada na figura abaixo:

Como exemplo de aplicao de somadores, temos o painel de votao


mostrado abaixo:

Prof. Joo Marcos Meirelles da Silva

123/198

Comparadores
A Porta EX-NOR como comparador bsico

Comparador de Magnitude

Prof. Joo Marcos Meirelles da Silva

124/198

Tab
ela 3: Funcionamento do Comparador de Magnitude 74LS85.

Expanso do Comparador de Magnitude


As entradas de cascateamento fornecem um meio de expandir a
operao de comparao por mais de quatro bits, cascateando dois ou mais
comparadores.

Prof. Joo Marcos Meirelles da Silva

125/198

Aplicao: Controlador de temparatura

Codificador Bsico
Um codificador um circuito lgico combinacional que possui m
entradas e que somente uma delas ativada por vez, produzindo um cdigo
de sada de n bits. O cdigo da sada depende de qual entrada foi acionada.

Codificador de Decimal para BCD


Um codificador que encontra muitas aplicaes o chamado
Codificador Decimal BCD.
Este codificador muito usado nas chamadas interfaces homemmquina (IHM), como por exemplo, teclados de telefones, calculadoras,
computadores, etc...

Prof. Joo Marcos Meirelles da Silva

126/198

Prof. Joo Marcos Meirelles da Silva

127/198

Decodificadores
Um decodificador faz o contrrio do codificiador. Consiste em um
circuito lgico combinacional com n entradas e m sadas.
Para cada cdigo binrio apresentado sua entrada, apenas uma das
sadas ativada.
Decodificador de 2 bits

Decodificador BCD para Decimal

Prof. Joo Marcos Meirelles da Silva

128/198

Decodificador BCD 7 Segmentos


Um decodificador muito utilizado o chamado decodificador BCD 7
Segmentos, utilizado para transformar um nmero binrio puro de 4 bits no
seu equivalente decimal de 0 a 9.

Prof. Joo Marcos Meirelles da Silva

129/198

Preenchendo o mapa de Karnaugh e simplificando, temos os seguinte


mintermos:

A implementao do circuito responsvel apenas pelo funcionamento


do segmento a do display pode ser visto na Figura abaixo:

Para o decodificador BCD 7 Segmentos completo, haver um circuito


parecido como o da Figura acima para cada um dos segmentos restantes.
Felizmente, existem circuitos integrados prontos para serem
utilizados como, por exemplo, o chip 7448 (tecnologia TTL) ou o 4511
(tecnologia CMOS), dentre outros.

Prof. Joo Marcos Meirelles da Silva

130/198

Multiplexadores
Os multiplexadores so circuitos lgico combinacionais que funcionam
como seletores de entrada. Tambm chamado de MUX ou Multiplex (no
jargo de telefonia, onde muito utilizado).
Um sistema de som moderno pode ter uma chave que seleciona msica
de uma das quatro fontes: CD, rdio, USB ou entrada auxiliar. Essa chave
seleciona um dos sinais eletrnicos dessas quatro fontes e o envia para o
amplificador de potncia e alto-falantes.

Tambm podem ser vistos como seletores de dados.

Prof. Joo Marcos Meirelles da Silva

131/198

Demultiplexadores
Um demultiplexador um circuito lgico combinacional que faz
exatamente o oposto do multiplexador. Tambm conhecido com DEMUX ou
demultiplex.
Um sistema de som moderno pode ter uma chave que seleciona msica
de uma das quatro fontes: CD, rdio, USB ou entrada auxiliar. Essa chave
seleciona um dos sinais eletrnicos dessas quatro fontes e o envia para o
amplificador de potncia e alto-falantes.

Tambm pode ser visto como um distribuidor de dados.

Em telefonia, e tambm em comunicao de dados, muito comum o


emprego do par mux + demux.

Prof. Joo Marcos Meirelles da Silva

132/198

Equivalncia de Portas

Prof. Joo Marcos Meirelles da Silva

133/198

Formas de Onda Digitais na Entrada


muito comum analisarmos o funcionamento de um circuito lgico
atravs da aplicao de formas de onda quadrada em suas entradas e
verificar a(s) sada(s).

Se as sadas no forem condizentes com as entradas aplicadas e a


funo Booleana do circuito, ento h uma indicao de funcionamento
anormal deste.

Prof. Joo Marcos Meirelles da Silva

134/198

Caractersticas Bsicas de Circuitos Integrados Digitais


Os circuitos integrados, tambm chamados de CIs ou Chips, podem
ser classificados de diferentes formas, sendo as trs principais:
1. Quanto sua escala de integrao, ou seja, a ordem de grandeza do
nmero de portas lgicas equivalentes que se consegue fabricar no
CI;
2. Quanto sua famlia;
3. E mais modernamente, quanto espessura de fabricao de suas
camadas (geraes).

Quanto sua escala de integrao


COMPLEXIDADE
SIGLA PORTAS PO CI
Integrao em pequena escala
SSI
< 12
Integrao em mdia escala
MSI
12 a 99
Integrao em grande escala
LSI
100 a 9.999
Integrao em escala muito grande VLSI
10.000 a 99.999
Integrao em escala ultragrande
ULSI 100.000 a 999.999
Integrao em escala GIGA
GSI
> 1.000.000
A figura abaixo mostra um exemplo de CI VLSI. No caso, um
microprocessador 486DX2 da Intel Corporation.

Die de um microprocessador 486DX2 (j com conexes).

Prof. Joo Marcos Meirelles da Silva

135/198

A figura abaixo mostra a evoluo da complexidade dos CIs ao longo


dos anos:

Evoluo da complexidade ao longo do tempo.

Quanto ao Encapsulamento

Prof. Joo Marcos Meirelles da Silva

136/198

Quanto sua famlia


Entende-se por famlia de circuitos lgicos, os tipos de estruturas
internas que nos permitem a confeco destes blocos em circuitos
integrados. Cada famlia lgica utiliza determinados componentes em seus
blocos e, de acordo com estes, a famlia possuir determinadas
caractersticas relacionadas ao seu funcionamento e desempenho prtico.
As famlias utilizadas atualmente dentro da rea de Eletrnica Digital
so a TTL (Transistor-Transistor Logic) e a CMOS (Complementary MetalOxide Semiconductor), porm estas derivam se uma srie de famlias
lgicas que hoje esto completamente obsoletas.
1.
2.
3.
4.
5.

DCTL (Direct-Coupled Transistor Logic)


RTL (Resistor-Transistor Logic)
RCTL (Resistor-Capacitor Logic)
DTL (Diode-Transistor Logic)
HTL (High-Threshold Logic)

Prof. Joo Marcos Meirelles da Silva

137/198

Terminologia de CIs Digitais


Parmetros de Corrente e Tenso
Embora existam muitos fabricantes de CIs, a maior parte da
nomenclatura e da terminologia padronizada. Os termos mais teis so:

VIH (mn): Tenso de entrada em nvel alto (high-level input voltage).


O nvel de tenso mnimo em uma entrada para que a porta entenda
como sendo nvel lgico 1. Qualquer tenso abaixo desse nvel no
ser aceita como nvel ALTO pelo circuito lgico.
VIL (mx): Tenso de entrada em nvel baixo (low-level input voltage).
O nvel de tenso mximo em uma entrada para que a porta entenda
como sendo nvel lgico 0. Qualquer tenso acima desse nvel no ser
aceita como nvel BAIXO pelo circuito lgico.
VOH (mn): Tenso de sada em nvel alto (high-level output voltage). O
nvel de tenso mnimo na sada de um circuito lgico, no estado lgico
1, sob determinadas condies de carga.
VOL (mx): Tenso de sada em nvel baixo (low-level output voltage).
O nvel mximo de tenso na sada de um circuito lgico, no estado
lgico 0, sob determinadas condies de carga.
IIH: Corrente de entrada em nvel alto (high-level input current). A
corrente que flui para uma entrada quando uma tenso de nvel ALTO
especificada aplicada nessa entrada.
IIL: Corrente de entrada em nvel baixo (low-level input current). A
corrente que flui para uma entrada quando uma tenso de nvel baixo
especificada aplicada nessa entrada.
IOH: Corrente de sada em nvel alto (high-level output current). A
corrente que flui de uma sada, no estado lgico 1, sob determinadas
condies de carga.
IOL: Corrente de sada em nvel baixo (low-level output current). A
corrente que flui de uma sada, no estado lgico 0, sob determinadas
condies de carga.

Prof. Joo Marcos Meirelles da Silva

138/198

Fan-Out
Tambm chamado de Fator de Acionamento de Carga.

Atrasos de Propagao
Um sinal lgico sempre sofre atraso ao atravessar um circuito. Os
dois tempos de atrasos de propagao existentes em uma porta lgica
digital podem ser definidos como:

tpLH: Tempo de atraso da porta quando a sada comuta de nvel


BAIXO para nvel ALTO.
tpHL: Tempo de atraso da porta quando a sada comuta de nvel alto
para nvel BAIXO.
Os valores de tempo de propagao so utilizados como medida de
velocidade relativa dos circuitos lgicos. Estas velocidades podem
mudar em funo da carga.

Imunidade ao Rudo
Campos eltricos e magnticos podem induzir tenses nos fios de
conexo entre os circuitos lgicos. Esses sinais esprios e indesejveis so
chamados de rudo e podem algumas vezes fazer a tenso de entrada de um
circuito lgico cair de VIH (min) ou aumentar alm de VIL (mx), o que
poderia produzir uma operao imprevisvel.
A imunidade ao rudo de um circuito lgico refere-se capacidade do
circuito de tolerar rudos sem provocar alteraes esprias na tenso de
sada.

Prof. Joo Marcos Meirelles da Silva

139/198

Uma medida quantitativa de imunidade ao rudo denominada margem


de rudo e ilustrada na Figura abaixo:

Para operar adequadamente, os nveis de tenso de entrada de um


circuito lgico devem ser mantidos fora da regio proibida.
Para a famlia TTL, por exemplo, a regio proibida situa-se entre,
aproximadamente, 0,8V e 2V.
Em geral, essas regies no devem nos preocupar muito pois os CIs
foram projetados para trabalhar fora dessa regio, mas problemas com a
fonte de alimentao ou excesso de carga na sada de uma porta lgica,
podem lev-la a operar na regio proibida.

Prof. Joo Marcos Meirelles da Silva

140/198

A Famlia Lgica TTL


A tecnologia de projeto TTL (Transistor-Transistor Logic) existe h
mais de 45 anos e encontra-se na fase de declnio. No entanto, ela inspirou
toda uma nova srie de tecnologias de projeto mais modernas.

(a) Porta NAND TTL bsica (b) Equivalente a diodo para Q4


Observe que a sada do circuito atravs dos transistores Q1 e Q2
esto em uma configurao chamada de totem-pole, onde os transistores
operam como chave. A funo de Q1 conectar Vcc sada, produzindo
nvel lgico ALTO. A funo de Q2 conectar a sada GND, produzindo
nvel lgico BAIXO.
A figura cima apresenta a porta NAND TTL operando com sua sada
em nvel baixo. Embora esse circuito parea complexo, podemos simplificar a
anlise utilizando o equivalente ao diodo do transistor de mltiplos
emissores Q4, conforme mostrado na prpria figura. Os diodos D2 e D3
representam as duas junes base-emissor (BE) de Q4, e D1 representa a
juno base-coletor (BC).
Quando as entradas A e B esto em nvel ALTO, a tenso de + 5V nos
catodos de D2 e D3 os deixam cortados, e eles praticamente no conduzem
corrente. A fonte Vcc fornecer corrente por R1 e D1 para a base de Q3,
que comear a conduzir. A corrente do emissor de Q3 fluir para a base de
Q2 e o far conduzir.

Prof. Joo Marcos Meirelles da Silva

141/198

Ao mesmo tempo, o fluxo de corrente no coletor de Q3 produz queda


de tenso sobre R2, que reduz a tenso no coletor de Q3 para um valor
insuficiente para Q1 conduzir.
A tenso no coletor de Q3 de aproximadamente 0,8 V. Isso porque
o emissor de Q3 est a 0,7 V em relao GND, devido tenso direta
entre BE de Q2, e o coletor de Q3 est a 0,1 V em relao a seu emissor
devido a Vce (sat). Esse valor de 0,8 V na base de Q1 no suficiente para
polarizar diretamente a juno de BE de Q1 e o diodo D1. Na verdade, D1
necessrio para manter Q3 cortado nessa situao.
Com Q2 conduzindo, o terminal de sada X estar com tenso muito
baixa, visto que a resistncia de Q2, quando conduz, baixa (1 a 25 ). Na
verdade, a tenso de sada VOL depende de quanta corrente de coletor Q2
conduz. Com Q1 cortado, no existe corrente vindo do terminal da fonte
Vcc por R4. A corrente do coletor de Q2 vir das entradas TTL s quais o
terminal de sada X estiver conectado (transistor Q4 multiemissor).
Em nvel ALTO, as entradas A e B devem fornecer apenas a pequena
corrente de fuga dos diodos D2 e D3, que tipicamente de 10 A
temperatura ambiente.

Porta NAND TTL com sada em nvel lgico BAIXO.

Prof. Joo Marcos Meirelles da Silva

142/198

A prxima figura mostra a situao em que a sada da porta est em


nvel lgico ALTO. Nesse caso, a entrada B est em nvel lgico BAIXO.
Isso ir polarizar D3 diretamente e a tenso no ponto Y ser de 0,7 V. Essa
teno no suficiente para polarizar D1 e a juno BE de Q3 para conduo.
Com Q3 em corte, no existe corrente de base para Q2 e ele tambm
corta. Como no existe corrente de coletor em Q2, a tenso na base de Q1
ser grande o suficiente para polarizar diretamente Q1 e D4, de modo que
Q1 conduza.

Porta NAND TTL com sada em nvel lgico ALTO.

Prof. Joo Marcos Meirelles da Silva

143/198

Sries TTL
Os fabricantes normalmente marcam seus chips com um prefixo
prprio. Por exemplo, a Texas Instruments utiliza o prefixo SN, a National
Semiconductor utiliza o prefixo DM, a Signetics utiliza o prefixo S. Alguns
exemplos podem ser: SN7400, DM7404, S7485,...
Existem diversas sries dentro da famlia TTL como 54, 74, 74LS,
74S, 74 ALS, etc...

S Schottky
L Low Power
A Advanced
F - Fast

A famlia 54ALS a mais cara dentre todas, pois por trabalhar em


condies de extremas temperaturas, tem grande emprego em aplicaes
militares e espaciais (-55 C a +125 C contra 0 a +70 C das outras).
74 74S 74LS 74AS 74ALS 74F
Atraso de propagao (ns)
9
3
9,5
1,7
4
3
Dissipao de potncia (mW) 10 20
2
8
1,2
6
Taxa de clock mxima (MHz) 35 125
45
200
70
100
Fan-out
10 20
20
40
20
33
VOH (min) (V)
2,4 2,7
2,7
2,5
2,5
2,5
VOH (mx) (V)
0,4 0,5
0,5
0,5
0,5
0,5
VIH (min) (V)
2,0 2,0
2,0
2,0
2,0
2,0
VOH (mx) (V)
0,8 0,8
0,8
0,8
0,8
0,8
OBS: Qualquer entrada para um circuito TTL que deixada desconectada
(aberta ou flutuando) interpretada como sendo sempre nvel lgico 1. No
entanto, no recomendado devido rudo.

Prof. Joo Marcos Meirelles da Silva

144/198

A Famlia Lgica CMOS


O termo tecnologia MOS (Metal Oxide Semiconductor) derivado da
estrutura MOS bsica, que consiste em um eletrodo de metal sobre um
xido isolante, que por sua vez est sobre um substrato de semicondutor.
Os transistores implementados com essa tecnologia so transistores de
efeito de campo chamados de MOSFET (ou simplesmente MOS).
As principais vantagens dos transistores MOSFET so: simplicidade
de construo, baixo custo de fabricao, dimenses muito reduzidas e
baixssimo consumo de energia.
A maior desvantagem em um dispositivo MOS o risco de ser
danificado por eletricidade esttica.
A figura abaixo mostra a estrutura de um transistor nMOS e de um
pMOS.

(a) Transistor nMOS

(b) Transistor pMOS.

Os CIs CMOS (unio de nMOS com pMOS) fornecem as mesmas


funes lgicas disponveis na famlia TTL, mas tambm vrias funes
especiais no disponveis nesta.

Diagrama esquemtico de uma porta inversora CMOS.


Prof. Joo Marcos Meirelles da Silva

145/198

A figura anterior apresenta o diagrama esquemtico de uma porta


inversora utilizando dois transistores MOS, um PMOS e o outro NMOS (da
o nome CMOS), enquanto a prxima apresenta a estrutura da porta em um
substrato de silcio.

Apresentao de uma porta inversora (sem as demais conexes) CMOS em um chip de


silcio.
Como outro exemplo, veja as duas figuras a seguir que apresentam o
diagrama esquemtico de uma porta NAND CMOS.

Esquemtico de uma porta NAND com transistores MOS.

Prof. Joo Marcos Meirelles da Silva

146/198

Layout de uma porta NAND CMOS de duas entradas.


A figura acima mostra o layout da porta NAND CMOS. Em geral, cada
estrutura colorida dar origem a uma mscara para fabricao do chip.

Sries CMOS

Existem diversas sries dentro da famlia CMOS como:


4000 (RCA)/1400 (Motorola) mais antigas e funcionalmente
equivalentes. Possuem baixo consumo e operam entre (3V e 15 V). So
lentos quando comparados com a famlia TTL ou a outras sries
CMOS;
74HC/74HCT So cerca de dez vezes mais rpidos quando
comparados famlia 74LS e capacidade de corrente maior. So
compatveis pino a pino e funcionalmente equivalentes a TTL de
mesma numerao;
74AC/74ACT Melhor imunidade a rudos, funcionalmente
equivalentes a TTL, mas no so equivalentes pino a pino;
74AHC/AHCT CMOS avanado de alta velocidade, baixo consumo e
baixa capacidade de acionamento;
74BCT/74ABT Alguns fabricantes uniram as melhores
caractersticas da lgica bipolar (BJTs) e do CMOs, criando assim a
tecnologia BiCMOS, que oferecem:
o Baixo consumo
Prof. Joo Marcos Meirelles da Silva

147/198

o Alta velocidade
o Reduo de 75% no consumo em relao famlia 74F, porm
com mesma velocidade e capacidade de acionamento

Prof. Joo Marcos Meirelles da Silva

148/198

OBS: Famlia 4000 e 14000 3 a 15V, famlia 74HC/HCT, 74AC/ACT e 74AHC/AHCT 2 a 6V.
CMOS
Parmetro 4000B 74HC 74HCT 74AC
VIH(min)
3,5
3,5
2,0
3,5
VIL(mx)
1,5
1,0
0,8
1,5
VOH(min)
4,95
4,9
4,9
4,9
VOL(mx)
0,05
0,1
0,1
0,1
VNH
1,45
1,4
2,9
1,4
VNL
1,45
0,9
0,7
1,4

TTL
74ACT 74AHC 74AHCT 74 74LS 74AS
2,0
3,85
2,0
2,0 2,0
2,0
0,8
1,65
0,8
0,8 0,8
0,8
4,9
4,4
3,15
2,4 2,7
2,7
0,1
0,44
0,1
0,4 0,5
0,4
2,9
0,55
1,15
0,4 0,7
0,7
0,7
1,21
0,7
0,4 0,3
0,3

74ALS
2,0
0,8
2,5
0,5
0,7
0,4

Imunidade Rudo: CMOS melhor que TTL


Dissipao de potncia: CMOS melhor que TTL em baixas frequncias, porm, a partir de 2 a 3 MHz, comea a perder;
Fan-out: Depende do atraso de propagao e da frequncia de operao, basicamente, empata;
Velocidade de Comutao: CMOS melhor que TTL, principalmente a famlia 74AHC;

Prof. Joo Marcos Meirelles da Silva

149/198

Buffers Tristate (Trs Estados)


Um buffer tristate um circuito que controla a passagem de um sinal
lgico da entrada para a sada (alguns invertem o sinal).
Basicamente, so empregados em circuitos digitais em que diversos
sinais so conectados a linhas em comum (como um barramento, por
exemplo).
So exemplos de buffers tristate os CIs 74LS125, 74LS126 e
74AHC126.

Figura x: Exemplo de uso de buffers tristate.

Prof. Joo Marcos Meirelles da Silva

150/198

Circuitos Seqenciais
Latch
O circuito mostrado abaixo consiste de um par de inversores
acoplados, e a estrutura bsica de um circuito lgico e de grande
importncia chamado de latch esttico.
O elemento novo e essencial que o latch introduz s estruturas
lgicas at agora consideradas que o latch pode ser usado para
estabelecer e manter um nvel lgico sem qualquer interveno externa.
Em todas as estruturas lgicas que examinamos anteriormente, a
sada de uma porta dependia das entradas da porta que eram estabelecidas
por uma fonte externa. Na ausncia de entradas no possvel conceber
sadas de portas sem incorrer em ambigidades.
Devido a esta independncia do latch das entradas externas, ele pode
ser usado para armazenar, isto , registrar ou lembrar um bit lgico.

O Latch SR
Um Latch um tipo de dispositivo lgico biestvel ou multivibrador.
Um latch S-R (Set-Reset) com entrada ativa em nvel alto formado por
duas portas NOR tendo acoplamento cruzado. Um latch S-R com entrada
ativa em nvel baixo formado por duas portas NAND.

Prof. Joo Marcos Meirelles da Silva

151/198

Latch com Portas NOR


A Figura X apresenta a Tabela de Estados do Latch SR com portas
NOR.

Figura x: Tabela de Estados do Latch SR com portas NOR.

Prof. Joo Marcos Meirelles da Silva

152/198

Latch com Portas NAND


A Figura X apresenta a Tabela de Estados do Latch SR com portas
NOR.

Figura x: Tabela de Estados do latch com portas NAND.

Prof. Joo Marcos Meirelles da Silva

153/198

Exemplo:

Estado do latch quando energizado


Quando um flip-flop energizado, no possvel prever o estado
inicial da sada do flip-flop se as entradas SET e RESET estiverem inativas
(S=R=1 para um latch NAND, S=R=0 para um latch NOR). Isto depender de
vrios fatores.
Se um flip-flop tiver de iniciar em um estado particular para garantir
uma operao adequada de um circuito, ele ter de ser colocado no estado
desejado, ativando momentaneamente a entrada SET ou RESET no incio da
operao do circuito.
Isso obtido aplicando-se um pulso na entrada apropriada !

O Latch SR Controlado
Os sistemas digitais podem operar tanto em modo sncrono como
assncrono.
Nos sistemas assncronos, as sadas dos circuitos lgicos podem
mudar de estado a qualquer momento em que uma ou mais entradas mudarem
de estado.
Tanto o projeto quanto a anlise de defeitos so bem mais difceis em
um sistema assncrono.

Prof. Joo Marcos Meirelles da Silva

154/198

Em sistemas sncronos, os momentos exatos em que uma sada


qualquer pode mudar de estado, so determinados por um sinal normalmente
denominado clock (um sinal de habilitao para o flip-flop).

O sinal de clock geralmente um trem de pulsos retangulares ou uma


onda quadrada.

O clock distribudo para todas as partes do sistema, sendo que


todas as sadas dos flip-flops (ou a maioria) muda de estado apenas
durante o intervalo onde o clock encontra-se em nvel lgico 1.

Exemplo:

Mas ainda h um problema:

Prof. Joo Marcos Meirelles da Silva

155/198

Durante o intervalo de tempo em que o sinal de ENABLE (clock) est


em nvel lgico 1, mudanas no estado do flip-flop podem ocorrer
devido presena de rudo, o que indesejvel !

Uma soluo estreitar ao mximo o pulso de clock, reduzindo assim


o intervalo onde ele permanece em nvel lgico 1.

No limite, poderemos detectar a transio do nvel lgico do pulso de


clock e utiliz-lo a nosso favor.

Quando o clock faz uma transio de 0 para 1, denomina-se transio


de subida (ou borda de subida).

Quando o clock faz uma transio de 1 para 0, denomina-se transio


de descida (ou borda de descida).

O Detector de Borda (ou transio)


Como dito anteriormente, uma soluo para o problema a insero
de um detector de borda ou transio:

Prof. Joo Marcos Meirelles da Silva

156/198

O Latch Controlado com Detector de Borda


A Figura X apresenta um exemplo de funcionamento do latch
controlado com detector de borda.

Figura X: Resposta do latch controlado com detector de borda de subida.

Prof. Joo Marcos Meirelles da Silva

157/198

Figura X: Resposta do latch controlado com detector de borda de descida.

O Latch SR com Clock


O latch controlado com detector de borda passa agora a receber um
novo nome: FLIP-FLOP.

Prof. Joo Marcos Meirelles da Silva

158/198

Exerccios
Tocci: 5.1 a 5.3, 5.9, 5.13 a 5.15 e 5.20.

Prof. Joo Marcos Meirelles da Silva

159/198

Flip-Flops
O Flip-Flop JK disparado por borda
Vamos retornar ao problema do latch, que possua um estado chamado
de estado PROIBIDO.
O problema do estado proibido que o projetista deve preocupar-se
com este estado durante o projeto, de forma a garantir que as entradas
proibidas jamais ocorram.
Um possvel soluo alterar o projeto do flip-flop de forma a
eliminarmos o estado proibido, substituindo-o por algo mais til. Esta a
proposta do flip-flop JK.

Prof. Joo Marcos Meirelles da Silva

160/198

Exemplo de funcionamento:

O Flip-Flop do tipo T
O Flip-Flop do tipo T um flip-flop que mencionado na literatura do
circuitos digitais, mas que no encontrado comercialmente. O flip-flop
tipo T to somente um flip-flop do tipo JK com as entradas J e K
interligadas. Com isto, o flip-flop do tipo T s pode estar em repouso ou em
toggle.

Prof. Joo Marcos Meirelles da Silva

161/198

Flip-Flop do tipo D

Exemplo de funcionamento:

Prof. Joo Marcos Meirelles da Silva

162/198

Entradas Assncronas

Prof. Joo Marcos Meirelles da Silva

163/198

Aplicaes
Divisor de Freqncia

Armazenamento de Dados em Paralelo

Prof. Joo Marcos Meirelles da Silva

164/198

Prof. Joo Marcos Meirelles da Silva

165/198

Transferncia de Dados

Prof. Joo Marcos Meirelles da Silva

166/198

Sincronizao
A maioria dos sistemas digitais opera de forma essencialmente
sncrona, e a maioria dos sinais muda de estado em sincronismo com as
transies de clock.
Entretanto, em alguns outros casos, haver um sinal externo que no
estar sincronizado com o clock (devido sua natureza imprevisvel, por
exemplo). Em outras palavras, o sinal ser assncrono.
Exemplo: Pulsos parciais

A soluo para esse problema pode ser obtida atravs do uso de um


flip-flop do tipo D:

Prof. Joo Marcos Meirelles da Silva

167/198

Prof. Joo Marcos Meirelles da Silva

168/198

Dispositivos Schmitt-Trigger

No um Flip-Flop
Exibe caractersticas de memria (efeito de histerese)
til em determinadas situaes:
Transies lentas
Sinal lgico ruidoso
Todas as portas lgicas que possuem a caracterstica de schmitttrigger possuem um smbolo especial.

Figura x: Portas lgicas tipo Schmitt-Trigger


A Figura X apresenta as portas lgicas do tipo Schmitt-Trigger.

Prof. Joo Marcos Meirelles da Silva

169/198

A Figura X apresenta o processo de uma transio positiva e negativa


de nvel lgico em uma porta lgica comum. A sada responde ao rudo
existente quando a transio ocorre em torno do limiar nico.

Figura x: Transies de nvel lgico em uma porta comum.

Figura x: Transies de nvel lgico em uma porta Schmitt-Trigger.


A Figura x apresenta o processo de uma transio positiva e negativa
de nvel lgico em uma porta lgica do tipo Schmitt-Trigger. A sada no
responde ao rudo existente porque agora h dois limiares diferentes: Um
alto para a transio de subida (+ disparo) e um baixo para a transio de
descida (- disparo).

Prof. Joo Marcos Meirelles da Silva

170/198

Contadores Assncronos

Um contador assncrono aquele no qual os flip-flops (FF) que


constituem o contador no mudam de estado exatamente ao mesmo tempo
porque eles no tm um pulso de clock em comum.

Contador Binrio Assncrono

Figura x: Contador assncrono de 2 bits.


O FF0 est sempre na condio de toggle e, consequentemente, muda
de estado a cada pulso de clock. O FF1 tmabm est sempre na condio de
toggle, mas seu clock comandado pela sada Q0 complementar de FF0.
Com 2 FFs, a contagem vai de 0 a 22 1.

Prof. Joo Marcos Meirelles da Silva

171/198

Figura x: Contador assncrono de 3 bits.


Adicionando um FF a mais, a contagem passar a ser de 0 a 2 3 1. A
anlise do circuito continua sendo feita da mesma forma que a anterior.
Os contadores assncronos so normalmente chamados de contadores
ondulantes ou ripple counters pela seguinte razo: O efeito do pulso de
clock na entrada sentido primeiro pelo FF0. Esse efeito no chega ao
FF1 imediatamente devido ao atraso de propagao atravs de FF0 (da
ordem de 5ns a 10ns). Ento existe um atraso de propagao atravs de FF1
at que FF2 possa ser disparado. Portanto, o efeito do pulso de clock na
entrada ondula atravs do contador por todos os flip-flops.
Este atraso, que cumulativo, em um contador assncrono a
principal desvantagem em muitas aplicaes porque limita a freqncia do
clock e causa problemas de sincronismo.

Prof. Joo Marcos Meirelles da Silva

172/198

Qual a freqncia mxima de clock para o contador mostrado na


Figura x, sabendo-se que cada flip-flop possui um atraso de propagao de
10ns?

Figura x: Contador assncrono de 4 bits.


Atraso total = 4 x 10 = 40 ns
fmax do clock = 1/40ns = 25 MHz

Contador de dcada assncrono


O mdulo de um contador o nmero de estados nicos pelos quais o
contador estabelece uma seqncia. O nmero mximo de estados possveis
(mdulo mximo) de um contador 2n, onde n o nmero de flip-flops do
contador. Os contadores podem ser projetados para ter um nmero de
estados em sua seqncia que menor que o valor mximo de 2n. Esse tipo
de seqncia denominada de seqncia truncada.

glitch de decodificao

Figura x: Contador de dcada assncrono (truncado).

Prof. Joo Marcos Meirelles da Silva

173/198

Na Figura x temos o contador de dcada. Este contador conta de 0 a


9 (apesar de haver 4 FFs). A porta AND decodifica o valor 10 (em binrio) e
reinicia todos os FFs obrigando-se a irem para zero atravs de suas
entradas assncronas RESET.
Logo aps o contador chegar a contagem 10102 (1010), a porta lgica
AND vai a nvel lgico ZERO e reinicia todos os FFs. Isto gera os chamados
glitchs de decodificao. No caso, em Q1 e CLEAR.
Desenhe o esquema de um contador binrio assncrono, utilizando FFs
JK (mostrado abaixo), que conte de 0 a 9 indefinidamente:

Modifique o circuito anterior para que ele pare de contar quando chegar
ao nmero 9. Incluir uma entrada assncrona que permita reiniciar a
contagem a qualquer momento.

Prof. Joo Marcos Meirelles da Silva

174/198

Resposta do exerccio anterior:


5V
U4A

TP0
U1A

V1
CP1 Q1
CP2 Q2

J
CP
K

U1B

Q
_
Q

J
CP
K

U2A

Q
_
Q

J
CP
K

U3B

Q
_
Q

J
CP
K

Q
_
Q

5V

TP1

V+

TP2

TP4

TP3

DISP1

TP5
abcdefg.

U5
74LS47

A3
A2
A1
A0

Contador binrio assncrono de 0 a 9 cclico.

g
f
e
d
c
b
a

test
RBI RBO

Executar o arquivo Contador_0a9_ciclico.ckt no CircuitMaker !


5V
U4A

TP0
V1

U1A

U7A

CP1 Q1
CP2 Q2

J
CP
K

U1B

Q
_
Q

J
CP
K

U2A

Q
_
Q

J
CP
K

Q
_
Q

U3B
J
CP
K

Q
_
Q

RESET

5V

TP1

V+

TP2

TP3

TP4

DISP1

TP5
abcdefg.

U5
74LS47

A3
A2
A1
A0

Contador binrio assncrono de 0 a 9 com reset.

g
f
e
d
c
b
a

test
RBI RBO

Executar o arquivo Contador_0a9b_ciclico.ckt no CircuitMaker !

Prof. Joo Marcos Meirelles da Silva

175/198

5V
U7A

TP1
U4A
U1A

V1
CP1 Q1
CP2 Q2

RESET

J
CP
K

TP0

U1B

Q
_
Q

J
CP
K

U2A

Q
_
Q

J
CP
K

Q
_
Q

U3B
J
CP
K

Q
_
Q

5V

V+

TP2

TP3

TP4

DISP1

TP5
abcdefg.

U5
74LS47

A3
A2
A1
A0

Contador binrio assncrono de 0 a 9 com reset.

g
f
e
d
c
b
a

test
RBI RBO

(Outra soluo possvel !)

Executar o arquivo Contador_0a9c_ciclico.ckt no CircuitMaker !

Exerccios
Tocci: 7.2, 7.3, 7.5 a 7.11.

Prof. Joo Marcos Meirelles da Silva

176/198

Contadores Sncronos
O termo sncrono se refere aos eventos que tem
uma relao de tempo fixa entre si e, geralmente,
ocorrem simultaneamente.
Um contador sncrono aquele no qual os flip-flops (FFs) que
constituem o contador mudam de estado exatamente ao mesmo tempo,
porque eles tem uma entrada de clock em comum.

Contador Binrio Sncrono de 2 bits


O contador a seguir (com dois flip-flops) sncrono e conta de 0 a 3.

Q0

J0

K0

Q1

J1

K1

CLK
Pulso de Clock

Q1

Q0

estado inicial

0 1

0 0

Como no caso do contador assncrono, vamos aumentar o circuito em


mais um flip-flop e verificar o que acontece:

Prof. Joo Marcos Meirelles da Silva

177/198

1
Q0

Q1

Q2

J0

J1

J2

K0

K1

K2

clock

Desta vez, a contagem sofre um erro aps o terceiro pulso de clock.


Como resolver?
A insero de um porta lgica AND entre Q1 e Q0 com sua sada
conectada em J2 resolve o problema.
1

Q1.Q0

Q0

J0

J1

K0

J2

Q1

K1

Q2

K2

clock

Mais frente estudaremos projetos de circuitos sncronos e veremos


que a porta AND no assume aquela posio por tentativa e erro, e sim por
consequncia do projeto mesmo.

Prof. Joo Marcos Meirelles da Silva

178/198

Projeto de Contadores Sncronos


Em geral, os circuitos sequenciais podem ser classificados em dois
tipos quanto sua sada

Mquina de Moore
So os circuitos sequenciais nos quais a(s) sada(s) depende(m) apenas
do estado atual do circuito (valor na sada Q dos flip-flops).

Mquinas de Mealy
So os circuitos sequenciais nos quais a(s) sada(s) depende(m) do
estado atual do circuito e da(s) entrada(s).

Modelo Geral de um Circuito Seqencial


Entradas
Lgica
Combinacional

Circuito de
Sada
(Moore: opcional)

Sadas

X
Memria
Variveis de Estado
(estado atual)

Entradas
Linhas de excitao

Ausentes no modelo
de Moore !

(prximo estado)

Prof. Joo Marcos Meirelles da Silva

179/198

Tcnicas de Projeto (Usando flip-flops tipo JK)

Passo 1: Diagrama de Estados

Um diagrama de
estados mostra a
progresso de estados
atravs dos quais o
contador avana
quando recebe um pulso
de clock. Este exemplo,
em particular, no tem
outras entradas alm
do clock nem outras
sadas alm das sada
obtidas de cada FF do
contador. (contador
Gray de 3 bits)

001

000

100

011

101

010
110

111

Passo 2: Tabela do Prximo Estado


ESTADO ATUAL

PRXIMO ESTADO

Q2

Q1

Q0

Q2

Q1

Q0

O prximo estado o
estado para o qual o
contador passa a
partir do estado atual
com a aplicao de um
pulso de clock.

Tabela de Prximo Estado para o contador Gray

Prof. Joo Marcos Meirelles da Silva

180/198

Passo 3: Tabela de Transio de Flip-Flop


Transies de Sada

Q0

Entradas do Flip-Flop

CLK

QN

QN+1

Q0

Tabela Verdade de um FF JK

QN : Estado Atual
QN+1 : Prximo Estado
X : Estado dont care
Tabela de transio para um FF JK

Q2Q1

Passo 4: Mapas de Karnaugh


Estado Atual

Q0

00

Prximo Estado

Q 2Q1

Q0

00

01

01

11

11

Q2

Q1

Q0

Q2

Q1

Q0

Transies
de Sada

QN

QN+1

10

10

1
Mapa K0

Mapa J0

Prof. Joo Marcos Meirelles da Silva

Entradas do
FF

181/198

Completando os mapas de Karnaugh e simplificando-os:


Q0

00

01

11

10

Q2Q1

Q0

00

01

11

10

Q2Q1

Q1Q0

Mapa J2
Q0

00

01

11

Q2Q1

10

00

01

11

10

Q2Q0

Mapa J1
Q0

00

01

11

Q2Q1

Q1Q0

Mapa K2

Q0

Q2Q 1

10

Q2 Q1

Q2Q1

Mapa J0

Q0

00

01

11

10

Q2Q 1

Q 2Q 0

Mapa K1

Q2 Q1

Q2Q1

Mapa K0

Passo 5: Expresses Lgicas para as Entradas dos Flip-Flops


J0 = Q2.Q1 + Q2.Q1 = Q2 + Q1
K0 = Q2.Q1 + Q2.Q1 = Q2 + Q1
J1 = Q2.Q0
K1 = Q2.Q0
J2 = Q1.Q0
K2 = Q1.Q0
No passo 5, temos as equaes de excitao dos flip-flops.

Prof. Joo Marcos Meirelles da Silva

182/198

O passo 6 o passo de implementao do circuito projetado.

Passo 6: Implementao do Contador

Contador Gray de 3 bits

Exerccios
Tocci: 7.43 a 7.46.

Prof. Joo Marcos Meirelles da Silva

183/198

Exemplo de Projeto
Projete um contador para a sequncia dada abaixo:

Como necessitamos de
3 FFs para incrementar
os estados de 0 a 4, o
nmero total de estados
ser de 23 = 8 estados.

O contador cclico, ou seja, aps ele chegar ao ltimo estado ele


retorna ao estado inicial.

Mapas de Karnaugh
Estado Atual

Prximo Estado

J2

K2

J1

K1

J0

K0

Q2

Q1

Q0

Q2

Q1

Q0

Q0

Q0

Q0

Q0

Q0

Q0

Q0

Q0

Q0

Q0

Q0

Q0

Q2Q1

Q2Q1

Q2Q1
X

Mapas de Karnaugh

J0 = Q2

Transies
de Sada

K0 = Q2

Entradas do
FF

QN

QN+1

J1 = Q0.Q2

K1 = Q0.Q2

J2 = Q0.Q1.Q2

K2 = Q0.Q1

Prof. Joo Marcos Meirelles da Silva

184/198

Q2Q1

Implementando o circuito, temos:


+V

U4A
J0

U2A
J
CP
K

K0

Q
_
Q

Q0

U3A

J1

K1

J2

U1B
J
CP
K

Q
_
Q

Q1

U3B

K2

U1A
J
CP
K

Q
_
Q

Q2

V1

Gnd

CP1 Q1
CP2 Q2

DISP 1
abcdefg.

U5
4511

D3
D2
D1
D0
EL
BI
LT

Contador 0 a 4 (Arquivo contador02.ckt)

a
b
c
d
e
f
g

+5v

O que poder acontecer se o contador iniciar sua contagem


ou, por algum motivo, passar para um dos estados que no
foram tratados no projeto?
0

Prof. Joo Marcos Meirelles da Silva

185/198

Damos como condio inicial do circuito um dos estados que no


fizeram parte do projeto, como por exemplo o estado de nmero 5.

Para responder a esta pergunta, vamos analisar como o


circuito se comporta quando em um destes estados.
+V

Comeando com 5 = 101

U4A

J
CP
K

Q
_
Q

U2A
1 Q0

U3A
J
CP
K

Q
_
Q

U1B
0 Q1

J
CP
K

U3B

Q
_
Q

U1A
1

Q2

V1
CP1 Q1
CP2 Q2

Para esse estado, verificamos quais so as entradas presentes em


cada um dos flip-flops. Isto nos permite verificar se o flip-flop est em
repouso, set, reset ou toggle, o que, por sua vez, nos permite prever para
que estado cada um dos flipflops ir na chegada do prximo pulso de clock.

Para este estado inicial, as entradas dos flip-flops sero:


+V

U4A

0
0

J
CP
K

Q
_
Q

U2A
1 Q0

U3A

0
0

J
CP
K

Q
_
Q

U1B
0 Q1

U3B

J
CP
K

Q
_
Q

U1A
1

Q2

V1
CP1 Q1
CP2 Q2

Logo, todos os FFs esto no estado de repouso e, portanto, no haver mudanas.

Prof. Joo Marcos Meirelles da Silva

186/198

Como todos os flip-flops esto em repouso, podemos concluir que no


haver nenhuma mudana de estados no futuro. Ou seja, o circuito
permanecer no estado 5 para sempre. Em palavras menos tcnicas,
podemos dizer que o contador travou. Apenas um reset ou o corte de
energia do circuito poder tir-lo dessa situao.
Fazendo a mesma anlise para os demais estados que ficaram de fora
do projeto, temos que a mesma situao se repete.

0
5

Se o contador iniciar ou passar para um dos estados: 5, 6 e 7,


ele ir travar o seu funcionamento.
Veja o arquivo contador03.ckt Realize um SET no FF0 quando
o contador estiver em 4 e veja o que acontece.
Na prtica, nunca bom deixar os estados restantes (aqueles
que no sero utilizados) sem uma definio de prximo
estado.

Prof. Joo Marcos Meirelles da Silva

187/198

Refaa o projeto do contador anterior, desta vez amarrando


o estados no utilizados.
6

Prof. Joo Marcos Meirelles da Silva

188/198

Tcnicas de Projeto (Usando flip-flops tipo D)

Projeto de contadores com FFs do tipo D


Projete um contador sncrono para a sequncia mostrada
pelo diagrama de estados abaixo. Utilize Flip-Flops do
tipo D.

Tabela de Sequncia de Estados


ESTADO ATUAL

PRXIMO ESTADO

Q2

Q1

Q0

Q2

Q1

Q0

Prof. Joo Marcos Meirelles da Silva

Tabela de Transio
do FF D
Transies
de Sada

Entrada
do FF

QN

QN+1

189/198

ESTADO
ATUAL

PRXIMO
ESTADO

D2

Q2

Q1

Q0

Q2

Q1

Q0

Transies
de Sada

Entrada
do FF

QN

QN+1

D1

D0

Q2Q1 Q0

00

01

11

10

D2 = Q2.Q1 + Q2.Q0 + Q2.Q1.Q0


D1 = Q1.Q0 + Q1.Q0 = Q1 + Q0
D0 = Q0

Mapas de Karnaugh

Circuito
+V

U5A

U5B
U1A
D

CP
R

Q
_
Q

U3A
D

CP

Q
_
Q

U4A
U4B

U1B
U6A

U2A
D

CP

Q
_
Q

+V
Gnd

V1

DISP1

CP1 Q1
CP2 Q2

D0

D1

D2

Veja a simulao do circuito no CircuitMaker atravs do arquivo


ContadorFFD.ckt

Prof. Joo Marcos Meirelles da Silva

190/198

U7
4511

D3
D2
D1
D0
EL
BI
LT

abcdefg.
a
b
c
d
e
f
g

Mquinas de Estado
At agora, vimos projetos de contadores (um tipo particular de
mquina de estados) cujas sadas so derivadas diretamente das sadas dos
flip-flops. Melhor dizendo, as sadas so os prprios estados do sistema
Vamos tratar agora de mquinas de estado cuja(s) sada(s) /so
realizada(s) indiretamente (por uma lgica combinacional) dos estados do
sistema.

S0

S1

S2

S3

S7

S6

S5

S4

Figura x: Diagrama de estados cuja(s) sada(s) geralmente /so o prprio estado do


sistema.
Note que, neste exemplo, os valores binrios do estado no so
importantes. Ento deixamos a definio dos valores de S0 a S7 em aberto
por enquanto.
Como j foi visto anteriormente, neste diagrama de estados no h
entradas e as sadas (se houverem) so os prprios estados do sistema
(sadas dos flip-flops).
00
S0

00
S1

00
S2

S3

00

11

S6

S7
00

S5
10

S4
01

Figura x: Diagrama de estados com entradas (E1E0).

Prof. Joo Marcos Meirelles da Silva

191/198

Neste exemplo, temos uma notao que mostra os valores de entrada


necessrios para o sistema passar de um estado para o outro. Estes valores
de entradas necessrios so geralmente indicados nas transies entre
estados.
No exemplo, temos duas entradas em cada transio (E1E0). Para
sarmos de S3 at S4, temos que (E1E0 = 00). Para sarmos de S4 para S5,
temos que (E1E0 = 01).

S0
00

01

S1

S2

Figura x: Diagrama de estados com mltiplos percursos.


Veja este exemplo. Se o estado atual for S0, ento teremos duas
possibilidades de Estado Futuro(Prximo Estado). Tudo depender dos
valores das entradas (E1E0).
Se (E1E0 = 01), ento o Estado Futuro ser S2. Se (E1E0 = 00), ento o
Estado Futuro ser S1.
E as demais possibilidades de Entradas (E1E0 = ?) No iro provocar
nenhuma transio e o prprio Estado Atual ser o Estado Futuro.
00/0
S0

00/0
S1

00/1
S2

S3

00/0

11/1

S6

S7
00/0

S5
10/1

S4
01/1

Figura x: Notao para mquinas de Mealy.

Prof. Joo Marcos Meirelles da Silva

192/198

Olhe atentamente este exemplo agora. As transies incluem tanto os


valores de entrada necessrios para que ela ocorra, como um valor de
sada do sistema. Esta notao utilizada para as chamadas Mquinas de
Mealy.

Notao para Mquinas de Mealy:


Entrada(s) / Sada(s)
Vejamos agora a notao utilizada para as mquinas de Moore:
00
S0/1

00
S1/0

00
S2/0

S3/1

00

11

S6/1

S7/0
00

S5/1
10

S4/0
01

Figura x: Notao para mquinas de Moore.

Temos agora a seguinte notao nos nodes (bolinhas)


Compare as
duas notaes
atentamente !

Notao para Mquinas de Moore:


Estado Atual / Sada(s)
E a seguinte notao nas Transies (setinhas)
Notao:
Entrada(s)

Exemplo de projeto: Detector de sequncias


Considere um circuito digital que aceita uma sequncia arbitrria de
0s e 1s como entrada. A cada passo, o circuito gera uma sada da seguinte
forma:

Se 3 ou mais 1s consecutivos forem detectados na entrada, ento o


circuito gera uma sada S = 1;
Em qualquer outro caso, o circuito gera uma sada S = 0.

Prof. Joo Marcos Meirelles da Silva

193/198

Projete uma mquina de estado (Mquina de Moore) para este


circuito.

0
0
1
S0/0

1
S1/0

1
S2/0

S3/1

Diagrama de Sequncia de Estados


Figura x: Diagrama de estados para o detector de seqncias.
Vamos comear definindo valores para S0, S1, S2 e S3. Como temos 4
estados, necessitaremos de 2 flip-flops. Vamos utilizar FFs do tipo D para o
projeto.
ESTADO Q1Q0
S0
00
S1
01
S2
10
S3
11
Agora, vamos criar Tabela de Estado Atual/Futuro:
ESTADO ATUAL
Q1Q0E

ESTADO FUTURO
Q1Q0

SADA
S

000

00

001

01

010

00

011

10

100

00

101

11

110

00

111

11

Prof. Joo Marcos Meirelles da Silva

194/198

ESTADO ATUAL
Q1Q0E

ESTADO FUTURO
Q1Q0

SADA
S

000

00

001

01

010

00

011

10

100

00

101

11

110

00

111

11

D0 = E.Q1 + E.Q0 = E.(Q0 + Q1)


D1 = E.Q0 + E.Q1 = E.(Q0 + Q1)
S = Q1.Q0

D0

D1

Q1Q0 E

00

01

11

10

A implementao do circuito ento, fica:


+V

U4B

U4A
U8C

D0

U2A
D

CP

Q
_
Q

U8B

D1

U1B
D

CP

Q
_
Q

+V

Gnd

DS1
Data 8
Seq 7

CP1
CP2

6
5
4
3
2
1

DISP1
abcdefg.

TP1

U7
4511

U8D

TP2
V1
CP1 Q1
CP2 Q2

Prof. Joo Marcos Meirelles da Silva

195/198

D3
D2
D1
D0
EL
BI
LT

a
b
c
d
e
f
g

Circuitos Monoestveis, biestveis e astveis


Existem alguns circuitos que podem ser classificados como um dentre
as 3 classes principais de nosso interesse em eletrnica digital, segundo os
pontos de equilbrio:
1. Circuitos Monoestveis
2. Circuitos Biestveis
3. Circuitos Astveis

Circuitos Monoestveis
So circuitos eletrnicos que possuem um nico ponto de equilbrio ou
estado de equilbrio. Qualquer situao ou condio inicial sobre o circuito,
ele tende a voltar ao seu estado de equilbrio normal.

Circuitos Biestveis
So circuitos que apresentam dois pontos de equilbrio ou estados de
equilbrio. Um exemplo de circuito biestvel o FLIP-FLOP. Pode ficar
indefinidamente no estado 0 (baixo) ou indefinidamente no estado 1 (alto).

Circuitos Astveis
So circuitos que no apresentam nenhum ponto de equilbrio e que,
em geral, mudam constantemente de estado em busca de um ponto de
equilbrio que no existe. Tais circuitos exibem caractersticas oscilatrias
que so a base dos circuitos osciladores.
Circuitos osciladores que podem gerar um trem de pulsos
retangulares e/ou quadrados so normalmente empregados em circuitos
eletrnicos digitais como geradores de clock.
H inmeros circuitos que podem ser utilizados para gerar um sinal de
clock. Dentre eles, podemos destacar:

Prof. Joo Marcos Meirelles da Silva

196/198

Oscilador com Schmitt-Trigger

Oscilador com 555

Prof. Joo Marcos Meirelles da Silva

197/198

Oscilador a Cristal

Prof. Joo Marcos Meirelles da Silva

198/198

Você também pode gostar