1 sistemas digitais aula 10 greco-cin-ufpe 2 circuitos seqüenciais muitos sistemas digitais são...

29
1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE

Upload: maria-do-mar-canejo-pinhal

Post on 07-Apr-2016

266 views

Category:

Documents


43 download

TRANSCRIPT

Page 1: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

1

Sistemas Digitais

Aula 10GRECO-CIN-UFPE

Page 2: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

2

Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam

em sincronismo com um trem de pulsos de período T chamado relógio (clock).

A cada transição de clock dizemos que a máquina passa para um próximo estado.

Se considerarmos um certo Qn a saída em um dado ponto do sistema no intervalo precedendo o nth pulso de clock, então Qn+1 é a saída correspondente no intervalo imediatamente depois no n th pulso.

Tal sistema onde os valores Q1, Q2, Q3, ... Qn são obtidos em seqüência no tempo em intervalos T é chamado um sistema lógico seqüencial.

T

Qn Qn+1

Page 3: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

3

São dispositivos que armazenam vetores de diferentes dimensões. Estas informações são armazenadas no registrador mediante um sinal de carga externo de carga ( ), e podem ser usadas por outras partes do circuito.

Os elementos ou células básicas que compõem os registradores são Latches ou Flip-Flops.

Os registradores podem armazenar dados e também deslocá-los para a direita ou para a esquerda. Registradores que permitem deslocamento de seus dados são denominados Registradores de Deslocamento (Shift-Register).– Desloca para a direita– Desloca para a esquerda

Registradores

Page 4: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

4

Registradores - (transferência paralela)

E

N

T

R

A

D

A

Pulso

Componente comercial

TTL 74171

Q1

CLR

D3D2D1D0

171

Q1

Q0Q0

CLK Q3Q3Q2Q2

11

109

5

67

43

2

14

13

151

12

-Quando o pulso é aplicado a entrada Clk (clock) a entrada é carregada no registrador.-O sinal de entrada D0-D3 deve permanecer inalterado durante a transação.

Page 5: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

5

Transferência de informação

a1

a2

a3

a4

b1

b2

b3

b4

Transferência em paralelo

a1 a2 a3 a4b1 b2 b3 b4

Transferência serial

(pulso de transferência)

Page 6: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

6

Transferência de informação

tempo do A e X após da transferênciaevento transferência A XA<- [1,0,1] X<- [0,0,0] [1,0,1] [0,0,0] A<-SR([1,0,1]) X<-SR([1],[0,0,0]) [0,1,0] [1,0,0] A<-SR([0,1,0]) X<-SR([0],[1,0,0]) [0,0,1] [0,1,0] A<-SR([0,0,1]) X<-SR([1],[0,1,0]) [0,0,0] [1,0,1]

Após a transferência ao valores nos registradores A e X são:

A := [0,0,0] X := [1,0,1]

a1 a2 a3x1 x2 x3

Transferência serial

(pulso de transferência)

linha serialA X

‘0’

Page 7: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

7

0 0 0D

C

Q

Q

D

C

Q

Q

D

C

Q

Q

a b c

1 0 1

t´ independe do tempo do clock alto, o que interessa é a transiçaõ do clock

Flip-Flop a=0

0

c=0

0

b=0

0

a= 1b=0c=0

Mudança de estado

1

a= 0b= 1c= 0

0 1

a= 1b= 0c= 1

1 0 1

D=1 D=0 D=1

Exemplo circuito sequencial – utilizando Flip-flop tipo D

Page 8: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

8

Projetos de circuitos síncronos

Clock controlado por gates para controle de dados em registradores (não recomendado)

FF D

D

Q

Q

ClockEnable

Clock enable

Clock

EnableClockenable

X XGlitch

Obs: Flip-Flop carrega valor na subida do clock

D

Q

Carga da informação

Page 9: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

9

Projetos de circuitos síncronos Controle de enable direto no mux interno do registrador. O clock é livre e atua direto no circuito do Flip-flop. (opção recomendada)

FF D

D

Q

Q

Enable

Clock

Clock

Enable

X

D

Obs: Flip-Flop carrega valor na subida do clock

Q

Carga da informação

Page 10: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

10

Entradas MultiplexadasMUX X

ABC

T

: X <- (A (T=[1]) V B (T=[2]) V C (T=[3]))

V V V: X <- (X (T=[0]) V A (T=[1]) V B (T=[2]) V C (T=[3]))

V V V

O que acontece com T = [0] ? ou qualqueroutro valor não especificado na equação?- A expressão a esquerda será nula, logo:

X <- 0

V

Obs: Nesse caso se T=[0] o conteúdo de X permanece inalterado

MUX X

ABC

T

0123

Page 11: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

11

Registrador de deslocamento - Shift Register

Registradores de deslocamento são dispositivos adequados para conversão Serial-Paralela-Serial normalmente utilizados em sistemas de comunicação em terminais de computadores.

Exemplo: Registrador de deslocamento (direita/esquerda)

Para a direita Desloca uma posição em todos os elementos do

registrador da esquerda para a direita. O bit menos significativo (LSB-bit mais a direita) re-

alimenta o bit mais significativo (MSB - bit mais a esquerda) do registrador ou um novo bit é adicionado ao

deslocamento.

Para a esquerda Desloca uma posição em todos os elementos do

registrador da direita para a esquerda. O bit Mais significativo (MSB-bit mais a esquerda) re-

alimenta o bit menos significativo (LSB - bit mais a direita) do registrador ou um novo bit é adicionado ao deslocamento.

Page 12: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

12

Registrador de Deslocamento O circuito pode realizar diferentes funções

dependendo do sinal de controle.A <- (T=[0]) A v (T=[1] SR(x,A,) v (T=[2]) SL(A,x) T Operação[0] A <- A[1] A <- SR(x,A)[2] A <- SL(A,x)[3] A <- [0][4] A <- B (load)

1234

MUX MUX MUXD D DQQ

T T T

0 0 0c c c

x

x

0 0 0

A2 A1 A0

1234

1234b2 b1 b0

QQ

QQ

Page 13: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

1234

MUX MUX MUXD D DQQ

T T T

0 0 0c c c

x

x

0 0 0

A2 A1 A0

1234

1234b2 b1 b0

QQ

QQ

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

shift

A2

A1

A0

T=3 T=4 T=1 T=1Controle

Registrador de deslocamento ( Shift Register )(deslocamento para a direita)

Page 14: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

14

Kinds of Registers and Counters Entrada Serial vs. ParalelaSaída Serial vs. ParalelaDireção de deslocamento:Esquerda vs. Direita

74194 4-bit UniversalShift Register

Entradas Seriais LSI (Left Serail Input)RSI(Right Serial Input)

Entradas Paralelas: D, C, B, ASaídas Paralelas: QD, QC, QB, QASinal de ClearDispositivo trigado na subida do relógio

S1,S0 determina a função de deslocamentoS1 = 1, S0 = 1: Carrega na subida do relógio - Carga síncronaS1 = 1, S0 = 0: Desloca para Esquerda na

subida do relógio - LSI substitui o elemento DS1 = 0, S0 = 1: Desloca para Direita na subida do relógio - RSI substitui o elemento AS1 = 0, S0 = 0: Preserva os valores

Registrador de deslocamento

74194

Page 15: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

15

Registrador de DeslocamentoConversão Paralelo <=> Serial

QAQBQCQD

S1S0LSIDCBARSICLKCLR

QAQBQCQD

S1S0LSIDCBARSICLKCLR

D7D6D5D4

Sender

D3D2D1D0

QAQBQCQD

S1S0LSIDCBARSICLK

CLR

QAQBQCQD

S1S0LSIDCBARSICLK

CLR

Receiver

D7D6D5D4

D3D2D1D0

Clock

194 194

194194

EntradasParalelas

Transmissão Serial

SaídasParalelas

Page 16: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

16

Diagrama de estados Diagrama de estados é uma técnica de projeto que

permite ao projetista representar graficamente o funcionamento comportamental de uma máquina de estados finita (fsm).

Cada diagrama de estados consiste de um conjunto identificado por vértices que correspondem aos estados do circuito e por arcos que indicam a transição entre estados.

Cada par de vértices (não necessariamente distintos) são conectados por um arco direcionado indicando a transição de um estado para outro. Este arco existe apenas se um determinado sinal de entrada força a mudança de estado da máquina de um estado Qj para o estado Qk.

Page 17: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

17

Diagrama de estados - Mealy Se um arco direcionado conecta Qj a Qk quando a entrada da

máquina for ak , então o arco entre os dois estados é representado por: Qj ak /F(ak ,Qj )

Qk

entrada controle (saída)* Máquina Mealy - Observe que a saída é função da entrada e do

estado atual Assim vemos que:

– Vértices correspondem ao estado corrente do circuito.– O código descrito no arco representa “entrada corrente” e a “saída

corrente”.– A indicação da direção do arco indica o próximo estado

vértices

ak /F(ak ,Qj )

Page 18: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

18

Diagrama de estado - aplicação Exemplo: Projete um circuito que gere saída ‘1’ quando for observado 3

uns ‘1’s consecutivos na entrada. Nos demais casos a saída deve ser zero (‘0’).

nenhum 1

1o um (‘1’)

2o um(‘‘1’)

0

1

00

Q0

Q1

Q2

0/0 1/0

1/1

1/0

0/00/0

Page 19: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

19

Conversão do diagrama de estados

Q0

Q1

Q2

0/0 1/0

1/1

1/0

0/00/0

Tabela de transiçãoQ x 0 100 00/0 01/001 00/0 10/010 00/0 10/1

Codificação de estados:Q0 -> 00Q1 -> 01Q2 -> 10

Tabela de estadosQ x 0 1Q0 Q0/0 Q1/0Q1 Q0/0 Q2/0Q2 Q0/0 Q2/1

estado presente

saída

próximo estado

Variáveisde entrada

Page 20: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

20

Implementação do circuito Tabela verdade

entrada estado presente próximo estado Flip-Flop saída x y1 y2 y1+t y2+t J1 K1 J2 K2 Z

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

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

* Implementação da máquina de estados usando Flip-Flop tipo JK

Page 21: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

21

Implementação do circuito Equações booleanas

y1(t+1) = x y1 + x y2 y2(t+1) = x y1 + x y2 Z = x y1 y1y2 x 00 01 11 100 0 0 X 01 0 0 X 0

y1y2 x 00 01 11 100 0 0 X 01 1 0 X 1

y1y2 x 00 01 11 100 0 0 X 01 0 0 X 1

y1y2 x 00 01 11 100 0 0 X X1 0 1 X X

y1y2 x 00 01 11 100 X X X 11 X X X 0

y1y2 x 00 01 11 100 0 X X 01 1 X X 0

y1y2 x 00 01 11 100 X 1 X X1 X 1 X X

J1 = xy2

K1 = x K2 = 1

J2 = y1x

Page 22: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

22

Implementação do circuito

FF JK

K1

J1

Q

Q

FF JK

K2

J2

Q

Q

clock

x

‘1’

y1

y2

Z

Page 23: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

23

Contadores São máquinas seqüenciais (FSMs) que possuem uma

seqüência de estados bem definida em resposta a sinal de contagem.

Os contadores podem contar para frente ou para trás (up/down) e podem ser construídos por diferentes tipos de Flip-Flops.

A saída de um contador expõe o estado atual da máquina de estados.

Exemplo:– Contador de 2 bits: 00, 01, 10 ,11 (contador módulo 4)– Contador de 4 bits: 0000, ...., 1111 (Contador binário de 4

bits - módulo 16)

Page 24: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

24

Implementar um contador síncrono octal

Exemplo Contador binário de 3 bits

Tabela de Transiçãode Estados

Tabela de entradados Flip-Flops

Implementação comFlip-Flops tipo T(Toggle)

EstadoPresente

PróximoEstado

Flip-flopstipo T

Contadores - implementação

Diagrama detransição de

estados

C B A C+ B+ A+ TC TB TA0 0 0 0 0 1 0 0 10 0 1 0 1 0 0 1 10 1 0 0 1 1 0 0 10 1 1 1 0 0 1 1 11 0 0 1 0 1 0 0 11 0 1 1 1 0 0 1 11 1 0 1 1 1 0 0 11 1 1 0 0 0 1 1 1

Page 25: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

25

TA

CLK

\Reset

Q

Q

S

R

QATB

CLK

Q

Q

S

R

QBTCCLK

Q

Q

S

R

QC

Count

+

TB = A

TC = A • B

T A = 1

CB A

C

00 01 11 10

0

1

B

1 1 1 1

1 1 1 1

CB A

C

00 01 11 10

0

1

B

0 0 0 0

1 1 1 1

CB A

C

B

00 01 11 10

0

1

0 0 0 0

0 1 1 0

Contadores - implementação Mapa K para Flip-Flops tipo T

Count

\Reset

Q C

Q B

Q A

100 Diagrama de tempo

Page 26: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

26

Kinds of Registers and Counters Contador Síncrono - 74163

Contador UP síncrono de 4-Bits (74163)

- Sinais de entrada Load and Clear síncronos (sincronizados com o relógio)

- Flip-Flop trigados na subida do relógio

- Load Paralelo a partir dos sinais de entrada D, C, B, A

- P, T Enable Inputs: Ambos os sinais devem ser habilitados para permitir contagem

- RCO ("Ripple Carry Output") acionado quando o contador atinge o último estado “1111”. Este sinal é normalmente usado quando queremos cascatear contadores.

QAQBQCQD

163RCO

PT

ABCD

LOAD

CLR

CLK2

710

15

9

1

3456

14

1211

13

Contadores

Page 27: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

27

Kinds of Registers and CountersDiagrama de tempo do 74163

CLK

A

B

C

D

LOAD

CLR

P

T

Q A

Q B

Q C

Q D

RCO 12 13 14 15 0 1 2

Clear Load Count Inhibit

Na subida do relógio

Page 28: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

28

Reset

C

C

C, D

[open]

15¢

10¢

D

D

Diagrama de estados

Projeto - Síntese Lógica Implementar uma máquina de vender bombom

•Características:•Recebe moedas de 5 e 10 centavos•Não dá troco•Libera bombom quando valor recebido é igual ou superior a 15 centavos

Obs: Implementar projeto com Flip-Flop tipo JK

Page 29: 1 Sistemas Digitais Aula 10 GRECO-CIN-UFPE 2 Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo

29

PresentState 0¢

10¢

15¢

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

INPUT Next State 0¢ 5¢ 10¢ X 5¢ 10¢ 15¢ X 10¢ 15¢ 15¢ X 15¢

Output Open

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

CLK

OPEN

CLK

Q 0

D

R

Q

Q

D

R

Q

Q

\ Q 1

\reset

\reset

\ Q 0

\ Q 0

Q 0

Q 0

Q 1

Q 1

Q 1

Q 1

D

D

N

N

N

\ N

D 1

D 0

Projeto - Síntese LógicaReset

C/0

C/0

C, D/0

[open]

15¢

10¢

D/0

D/0

0/0

0/0

0/0