You are on page 1of 198

Prof.

Joo Marcos Meirelles da Silva 1/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 2/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 3/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 4/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 5/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 6/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 7/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)

3
) 2 1 ( L P P
M
+ +
=


OBS: No haver prova de reposio. A prova de Verificao Suplementar
far o papel de prova de reposio.


Prof. Joo Marcos Meirelles da Silva 8/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
12
1

=
=
i
i
L
L

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


Prof. Joo Marcos Meirelles da Silva 9/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 10/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 11/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 12/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 13/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 14/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) Chave de dez posies
(b) A corrente que flui de uma tomada eltrica
(c) A temperatura de um ambiente
(d) Gros de areia em uma praia
(e) 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 15/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 16/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 17/198
Classificao

Os sistemas de numerao podem ser classificados da seguinte
forma:

- 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 = 1x10
3
+ 9x10
2
+ 8x10
1
+ 9x10
0


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= 1x10
3
+ 9x10
2
+ 8x10
1
+ 9x10
0
+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 18/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.

0 1 2 3 4 5 6 7 8 9 0

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, avana-
se, ento, o dgito adjacente esquerda.

Prof. Joo Marcos Meirelles da Silva 19/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 20/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




Converso de decimal para binrio

Existem basicamente dois mtodos:

1. Inspeo




Converta o nmero abaixo para decimal

(10110101)
2

Prof. Joo Marcos Meirelles da Silva 21/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 22/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:

1x2
2
+ 0x2
1
+ 1x2
0
+ 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,1101
2
= ?10



Prof. Joo Marcos Meirelles da Silva 23/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,375
10
= ?
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,375
10
= 011
2


Para finalizarmos a converso, basta juntarmos parte inteira da parte
fracionria:

8,375
10
= 1000,011
2


Prof. Joo Marcos Meirelles da Silva 24/198


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.

Converta o nmero decimal abaixo para binrio:

4,8
10
= ?2










Prof. Joo Marcos Meirelles da Silva 25/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.

144
8
= ?
10


1 x 8
2
+ 4x8
1
+ 4x8
0
= 64 + 32 + 4 = 100
10

Prof. Joo Marcos Meirelles da Silva 26/198





















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

Converta os nmeros abaixo:

778 = ?10




1008 = ?10




4768 = ?10




Prof. Joo Marcos Meirelles da Silva 27/198





















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

Converta os nmeros abaixo:

7410 = ?8




51210 = ?8




71910 = ?8




Prof. Joo Marcos Meirelles da Silva 28/198














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:

348 = ?2


5368 = ?2


446758 = ?2


Converta os nmeros abaixo:

110101012 = ?8


10001100112 = ?8


Prof. Joo Marcos Meirelles da Silva 29/198
Sistema Hexadecimal

Sistemas de Pesos



Contagem em hexadecimal
















Prof. Joo Marcos Meirelles da Silva 30/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 31/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 32/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 33/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 34/198
Cdigos Alfanumricos

Os cdigos alfanumricos so utilizados em interfaces homem-
mquina, 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 35/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 36/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 37/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 38/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:

1 2 + + > p d
p


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 39/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 40/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 41/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.

2
p
= 2
3
= 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 42/198


Determine o cdigo de Hamming para os bits de dados 10110, usando a
paridade par.
Prof. Joo Marcos Meirelles da Silva 43/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 44/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 45/198
Exerccios

Tocci 10 edio

1.3 a 1.10
2.1 a 2.41

Prof. Joo Marcos Meirelles da Silva 46/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 47/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 48/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 49/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 50/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 = -2
3
= -8
10000 = -2
4
= -16
100000 = -2
5
= -32
Prof. Joo Marcos Meirelles da Silva 51/198

Podemos dizer que a faixa completa de valores que pode ser
representada no sistema de complemento de 2 com N bits :

-2
N - 1
a +(2
N - 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 52/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 53/198
Exerccios

Tocci 10 edio
6.1 a 6.7
Prof. Joo Marcos Meirelles da Silva 54/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 55/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 56/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 57/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.

quociente
Divisor
Dividendo
=


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 58/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 59/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 60/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 2
12


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)(2
145-127
)
= (-1)(1,10001110001)(2
18
)
= -1100011100010000000 = -407,68810
Prof. Joo Marcos Meirelles da Silva 61/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 62/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 63/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
1 0 =
0 1=

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 64/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
( )
0 0 = 0
0 1 = 1
1 0 = 1
1 1 = 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 65/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 66/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 67/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 68/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 69/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 70/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 71/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 B f(A,B)
0 0 0
0 1 0
1 0 1
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 B f(A,B)
0 0
0 1
1 0
1 1

Prof. Joo Marcos Meirelles da Silva 72/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 73/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 74/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 75/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 76/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 77/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-de-
produtos:

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











Prof. Joo Marcos Meirelles da Silva 78/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-de-
produtos, 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 79/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-de-
produtos, 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 80/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 (2
3
) 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 81/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 82/198
Converso de Expresses em Tabela-Verdade

Tambm podemos utilizar a Tabela-Verdade para fazermos
converses entre formas padro.

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 83/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 84/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 Quine-
McClusky

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 85/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 soma-
de-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 86/198
Exemplo de insero de uma expresso de soma-de-produtos no mapa:








































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



Prof. Joo Marcos Meirelles da Silva 87/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-de-
produtos:

A + A.B + A.B.C

Prof. Joo Marcos Meirelles da Silva 88/198




















Simplificao via Mapas de Karnaugh de Expresses de Soma-
de-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;
Insira no mapa de Karnaugh a seguinte expresso de soma-de-
produtos:

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

Prof. Joo Marcos Meirelles da Silva 89/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 90/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 soma-
de-produtos mnima.
























Encontre as funes booleanas mnimas a partir dos mapas de
Karnaugh abaixo:


Prof. Joo Marcos Meirelles da Silva 91/198
















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 E = 1
Encontre as funes booleanas mnimas a partir dos mapas de
Karnaugh abaixo:


Prof. Joo Marcos Meirelles da Silva 92/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 93/198
















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)











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)

Prof. Joo Marcos Meirelles da Silva 94/198













Os agrupamentos de 1 resultam numa expresso de Soma-De-
Produtos que igual ao dual da expresso obtida pelo agrupamento de 0.
















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-de-
produtos 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 soma-
de-produtos.

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)

Prof. Joo Marcos Meirelles da Silva 95/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 96/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 97/198














As duas funes so duais entre si, pois apresentam a mesma Tabela-
Verdade:
























Prof. Joo Marcos Meirelles da Silva 98/198
Mtodo de Quine-McCluskey

Como podemos observar, a complexidade dos mapas de Veicht-
Karnaugh 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 99/198

















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 2
N
. O grupo formar ento um
implicante reduzido
1
;
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;


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








Prof. Joo Marcos Meirelles da Silva 100/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(2
N
)

onde I o menor nmero de mintermo do par formado, e 2
N
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 101/198

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

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(2
N
,2
M
)

onde I o mintermo de menor nmero, e 2
N
e 2
M
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 Coluna 2 Coluna 3
1
4 \
4(8) 10(1,4)
10(1) \
10(4) \
12(2)
10 \
12 \
11 \
14 \
11(4) \
14(1) \

15 \

Prof. Joo Marcos Meirelles da Silva 102/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 Coluna 2 Coluna 3
1
4 \
4(8) 10(1,4)
10(1) \
10(4) \
12(2)
10 \
12 \
11 \
14 \
11(4) \
14(1) \

15 \

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 103/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 104/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
d X X X

Logo, a forma reduzida da funo original dada por
2
:

F = a + b + d = A.B.C.D + B.C.D + A.C

2
Para maiores detalhes, ver Fundamentals of Digital Systems Design de V. Thomas Rhyne, Prentice-
Hall, 1973.
Prof. Joo Marcos Meirelles da Silva 105/198
Implementando Circuitos Lgicos

H trs formas de implementao de circuitos lgicos atualmente:

1. Utilizando portas lgicas bsicas com tecnologia TTL
3
ou CMOS
4
;
2. Utilizando dispositivos de lgica programvel PLD
5
;
3. Utilizando tecnologia ASIC
6


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.

3
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 Metal-
Oxide Semiconductor. Tambm ser estudada mais adiante.
5
Programmable Logic Device.
6
Application-Specific Integrated Circuit.
Prof. Joo Marcos Meirelles da Silva 106/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 107/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 circuitos
7
. 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 hardware
8

3. Diagramas de Tempo

7
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 108/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:










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 concorrentemente
9
.

9
Essa uma importante diferena entre uma linguagem de programao comum e uma linguagem de
descrio de hardware.
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;

Prof. Joo Marcos Meirelles da Silva 109/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:














Implementao em ASIC

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


Cartela contendo chips implementados via ASIC.
-- 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;

Prof. Joo Marcos Meirelles da Silva 110/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 111/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 112/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 113/198
Uma vez obtida a expresso mnima, podemos pensar na
implementao atravs das portas lgicas:







































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 114/198
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 115/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 116/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 117/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 118/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 119/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 120/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 121/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 122/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 123/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 124/198
Comparadores

A Porta EX-NOR como comparador bsico













Comparador de Magnitude

















Prof. Joo Marcos Meirelles da Silva 125/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 126/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 homem-
mquina (IHM), como por exemplo, teclados de telefones, calculadoras,
computadores, etc...

Prof. Joo Marcos Meirelles da Silva 127/198





































Prof. Joo Marcos Meirelles da Silva 128/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 129/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 130/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 131/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 132/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 133/198
Equivalncia de Portas



































Prof. Joo Marcos Meirelles da Silva 134/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 135/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 136/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 137/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 Metal-
Oxide Semiconductor), porm estas derivam se uma srie de famlias
lgicas que hoje esto completamente obsoletas.

1. DCTL (Direct-Coupled Transistor Logic)
2. RTL (Resistor-Transistor Logic)
3. RCTL (Resistor-Capacitor Logic)
4. DTL (Diode-Transistor Logic)
5. HTL (High-Threshold Logic)
Prof. Joo Marcos Meirelles da Silva 138/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 139/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 140/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 141/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 142/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 143/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 144/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 145/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 146/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 147/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 148/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 149/198

OBS: Famlia 4000 e 14000 3 a 15V, famlia 74HC/HCT, 74AC/ACT e 74AHC/AHCT 2 a 6V.

CMOS TTL
Parmetro 4000B 74HC 74HCT 74AC 74ACT 74AHC 74AHCT 74 74LS 74AS 74ALS
VIH(min) 3,5 3,5 2,0 3,5 2,0 3,85 2,0 2,0 2,0 2,0 2,0
VIL(mx) 1,5 1,0 0,8 1,5 0,8 1,65 0,8 0,8 0,8 0,8 0,8
VOH(min) 4,95 4,9 4,9 4,9 4,9 4,4 3,15 2,4 2,7 2,7 2,5
VOL(mx) 0,05 0,1 0,1 0,1 0,1 0,44 0,1 0,4 0,5 0,4 0,5
VNH 1,45 1,4 2,9 1,4 2,9 0,55 1,15 0,4 0,7 0,7 0,7
VNL 1,45 0,9 0,7 1,4 0,7 1,21 0,7 0,4 0,3 0,3 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 150/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 151/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 152/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 153/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 154/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 155/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 156/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 157/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 158/198
A















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 159/198
Exerccios
Tocci: 5.1 a 5.3, 5.9, 5.13 a 5.15 e 5.20.
Prof. Joo Marcos Meirelles da Silva 160/198
Flip-Flops

O Flip-Flop J K 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 161/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 162/198
Flip-Flop do tipo D
















Exemplo de funcionamento:

















Prof. Joo Marcos Meirelles da Silva 163/198
Entradas Assncronas



































Prof. Joo Marcos Meirelles da Silva 164/198
Aplicaes

Divisor de Freqncia


















Armazenamento de Dados em Paralelo
Prof. Joo Marcos Meirelles da Silva 165/198


















Prof. Joo Marcos Meirelles da Silva 166/198
Transferncia de Dados





































Prof. Joo Marcos Meirelles da Silva 167/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 168/198







































Prof. Joo Marcos Meirelles da Silva 169/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 schmitt-
trigger 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 170/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 171/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 2
2
1.


Prof. Joo Marcos Meirelles da Silva 172/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 173/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 2
n
, 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 2
n
. Esse tipo
de seqncia denominada de seqncia truncada.













Figura x: Contador de dcada assncrono (truncado).
glitch de decodificao
Prof. Joo Marcos Meirelles da Silva 174/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 175/198

Resposta do exerccio anterior:















Executar o arquivo Contador_0a9_ciclico.ckt no CircuitMaker !
















Executar o arquivo Contador_0a9b_ciclico.ckt no CircuitMaker !


TP0
TP1
TP2 TP3 TP4 TP5
5V
abcdefg.
V+
DISP1
74LS47
A3
A2
A1
A0
test
RBI
g
f
e
d
c
b
a
RBO
U5
U4A
5V
CP1
CP2
Q1
Q2
V1
S
J
CP
K
R
Q
_
Q
U3B
S
J
CP
K
R
Q
_
Q
U2A
S
J
CP
K
R
Q
_
Q
U1B
S
J
CP
K
R
Q
_
Q
U1A
Contador binrio assncrono de 0 a 9 cclico.
RESET
U7A
TP0
TP1
TP2 TP3 TP4 TP5
5V
abcdefg.
V+
DISP1
74LS47
A3
A2
A1
A0
test
RBI
g
f
e
d
c
b
a
RBO
U5
U4A
5V
CP1
CP2
Q1
Q2
V1
S
J
CP
K
R
Q
_
Q
U3B
S
J
CP
K
R
Q
_
Q
U2A
S
J
CP
K
R
Q
_
Q
U1B
S
J
CP
K
R
Q
_
Q
U1A
Contador binrio assncrono de 0 a 9 com reset.
Prof. Joo Marcos Meirelles da Silva 176/198

















Executar o arquivo Contador_0a9c_ciclico.ckt no CircuitMaker !

Exerccios

Tocci: 7.2, 7.3, 7.5 a 7.11.



Contador binrio assncrono de 0 a 9 com reset.
(Outra soluo possvel !)
RESET
U4A
U7A
TP0
TP1
TP2 TP3 TP4 TP5
5V
abcdefg.
V+
DISP1
74LS47
A3
A2
A1
A0
test
RBI
g
f
e
d
c
b
a
RBO
U5
5V
CP1
CP2
Q1
Q2
V1
S
J
CP
K
R
Q
_
Q
U3B
S
J
CP
K
R
Q
_
Q
U2A
S
J
CP
K
R
Q
_
Q
U1B
S
J
CP
K
R
Q
_
Q
U1A
Prof. Joo Marcos Meirelles da Silva 177/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.


Pulso de Clock Q
1
Q
0
estado inicial 0 0
1 0 1
2 1 0
3 1 1
4 0 0
CLK
J
1
K
1
J
0
K
0
Q
1
1
0 0
Q
0
0
0
1
0
0
1
1
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 178/198
clock
J
1
K
1
J
0
K
0
Q
0
Q
1
1
J
2
K
2
Q
2
0
0
0
1
0
0
0
1
0
1
1
1


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.

clock
J
1
K
1
J
0
K
0
1
J
2
K
2
Q
2
Q
1
Q
0
Q
1
.Q
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0


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 179/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
Memria
Lgica
Combinacional
Entradas
Sadas
Variveis de Estado
(estado atual)
Linhas de excitao
(prximo estado)
Circuito de
Sada
(Moore: opcional)
X
Entradas
Ausentes no modelo
de Moore !



Prof. Joo Marcos Meirelles da Silva 180/198
Tcnicas de Projeto (Usando flip-flops tipo J K)

001
100
000
011
010
110 111
101
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)




Passo 2: Tabela do Prximo Estado
ESTADO ATUAL PRXIMO ESTADO
Q
2
Q
1
Q
0
Q
2
Q
1
Q
0
0 0 0 0 0 1
0 0 1 0 1 1
0 1 1 0 1 0
0 1 0 1 1 0
1 1 0 1 1 1
1 1 1 1 0 1
1 0 1 1 0 0
1 0 0 0 0 0
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 181/198




Passo 3: Tabela de Transio de Flip-Flop
Transies de Sada Entradas do Flip-Flop
Q
N
Q
N+1
J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0
Q
N
: Estado Atual
Q
N+1
: Prximo Estado
X : Estado dont care
J K CLK Q
0 0 Q
0
0 1 0
1 0 1
1 1 Q
0
Tabela de transio para um FF JK
Tabela Verdade de um FF JK




Passo 4: Mapas de Karnaugh
X
1
00
01
11
10
0 1
Q
2
Q
1
Q
0
Mapa K
0
1
X
00
01
11
10
0 1
Q
2
Q
1
Q
0
Mapa J
0
Transies
de Sada
Entradas do
FF
Q
N
Q
N+1
J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0
Estado Atual Prximo Estado
Q
2
Q
1
Q
0
Q
2
Q
1
Q
0
0 0 0 0 0 1
0 0 1 0 1 1
0 1 1 0 1 0
0 1 0 1 1 0
1 1 0 1 1 1
1 1 1 1 0 1
1 0 1 1 0 0
1 0 0 0 0 0


Prof. Joo Marcos Meirelles da Silva 182/198
Completando os mapas de Karnaugh e simplificando-os:

0 0
1 0
X X
X X
00
01
11
10
0 1
Q
2
Q
1
Q
0
Q
1
Q
0
Mapa J
2
X X
X X
0 0
1 0
00
01
11
10
0 1
Q
2
Q
1
Q
0
Mapa K
2
0 1
X X
X X
0 0
00
01
11
10
0 1
Q
2
Q
1
Q
0
Mapa J
1
X X
0 0
0 1
X X
00
01
11
10
0 1
Q
2
Q
1
Q
0
1
Mapa K
1
1 X
0 X
1 X
0 X
00
01
11
10
0 1
Q
2
Q
1
Q
0
Mapa J
0
X 0
X 1
X 0
X 1
00
01
11
10
0 1
Q
2
Q
1
Q
0
Mapa K
0
Q
2
Q
0
Q
2
Q
1
Q
2
Q
1
Q
1
Q
0
Q
2
Q
0
Q
2
Q
1
Q
2
Q
1





Passo 5: Expresses Lgicas para as Entradas dos Flip-Flops
J
0
= Q
2
.Q
1
+ Q
2
.Q
1
= Q
2
+ Q
1
K
0
= Q
2
.Q
1
+ Q
2
.Q
1
= Q
2
+ Q
1
J
1
= Q
2
.Q
0
K
1
= Q
2
.Q
0
J
2
= Q
1
.Q
0
K
2
= Q
1
.Q
0


No passo 5, temos as equaes de excitao dos flip-flops.
Prof. Joo Marcos Meirelles da Silva 183/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 184/198
Exemplo de Projeto

Projete um contador para a sequncia dada abaixo:
0
3
4
2
1
Como necessitamos de
3 FFs para incrementar
os estados de 0 a 4, o
nmero total de estados
ser de 2
3
= 8 estados.


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


Mapas de Karnaugh
Q
2
Q
1
Transies
de Sada
Entradas do
FF
Q
N
Q
N+1
J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0
Estado Atual Prximo Estado J
2
K
2
J
1
K
1
J
0
K
0
Q
2
Q
1
Q
0
Q
2
Q
1
Q
0
Q
0
Q
0
Q
0
Q
0
Q
0
Q
0
Q
0
Q
0
Q
0
Q
0
Q
0
Q
0
0 0 0 0 0 1 0 0 X X 0 1 X X 1 X X 1
0 0 1 0 1 0 0 1 X X X X 0 1 1 X X 1
0 1 0 0 1 1
0 1 1 1 0 0 X 1 0 X 0 X
1 0 0 0 0 0 Mapas de Karnaugh
Q
2
Q
1
Q
2
Q
1
Q
2
Q
1
J
0
= Q
2
K
0
= Q
2
J
1
= Q
0
.Q
2
K
1
= Q
0
.Q
2
J
2
= Q
0
.Q
1
.Q
2
K
2
= Q
0
.Q
1


Prof. Joo Marcos Meirelles da Silva 185/198
Implementando o circuito, temos:

Contador 0 a 4 (Arquivo contador02.ckt)
+5v
4511
D3
D2
D1
D0
EL
BI
LT g
f
e
d
c
b
a
U5
abcdefg.
Gnd
DISP1
+V
CP1
CP2
Q1
Q2
V1
U4A
U3B
U3A
S
J
CP
K
R
Q
_
Q
U2A
S
J
CP
K
R
Q
_
Q
U1B
S
J
CP
K
R
Q
_
Q
U1A
+5v
4511
D3
D2
D1
D0
EL
BI
LT g
f
e
d
c
b
a
U5
abcdefg.
Gnd
DISP1
+V
CP1
CP2
Q1
Q2
V1
U4A
U3B
U3A
S
J
CP
K
R
Q
_
Q
U2A
S
J
CP
K
R
Q
_
Q
U1B
S
J
CP
K
R
Q
_
Q
U1A
J
0
K
0
Q
0
J
1
K
1
Q
1
J
2
K
2
Q
2




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?
5
6
7
0
3
4
2
1



Prof. Joo Marcos Meirelles da Silva 186/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
CP1
CP2
Q1
Q2
V1
U4A
U3B
U3A
S
J
CP
K
R
Q
_
Q
U2A
S
J
CP
K
R
Q
_
Q
U1B
S
J
CP
K
R
Q
_
Q
U1A
Q
0 Q
1
Q
2
1 0
1
Comeando com 5 =101


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
CP1
CP2
Q1
Q2
V1
U4A
U3B
U3A
S
J
CP
K
R
Q
_
Q
U2A
S
J
CP
K
R
Q
_
Q
U1B
S
J
CP
K
R
Q
_
Q
U1A
Q
0 Q
1
Q
2
1 0
1
0
0
0
0
0
0
Logo, todos os FFs esto no estado de repouso e, portanto, no haver mudanas.


Prof. Joo Marcos Meirelles da Silva 187/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.

5
6
7
0
3
4
2
1




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 188/198


Refaa o projeto do contador anterior, desta vez amarrando
o estados no utilizados.
5
6
7
0
3
4
2
1
























Prof. Joo Marcos Meirelles da Silva 189/198
Tcnicas de Projeto (Usando flip-flops tipo D)

Projeto de contadores com FFs do tipo D
0 1 2 3
5 4 6 7
0 1 2 3
5 4 6 7
Projete um contador sncrono para a sequncia mostrada
pelo diagrama de estados abaixo. Utilize Flip-Flops do
tipo D.




Tabela de Sequncia de Estados
0 0 0 1 1 1
1 1 1 0 1 1
0 1 1 1 0 1
ESTADO ATUAL PRXIMO ESTADO
Q
2
Q
1
Q
0
Q
2
Q
1
Q
0
0 0 0 0 0 1
0 0 1 0 1 0
0 1 0 0 1 1
0 1 1 1 0 0
1 0 0 1 0 1
0 0 0 1 1 1
1 1 1 0 1 1
0 1 1 1 0 1
ESTADO ATUAL PRXIMO ESTADO
Q
2
Q
1
Q
0
Q
2
Q
1
Q
0
0 0 0 0 0 1
0 0 1 0 1 0
0 1 0 0 1 1
0 1 1 1 0 0
1 0 0 1 0 1 Transies
de Sada
Entrada
do FF
Q
N
Q
N+1
D
0 0 0
0 1 1
1 0 0
1 1 1
Transies
de Sada
Entrada
do FF
Q
N
Q
N+1
D
0 0 0
0 1 1
1 0 0
1 1 1
Tabela de Transio
do FF D




Prof. Joo Marcos Meirelles da Silva 190/198


Mapas de Karnaugh
0 0 0 1 1 1
1 1 1 0 1 1
0 1 1 1 0 1
ESTADO
ATUAL
PRXIMO
ESTADO
Q
2
Q
1
Q
0
Q
2
Q
1
Q
0
0 0 0 0 0 1
0 0 1 0 1 0
0 1 0 0 1 1
0 1 1 1 0 0
1 0 0 1 0 1
0 0 0 1 1 1
1 1 1 0 1 1
0 1 1 1 0 1
ESTADO
ATUAL
PRXIMO
ESTADO
Q
2
Q
1
Q
0
Q
2
Q
1
Q
0
0 0 0 0 0 1
0 0 1 0 1 0
0 1 0 0 1 1
0 1 1 1 0 0
1 0 0 1 0 1
Transies
de Sada
Entrada
do FF
Q
N
Q
N+1
D
0 0 0
0 1 1
1 0 0
1 1 1
Transies
de Sada
Entrada
do FF
Q
N
Q
N+1
D
0 0 0
0 1 1
1 0 0
1 1 1
0 1 1 0 1 1 10
0 1 0 1 0 1 11
0 1 0 1 1 0 01
0 1 1 0 0 0 00
1 0 1 0 1 0 Q
2
Q
1
Q
0
0 1 1 0 1 1 10
0 1 0 1 0 1 11
0 1 0 1 1 0 01
0 1 1 0 0 0 00
1 0 1 0 1 0 Q
2
Q
1
Q
0
D
2
D
1
D
0
D
2
= Q2.Q1 + Q2.Q0 + Q2.Q1.Q0 D
2
= Q2.Q1 + Q2.Q0 + Q2.Q1.Q0
D
1
= Q1.Q0 + Q1.Q0 = Q1 + Q0 D
1
= Q1.Q0 + Q1.Q0 = Q1 + Q0
D
0
= Q0 D
0
= Q0





Circuito
+V
abcdefg.
Gnd
DISP1
+V
CP1
CP2
Q1
Q2
V1
U4A
U4B
U5A
U5B
U6A
U3A
S
D
CP
R
Q
_
Q
U2A
S
D
CP
R
Q
_
Q
U1B
S
D
CP
R
Q
_
Q
U1A
4511
D3
D2
D1
D0
EL
BI
LT g
f
e
d
c
b
a
U7
D0 D1 D2
Veja a simulao do circuito no CircuitMaker atravs do arquivo
ContadorFFD.ckt



Prof. Joo Marcos Meirelles da Silva 191/198
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
S5 S4 S6 S7
S0 S1 S2 S3
S5 S4 S6 S7

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










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

S0 S1 S2 S3
S5 S4 S6 S7
S0 S1 S2 S3
S5 S4 S6 S7
00 00 00
00
01 10 00
11
Prof. Joo Marcos Meirelles da Silva 192/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).

S1
S0
S2
00 01
S1
S0
S2
00 01

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.

S0 S1 S2 S3
S5 S4 S6 S7
S0 S1 S2 S3
S5 S4 S6 S7
00/0 00/0 00/1
00/0
01/1 10/1 00/0
11/1

Figura x: Notao para mquinas de Mealy.

Prof. Joo Marcos Meirelles da Silva 193/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:

S0/1 S1/0 S2/0 S3/1
S5/1 S4/0 S6/1 S7/0
S0/1 S1/0 S2/0 S3/1
S5/1 S4/0 S6/1 S7/0
00 00 00
00
01 10 00
11

Figura x: Notao para mquinas de Moore.


Temos agora a seguinte notao nos nodes (bolinhas)
Notao para Mquinas de Moore:
Estado Atual / Sada(s)
E a seguinte notao nas Transies (setinhas)
Notao:
Entrada(s)
Compare as
duas notaes
atentamente !


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 194/198

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

S0/0 S1/0 S2/0 S3/1
1 1 1
1
0
0
0
0
S0/0 S1/0 S2/0 S3/1
1 1 1
1
0
0
0
0
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:

1 11 111
1 00 110
0 11 101
0 00 100
SADA
S
10
00
01
00
011
010
001
000
0
0
0
0
ESTADO FUTURO
Q
1
Q
0
ESTADO ATUAL
Q
1
Q
0
E
1 11 111
1 00 110
0 11 101
0 00 100
SADA
S
10
00
01
00
011
010
001
000
0
0
0
0
ESTADO FUTURO
Q
1
Q
0
ESTADO ATUAL
Q
1
Q
0
E


Prof. Joo Marcos Meirelles da Silva 195/198

1 11 111
1 00 110
0 11 101
0 00 100
SADA
S
10
00
01
00
011
010
001
000
0
0
0
0
ESTADO FUTURO
Q
1
Q
0
ESTADO ATUAL
Q
1
Q
0
E
1 11 111
1 00 110
0 11 101
0 00 100
SADA
S
10
00
01
00
011
010
001
000
0
0
0
0
ESTADO FUTURO
Q
1
Q
0
ESTADO ATUAL
Q
1
Q
0
E
0
1
0
0
0
1
1
0
1
1
0 0 1 0 10
1 0 1 0 11
0 0 1 0 01
0 0 0 0 00
1 0 1 0 Q
1
Q
0
E
0
1
0
0
0
1
1
0
1
1
0 0 1 0 10
1 0 1 0 11
0 0 1 0 01
0 0 0 0 00
1 0 1 0 Q
1
Q
0
E
D
1
D
0
D
0
= E.Q
1
+ E.Q
0
= E.(Q
0
+ Q
1
)
D
1
= E.Q
0
+ E.Q
1
= E.(Q
0
+ Q
1
)
S = Q
1
.Q
0
S



A implementao do circuito ento, fica:

TP2
CP1
CP2
Q1
Q2
V1
TP1
8
7
6
5
4
3
2
1
CP1
CP2
Data
Seq
DS1
U8D
S
D
CP
R
Q
_
Q
U2A
U4B
U8C U8B
+V
abcdefg.
Gnd
DISP1
+V
U4A
S
D
CP
R
Q
_
Q
U1B
4511
D3
D2
D1
D0
EL
BI
LT g
f
e
d
c
b
a
U7
D0 D1








Prof. Joo Marcos Meirelles da Silva 196/198
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 197/198
Oscilador com Schmitt-Trigger
















Oscilador com 555















Prof. Joo Marcos Meirelles da Silva 198/198
Oscilador a Cristal

You might also like