sistemas digitais (sd)...contadores assíncronos vs. síncronos no contador assíncrono, as...

25
Sistemas Digitais (SD) Contadores

Upload: others

Post on 31-Jul-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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