![Page 1: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/1.jpg)
Sistemas Digitais (SD)
Contadores
![Page 2: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/2.jpg)
Aula Anterior
Na aula anterior:
Registos
Registos simples
Banco de registos
Registos de deslocamento
Registos multimodo
2
![Page 3: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/3.jpg)
Planeamento
3
SEMANA TEÓRICA 1 TEÓRICA 2 PROBLEMAS/LABORATÓRIO
17/Fev a 21/FevIntrodução Sistemas de Numeração
24/Fev a 28/Fev CARNAVALÁlgebra de Boole
P0
02/Mar a 06/MarElementos de Tecnologia
Funções Lógicas VHDL
9/Mar a 13/Mar Minimização de Funções Minimização de Funções L0
16/Mar a 20/MarDef. Circuito Combinatório; Análise Temporal Circuitos Combinatórios
P1
23/Mar a 27/Mar Circuitos Combinatórios Circuitos Combinatórios L1
30/Mar a 03/Abr Circuitos Sequenciais: Latches Circuitos Sequenciais: Flip-Flops P2
06/Abr a 10/Abr FÉRIAS DA PÁSCOA FÉRIAS DA PÁSCOA FÉRIAS DA PÁSCOA
13/Abr a 17/AbrCaracterização Temporal Registos L2
20/Abr a 24/AbrContadores Circuitos Sequenciais Síncronos P3
27/Abr a 01/Mai Síntese de Circuitos Sequenciais
Síncronos
Síntese de Circuitos Sequenciais
SíncronosL3
04/Mai a 08/MaiExercícios
MemóriasP4
11/Mai a 15/Mai Máq. Estado Microprogramadas: Circuito de
Dados e Circuito de Controlo
Máq. Estado Microprogramadas: MicroprogramaL4
18/Mai a 22/Mai Circuitos de Controlo, Transferência e
Processamento de Dados de um Processador
Lógica ProgramávelP5
25/Mai a 29/MaiP6 P6 L5
Teste 1
![Page 4: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/4.jpg)
Sumário
Tema da aula de hoje: Contadores síncronos
Contadores de módulo 2n
Projecto de contadores
Frequência máxima de funcionamento
Situação de “lock-out”
Simbologia
Contador em anel
Contador Johnson
Linear feedback shift-register
Contadores assíncronos Contadores por pulsação
Contadores assíncronos vs. síncronos
Bibliografia: M. Mano, C. Kime: Secções 7.6
G. Arroz, J. Monteiro, A. Oliveira: Secção 6.6
4
![Page 5: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/5.jpg)
Contador Binário
Um contador binário é um registo que, por aplicação sucessiva de
impulsos de relógio, segue uma sequência de estados
correspondente à numeração binária.
CLK
Q0
Q1
Q2
Q3
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0 1 2 3 4 5 6 7 8
5
Contador Binário
![Page 6: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/6.jpg)
1K
1J
C1
1K
1J
C1
1K
1J
C1
1K
1J
C1
& &1
Q0
Q1
Q2
Q3
CLK
CLK
Q0
Q1
Q2
Q3
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0 1 2 3 4 5 6 7 8
Contador Binário (cont.)
Exemplo:
Utilizando FFs Toggle (p.ex. JK
com J = K), o projecto do circuito
aproveita o facto de, na contagem
binária, o Q0 estar sempre a variar,
o Q1 variar quando Q0 = 1, o Q2
variar quando Q0 = Q1 = 1, etc.
6
Contador Binário
![Page 7: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/7.jpg)
Contador Binário (cont.)
A estrutura do contador é facilmente generalizável para contadores
módulo 2N.
No entanto, esta estrutura está limitada pelo facto de o fan-in das
portas AND ir aumentando sucessivamente até à última porta, que tem
N entradas.
A frequência máxima de relógio a que este contador pode funcionar é:
1K
1J
C1
1K
1J
C1
1K
1J
C1
1K
1J
C1
& &1
Q0
Q1
Q2
Q3
CLK
1K
1J
C1
&
Q7
suFFpANDpFF tttTf
11
min
max
7
Contador Binário
![Page 8: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/8.jpg)
Contador Binário (cont.)
Aproveitando os produtos parciais já realizados, é possível modificar a
estrutura do contador para usar apenas portas AND de 2 entradas,
mantendo a funcionalidade.
No entanto, o caminho crítico entre FFs aumenta substancialmente,
limitando a frequência máxima a que o contador pode funcionar.
1K
1J
C1
1K
1J
C1
1K
1J
C1
1K
1J
C1
& &1
Q0
Q1
Q2
Q3
CLK
1K
1J
C1
&
Q7
suFFpANDpFF ttntTf
)2(
11
min
max
8
Contador Binário
![Page 9: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/9.jpg)
1K
1J
C1
Q0
T
1D
C1
Q0
=1T
& &
CLK
1D
C1
Q0
=1 1D
C1
Q1
=1 1D
C1
Q2
=1 1D
C1
Q3
=1
1
Contador Binário com Flip-Flops tipo D
O mesmo contador pode ser realizado definindo um FF Toggle a
partir de FF D e aproveitando directamente a mesma estrutura.
9
Contador Binário
![Page 10: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/10.jpg)
M1[Load]
C5/2,3,4+
1, 2D
CTR DIV 16
G4
G3
M2[Count]
5CT=0
1,5D [1]
[2]
[4]
[8]
3CT=15
[1]
CTR DIV16
CT=0
M1 [Load]
M2 [Count]
G3
C5/2,3+
3CT=15
[2]
[4]
[8]
1,5D
Contador binário bidireccional,
módulo 16, com carregamento
paralelo e clear assíncrono
Contador binário, módulo 16,
com carregamento paralelo e
clear assíncrono
Contador binário, módulo 16,
com carregamento paralelo e
clear síncrono
Exemplos de Componentes
10
Contador Binário
![Page 11: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/11.jpg)
15 0
1
213
12
11
3
4
5
6
10
9
8 7
14
Contador Decimal
Um contador decimal pode ser realizado directamente a partir de um contador módulo
16, forçando a reinicialização do contador após o estado 9.
O sinal DETECTA_NOVE pode ser utilizado como indicador de fim de contagem.
11
Contador Decimal
![Page 12: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/12.jpg)
Contadores
Contador com 2 “saltos” na contagem
Este contador conta de 0 a 9, passa para o estado 11, conta de 11 a
13, e volta ao estado 0.
12
![Page 13: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/13.jpg)
M1[Load]
C5/2,3,4+
CTR DIV 16
G4
G3
M2[Count]
5CT=0
1,5D [1]
[2]
[4]
[8]
3CT=15
CLK
ENABLE_H
COUNT_H
Q0
Q1
Q2
Q3
D0
D1
D2
D3
M1[Load]
C5/2,3,4+
CTR DIV 16
G4
G3
M2[Count]
5CT=0
1,5D [1]
[2]
[4]
[8]
3CT=15
Q4
Q5
Q6
Q7
D4
D5
D6
D7
RESET_L
Ligação em Série de Contadores (1)
Um contador módulo 256 pode ser realizado ligando em série 2 contadores módulo 16.
O 2º contador só é habilitado quando o 1º chega ao fim de contagem (o sinal de fim de
contagem do 1º contador está ligado ao enable do 2º contador)
13
Contadores
![Page 14: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/14.jpg)
Ligação em Série de Contadores (2)
Este contador faz uma sequência de contagem de …33 a 161
14
Contadores
![Page 15: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/15.jpg)
1000 0100 0010 0001
1D
C1
1D
C1
1D
C1
1D
C1CLK
suFFpFF ttTf
11
min
max
Contador em Anel
Contador em Anel – “Ring Counter”
A ligação de N flip-flops em cascata, como registo de deslocamento, pode
também ser usada como um contador simples, usando o mínimo de
hardware.
O contador evolui segundo a seguinte sequência de 4 estados e depois
repete:
O contador é muito rápido (não existem portas
lógicas no caminho entre FFs)…,
… mas é ineficiente em termos do número total de estados de contagem
disponíveis (só usa N estados, dos 2N estados disponíveis).
15
![Page 16: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/16.jpg)
Contadores: “LOCK-OUT”
Estados de LOCK-OUT: no caso de não serem utilizados todos os
estados disponíveis, pode ocorrer a situação do contador se
encontrar num estado não desejado (fora da sequência de contagem)
devido a ruído no circuito ou à não imposição de estado inicial.
Nessa situação ou o contador entra na sequência de contagem
pretendida ou fica indefinidamente no exterior (Lock-Out).
Exemplo com possibilidade de Lock-Out:
0000 0101 1010
1000 0100 0010 0001
Lock-Out
16
![Page 17: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/17.jpg)
Contadores: “LOCK-OUT”
Estados de LOCK-OUT: no caso de não serem utilizados todos os
estados disponíveis, pode ocorrer a situação do contador se
encontrar num estado não desejado (fora da sequência de contagem)
devido a ruído no circuito ou à não imposição de estado inicial.
Nessa situação ou o contador entra na sequência de contagem
pretendida ou fica indefinidamente no exterior (Lockout).
Exemplo sem possibilidade de Lock-Out: o contador acabará sempre
por entrar na sequência pretendida
17
Lock-Out
![Page 18: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/18.jpg)
1D
C1
1D
C1
1D
C1
1D
C1CLK
& & &INIT
1D
C1
S
1D
C1
R
1D
C1
R
1D
C1
R
CLK
INIT
Alternativas de
Inicialização no
Estado “1000”:
Contador em Lock-Out:
Solução 1: impor a transição de qualquer estado externo para um
estado da sequência de contagem
Solução 2: considerar uma entrada extra, de inicialização, que
coloque o sistema num dos estados de contagem pretendido.
18
Lock-Out
![Page 19: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/19.jpg)
1D
C1
S
1D
C1
R
1D
C1
R
1D
C1
R
CLK
INIT
1000 1100 1110 1111
0000 0001 0011 0111
Contador Johnson
Contador Johnson
O contador Johnson usa 2N dos 2N estados disponíveis, mantendo a
rapidez do contador em anel.
19
![Page 20: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/20.jpg)
1D
C1
S
1D
C1
R
1D
C1
R
1D
C1
R
CLK
INIT
=1
1000 0100 0010 1001
0001 0011 0111
1100 0110 1011 0101
1111 1110 1101 1010
0000
Linear Feedback Shift-Register
Linear Feedback Shift-Register (LFSR)
O LFSR usa 2N-1 dos 2N estados disponíveis, usando apenas uma
porta lógica adicional.
20
![Page 21: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/21.jpg)
1K
1J
C1
1K
1J
C1
1
Q0
Q1
CLK
1
1K
1J
C1
Q2
1
1K
1J
C1
Q3
1
CLK
Q0
Q1
Q2
Q3
0 1 0 1 0 1 0 1 0 1
0 0 1 1 0 0 1 1 0 0
0 0 0 0 1 1 1 1 0 0
0 0 0 0 0 0 0 0 1 1
0 1 2 3 4 5 6 7 8 9
Contador Assíncrono
Contadores Assíncronos por Pulsação – “Ripple Counters”
Os contadores por pulsação são extremamente simples de realizar.
No entanto, o facto de serem assíncronos (os FF não estão em sincronismo)
torna-os pouco fiáveis, por dependerem dos atrasos de propagação do sinal.
21
![Page 22: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/22.jpg)
Contadores Assíncronos vs. Síncronos
No contador assíncrono, as mudanças de estado não ocorrem todas na
transição de relógio!
Exemplo: na transição de 7 para 8, o contador passa sucessivamente por vários
estados intermédios.
CLK
Q0
Q1
Q2
Q3
tP
tP
tP
tP
1
1
1
0
0
0
0
1
CLK
Q0
Q1
Q2
Q3
tP
tP
tP
tP
4tP
1
1
1
0
0
0
0
1
6 4 07 8Contagem
Contador AssíncronoContador Síncrono
Contador Assíncrono
22
![Page 23: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/23.jpg)
Contadores Assíncronos vs. Síncronos
Quanto mais FFs existirem, mais o bit de maior peso demora a transitar, o
que torna os contadores por pulsação de grande dimensão muito lentos (o
que limita, neste caso, o período de relógio).
As realizações assíncronas são, portanto e genericamente, de evitar.
CLK
Q0
Q1
Q2
Q3
tP
tP
tP
tP
1
1
1
0
0
0
0
1
CLK
Q0
Q1
Q2
Q3
tP
tP
tP
tP
4tP
1
1
1
0
0
0
0
1
6 4 07 8Contagem
Contador AssíncronoContador Síncrono
23
Contador Assíncrono
![Page 24: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/24.jpg)
Próxima Aula
Tema da Próxima Aula:
Definição de circuito sequencial síncrono
Máquinas de Mealy e de Moore
Especificação de circuitos sequenciais síncronos:
Diagrama de estados
Projecto de circuitos sequenciais síncronos:
Codificação dos estados
Tabela de transição de estados
Determinação das funções lógicas de saída e estado seguinte
24
![Page 25: Sistemas Digitais (SD)...Contadores Assíncronos vs. Síncronos No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! Exemplo: na transição](https://reader034.vdocuments.pub/reader034/viewer/2022043003/5f84126e24123f0722073c86/html5/thumbnails/25.jpg)
Agradecimentos
Algumas páginas desta apresentação resultam da compilação de várias
contribuições produzidas por:
Nuno Roma
Guilherme Arroz
Horácio Neto
Nuno Horta
Pedro Tomás
25