Upload
vuque
View
246
Download
0
Embed Size (px)
Citation preview
SISTEMAS DIGITAIS (SD)
MEEC
Acetatos das Aulas Teoricas
Versao 3.0 - Portugues
Aula No 17:
Tıtulo: Contadores
Sumario: Contadores sıncronos (contadores de modulo 2n, projecto de contadores,frequencia maxima de funcionamento, situacao de ”lock-out”, simbologia,contador em anel, contador Johnson, linear feedback shift-register); Con-tadores assıncronos (contadores por pulsacao); Contadores assıncronos vs.sıncronos.
2014/2015
Sistemas Digitais (SD)
Contadores
Aula Anterior
Na aula anterior:
Registos
Registos simples
Banco de registos
Registos de deslocamento
Registos multimodo
Prof. Nuno Roma Sistemas Digitais 2014/15 2
Planeamento
Sistemas Digitais 2014/15
SEMANA TEÓRICA 1 TEÓRICA 2 PROBLEMAS/LABORATÓRIO
15/Set a 20/Set Introdução Sistemas de Numeração e Códigos
22/Set a 27/Set Álgebra de Boole Elementos de Tecnologia P0
29/Set a 4/Out Funções Lógicas Minimização de Funções Booleanas (I) L0
6/Out a 11/Out Minimização de Funções Booleanas (II) Def. Circuito Combinatório; Análise Temporal P1
13/Out a 18/Out Circuitos Combinatórios (I) – Codif., MUXs, etc. Circuitos Combinatórios (II) – Som., Comp., etc. L1
20/Out a 25/Out Circuitos Combinatórios (III) - ALUsLinguagens de Descrição e Simulação de
Circuitos DigitaisP2
27/Out a 1/Nov Circuitos Sequenciais: Latches Circuitos Sequenciais: Flip-Flops L2
3/Nov a 8/Nov Caracterização Temporal Registos P3
10/Nov a 15/Nov Revisões Contadores L3
17/Nov a 22/Nov Síntese de Circuitos Sequenciais: DefiniçõesSíntese de Circuitos Sequenciais: Minimização
do número de estadosP4
24/Nov a 29/NovSíntese de Circuitos Sequenciais: Síntese com
ContadoresMemórias L4
1/Dez a 6/DezMáq. Estado Microprogramadas: Circuito de
Dados e Circuito de Controlo
Máq. Estado Microprogramadas:
MicroprogramaP5
8/Dez a 13/DezCircuitos de Controlo, Transferência e
Processamento de Dados de um ProcessadorLógica Programável L5 (1ª Parte)
15/Dez a 19/Dez P6 P6 L5 (2ª Parte)
Teste 1
Prof. Nuno Roma 3
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
Prof. Nuno Roma Sistemas Digitais 2014/15 4
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
Prof. Nuno Roma Sistemas Digitais 2014/15 5
Contador Binário
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.
Prof. Nuno Roma Sistemas Digitais 2014/15 6
Contador Binário
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
Prof. Nuno Roma Sistemas Digitais 2014/15 7
Contador Binário
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
Prof. Nuno Roma Sistemas Digitais 2014/15 8
Contador Binário
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.
Prof. Nuno Roma Sistemas Digitais 2014/15 9
Contador Binário
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
Prof. Nuno Roma Sistemas Digitais 2014/15 10
Contador Binário
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.
Prof. Nuno Roma Sistemas Digitais 2014/15 11
Contador Decimal
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.
Prof. Nuno Roma Sistemas Digitais 2014/15 12
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)
Prof. Nuno Roma Sistemas Digitais 2014/15 13
Contadores
Ligação em Série de Contadores (2)
Este contador faz uma sequência de contagem de …33 a 161
Prof. Nuno Roma Sistemas Digitais 2014/15 14
Contadores
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).
Prof. Nuno Roma Sistemas Digitais 2014/15 15
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
Prof. Nuno Roma Sistemas Digitais 2014/15 16
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
Prof. Nuno Roma Sistemas Digitais 2014/15 17
Lock-Out
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.
Prof. Nuno Roma Sistemas Digitais 2014/15 18
Lock-Out
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.
Prof. Nuno Roma Sistemas Digitais 2014/15 19
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.
Prof. Nuno Roma Sistemas Digitais 2014/15 20
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.
Prof. Nuno Roma Sistemas Digitais 2014/15 21
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
Prof. Nuno Roma Sistemas Digitais 2014/15 22
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
Prof. Nuno Roma Sistemas Digitais 2014/15 23
Contador Assíncrono
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
Prof. Nuno Roma Sistemas Digitais 2014/15 24
Agradecimentos
Algumas páginas desta apresentação resultam da compilação de várias
contribuições produzidas por:
Guilherme Arroz
Horácio Neto
Nuno Horta
Pedro Tomás
Prof. Nuno Roma Sistemas Digitais 2014/15 25