22
Sistemas Digitais (SD) Registos

Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

Sistemas Digitais (SD)

Registos

Page 2: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

Aula Anterior

Na aula anterior:

Flip-Flops

Flip-flop master-slave

Flip-flop JK

Flip-flop edge-triggered

Simbologia

2

Page 3: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

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) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

Sumário

Tema da aula de hoje: Registos

Registos simples

Banco de registos

Registos de deslocamento

Registos multimodo

Bibliografia: M. Mano, C. Kime: Secções 7.1 e 7.6

G. Arroz, J. Monteiro, A. Oliveira: Secção 6.5 e 6.7

4

Page 5: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

SRG n

Num. de

Estados

"Shift Registers"

Entradas de

Controlo

Comuns

Entradas de

Dados

Saída de

Dados

Entradas de

Controlo e de

Dados

Saída de

Dados

SRG n

Num. de

Estados

"Shift Registers"

Registos

Registos

Na sequência do estudo dos Latches e FFs, como elementos básicos

de memória, surgem os registos ou conjuntos de Latches ou de FFs

que permitem armazenar n bits de informação.

5

Page 6: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

Registo de carregamento paralelo

Registo com entradas e saídas em paralelo

Funções: - Inicialização (Clear_L assíncrono)

- Carregamento Paralelo

(síncrono com CP)

1D

C1

R

1D

C1

R

1D

C1

R

1D

C1

R

D0

D1

D2

D3

Q0

Q1

Q2

Q3

CP

CLEAR_L

CP

CLEAR_L

D0 Q0

D1 Q1

D2 Q2

D3 Q3

R

C1

1D

Registos

6

Page 7: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

Registo de carregamento paralelo

Registo com entradas e saídas em paralelo

Funções: - Manutenção (Load_H = 0)

- Carregamento Paralelo (Load_H = 1 e CP)

CP

LOAD_H

D0 Q0

D1 Q1

D2 Q2

D3 Q3

M1[Load]

C2

1, 2D

7

Registos

Page 8: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

Exemplo

Exemplo: contador up/down

8

Display

D0D1D2D3

Q0Q1Q2Q3

D Q

C

D Q

C

D Q

C

D Q

CClock

En

En

En

En

Vcc

Avançar

0

1

2

3

0

1

2

30

1

2

3

CI CO

}

}

P

Q

Vcc

Inc / Dec

Gnd

Gnd

Registo de 4 bits

Page 9: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

Exemplo

Exemplo: contador up/down

9

Display

D0

D1

D2

D3Q0

Q1

Q2

Q3

Clock

Vcc

Avançar

0

1

2

3

0

1

2

30

1

2

3

CI CO

}

}

P

Q

Vcc

Inc / Dec

Gnd

M1[Load]

C2

1, 2D

Gnd

Page 10: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

4

CP

LOAD_H

D0 Q0

D1 Q1

D2 Q2

D3 Q3

M1[Load]

C2

1, 2DD4

Q

Barramento

Noção de Barramento

Conjunto de ligações eléctricas que constituem um dado sinal;

Representação: - traço mais grosso

- indicação do nº de linhas (bits) que constituem o sinal

10

Page 11: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

Exemplo

Exemplo: contador up/down

11

DisplayClock

Vcc

Avançar

0

1

2

3

0

1

2

3

CI CO

}

}

P

Q

Vcc

Inc / Dec

Gnd

M1[Load]

C2

1, 2D

4 4

4

Gnd

Page 12: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

Banco de Registos

Conjunto de registos de carregamento paralelo agregados num único

dispositivo

Parâmetros: - Nº de registos

- Nº de bits em

cada registo

Funções: - Manutenção

- Carregamento

de um dado registo

- Leitura de um ou mais

registos (em simultâneo)

16

A

16

B

16

D

SelB3

SelD3

SelA3

R/W

C

1001110110011101R0

1011001110110011R10111011001110110R20110011101100111R31101100111011001R41100111011001110R51001110110011101R60111011001110110R7

12

Banco de Registos

Page 13: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

Banco de Registos: implementação

16

A

16

B

16

D

SelB3

SelD3

SelA3

R/W

C

1001110110011101R0

1011001110110011R10111011001110110R20110011101100111R31101100111011001R41100111011001110R51001110110011101R60111011001110110R7

X/Y

0

1

2

3

1

2

Registo de 16 bitsC

M

Registo de 16 bitsC

M

Registo de 16 bitsC

M

Registo de 16 bitsC

M

D

01}

0G_3

MUX

0123

SelA

A16

16

16

16

16

16

2

&

&

&

&

SelD 2

ClkR / W

13

Banco de Registos

Page 14: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

Operações de deslocamento (revisão)

Deslocamento simples

Deslocamento aritmético

Rotação

Rotação com transporte

14

Deslocamento

Page 15: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

1D

C1

1D

C1

1D

C1

1D

C1

ENTRADA

SÉRIE

CP

SAÍDA

SÉRIE

FF4FF1 FF2 FF3

Registo de Deslocamento

Registo de Deslocamento

Registo com entradas e saídas em série

Funções: - Carregamento/Deslocamento (CP)

Exemplo de aplicação: deslocamento simples

1

0

1 1 0 0 1 0 1 1 0 0 0 1 1 1

1 0 1 1 0 0 1 0 1 1 0 0 0 1 1 1

0

15

Page 16: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

CP

ENTRADA

SÉRIE

SAÍDA

SÉRIE

SAÍDA FF1

SAÍDA FF2

SAÍDA FF3

1D

C1

1D

C1

1D

C1

1D

C1

ENTRADA

SÉRIE

CP

SAÍDA

SÉRIE

FF4FF1 FF2 FF3

DIAGRAMA TEMPORALCiclo 0: XXXX

Entrada: 0

Ciclo 1: 0XXX

Entrada: 1

Ciclo 2: 10XX

Entrada: 0

Ciclo 3: 010X

Entrada: 1

Ciclo 4: 1010

….

Registo de Deslocamento

Registo de Deslocamento (cont.)

16

Page 17: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

SRG 4

SIN

SOUT

1D

CPC1/

SRG 4

SOUT

SIN1D

CPC1/

ou

SRG 4

CPC1/

SIN1D

SOUT

SRG 4

SOUT

SIN1D

CPC1/

ou

Registo de Deslocamento - Simbologia

17

Registo de Deslocamento

Page 18: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

SRG 4

CP

S0

D0Q0

D3

C4/1 /2

3, 4D

S10

1M

_03

D1

D2

Q1

Q2

Q3

Serial_IN

Serial_IN

3, 4D

3, 4D

3, 4D

2, 4D

1, 4D

SRG 4

D0Q0

D3 3, 4D

D1

D2

Q1

Q2

Q3

Serial_IN

Serial_IN

3, 4D

3, 4D

3, 4D

2, 4D

1, 4D

CP

S0

C4

S10

1M

_03

ou

1 /2

Registo de Deslocamento Multimodo

(com deslocamento bidireccional)

18

Registo de Deslocamento

S1 S0 Função

0 0 Hold

0 1 Shift-Left

1 0 Shift-Right

1 1 Load

Page 19: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

1D

C1

1D

C1

MUX

1D

C1

Di

Qi-1

Qi

Qi+1

CP

0

23

1

S0S1 G

_03

01

.

.

.

.

.

.

S1 Qi-1t+tS0

L

H

L

L

L

H

H H

Função Qit+t Qi+1t+t

Hold

Left-S

Right-S

Load

Qi-1t Qit Qi+1t

Qi-2t Qi-1t Qit

Qit Qi+1t Qi+2t

Di-1t Dit Di+1t

Registo de Deslocamento Multimodo – Implementação

Registo Multimodo com:

(1) entrada e saída paralelo;

(2) entrada e saída série nos

FFs dos extremos.

Funções: - Carregamento,

- Deslocamento (Dir/Esq)

- Manutenção.

19

Registo de Deslocamento

Page 20: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

)()()(

1max

FFtMUXtFFtf

supdpd

Registo de Deslocamento Multimodo – Implementação

Temporização:1D

C1

1D

C1

MUX

1D

C1

Di

Qi-1

Qi

Qi+1

CP

0

23

1

S0S1 G

_03

01

.

.

.

.

.

.

20

Registo de Deslocamento

Page 21: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

Próxima Aula

Tema da Próxima Aula:

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

21

Page 22: Sistemas Digitais (SD) · 24/Fev a 28/Fev CARNAVAL Álgebra de Boole P0 02/Mar a 06/Mar Elementos de Tecnologia Funções Lógicas VHDL ... Funções: - Inicialização (Clear_L assíncrono)

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

22