MEEC - fenix.tecnico.ulisboa.pt · Contador Johnson Contador Johnson X O contador Johnson usa 2N...

Preview:

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

Nuno.Roma@tecnico.ulisboa.pt

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

Recommended