Transcript

SISTEMAS DIGITAIS

H. Neto, N. HortaSetembro de 04

CIRCUITOS SEQUENCIAISSÍNCRONOS

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 2

H. Neto, N. HortaSetembro de 04

SUMÁRIO:CIRCUITOS DE MOORE E MEALY

CARACTERIZAÇÃO

ESPECIFICAÇÃO

SÍNTESE

CONVERSÃO

EXEMPLOS

PROJECTOS ALTERNATIVOS1 FLIP-FLOP / ESTADO

UTILIZAÇÃO DE CONTADORES

SIMPLIFICAÇÃO DE MÁQUINAS DE ESTADOS

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 3

H. Neto, N. HortaSetembro de 04

CIRCUITOS DE MOORE E MEALY (CARACTERIZAÇÃO)

C.C.(Circuito

Combinatório)

Memória(Flip-Flops)

Máquina Sequencial (Sincrona)Modelo Geral

EntradasActuais (x)

SaídasActuais (z)

EstadoActual(EA)

EstadoSeguinte

(ES)

CP

***

***

***

***

MODELO GERAL

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 4

H. Neto, N. HortaSetembro de 04

CIRCUITOS DE MOORE E MEALY (CARACTERIZAÇÃO)

EntradasActuais

Memória(Flip-Flops)

CP

C.C.(Lógica de

Est.Seguinte)

C.C.(Lógica de

Saída)

(ES) SaídasActuais(EA)

Máquina de MOORE

Modelo de Moore: Circuito no qual as saídas são função directa do estado.

Modelo de Mealy: Circuito no qual as saídas são função do estado e das entradas.

EntradasActuais

Memória(Flip-Flops)

CP

C.C.(Lógica de

Est.Seguinte)

C.C.(Lógica de

Saída)

(ES) SaídasActuais

(EA)

Nota: Em geral, os circuitos de Moore apresentam uma maior simplicidade na geração das saídas, enquanto os circuitos de Mealy conduzem a um menor número de estados e à eventual redução do número de FFs necessários.

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 5

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MOORE (ESPECIFICAÇÃO)

Diagrama de estados: Cada estado é identificado através de um círculo com uma referência única e as saídas que lhe estão associadas (máquina de Moore). Cada transição entre estados é descrita através de um vector ao qual está associado o valor das entradas que conduzem a essa transição.

OU

Para análise da especificação e síntese de máquinas de estados segundo os modelos de Moore e de Mealy, utilizar-se-á um exemplo do projecto de um detector de sequência. Em particular, o projecto a realizar terá por objectivo determinar uma sequência de três ‘1’s na entrada X.

A/0 D/1C/0B/0X=0

X=0

X=1 X=1 X=1 X=1

X=0X=0X=0

A/1 D/0C/0B/0X=...111

X=1

X=0 X=1 X=1

X=1X=0X=0

X=0

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 6

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MOORE (SÍNTESE)

Tabelas de Transição de Estados e Tabelas de ExcitaçãoPor fim, a especificação da máquina de estados pode ainda ser realizada através da construção de uma tabela de transição de estados, onde se explicitam as saídas para cada estado (Moore) e os estados seguintes em função das várias entradas.

ABCD

Estado Presente

BCDD

X=1Estado SeguinteSaída Presente

Z X=00001

AAAA

A/0 D/1C/0B/0X=0

X=0

X=1 X=1 X=1 X=1

X=0X=0X=0

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 7

H. Neto, N. HortaSetembro de 04

CODIFICAÇÃO DE ESTADOS

Na síntese da máquina de estados é necessário substituir a representação simbólica dos estados por códigos binários – codificação de estados.

Se a máquina tem m estados, o código tem que ter pelo menos n bits, tal que m ≤ 2n. Em geral, usa-se o número mínimo de bits necessário (corresponde ao número mínimo de flip-flops). No entanto, veremos adiante que a utilização de um número de bits de estado superior ao mínimo pode ser , nalguns casos, vantajosa.

Por facilidade, as codificações mais utilizadas são as que correspondem à ordenação segundo o código binário ou segundo o código de Gray. No entanto, qualquer codificação que atribua códigos diferentes a estados diferentes conduz a implementações correctas.

A selecção do código mais apropriado para uma dada implementação (p.ex. o código que conduz ao circuito mais simples) não é trivial. Existem algoritmos mais ou menos complexos para tentar obter a melhor codificação, mas o seu estudo está fora do âmbito desta cadeira (uma heurística simples é, por exemplo, escolher o código de modo a minimizar as mudanças de bits em estados consecutivos da máquina).

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 8

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MOORE (SÍNTESE)

Após a especificação da máquina pretendida o processo de síntese inicia-se com a atribuição de uma codificação aos estados e a selecção dos FFs a utilizar (conforme descrito na síntese de contadores).

00011011

Q1Q0

ABCD

Estado

00011011

Estado PresenteQ1Q0 em (n)

01101111

X=1

Estado Seguinte Q1Q0 em (n+1) Saída Presente

Z X=00001

00000000

Tabelas de Transição de Estados e Tabelas de Excitação (cont)

ABCD

Estado Presente

BCDD

X=1Estado SeguinteSaída Presente

Z X=00001

AAAA

Tabelas de Codificação de Estados

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 9

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MOORE (SÍNTESE COM FF JK)

O processo de síntese prossegue com a determinação, através da construção de mapas de Karnaugh, das entradas dos FFs como função das entradas do circuito e do estado anterior.

00 01 11 10

0

1 0

0

x x

x

1

0 x

00 01 11 10

0

1 1

x

x 1

0

x

0 x

J1

J0

00 01 11 10

0

1 x

x

0 0

1

x

x 1

00 01 11 10

0

1 x x

xx

K1

K0

Q1Q0x

Q1Q0x

Q1Q0x

Q1Q0x

1

01

1

0 1

0

1 0

0 0

1

Q1

Q0

Z

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 10

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MOORE (DIAGRAMA LÓGICO COM FF JK)

Por fim, obtém-se o seguinte diagrama lógico, correspondente ao detector de sequência pretendido:

Sugestão: determine a frequência máxima com que este circuito funciona correctamente.

1K

C1

1J1K

C1

1JX

CLK

Z

Q0Q1

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 11

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MOORE (DIAGRAMA TEMPORAL)Na máquina de Moore a saída depende apenas do estado: a saída varia na sequência damudança de estado, portanto muda na sequência da transição de relógio e mantém-se constante durante o resto do ciclo de relógio.

X

CLK

0 1 1 0 1 1 1 1

A B C A B C D AEstado D

0

Z

DC

0

X

CLK

ZZ Correcto

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 12

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MOORE – FF D – codificação 1

X

Q1Q0

0100 1011

0

1

0000

1110

Q1 10

0

1

00

10

Q0

011 QXQXD ⋅+⋅=010 QXQXD ⋅+⋅= 01 QQZ ⋅=

1D

C1

1D

C1

Q1

Q0

X

CLKZ

Codificação de Estados

11D01C10B00A

X

Q1Q0

0100 1011

0

1

0000

1101

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 13

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MOORE – FF D – codificação 2

X

Q1Q0

0100 1011

0

1

0000

1110

( )01

011

QQXQXQXD

+⋅=⋅+⋅=

10 QXD ⋅= 01 QQZ ⋅=

Q1 10

0

1

00

01

Q0

1D

C1

1D

C1

Q1

Q0

X

CLKZ

Codificação de Estados

01D11C10B00A

X

Q1Q0

0100 1011

0

1

0000

0011

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 14

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MEALY (ESPECIFICAÇÃO)

Para o estudo das máquinas de Mealy considera-se, tal como no caso das máquinas de Moore, o projecto de um detector de sequência de três ‘1’s na entrada X.

Neste caso o diagrama de estados altera-se de acordo com a filosofia da máquina de Mealy, ou seja, a saída deixa de estar exclusivamente dependente do estado e daí a sua representação surgir, habitualmente, nos vectores correspondentes às transições entre estados onde se reflecte, também, a influência das entradas nessas saídas.

Conforme se pode observar, neste caso o comportamento do circuito pode ser modelado com um número de estados inferior ao modelo de Moore. Contudo, neste caso particular não há redução do número de FFs, apenas a existência de indiferenças suplementares nos mapas de Karnaugh que podem conduzir a uma maior simplificação da lógica associada à geração das entradas. Em contrapartida, a geração da saída será mais complexa.

A CBX/Z 0/0

1/0 1/0 1/1

0/00/0

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 15

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MEALY (SÍNTESE)

A estrutura da tabela de transição de estados é alterada de modo a reflectir a diferente opção na geração das saídas.

ABC

Estado Presente

B/0C/0C/1

X=1

Estado Seguinte e Saída Presente (Z)

X=0A/0A/0A/0

A CBX/Z 0/0

1/0 1/0 1/1

0/00/0

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 16

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MEALY (SÍNTESE)

A codificação de estados indicada, conduz a:

ABC

Estado Presente

B/0C/0C/1

X=1

Estado Seguinte e Saída Presente (Z)

X=0A/0A/0A/0

000110

Q1Q0

ABC

Estado

000110

Estado PresenteQ1Q0

01/010/010/1

X=1

Estado Seguinte e Saída Presente (Z)

X=000/000/000/0

Tabelas de Codificação de Estados

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 17

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MEALY (SÍNTESE COM FF JK)Conforme referido atrás, a geração das entradas é simplificada pela existência de indiferenças adicionais nos mapas de Karnaugh, enquanto o mapa para a geração das saídas é mais complexo devido à dependência das entradas.

00 01 11 10

0

1 0

0

x x

x

1

0 x

J1

00 01 11 10

0

1 x

x

x 0

1

x

x x

00 01 11 10

0

1 x x

xx

K1

K0

Q1Q0x

Q1Q0x

Q1Q0x

1

x1

x

00 01 11 10

0

1 1

x

x 0

0

x

0 x

J0

Q1Q0x

00 01 11 10

0

1 0

0

x 1

0

0

0 x

Z

Q1Q0x

Z = XQ1

J1 = XQ0 K1 = X

J0 = XQ1 K1 = 1

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 18

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MEALY (DIAGRAMA LÓGICO COM FF JK)

Sugestão: determine a frequência máxima deste circuito e compare a solução obtida com o caso da máquina de Moore.

Exemplo 1: Determine os diagramas de estado para um detector da sequência 0101 (com e sem sobreposição) para as máquinas de Moore e Mealy.

Exemplo 2: Determine os diagramas de estado (Moore e Mealy) para um gerador de sequência onde se aguarda que a entrada seja ‘1’ para gerar a sequência ‘1011’. A saída mantém-se a ‘1’ até a entrada ser 0, nesta situação recomeça-se o ciclo.

1K

C1

1J1K

C1

1JX

CLK

Z

Q0Q1

"1"

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 19

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MEALY (DIAGRAMA TEMPORAL)Na máquina de Mealy a saída pode ser directamente afectada por uma variação na entrada, mesmo que não haja mudança de estado. A saída tenta “antecipar” o valor que só é, de facto, correcto imediatamente antes da transição de relógio.

X

CLK

0 1 1 0 1 1 1 1

A B C A B C C AEstado C

0

Z

CB

0 1

Z Correcto

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 20

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MOORE VS. MÁQUINA DE MEALY

0 0 0 0 0 0 1 1 0

0 0 0 0 0 0 1 1 0

X

CLK

0 1 1 0 1 1 1 1 0

Z Moore

Z Mealy

As saídas em ambas as máquinas são equivalentes, mas não idênticas.A máquina de Mealy “antecipa” as saídas, mas em contrapartida tem um comportamentomais complexo.

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 21

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MEALY – FF D – codificação 1

( )01

011

QQXQXQXD

+⋅=⋅+⋅=

010 QQXD ⋅⋅= 1QXZ ⋅=Codificação de Estados

01C10B00A

X

Q1Q0

0100 1011

0

1

0X00

1X10

X

Q1Q0

0100 1011

0

1

0X00

0X01

X

Q1Q0

0100 1011

0

1

0X00

1X00

1D

C1

1D

C1

Q1

Q0

X

CLK

Z

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 22

H. Neto, N. HortaSetembro de 04

MÁQUINA DE MEALY – FF D – codificação 2

01 QXD ⋅= XD =0

Codificação de Estados

11C10B00A

X

Q1Q0

0100 1011

0

1

X000

X110

X

Q1Q0

0100 1011

0

1

X000

X111

X

Q1Q0

0100 1011

0

1

X000

X100

1QXZ ⋅=

1D

C1

1D

C1

Q1

Q0

X

CLK

Z

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 23

H. Neto, N. HortaSetembro de 04

CONVERSÃO DE MOORE PARA MEALY

No modelo de Moore uma entrada define um caminho para um estado e só aí a saída sofre alteração, enquanto no modelo de Mealy a saída é alterada assim que a entrada varia.A conversão de Moore para Mealy consiste, portanto, na antecipação das saídas do seguinte modo:

qkqj

ia / zaqj / zb qk / za

ia

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 24

H. Neto, N. HortaSetembro de 04

CONVERSÃO DE MOORE PARA MEALY (cont.)

Nota: a conversão descrita não minimiza o número de estados da máquina de Mealy, e.g., obtém-se um diagrama de Mealy com 4 em vez de 3 estados. A solução é identificar os estados redundantes ou recorrer a um processo sistemático de simplificação (a estudar mais à frente).

q4

q1

q2

q3

0/0

1/1

0/0

0/0

0/1 1/1

1/1

1/0

q4 / 1

q1 / 0

q2 / 0

q3 / 1

0

1

0

0

0 1

1

1

Exemplo:

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 25

H. Neto, N. HortaSetembro de 04

CONVERSÃO DE MEALY PARA MOORE

Neste caso, a existência de ramos com saídas diferentes no modelo de Mealy a convergirem para um mesmo estado obriga à inserção de novos estados para construir o diagrama de Moore.

q3

q4

i1/z1i1/z2

i1/z1

i2/z1i3/z1 i1/z1

q1/ z1 q3 / z1 q2 / z1

q4' / z1 q4

'' / z2

i1 i2 i1

i3 i1 i2

q1 q2

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 26

H. Neto, N. HortaSetembro de 04

CONVERSÃO DE MEALY PARA MOORE (cont.)

Exemplo:

0

11/0

C

A

B

0/0

0/10/0

1/0

1/1

C/0 B''/1 B'/0

A''/1 A'/0

1

1

1

1

0

00

0

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 27

H. Neto, N. HortaSetembro de 04

EXEMPLO – Máquina de Distribuição de Pastilhas (MDP)

Projecto de um controlador de uma máquina de distribuição de pastilhas:

A máquina entrega 1 pastilha quando recebe 15 cêntimos em moedas;recebe 1 moeda de cada vez;aceita moedas de 5 e de 10 cêntimos;um sensor mecânico indica se foi recebida 1 moeda de 5 cêntimos ou se foi recebida uma moeda de 10 cêntimos;o circuito tem uma única saída que, quando activa, abre a gaveta e entrega a pastilha ao cliente;não é entregue troco se forem recebidas moedas a mais.

m5m10

clk

reset

Controlador Abre

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 28

H. Neto, N. HortaSetembro de 04

MDP – DIAGRAMA DE ESTADOS

O controlador pode ser realizado com uma máquina de 4 estados:

S0 – estado inicial, não foi introduzida moeda.

S5 – foram introduzidos 5 cêntimos.

S10 – foram introduzidos 10 cêntimos (é indiferente se 1 moeda de 10c ou 2 de 5c).

S15 – foram introduzidos 15 cêntimos (ou mais).

A saída é activada apenas quando é atingido o estado S15.

S0/0

S5/0

S10/0

S15/1

10

10

01,10 XX

0001

01

00

00

Reset

Entradas: m5,m10Saída: abre

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 29

H. Neto, N. HortaSetembro de 04

MDP – TABELA DE TRANSIÇÃO DE ESTADOS

SaídaEstado SeguinteEntradasEstado Actual

XS0CS0CS0C

XS15CS15CS10C

XS10CS15CS5C

XS5CS10CS0C

X000X111X110X010

Q1

X000X110X011X100

Q0 ABRE

101

00001S10C010001011

00010S5C010001011

010001011

1

0Q1

1

0Q0 m10m5

S15C

S0C

1

10

0

1

00

0

11

1

0

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 30

H. Neto, N. HortaSetembro de 04

MDP – PROJECTO DA LÓGICA COMBINATÓRIA

0100 1011

00

01

11

10

0X10

1X10

0X00

1X11

m5 m10Q1Q0

K-mapa para D1

K-mapa para D0

K-mapa para Saída

010111 510 QQmQQmQD ++=

1055 010100 mQQmQQmQD ++=

01 QQAbre =

Q1 10

0

1

00

10

Q0

m5 m10Q1Q0 0100 1011

00

01

11

10

1X00

0X11

0X00

1X10

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 31

H. Neto, N. HortaSetembro de 04

MDP – LOGIGRAMA DO CIRCUITO

Q0

Q1

abre

1D

C1

R

1D

C1

R

m5m10

clkreset

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 32

H. Neto, N. HortaSetembro de 04

EXEMPLO – Comparador Série (CMP)

Pretende-se projectar um comparador série, que compara 2 números binários A e B.

Os números são recebidos em série (bit a bit), com o bit de menor peso a ser recebido primeiro.

BA

clk

reset

Comparador-série A > B

A = B

A < B

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 33

H. Neto, N. HortaSetembro de 04

CMP1 – DIAGRAMA DE ESTADOS

0 1 0 0 1 1 1 0 0

0 1 0 1 01 1 1 0

0

0

MENORMAIORIGUAL IGUAL IGUAL MENOR MENOR MAIOR MENOR MENOR

A

B

CLK

Estado

A=B

A>B

A<B

Exemplo

O controlador pode ser realizado como uma máquina de Moore de 3 estados.

IGUAIS /100

MENOR /001MAIOR / 010

0110

01

10

00,11

00,11,10 00,11,01

ResetEntradas: A , BSaídas: A=B , A>B , A<B

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 34

H. Neto, N. HortaSetembro de 04

CMP1 – TABELA DE TRANSIÇÃO DE ESTADOS

000000001111

A=B

111100000000

A>BSaídasEstado SeguinteEntradasEstado Actual

MAIORMAIORMENORMAIORMENORMAIORMENORMENORIGUAISMAIORMENORIGUAIS

110101000100

Q1

001010110010

Q0 A<B

00001MAIOR010001011

10010MENOR110101111

010001011

0Q1

0Q0 BA

IGUAIS 00 0

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 35

H. Neto, N. HortaSetembro de 04

CMP1 – PROJECTO DA LÓGICA COMBINATÓRIA

K-mapa para D1

K-mapa para D0

K-mapas para Saídas

AQBABQD 111 ++=

BQAQBAD 000 ++=

( ) 01 QQBA ==

A BQ1Q0 0100 1011

00

01

11

10

1000

1000

XXXX

1101

0100 1011

00

01

11

10

0010

0111

XXXX

0010

Q1Q0

A B ( ) 1QBA =>

( ) 0QBA =<

Q1 10

0

1

01

X0

Q0

Q1 10

0

1

00

X1

Q0

Q1 10

0

1

10

X0

Q0

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 36

H. Neto, N. HortaSetembro de 04

CMP1 – LOGIGRAMA DO CIRCUITO

1D

C1

R

1D

C1

RCLK

RESET

AB

A<B

A>B

A=B

Q0

Q1

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 37

H. Neto, N. HortaSetembro de 04

CMP2 – DIAGRAMA DE ESTADOS

Exemplo

O controlador pode também ser realizado como uma máquina deMealy de 3 estados.

0 1 0 0 1 1 1 0 0

0 1 0 1 01 1 1 0

0

0

MENORMAIORIGUAL IGUAL IGUAL MENOR MENOR MAIOR MENOR MENOR

A

B

CLK

Estado

A=B

A>B

A<B

IGUAIS

MENORMAIOR

01 / 00110 /010

01 / 001

10 / 010

00,11 / 100

00,11,10 / 010 00,11,01 / 001

ResetEntradas: A , BSaídas: A=B , A>B , A<B

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 38

H. Neto, N. HortaSetembro de 04

CMP2 – TABELA DE TRANSIÇÃO DE ESTADOS

000000001001

A=B

110101000100

A>BSaídasEstado SeguinteEntradasEstado Actual

MAIORMAIORMENORMAIORMENORMAIORMENORMENORIGUAISMAIORMENORIGUAIS

110101000100

Q1

001010110010

Q0 A<B

00001MAIOR110001011

10010MENOR110001111

110001011

0Q1

0Q0 BA

IGUAIS 00 0

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 39

H. Neto, N. HortaSetembro de 04

CMP2 – PROJECTO DA LÓGICA COMBINATÓRIA

AQBABQD 111 ++=

BQAQBAD 000 ++=

A BQ1Q0 0100 1011

00

01

11

10

1000

1000

XXXX

1101

0100 1011

00

01

11

10

0010

0111

XXXX

0010

Q1Q0

A B

0100 1011

00

01

11

10

0101

0000

XXXX

0000

Q1Q0

A B

0100 1011

00

01

11

10

1000

1000

XXXX

1101

Q1Q0

A B

0100 1011

00

01

11

10

0010

0111

XXXX

0010

Q1Q0

A B

( )( )BAQQ

BAQQBAQQBA⊕=

+==

01

0101

( ) AQBABQBA 11 ++=>

( ) BQAQBABA 00 ++=<

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 40

H. Neto, N. HortaSetembro de 04

CMP2 – LOGIGRAMA DO CIRCUITO

1D

C1

R

1D

C1

RCLK

RESET

AB

A<B

A>B

A=B

Q0

Q1

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 41

H. Neto, N. HortaSetembro de 04

CMP – FORMAS DE ONDA – Moore vs. Mealy

0 1 0 0 1 1 1 0 0

0 1 0 1 01 1 1 0

0

0

MENORMAIORIGUAL IGUAL IGUAL MENOR MENOR MAIOR MENOR MENOR

A

B

CLK

Estado

A=B

A>B

A<B

A=B

A>B

A<B{Mealy

{Moore

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 42

H. Neto, N. HortaSetembro de 04

PROJECTOS ALTERNATIVOS

A síntese de circuitos sequenciais síncronos foi abordada segundo o método clássico cujo objectivo é o de minimizar o número de flip-flops do circuito. De seguida, apresenta-se-ão alguns métodos alternativos que, nalguns casos, podem ser mais vantajosos. No capítulo seguinte será abordada ainda a implementação de máquinas de estados com recurso a memórias.

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 43

H. Neto, N. HortaSetembro de 04

PROJECTOS ALTERNATIVOS (1 FLIP-FLOP / ESTADO)

Uma metodologia de projecto alternativa consiste em utilizar um número de flip-flops igual ao número de estados e codificar os estados de modo a existir um e um só FF activo por estado (“One-hot enconding”). Neste caso, o projecto tem as seguintes características:• Cada estado corresponde à activação de 1 e só um FF, e.g., 0100000 (correcto) e 01100000 (incorrecto).• A inicialização do circuito corresponde à activação do FF correspondente ao estado inicial e à desactivação de todos os outros, e.g., 10000000 (para oito estados).• O projecto fica bastante simplificado porque é possível obter as equações e/ou o diagrama lógico do circuito directamente a partir da especificação da máquina. (No entanto, o projecto pode ser realizado também segundo o procedimento habitual)

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 44

H. Neto, N. HortaSetembro de 04

UM FLIP-FLOP / ESTADO

Projecto segundo o procedimento habitual (sequência “111” – máq. Mealy):

QCQBQA

001

CBA

Codificação de Estados

100100

ABC

Estado Presente

B/0C/0C/1

X=1

Estado Seguinte e Saída Presente (Z)

X=0A/0A/0A/0

QAQB

QC X0100 1011

00

01

11

10

01XX

XX00

XXXX

XX00

QAQB

QC X0100 1011

00

01

11

10

01XX

XX10

XXXX

XX00

QAQB

QC X0100 1011

00

01

11

10

00XX

XX00

XXXX

XX10

QAQB

QC X0100 1011

00

01

11

10

10XX

XX01

XXXX

XX01

XDA = AB QXD ⋅=

AC QXD ⋅= CQXZ ⋅=

Veremos, no entanto, que o facto de 1 estado ser directamente identificado pela existência de um “1” no FF respectivo, permite uma derivação directa das equações/logigrama do circuito.

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 45

H. Neto, N. HortaSetembro de 04

UM FLIP-FLOP / ESTADO

No caso de 1 FF por estado o diagrama lógico determina-se sem recurso a tabelas de estado ou a mapas de Karnaugh. A determinação do diagrama lógico é, assim, conseguida através da implementação directa de sub-estruturas do diagrama de estados.(1) Transição Incondicional entre Estados:

CP

1D

C1

1D

C1

A BSEQ_H

SEQ_L

Estado A

Estado B

Estado A

Estado BSaída: Seq_H

Estado A

Estado BSaída: Seq_L

A

B/1

B

AB

QHSEQQD

==

_

Equações:

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 46

H. Neto, N. HortaSetembro de 04

UM FLIP-FLOP / ESTADO (cont.)

(2) Transição Condicional entre Estados:

Seq_H

Estado A

Estado B Estado C

x ?

0

1

Estado A

Estado B Estado C

x ?

0 1

&

&

1

1D

C1

1D

C1

1D

C1

x

CP

A C

B

SEQ_H

A

CB

10

A

AC

AB

QXHSEQQXDQXD

⋅=⋅=⋅=

_

Equações:

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 47

H. Neto, N. HortaSetembro de 04

UM FLIP-FLOP / ESTADO (cont.)

(3) Convergência de Ramos correspondentes a Transições entre Estados:

CP

1D

C1

1D

C11D

C1

> 1

A

C

B

Estado A Estado B

Estado C

A

C

B

BAC QQD +=

Equação:

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 48

H. Neto, N. HortaSetembro de 04

UM FLIP-FLOP / ESTADO – EXEMPLO SEQ-MOORE

A/0 D/1C/0B/0X=0

X=0

X=1 X=1 X=1 X=1

X=0X=0X=0

1D

C1

&

&

1D

C1

&

&

1D

C1

&

&

> 1

1D

C1

&

&

> 1

1

CP CP

CPCP

XX

X X

X

XX

A B

C D SEQ_H

X

D

DCD

BC

AB

DC

BAA

QHSEQQXQXD

QXDQXD

QXQXQXQXD

=⋅+⋅=

⋅=⋅=

⋅+⋅+⋅+⋅=

_

Equações:

Nota: A equação de DA pode ser trivialmente simplificada. Como?

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 49

H. Neto, N. HortaSetembro de 04

UM FLIP-FLOP / ESTADO – EXEMPLO SEQ-MEALY

( )

C

CBC

AB

CBA

CBAA

QXZQXQXD

QXDX

QQQXQXQXQXD

⋅=⋅+⋅=

⋅==

++⋅=⋅+⋅+⋅=

ABC

Estado Presente

B/0C/0C/1

X=1

Estado Seguinte e Saída Presente (Z)

X=0A/0A/0A/0

A CBX/Z 0/0

1/0 1/0 1/1

0/00/0

Compare com os resultados obtidos no slide 44.

Derivação “directa” das equações:

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 50

H. Neto, N. HortaSetembro de 04

UM FLIP-FLOP / ESTADO – EXEMPLO (Cont.)

No presente caso, devido ao reduzido número de estados a síntese clássica permite uma maior simplicidade na solução sem grande trabalho adicional ao nível da síntese. Contudo, este exemplo serve para evidenciar a facilidade com que se pode passa de um diagrama de estados directamente para um diagrama lógico. Nota: por simplicidade não se representam os sinais de preset e clear dos FFs que permitemimpôr o estado inicial no circuito – neste tipo de codificação é sempre necessário inicializar a máquina! (porquê?)Nota: em tecnologias em que o custo de um flip-flop é o mesmo de uma porta lógica básica, este tipo de codificação é muitas vezes o mais adequado, pois o acréscimo de FFs é compensado pela simplicidade do projecto e, algumas vezes, também por uma redução na lógica combinatória.

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 51

H. Neto, N. HortaSetembro de 04

PROJECTOS ALTERNATIVOS – CONTADORES

Uma outra alternativa em termos de projecto corresponde à utilização de contadores integrados na implementação das máquinas de estados.

Esta solução é especialmente útil no caso de existir um elevado número de transições incondicionais entre estados, o que reduz consideravelmente a necessidade de carregamento paralelo.

Deste modo a utilização de contadores na implementação de máquinas de estado requer o projecto da:• lógica combinatória que gera o sinal de carregamento paralelo• lógica combinatória que gera as entradas de carregamento paralelo (estado seguinte quando há quebra de sequência)

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 52

H. Neto, N. HortaSetembro de 04

PROJECTOS ALTERNATIVOS – CONTADORES

A título de exemplo considerar-se-á o detector de sequência referido anteriormente, como forma de comparar as anteriores soluções, e o contador integrado 74LS163A (ver secção de contadores).

CP

LOAD_L

D0

D1

D2

D3

M1[Load]

C5/2,3,4+

1, 2D Q0

Q1

Q2

Q3

CTR DIV 1674LS163A

EN1_H

EN2_H

COUNT_H

G4

G3

M2[Count]

CLEAR_L 5CT=0

1,5D [1]

[2]

[4]

[8]

3CT=15

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 53

H. Neto, N. HortaSetembro de 04

PROJECTOS ALTERNATIVOS – CONTADORES

EXEMPLO: Detector da sequência “111”Naturalmente, este exemplo apenas requer a utilização de um contador de módulo 4 (4 estados Moore ou 3 estados Mealy).Tendo presente a sub-utilização do contador disponível, prossegue-se com a síntese das lógica combinatória.Considerando a seguinte codificação de estados:A=00; B=01, C=10; D=11teremos a seguinte sequência de estados de contagem:

A 00B 01C 10D 11

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 54

H. Neto, N. HortaSetembro de 04

PROJECTOS ALTERNATIVOS – CONTADORES

EXEMPLO (cont) ... e os seguintes casos em que a máquina de estados quebra a sequência de contagem.

E.A. Entrada E.S.00 x=0 0001 x=0 0010 x=0 0011 x=0 0011 x=1 11

De seguida devem construir-se os mapas de Karnaugh com as 3 entradas (E.A. e X) para as várias funções pretendidas (sinal de carregamento paralelo, duas entradas menos significativas do carregamento paralelo).

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 55

H. Neto, N. HortaSetembro de 04

PROJECTOS ALTERNATIVOS – CONTADORES

EXEMPLO (cont)1) Sinal de Activação do Carregamento Paralelo.

2) Determinação da entrada D0. 3) Determinação da entrada D1.

1

Q1Q0x 00 10 11 01

0

1 x x x

0 0 00

D0 = x

Q1Q0x 00 10 11 01

0

1 x x x

0 0 00

1

D1 = x

1

Q1Q0x 00 10 11 01

0

1 1 10

0 0 0 0

LOAD_L = x . Q1Q0

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 56

H. Neto, N. HortaSetembro de 04

PROJECTOS ALTERNATIVOS – CONTADORES

EXEMPLO (cont):

Nota: para situações mais complexas faria sentido a utilização de um descodificador para detectar os estados que conduzem a carregamentos paralelos

CP

LOAD_L

D0

D1

D2

D3

M1[Load]

C5/2,3,4+

1, 2D Q0

Q1

Q2

Q3

CTR DIV 1674LS163A

G4

G3

M2[Count]

5CT=0

1,5D [1]

[2]

[4]

[8]

3CT=15

X & &

'1'

'1'

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 57

H. Neto, N. HortaSetembro de 04

SIMPLIFICAÇÃO POR ELIMINAÇÃO DE ESTADOS REDUNDANTESEmbora as máquinas de Moore e Mealy sejam conceptualmente elementares a sua utilização na resolução de alguns problemas de controlo, mais complexos do que simples detectores de sequência, pode facilmente conduzir a um elevado número de estados e transições. Deste modo, pode tornar-se extremamente complexo obter a melhor solução directamente. Como é óbvio, a utilização de uma representação com o número mínimo de estados tem vantagens claras tanto na síntese, como na implementação.2 estados são equivalentes se, para as mesmas entradas, transitam para os mesmos estados e têm as mesmas saídas:

...P...Q...

Estado Presente

...S/1...S/1...

X=1

Estado Seguinte e Saída Presente (Z)

X=0...R/0...R/0...

Nota: As técnicas descritas são válidas tanto para Mealy comoMoore e com um número arbitrário de estados, entradas e saídas.

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 58

H. Neto, N. HortaSetembro de 04

ELIMINAÇÃO POR INSPECÇÃO

C/1A/1B/0A/1C/1X=1

Estado Seguinte e Saída Presente (Z)Estado

PresenteX=0

EDCBA

C/0D/1C/0D/0

B/0

C/1B/0A/1C/1X=1

Estado Seguinte e Saída Presente (Z)Estado

PresenteX=0

ECBA

C/0B/1B/0

B/0

B/0A/1C/1X=1

Estado Seguinte e Saída Presente (Z)Estado

PresenteX=0

CBA

C/0B/1

B/0

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 59

H. Neto, N. HortaSetembro de 04

ELIMINAÇÃO POR PARTIÇÃONo caso anterior, a existência de estados redundante era evidente pela explicitação de estados seguintes e saídas idênticas para diferentes estados presentes. No entanto, 2 estados são equivalentes se, para as mesmas entradas, transitam para estados equivalentes e têm as mesmas saídas.O método das partições permite identificar estados redundantes também quando os estadosseguintes não sejam inicialmente os mesmos.

F/0H/0D1

E/0G/0C1

E/0D/0B1

A/0C/0A/0A/0

C/0X=1

Estado Seguinte e Saída Presente (Z)Estado

PresenteX=0

H1

G1

F1

E1

A1

G/0G/1D/0H/0

B/0

F2H1D1

E1G1C1

E1D1B1

A1

C1

A1

A1

C1

X=1

Estado Seguinte e Saída Presente (Z)Estado

PresenteX=0

H1

G1

F2

E1

A1

G1

G1

D1

H1

B1

F2H1D3

E1G1C1

E1D3B1

A1

C1

A1

A1

C1

X=1

Estado Seguinte e Saída Presente (Z)Estado

PresenteX=0

H1

G1

F2

E1

A1

G1

G1

D3

H1

B1

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 60

H. Neto, N. HortaSetembro de 04

ELIMINAÇÃO POR PARTIÇÃO (cont.)

F2H1D3

E1G4C1

E1D3B4

A1

C1

A1

A1

C1

X=1

Estado Seguinte e Saída Presente (Z)Estado

PresenteX=0

H1

G4

F2

E1

A1

G4

G4

D3

H1

B4

F2H1D3

E5G4C5

E5D3B4

A5

C5

A5

A5

C5

X=1

Estado Seguinte e Saída Presente (Z)Estado

PresenteX=0

H1

G4

F2

E5

A5

G4

G4

D3

H1

B4

F2H1D3

E1G1C1

E1D3B1

A1

C1

A1

A1

C1

X=1

Estado Seguinte e Saída Presente (Z)Estado

PresenteX=0

H1

G1

F2

E1

A1

G1

G1

D3

H1

B1

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 61

H. Neto, N. HortaSetembro de 04

ELIMINAÇÃO POR PARTIÇÃO (cont.)

a/0b/1dd/0e/0ca/0c/0b

a/0

a/0X=1

Estado Seguinte e Saída Presente (Z)Estado

PresenteX=0

e

a

e/0

b/0

FdDc

B,Gb

H

A,C,E

Equivalência de Estados

e

a

F2H1D3

E5G4C5

E5D3B4

A5

C5

A5

A5

C5

X=1

Estado Seguinte e Saída Presente (Z)Estado

PresenteX=0

H1

G4

F2

E5

A5

G4

G4

D3

H1

B4

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SÍNCRONOS - 62

H. Neto, N. HortaSetembro de 04

BIBLIOGRAFIA

[1] M. Morris Mano, Charles R. Kime, “Logic and Computer Design Fundamentals”, Prentice-Hall International, Inc. (Capítulo 4, Secções 4.4 a 4.7)


Top Related