19
right shift Reset’ Reset’ Shift CLK CLK CLK CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Embed Size (px)

Citation preview

Page 1: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

right shiftReset’

Reset’Shift

CLK CLK CLK CLK

Shift Registers - Registradores de deslocamento :pode circular dados entre os elementos

Aplicações com flip-flops

Page 2: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Serial Inputs: LSI, RSIParallel Inputs: D, C, B, AParallel Outputs: QD, QC, QB, QAClear SignalPositive Edge Triggered Devices

S1,S0 determine the shift functionS1 = 1, S0 = 1: Load on rising clk edge synchronous loadS1 = 1, S0 = 0: shift left on rising clk edge LSI replaces element DS1 = 0, S0 = 1: shift right on rising clk edge ;RSI replaces element AS1 = 0, S0 = 0: hold state

CI 74194

Page 3: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

QAQBQCQD

S1S0LSIDCBA

RSICLK

CLR

QAQBQCQD

S1S0LSIDCBA

RSICLK

CLR

D7D6D5D4

transmissor

D3D2D1D0

QAQBQCQD

S1S0LSIDCBA

RSICLK

CLR

QAQBQCQD

S1S0LSIDCBA

RSICLK

CLR

receptor

D7D6D5D4

D3D2D1D0

Clock

194 194

194194

entradasparalelas

transmissãoserial

saídas paralelas

Aplicações com flip-flops : shift register

Conversão paralela - serial - paralela

Page 4: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Projeto de Circuitos Sequenciais

Algorítmo básico

1 - Entendimento do problema

2 - Análise das informações

3 - Diagrama de estados

3.1 - Minimização de estados

3.2 - Identificação de estados

3.3 - Escolha do elemento de memória

4 - Implementação da lógica combinacional

4.1 - Minimização da função

4.2 - Redução do circuito

Page 5: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

State Register Clock

State Feedback

Combinational Logic for

Outputs and Next State

X Inputs

i Z Outputs

k

Clock

state feedback

Combinational Logic for

Next State (Flip-flop Inputs)

State Register

Comb. Logic for Outputs

Z Outputs

k

X Inputs

i

Máquina de Mealy

Máquina de Moore

Page 6: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Funcionamento geral

•entrega o chiclete para cada 15 centavos•entrada de moedas de 10 (D) e 5 (C) centavos•não há troco

Passo 1. Entendimento do problema … desenhe um diagrama de blocos

Controleda

Máquina

C

D

Reset

Clk

Abre

Sensorde

moedas

Projeto de Circuitos Sequenciais

Mecanismo deabertura

Page 7: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Passo 2. Análise das informações … verificar as possíveis sequências de entrada e respectivas saídas

C + C + CC + DD + CD + DC + C + D

Possibilidades :

Reset

C

C

C

D

D

C D

[abrir]

[abrir] [abrir] [abrir]

S0

S1 S2

S3 S4 S5 S6

S8

[abrir]

S7

D

Entradas: C, D, reset

Saída: abrir

Page 8: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Reset

C

C

C, D

[abrir]

15c

0c

5c

10c

D

D

Estado Atual

0c

5c

10c

15c

D

0 0 1 1 0 0 1 1 0 0 1 1 X

C

0 1 0 1 0 1 0 1 0 1 0 1 X

Entradas Estado

0c 5c 10c X 5c 10c 15c X

10c 15c 15c X

15c

Saídaabrir

0 0 0 X 0 0 0 X 0 0 0 X 1

Passo 3.1 - Minimização de estados … reutilização de estados

Próximo

Page 9: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Prox. estado D 1 D 0

0 0 0 1 1 0 X X 0 1 1 0 1 1 X X 1 0 1 1 1 1 X X 1 1 1 1 1 1 X X

Estado atual Q 1 Q 0

0 0

0 1

1 0

1 1

D

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

C

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

Entradas Saída abrir

0 0 0 X 0 0 0 X 0 0 0 X 1 1 1 X

Passos 3.2 e 3.3 - Identificação de estados … Escolha do flip-flop …

Page 10: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Q1 Q0Q1

Q0

C

Q1 Q0D C

Q1

Q0

D

C

Q1 Q0D C

Q1

Q0

D

Passos 4.1 Minimização da função …

D1 D0 abrir

D1 = Q1 + D + Q0 C

D0 = C’Q0 + Q0’C + Q1 C + Q1 D

abrir = Q1 Q0

Page 11: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Projeto de Circuitos Sequenciais

Reset/0

C/0

C/0

C+D/1

15c

0c

5c

10c

D/0

D/1

(C’ D’ + Reset)/0

Reset/0

Reset/1

C’ D’/0

C’ D’/0

Máquina de Mealy

Reset

C

C

C+D

[1]

15c

0c

5c

10c

D

[0]

[0]

[0]

D

C’ D’ + Reset

Reset

Reset

Máquinade Moore

C’D’

C’D’

Page 12: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

1

1

0

1

2

0

0

[0]

[0]

[1]

1/0

0

1

0/0

0/0

1/1

1

0

A máquina de Mealy tem, geralmente, menos estados que a de Moore, para a mesma sequência de saída.

Page 13: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Exercício : Identificação de padrões em sequências finitas Seja um identificador de entrada X e saída Z. Z=1 sempre que a sequência …010… for observada, enquanto não aparecer a sequência …100… .

passo 1 : entendimento do problema

X: 00101010010…Z: 00010101000…

X: 11011010010…Z: 00000001000…

Page 14: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

passo 2 : fazer o diagrama de estados para as sequências que devem ser reconhecidas, isto é, 010 and 100.

obs.: reutilizar estados sempre que possível.

Máquina de Moore

S0 [0]

S1 [0]

S2 [0]

S3 [1]

S4 [0]

S5 [0]

S6 [0]

Reset

Page 15: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Redução de estados

Algorítmo de redução por classes

1 - fazer a tabela de estados inicial ;2 - dividir os estados em classes, de acordo com as saídas apresentadas, isto é, estados que têm a mesma saída estarão na mesma grupo (classe) ;3 - estabelecer, baseado nos próximos estados, as próximas classes de cada estado ;4 - reagrupar em novas classes, de acordo com as próximas classes apresentadas ;5 - repetir os ítens 3 e 4 até que, em cada classe, todos os estados tenham as mesmas próximas classes ; estes estados são equivalentes.

Dois estados são equivalentes se, partindo-se destes, obtivermos as mesmas sequências de saída. Podemos,assim, fazer uma prévia redução de estados por simplesinspeção visual.

Page 16: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Exemplo :

x=0 x=1a b/0 c/0b c/0 d/0c d/0 e/1d d/0 e/1e d/0 a/1

x=0 x=1a 1 2b 2 2c 2 2d 2 2e 2 1

1

2

x=0 x=1a 1 2b 2 2c 2 2d 2 2e 2 1

I II III

Em III todos os estados pertencentes a uma classe têm asmesmas próximas classes; c e d são equivalentes.

Page 17: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Identificação de estados

Algorítmo para a determinação de adjacências

R1 - dois ou mais estados que têm os mesmos próximos estados devem ter identificações adjacentes ; R2 - dois ou mais estados que são os próximos estados de um mesmo estado devem ter identificações adjacentes.

Do exemplo anterior :

x=0 x=1a b/0 c/0 b c/0 c/0c c/0 e/1 e c/0 a/1

anterior atual próximoa

b

c

e

e

a

a , b, c, e

c

b, c

c

c, e

a, c

R1 R2

R1 : (ab), (ac), (ae), (bc), (be), (ce)

R2 : (bc), (ce), (ac)

0 1

0

1

a c

be

Page 18: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Problema 1 :

Implementar um contador de 3 bits que tenha um controle M e aja da seguinte forma :M = 0 a contagem é ascendente na sequência binária;M = 1 a contagem é ascendente em código de Gray

Problema 2 :

Deseja-se colocar um sinal de trânsito no cruzamento de duasruas. Sensores C detetam a presença de carros na rua secundária.Se não há carros nesta rua, o sinal permane verde para a rua principal. Se há carros naquela, o sinal passa de verde para amareloe para vermelho, permitindo então o sinal verde na rua secundária, por um intervalo TL. Após este intervalo, o sinal passa de verde paraamarelo e para vermelho, retornando o sinal da rua principal a verde.Mesmo que existam veículos na rua secundária, a principal deve ter sinal verde pelo menos por TL.Assumir a existência de um temporizador que gere os tempos TL,para os sinais verdes, e TS dos sinais amarelos, ambos em resposta a um set (ST) dos respectivos tempos.

Page 19: Right shift Reset’ Shift CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops

Entendimento do problema

. entradas :resetCTSTL

. saídasHG, HY, HRFG, FY, FRST

coloca a máquina em seu estado inicialsensor de veículos na rua secundáriafim do períododo sinal amarelofim do períododo sinal verde

ativam as luzes verde, amarela e vermelha, principalativam as luzes verde, amarela e vermelha, secundáriacomeça um período Tl ou TS.

• Estados : algumas configurações de luzes implicam em outras

estadoS0S1S2S3

principal verde, secundária vermelhoprincipal amarelo, secundária vermelhosecundária verde, principal vermelhosecundária amarelo, principal vermelho

Reset

TL + C

S0TL•C/ST

TS

S1 S3

S2

TS/ST

TS/ST

TL + C/ST

TS

TL • C