Você está na página 1de 62

SISTEMAS DIGITAIS

CIRCUITOS SEQUENCIAIS SNCRONOS

Setembro de 04

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 2

SUMRIO:
CIRCUITOS DE MOORE E MEALY
CARACTERIZAO ESPECIFICAO SNTESE CONVERSO EXEMPLOS

PROJECTOS ALTERNATIVOS
1 FLIP-FLOP / ESTADO UTILIZAO DE CONTADORES

SIMPLIFICAO DE MQUINAS DE ESTADOS

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 3 CIRCUITOS DE MOORE E MEALY (CARACTERIZAO)


MODELO GERAL
Mquina Sequencial (Sincrona) Modelo Geral Entradas Actuais (x)
* * *

C.C. (Circuito Combinatrio)

* * *

Sadas Actuais (z)

Estado Actual (EA)


* * *

Estado Seguinte (ES) Memria (Flip-Flops)


* * *

CP

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 4 CIRCUITOS DE MOORE E MEALY (CARACTERIZAO)


Modelo de Moore: Circuito no qual as sadas so funo directa do estado.
Entradas Actuais Mquina de MOORE C.C. (Lgica de Est. Seguinte) (ES) Memria (Flip-Flops) C.C. (Lgica de Sada) Sadas Actuais

(EA)

CP

Modelo de Mealy: Circuito no qual as sadas so funo do estado e das entradas.


Entradas Actuais Sadas Actuais

C.C. (Lgica de Est. Seguinte)

(ES)

Memria (Flip-Flops) (EA) CP

C.C. (Lgica de Sada)

Nota: Em geral, os circuitos de Moore apresentam uma maior simplicidade na gerao das sadas, enquanto os circuitos de Mealy conduzem a um menor nmero de estados e eventual reduo do nmero de FFs necessrios.
Setembro de 04 SISTEMAS DIGITAIS H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 5 MQUINA DE MOORE (ESPECIFICAO)


Para anlise da especificao e sntese de mquinas de estados segundo os modelos de Moore e de Mealy, utilizar-se- um exemplo do projecto de um detector de sequncia. Em particular, o projecto a realizar ter por objectivo determinar uma sequncia de trs 1s na entrada X. Diagrama de estados: Cada estado identificado atravs de um crculo com uma referncia nica e as sadas que lhe esto associadas (mquina de Moore). Cada transio entre estados descrita atravs de um vector ao qual est associado o valor das entradas que conduzem a essa transio.
X=0 X=0

A/0

X=1

B/0

X=1

C/0
X=0

X=1

X=1

D/1
X=0

X=0

OU
X=0 X=...111 X=1 X=0 X=1 X=1 X=0 X=1

A/1

B/0

C/0
X=0

D/0

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 6 MQUINA DE MOORE (SNTESE)


Tabelas de Transio de Estados e Tabelas de Excitao Por fim, a especificao da mquina de estados pode ainda ser realizada atravs da construo de uma tabela de transio de estados, onde se explicitam as sadas para cada estado (Moore) e os estados seguintes em funo das vrias entradas.
X=0 X=0

A/0

X=1

B/0

X=1

C/0
X=0

X=1

X=1

D/1
X=0

X=0

Estado Presente A B C D

Sada Presente Z 0 0 0 1

Estado Seguinte X=0 X=1 A B A C A D A D

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 7 CODIFICAO DE ESTADOS


Na sntese da mquina de estados necessrio substituir a representao simblica dos estados por cdigos binrios codificao de estados. Se a mquina tem m estados, o cdigo tem que ter pelo menos n bits, tal que m 2n. Em geral, usa-se o nmero mnimo de bits necessrio (corresponde ao nmero mnimo de flip-flops). No entanto, veremos adiante que a utilizao de um nmero de bits de estado superior ao mnimo pode ser , nalguns casos, vantajosa. Por facilidade, as codificaes mais utilizadas so as que correspondem ordenao segundo o cdigo binrio ou segundo o cdigo de Gray. No entanto, qualquer codificao que atribua cdigos diferentes a estados diferentes conduz a implementaes correctas. A seleco do cdigo mais apropriado para uma dada implementao (p.ex. o cdigo que conduz ao circuito mais simples) no trivial. Existem algoritmos mais ou menos complexos para tentar obter a melhor codificao, mas o seu estudo est fora do mbito desta cadeira (uma heurstica simples , por exemplo, escolher o cdigo de modo a minimizar as mudanas de bits em estados consecutivos da mquina).

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 8 MQUINA DE MOORE (SNTESE)


Tabelas de Transio de Estados e Tabelas de Excitao (cont) Aps a especificao da mquina pretendida o processo de sntese inicia-se com a atribuio de uma codificao aos estados e a seleco dos FFs a utilizar (conforme descrito na sntese de contadores). Sada Presente Estado Seguinte
Estado Presente A B C D

Tabelas de Codificao de Estados


Estado A B C D Q1Q0 00 01 10 11

Z 0 0 0 1

X=0 A A A A

X=1 B C D D

Estado Presente Sada Presente Q1Q0 em (n) Z 00 01 10 11


SISTEMAS DIGITAIS

0 0 0 1

Estado Seguinte Q1Q0 em (n+1) X=0 X=1 00 01 00 10 00 11 00 11


H. Neto, N. Horta

Setembro de 04

CIRCUITOS SEQUENCIAIS SNCRONOS - 9 MQUINA DE MOORE (SNTESE COM FF JK)


O processo de sntese prossegue com a determinao, atravs da construo de mapas de Karnaugh, das entradas dos FFs como funo das entradas do circuito e do estado anterior.
Q1 Q 0 00 x 0 1 0 0 01 0 1 11 x x 10 x x Q1 Q0 00 x 0 1 x x 01 x x 11 1 0 10 1 0

J1
Q1Q0 00 x 0 1 0 1 01 x x 11 x x 10 0 1 Q1 Q0 00 x 0 1 x x

K1
01 1 1 11 1 0 10 x x

J0
Q0 Q1 0 1 0 0 0 1 0 1

K0

Z
Setembro de 04 SISTEMAS DIGITAIS H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 10 MQUINA DE MOORE (DIAGRAMA LGICO COM FF JK)


Por fim, obtm-se o seguinte diagrama lgico, correspondente ao detector de sequncia pretendido:

1J 1K

Q1

1J 1K C1

Q0

CLK

C1

Sugesto: determine a frequncia mxima com que este circuito funciona correctamente.

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 11 MQUINA DE MOORE (DIAGRAMA TEMPORAL)


Na mquina de Moore a sada depende apenas do estado: a sada varia na sequncia da mudana de estado, portanto muda na sequncia da transio de relgio e mantm-se constante durante o resto do ciclo de relgio.
CLK X 0 Estado Z A 1 B 1 C 0 A 1 B 1 C 1 D 1 D 0 A

CLK X
C D

0 Z Correcto

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 12 MQUINA DE MOORE FF D codificao 1


Q1Q0 X 0 1 00 0 0 01 0 1 11 0 1 10 0 1

Q1Q0 X 0 1 00 0 1 01 0 0 11 0 1 10 0 1

Q0 Q1 0 1

0 0 0

1 0 1

Codificao de Estados A B C D 0 0 1 1 0 1 0 1

D1 = X Q1 + X Q0

D0 = X Q1 + X Q0

Z = Q1 Q0

X 1D CLK C1

Q1

1D C1

Q0

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 13 MQUINA DE MOORE FF D codificao 2


Q1Q0 X 0 1 00 0 0 01 0 1 11 0 1 10 0 1
Q1Q0 X 0 1 00 0 1 01 0 1 11 0 0 10 0 0

Q0 Q1 0 1

0 0 1

1 0 0

Codificao de Estados A B C D 0 0 1 1 0 1 1 0

D1 = X Q1 + X Q0 = X (Q1 + Q0 )

D0 = X Q1

Z = Q1 Q0

1D C1

Q1

CLK

1D C1

Q0

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 14 MQUINA DE MEALY (ESPECIFICAO)


Para o estudo das mquinas de Mealy considera-se, tal como no caso das mquinas de Moore, o projecto de um detector de sequncia de trs 1s na entrada X. Neste caso o diagrama de estados altera-se de acordo com a filosofia da mquina de Mealy, ou seja, a sada deixa de estar exclusivamente dependente do estado e da a sua representao surgir, habitualmente, nos vectores correspondentes s transies entre estados onde se reflecte, tambm, a influncia das entradas nessas sadas.
X/Z 0/0

1/0 0/0

1/0

C
0/0

1/1

Conforme se pode observar, neste caso o comportamento do circuito pode ser modelado com um nmero de estados inferior ao modelo de Moore. Contudo, neste caso particular no h reduo do nmero de FFs, apenas a existncia de indiferenas suplementares nos mapas de Karnaugh que podem conduzir a uma maior simplificao da lgica associada gerao das entradas. Em contrapartida, a gerao da sada ser mais complexa.

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 15 MQUINA DE MEALY (SNTESE)


A estrutura da tabela de transio de estados alterada de modo a reflectir a diferente opo na gerao das sadas.

X/Z

0/0

1/0 0/0

1/0

C
0/0

1/1

Estado Seguinte e Estado Presente Sada Presente (Z) X=0 X=1 A A/0 B/0 B A/0 C/0 C A/0 C/1

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 16 MQUINA DE MEALY (SNTESE)


A codificao de estados indicada, conduz a:
Estado Seguinte e Estado Presente Sada Presente (Z) X=0 X=1 A A/0 B/0 B A/0 C/0 C A/0 C/1

Tabelas de Codificao de Estados


Estado A B C Q1Q0 00 01 10

Estado Seguinte e Estado Presente Sada Presente (Z) Q1Q0 X=0 X=1 00 00/0 01/0 01 00/0 10/0 10 00/0 10/1

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 17 MQUINA DE MEALY (SNTESE COM FF JK)


Conforme referido atrs, a gerao das entradas simplificada pela existncia de indiferenas adicionais nos mapas de Karnaugh, enquanto o mapa para a gerao das sadas mais complexo devido dependncia das entradas.
Q1 Q 0 00 x 0 1 0 0 01 0 1 11 x x 10 x x Q1 Q0 00 x 0 1 x x 01 x x 11 x x 10 1 0

J1
Q 1 Q0 00 x 0 1 0 1 01 x x 11 x x 10 0 0 Q1 Q0 00 x 0 1 x x

K1
01 1 1 11 x x 10 x x

J1 = XQ0 J0 = XQ1

K1 = X K1 = 1

J0
Q1 Q 0 00 x 0 1 0 0 01 0 0 11 x x 10 0 1

K0

Z = XQ1

Z
Setembro de 04 SISTEMAS DIGITAIS H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 18 MQUINA DE MEALY (DIAGRAMA LGICO COM FF JK)


Z

1J 1K

Q1 "1"

1J 1K C1

Q0

CLK

C1

Sugesto: determine a frequncia mxima deste circuito e compare a soluo obtida com o caso da mquina de Moore. Exemplo 1: Determine os diagramas de estado para um detector da sequncia 0101 (com e sem sobreposio) para as mquinas de Moore e Mealy. Exemplo 2: Determine os diagramas de estado (Moore e Mealy) para um gerador de sequncia onde se aguarda que a entrada seja 1 para gerar a sequncia 1011. A sada mantm-se a 1 at a entrada ser 0, nesta situao recomea-se o ciclo.

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 19 MQUINA DE MEALY (DIAGRAMA TEMPORAL)


Na mquina de Mealy a sada pode ser directamente afectada por uma variao na entrada, mesmo que no haja mudana de estado. A sada tenta antecipar o valor que s , de facto, correcto imediatamente antes da transio de relgio.
CLK X 0 Estado Z A 1 B 1 C 0 A 1 B 1 C 1 C 1 C 0 A

Z Correcto

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 20 MQUINA DE MOORE VS. MQUINA DE MEALY


As sadas em ambas as mquinas so equivalentes, mas no idnticas. A mquina de Mealy antecipa as sadas, mas em contrapartida tem um comportamento mais complexo.

CLK X Z Moore Z Mealy 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 0 0 0

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 21 MQUINA DE MEALY FF D codificao 1


Q1Q0 X 0 1 00 0 0 01 0 1 11 X X 10 0 1 Q1Q0 X 0 1 00 0 1 01 0 0 11 X X 10 0 0 Q1Q0 X 0 1 00 0 0 01 0 0 11 X X 10 0 1

Codificao de Estados A B C 0 0 1 0 1 0

D1 = X Q1 + X Q0 = X (Q1 + Q0 )

D0 = X Q1 Q0

Z = X Q1
Z

1D C1

Q1

CLK

1D C1

Q0

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 22 MQUINA DE MEALY FF D codificao 2


Q1Q0 X 0 1 00 0 0 01 0 1 11 0 1 10 X X Q1Q0 X 0 1 00 0 1 01 0 1 11 0 1 10 X X Q1Q0 X 0 1 00 0 0 01 0 0 11 0 1 10 X X

Codificao de Estados A B C 0 0 1 0 1 1

D1 = X Q0

D0 = X

Z = X Q1

1D C1

Q1

CLK

1D C1

Q0

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 23 CONVERSO DE MOORE PARA MEALY

No modelo de Moore uma entrada define um caminho para um estado e s a a sada sofre alterao, enquanto no modelo de Mealy a sada alterada assim que a entrada varia. A converso de Moore para Mealy consiste, portanto, na antecipao das sadas do seguinte modo:

q j / zb

ia

q k / za

qj

i a / za

qk

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 24 CONVERSO DE MOORE PARA MEALY (cont.)


Exemplo:
0 q2 / 0 1 q1 / 0 0 q4 / 1 0 1 1 0 q3 / 1 1 q1 0/1 q4 1/0 0/0 1/1 1/1 q2 0/0 q3 1/1 0/0

Nota: a converso descrita no minimiza o nmero de estados da mquina de Mealy, e.g., obtm-se um diagrama de Mealy com 4 em vez de 3 estados. A soluo identificar os estados redundantes ou recorrer a um processo sistemtico de simplificao (a estudar mais frente).
Setembro de 04 SISTEMAS DIGITAIS H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 25 CONVERSO DE MEALY PARA MOORE


Neste caso, a existncia de ramos com sadas diferentes no modelo de Mealy a convergirem para um mesmo estado obriga insero de novos estados para construir o diagrama de Moore.

q4 i1/z1 i1/z2 i1/z1

q4' / z1

q4'' / z2

i1

i2

i1

q1 i3/z1

q2 i2/z1

q3 i1/z1

q1/ z1 i3

q3 / z1 i1

q2 / z1 i2

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 26 CONVERSO DE MEALY PARA MOORE (cont.)

Exemplo:
1 1/0 A''/1 A 1/1 0/0 C 1/0 B 1 0/0 0/1 0 C/0 1 1 B''/1 0 B'/0 0 0 0 1 A'/0

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 27 EXEMPLO Mquina de Distribuio de Pastilhas (MDP)


Projecto de um controlador de uma mquina de distribuio de pastilhas: A mquina entrega 1 pastilha quando recebe 15 cntimos em moedas; recebe 1 moeda de cada vez; aceita moedas de 5 e de 10 cntimos; um sensor mecnico indica se foi recebida 1 moeda de 5 cntimos ou se foi recebida uma moeda de 10 cntimos; o circuito tem uma nica sada que, quando activa, abre a gaveta e entrega a pastilha ao cliente; no entregue troco se forem recebidas moedas a mais.

m10 m5 clk reset Controlador Abre

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 28 MDP DIAGRAMA DE ESTADOS


Reset

O controlador pode ser realizado com uma mquina de 4 estados: S0 estado inicial, no foi introduzida moeda. S5 foram introduzidos 5 cntimos. S10 foram introduzidos 10 cntimos ( indiferente se 1 moeda de 10c ou 2 de 5c). S15 foram introduzidos 15 cntimos (ou mais).
01 00 00 S0/0

Entradas: m5,m10 Sada: abre

10

S5/0

10

01

00

S10/0

A sada activada apenas quando atingido o estado S15.

01,10

XX

S15/1

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 29 MDP TABELA DE TRANSIO DE ESTADOS


Estado Actual Q1 Q0 S0C 0 0 Entradas m5 m10 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Estado Seguinte Q1 Q0 S0C S10C S5C X S5C S15C S10C X S10C S15C S15C X S0C S0C S0C X 0 1 0 X 0 1 1 X 1 1 1 X 0 0 0 X 0 0 1 X 1 1 0 X 0 1 1 X 0 0 0 X Sada ABRE 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1

S5C

S10C

S15C

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 30 MDP PROJECTO DA LGICA COMBINATRIA


m5 m10 Q1Q0 00 01 11 10 00 0 0 0 1 01 1 1 0 1 11 X X X X 10 0 1 0 1
Q0 Q1 0 1 0 0 0 1 0 1

D1 = Q1 m10 + Q1 Q0 m5 + Q1 Q0

K-mapa para D1
m5 m10 Q1Q0 00 01 11 10 00 0 1 0 0 01 0 1 0 1 11 X X X X 10 1 0 0 1

K-mapa para Sada

Abre = Q1 Q0

D0 = Q0 m5 + Q1 Q0 m5 + Q1 Q0 m10

K-mapa para D0

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 31 MDP LOGIGRAMA DO CIRCUITO

m10 m5 clk reset

1D C1 R Q0

abre

R 1D C1

Q1

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 32 EXEMPLO Comparador Srie (CMP)


Pretende-se projectar um comparador srie, que compara 2 nmeros binrios A e B. Os nmeros so recebidos em srie (bit a bit), com o bit de menor peso a ser recebido primeiro.

A B clk reset Comparador-srie

A=B A>B A<B

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 33 CMP1 DIAGRAMA DE ESTADOS


Reset

00,11

Entradas: A , B Sadas: A=B , A>B , A<B

O controlador pode ser realizado como uma mquina de Moore de 3 estados.

10

IGUAIS / 100

01

01 MAIOR / 010 10 MENOR / 001

00,11,10

00,11,01

Exemplo

A B CLK Estado A=B A>B A<B

0 0

1 1

0 0

0 1

1 1

1 0

1 1

0 1

0 0

0 0

IGUAL

IGUAL

IGUAL

MENOR

MENOR

MAIOR

MAIOR

MENOR

MENOR

MENOR

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 34 CMP1 TABELA DE TRANSIO DE ESTADOS


Estado Actual Q1 Q0 IGUAIS 0 0 Entradas A B 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 Estado Seguinte Q0 Q1 IGUAIS MENOR MAIOR IGUAIS MENOR MENOR MAIOR MENOR MAIOR MENOR MAIOR MAIOR 0 0 1 0 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 0 0 Sadas A=B A>B A<B 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0

MENOR

MAIOR

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 35 CMP1 PROJECTO DA LGICA COMBINATRIA


AB Q1Q0 00 01 11 10 00 0 0 X 1 01 0 0 X 0 11 0 0 X 1 10 1 1 X 1

K-mapas para Sadas

D1 = Q1 B + A B + Q1 A

Q0 Q1 0 1 Q0 Q1 0

0 1 0 0 0 1 0 0 0

1 0 X 1 0 X 1 1 X

( A = B ) = Q1 Q0
( A > B ) = Q1

K-mapa para D1
AB Q1Q0 00 01 11 10 00 0 1 X 0 01 1 1 X 1 11 0 1 X 0 10 0 0 X 0

1 Q0 Q1 0 1

D0 = A B + Q0 A + Q0 B

( A < B ) = Q0

K-mapa para D0

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 36 CMP1 LOGIGRAMA DO CIRCUITO

1D B A CLK RESET C1 R

Q0

A<B

R 1D

Q1

A>B A=B

C1

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 37 CMP2 DIAGRAMA DE ESTADOS


00,11 / 100 Reset Entradas: A , B Sadas: A=B , A>B , A<B

O controlador pode tambm ser realizado como uma mquina de Mealy de 3 estados.

10 /010

IGUAIS

01 / 001

01 / 001 MAIOR 10 / 010 MENOR

00,11,10 / 010

00,11,01 / 001

Exemplo

A B CLK Estado
A=B A>B A<B

0 0

1 1

0 0

0 1

1 1

1 0

1 1

0 1

0 0

0 0

IGUAL

IGUAL

IGUAL

MENOR

MENOR

MAIOR

MAIOR

MENOR

MENOR

MENOR

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 38 CMP2 TABELA DE TRANSIO DE ESTADOS


Estado Actual Q1 Q0 IGUAIS 0 0 Entradas A B 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 Estado Seguinte Q0 Q1 IGUAIS MENOR MAIOR IGUAIS MENOR MENOR MAIOR MENOR MAIOR MENOR MAIOR MAIOR 0 0 1 0 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 0 0 Sadas A=B A>B A<B 0 0 1 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 0

MENOR

MAIOR

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 39 CMP2 PROJECTO DA LGICA COMBINATRIA


AB
AB Q1Q0 00 01 11 10 00 0 0 X 1 01 0 0 X 0 11 0 0 X 1 10 1 1 X 1
AB Q1Q0 00 01 00 0 0 X 1 01 0 0 X 0 11 0 0 X 1 10 1 1 X 1

Q1Q0 00 01 11 10

00 1 0 X 0

01 0 0 X 0

11 1 0 X 0

10 0 0 X 0

( A = B ) = Q1 Q0 A B + Q1 Q0 A B
= Q1 Q0 ( A B )

D1 = Q1 B + A B + Q1 A
AB Q1Q0 00 01 11 10 00 0 1 X 0 01 1 1 X 1 11 0 1 X 0 10 0 0

11 10

( A > B ) = Q1 B + A B + Q1 A

AB

X 0

Q1Q0 00 01 11 10

00 0 1 X 0

01 1 1 X 1

11 0 1 X 0

10 0 0 X 0

D0 = A B + Q0 A + Q0 B

( A < B ) = A B + Q0 A + Q0 B

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 40 CMP2 LOGIGRAMA DO CIRCUITO

A<B 1D B A CLK RESET C1 R Q0

R 1D C1

Q1

A=B

A>B

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 41 CMP FORMAS DE ONDA Moore vs. Mealy

A B CLK Estado A=B A>B A<B A=B A>B A<B

0 0

1 1

0 0

0 1

1 1

1 0

1 1

0 1

0 0

0 0

IGUAL

IGUAL

IGUAL

MENOR

MENOR

MAIOR

MAIOR

MENOR

MENOR

MENOR

Moore

Mealy

{ {

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 42 PROJECTOS ALTERNATIVOS

A sntese de circuitos sequenciais sncronos foi abordada segundo o mtodo clssico cujo objectivo o de minimizar o nmero de flipflops do circuito. De seguida, apresenta-se-o alguns mtodos alternativos que, nalguns casos, podem ser mais vantajosos. No captulo seguinte ser abordada ainda a implementao de mquinas de estados com recurso a memrias.

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 43 PROJECTOS ALTERNATIVOS (1 FLIP-FLOP / ESTADO)


Uma metodologia de projecto alternativa consiste em utilizar um nmero de flip-flops igual ao nmero 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 caractersticas: Cada estado corresponde activao de 1 e s um FF, e.g., 0100000 (correcto) e 01100000 (incorrecto). A inicializao do circuito corresponde activao do FF correspondente ao estado inicial e desactivao de todos os outros, e.g., 10000000 (para oito estados). O projecto fica bastante simplificado porque possvel obter as equaes e/ou o diagrama lgico do circuito directamente a partir da especificao da mquina. (No entanto, o projecto pode ser realizado tambm segundo o procedimento habitual)

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 44 UM FLIP-FLOP / ESTADO


Projecto segundo o procedimento habitual (sequncia 111 mq. Mealy): Codificao de Estados QA QB QC A B C 1 0 0 0 1 0 0 0 1
QC X QAQB 00 01 11 10 00 X 0 X 0 01 X 1 X 0 11 1 X X X 10 0 X X X

QC X QAQB 00 01 11 10 00 X 1 X 1 01 X 0 X 0 11 0 X X X 10 1 X X X

QC X QAQB 00 01 11 10 00 X 0 X 0 01 X 0 X 1 11 0 X X X 10 0 X X X

DA = X
QAQB

DB = X QA
QC X 00 X 0 X 0 01 X 0 X 0 11 1 X X X 10 0 X X X 00 01 11 10

Estado Seguinte e Estado Presente Sada Presente (Z) X=0 X=1 A A/0 B/0 B A/0 C/0 C A/0 C/1

DC = X Q A

Z = X QC

Veremos, no entanto, que o facto de 1 estado ser directamente identificado pela existncia de um 1 no FF respectivo, permite uma derivao directa das equaes/logigrama do circuito.
Setembro de 04 SISTEMAS DIGITAIS H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 45 UM FLIP-FLOP / ESTADO


No caso de 1 FF por estado o diagrama lgico determina-se sem recurso a tabelas de estado ou a mapas de Karnaugh. A determinao do diagrama lgico , assim, conseguida atravs da implementao directa de sub-estruturas do diagrama de estados. (1) Transio Incondicional entre Estados:
A
Estado A Estado A Estado A

Equaes:

DB = QA SEQ _ H = QB

B/1
Estado B

Estado B Sada: Seq_H

Estado B Sada: Seq_L

A 1D CP C1 1D

B SEQ_H SEQ_L

C1

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 46 UM FLIP-FLOP / ESTADO (cont.)


(2) Transio Condicional entre Estados:
Estado A
Estado A

A
0 1
x? 1

C
0

x? 1
0

Seq_H

Estado B

Estado C
Estado B Estado C

Equaes:

DB = X Q A DC = X QA SEQ _ H = X QA
CP A 1D C1

&

1D C1 SEQ_H C 1D C1

&

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 47 UM FLIP-FLOP / ESTADO (cont.)


(3) Convergncia de Ramos correspondentes a Transies entre Estados:
Estado A Estado B

Equao:

Estado C

DC = QA + QB

A 1D C1 B 1D CP C1 C
>1

1D C1

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 48 UM FLIP-FLOP / ESTADO EXEMPLO SEQ-MOORE


X=0 X=0

A/0

X=1

B/0

X=1

C/0
X=0

X=1

X=1

D/1
X=0
B 1D CP C1 X

X=0

Equaes:

>1

A 1D CP C1

&

&

DA = X QA + X QB + X QC + X QD DB = X QA DC = X QB DD = X QC + X QD SEQ _ H = QD
Nota: A equao de DA pode ser trivialmente simplificada. Como?
Setembro de 04
X

&

&

C 1D CP C1 X

&

>1

D 1D CP C1

SEQ_H X

&

&

&

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 49 UM FLIP-FLOP / ESTADO EXEMPLO SEQ-MEALY

X/Z

0/0

1/0 0/0

1/0

C
0/0

1/1

Derivao directa das equaes:

DA = X QA + X QB + X QC = X (QA + QB + QC ) =X DB = X QA DC = X QB + X QC Z = X QC
Compare com os resultados obtidos no slide 44.

Estado Seguinte e Estado Presente Sada Presente (Z) X=0 X=1 A A/0 B/0 B A/0 C/0 C A/0 C/1

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 50 UM FLIP-FLOP / ESTADO EXEMPLO (Cont.)


No presente caso, devido ao reduzido nmero de estados a sntese clssica permite uma maior simplicidade na soluo sem grande trabalho adicional ao nvel da sntese. Contudo, este exemplo serve para evidenciar a facilidade com que se pode passa de um diagrama de estados directamente para um diagrama lgico. Nota: por simplicidade no se representam os sinais de preset e clear dos FFs que permitem impr o estado inicial no circuito neste tipo de codificao sempre necessrio inicializar a mquina! (porqu?) Nota: em tecnologias em que o custo de um flip-flop o mesmo de uma porta lgica bsica, este tipo de codificao muitas vezes o mais adequado, pois o acrscimo de FFs compensado pela simplicidade do projecto e, algumas vezes, tambm por uma reduo na lgica combinatria.

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 51 PROJECTOS ALTERNATIVOS CONTADORES


Uma outra alternativa em termos de projecto corresponde utilizao de contadores integrados na implementao das mquinas de estados. Esta soluo especialmente til no caso de existir um elevado nmero de transies incondicionais entre estados, o que reduz consideravelmente a necessidade de carregamento paralelo. Deste modo a utilizao de contadores na implementao de mquinas de estado requer o projecto da: lgica combinatria que gera o sinal de carregamento paralelo lgica combinatria que gera as entradas de carregamento paralelo (estado seguinte quando h quebra de sequncia)

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 52 PROJECTOS ALTERNATIVOS CONTADORES


A ttulo de exemplo considerar-se- o detector de sequncia referido anteriormente, como forma de comparar as anteriores solues, e o contador integrado 74LS163A (ver seco de contadores).
74LS163A CTR DIV 16 CLEAR_L LOAD_L COUNT_H EN1_H EN2_H CP D0 D1
[2] 5CT=0 M1[Load] M2[Count] G3 G4 C5/2,3,4+ 3CT=15

1, 2D 1,5D

[1]

Q0 Q1 Q2 Q3

D2 D3

[4] [8]

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 53 PROJECTOS ALTERNATIVOS CONTADORES


EXEMPLO: Detector da sequncia 111 Naturalmente, este exemplo apenas requer a utilizao de um contador de mdulo 4 (4 estados Moore ou 3 estados Mealy). Tendo presente a sub-utilizao do contador disponvel, prossegue-se com a sntese das lgica combinatria. Considerando a seguinte codificao de estados: A=00; B=01, C=10; D=11 teremos a seguinte sequncia de estados de contagem: A 00 B 01 C 10 D 11

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 54 PROJECTOS ALTERNATIVOS CONTADORES


EXEMPLO (cont) ... e os seguintes casos em que a mquina de estados quebra a sequncia de contagem. E.A. Entrada E.S. 00 x=0 00 01 x=0 00 10 x=0 00 11 x=0 00 11 x=1 11 De seguida devem construir-se os mapas de Karnaugh com as 3 entradas (E.A. e X) para as vrias funes pretendidas (sinal de carregamento paralelo, duas entradas menos significativas do carregamento paralelo).

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 55 PROJECTOS ALTERNATIVOS CONTADORES


EXEMPLO (cont) 1) Sinal de Activao do Carregamento Paralelo.
Q1Q0 x

00 0 1

10 0 1

11 0 0

01 0 1

0 1

LOAD_L = x . Q1Q0

2) Determinao da entrada D0.


Q1Q0 x

3) Determinao da entrada D1.


Q1Q0 x

00 0 x

10 0 x

11 0 1

01 0 x

00 0 x

10 0 x

11 0 1

01 0 x

0 1

0 1

D0 = x

D1 = x

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 56 PROJECTOS ALTERNATIVOS CONTADORES

EXEMPLO (cont):
LOAD_L

'1'

74LS163A CTR DIV 16


5CT=0 M1[Load] M2[Count]

'1'

G3 G4

3CT=15

Nota: para situaes mais complexas faria sentido a utilizao de um descodificador para detectar os estados que conduzem a carregamentos paralelos

CP
X

C5/2,3,4+

D0 D1

1, 2D 1,5D

[1] [2]

Q0 Q1 Q2 Q3

&

&

D2 D3

[4] [8]

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 57 SIMPLIFICAO POR ELIMINAO DE ESTADOS REDUNDANTES


Embora as mquinas de Moore e Mealy sejam conceptualmente elementares a sua utilizao na resoluo de alguns problemas de controlo, mais complexos do que simples detectores de sequncia, pode facilmente conduzir a um elevado nmero de estados e transies. Deste modo, pode tornar-se extremamente complexo obter a melhor soluo directamente. Como bvio, a utilizao de uma representao com o nmero mnimo de estados tem vantagens claras tanto na sntese, como na implementao. 2 estados so equivalentes se, para as mesmas entradas, transitam para os mesmos estados e tm as mesmas sadas:
Estado Presente ... P ... Q ... Estado Seguinte e Sada Presente (Z) X=0 X=1 ... ... R/0 S/1 ... ... R/0 S/1 ... ...

Nota: As tcnicas descritas so vlidas tanto para Mealy como Moore e com um nmero arbitrrio de estados, entradas e sadas.

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 58 ELIMINAO POR INSPECO

Estado Seguinte e Estado Sada Presente (Z) Presente X=0 X=1 A B/0 C/1 B C/0 A/1 C D/1 B/0 D C/0 A/1 E D/0 C/1

Estado Seguinte e Estado Sada Presente (Z) Presente X=0 X=1 A B/0 C/1 B C/0 A/1 C B/1 B/0 E B/0 C/1

Estado Seguinte e Estado Sada Presente (Z) Presente X=0 X=1 A B/0 C/1 B C/0 A/1 C B/1 B/0

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 59 ELIMINAO POR PARTIO


No caso anterior, a existncia de estados redundante era evidente pela explicitao de estados seguintes e sadas idnticas para diferentes estados presentes. No entanto, 2 estados so equivalentes se, para as mesmas entradas, transitam para estados equivalentes e tm as mesmas sadas. O mtodo das parties permite identificar estados redundantes tambm quando os estados seguintes no sejam inicialmente os mesmos.
Estado Seguinte e Estado Sada Presente (Z) Presente X=0 X=1 A1 B/0 C/0 B1 D/0 E/0 C1 G/0 E/0 D1 H/0 F/0 E1 G/0 A/0 F1 G/1 A/0 G1 D/0 C/0 H1 H/0 A/0
Setembro de 04

Estado Seguinte e Estado Sada Presente (Z) Presente X=0 X=1 A1 B1 C1 B1 D1 E1 C1 G1 E1 D1 H1 F2 E1 G1 A1 F2 G1 A1 G1 D1 C1 H1 H1 A1


SISTEMAS DIGITAIS

Estado Seguinte e Estado Sada Presente (Z) Presente X=0 X=1 A1 B1 C1 B1 D3 E1 C1 G1 E1 D3 H1 F2 E1 G1 A1 F2 G1 A1 G1 D3 C1 H1 H1 A1


H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 60 ELIMINAO POR PARTIO (cont.)

Estado Seguinte e Estado Sada Presente (Z) Presente X=0 X=1 A1 B1 C1 B1 D3 E1 C1 G1 E1 D3 H1 F2 E1 G1 A1 F2 G1 A1 G1 D3 C1 H1 H1 A1

Estado Seguinte e Estado Sada Presente (Z) Presente X=0 X=1 A1 B4 C1 B4 D3 E1 C1 G4 E1 D3 H1 F2 E1 G4 A1 F2 G4 A1 G4 D3 C1 H1 H1 A1

Estado Seguinte e Estado Sada Presente (Z) Presente X=0 X=1 A5 B4 C5 B4 D3 E5 C5 G4 E5 D3 H1 F2 E5 G4 A5 F2 G4 A5 G4 D3 C5 H1 H1 A5

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 61 ELIMINAO POR PARTIO (cont.)

Estado Seguinte e Estado Sada Presente (Z) Presente X=0 X=1 A5 B4 C5 B4 D3 E5 C5 G4 E5 D3 H1 F2 E5 G4 A5 F2 G4 A5 G4 D3 C5 H1 H1 A5

Equivalncia de Estados a A,C,E b B,G c D d F e H

Estado Seguinte e Estado Sada Presente (Z) Presente X=0 X=1 a b/0 a/0 b c/0 a/0 c e/0 d/0 d b/1 a/0 e e/0 a/0

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

CIRCUITOS SEQUENCIAIS SNCRONOS - 62 BIBLIOGRAFIA


[1] M. Morris Mano, Charles R. Kime, Logic and Computer Design Fundamentals, PrenticeHall International, Inc. (Captulo 4, Seces 4.4 a 4.7)

Setembro de 04

SISTEMAS DIGITAIS

H. Neto, N. Horta

Você também pode gostar