Modelo geral
Em qualquer circuito sequencial sncrono, identificvel: - uma unidade de memria, constituda por um nmero finito de clulas de memria que implementam a funo de memria do sistema; - um descodificador de sada, constitudo por um circuito combinacional responsvel pela implementao das sadas do sistema; - um descodificador de estado seguinte, tambm designado por descodificador de entrada, constitudo por um circuito combinacional que gera as entradas da unidade de memria.
Variveis de entrada Descodificador de estado seguinte Clulas de memria sncronas Descodificador de sada
Variveis de sada
CLK
Mquina de Mealy
Variveis de sada = sadas do descodificador de sada = f(Variveis de entrada, Variveis de estado). O facto de existirem entradas que alimentam directamente o descodificador de sada introduz um comportamento assncrono nas sadas.
Mquina de Moore
Variveis de sada = sadas do descodificador de sada = f(Variveis de estado). As variveis de sada dependem apenas das variveis de estado, pelo que a alterao de estado nas sadas encontra-se sincronizada com o sinal de relgio.
Como preencher a tabela de estados? 1. Considerar todas as combinaes possveis dos valores binrios para as variveis de estado e variveis de entrada (coluna 1 e 2 da tabela). Sendo N o nmero de variveis de estado e de entrada, N obtm-se 2 combinaes distintas destas variveis. 2. Com base nas funes lgicas (funes de excitao) das variveis de excitao, preencher a coluna 3 da tabela de estados. 3. Com base nos valores das variveis de excitao (coluna 3 = entradas dos flip-flops) e as tabelas funcionais ou as equaes caractersticas dos flip-flops, determinar o estado seguinte (coluna 4). 4. Com base nas funes lgicas (funes de sada) das variveis de sada, preencher a coluna 5 da tabela de estados. Note-se que o preenchimento o resultado da avaliao das funes para as combinaes de valores definidos na coluna 1(estado presente) e 2(variveis de entrada).
Diagrama de estados
O diagrama de estados uma grafo orientado, constitudos por ns, representativos dos estados, e por arcos orientados, representativos das transies entre estados. Constitui uma representao grfica dos estados e transies entre estados de um circuito sequencial sncrono. Permite uma melhor leitura/interpretao do comportamento funcional deste tipo de circuitos. A informao contida no diagrama de estados acompanhada de uma legenda, de modo a associar os elementos grficos com as variveis do circuito sequencial sncrono.
Representao grfica dos estados Cada estado representado por um n (crculo), com a informao que lhe est associada. Num circuito N N sequencial sncrono com N variveis de estado, o diagrama de estados constitudo por 2 estados distintos (2 Ns). Mquina de Moore Estado/Sadas Neste tipo de mquina, as variveis de sada encontram-se associadas ao prprio estado, dado serem funo apenas das variveis de estado. Estado = Designao ou cdigo de estado ( valores lgicos das variveis de estado) Sadas = Valores das sadas Neste tipo de mquina, as variveis de sada encontram-se associadas s transies entre estados, dado serem funo das variveis de estado e das variveis de entrada. Estado = Designao ou cdigo de estado ( valores lgicos das variveis de estado)
Representao grfica das transies entre estados As transies entre estados so representadas por um arco orientado entre o estado presente e o estado P seguinte. De cada estado partem 2 arcos orientados, representativos das transies possveis para P variveis de entrada. Mquina de Mealy Entradas/Sadas Neste tipo de mquina, as variveis de entrada e de sada esto associadas s transies entre estados. Estado seguinte
Neste tipo de mquina, apenas as variveis de entrada esto associadas s transies entre estados. Estado seguinte
Estado presente
Mquina de Mealy 1/0 0/0 Legenda Estado: A B (A, B= var. de estado) Transio de estado: Entradas/Sadas = X/Y (X = var. de entrada ;Y = var. de sada)
01
1/0
1/0
10
1/0
11
Estado seguinte A B 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0
Sada Y 0 0 1 0 1 0 1 0
Descrio funcional: A partir do estado 00, o sistema activa a sada Y sempre que, em duas vertentes consecutivas do sinal de relgio, detectada a sequncia 10 na entrada X. Exemplo: Var. entrada X: 00100110001110000111110 Var. sada Y: 00010001000001000000001
Funes de excitao DB= B X + B A X+ B A X DA= A X Tabela de estados Estado presente B A 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 Var. entrada X 0 1 0 1 0 1 0 1 Var. excitao DB= B X + B A X+ B A X 0 0 0 1 1 1 1 0 Estado seguinte B A 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0
DA= A X 0 1 1 0 0 1 1 0
Nota: A coluna correspondente ao estado seguinte pode ser eliminada j que, tratando-se de flip-flops do tipo D, o estado seguinte corresponde aos valores das variveis de excitao. Diagrama de estados 0 00 1 01 0 Legenda: Estado: B A Transio entre estados : X
11
10
Descrio funcional: Quando X =1 o sistema segue a sequncia de estados 00, 01, 10, 11. Quando X=0 o sistema mantm-se no mesmo estado. Ao considerar as sadas BA como um nmero binrio de dois bits, est-se perante um contador binrio, crescente, de dois bits, com a entrada X para desinibir/inibir a contagem.
Exemplo 2: Diagrama lgico Entrada assncrona: RESET Var. entrada: Y Var. sada: Z Var. estado (sadas dos flip-flops): A,B Var. excitao (entradas dos flip-flops): JA,KA,JB,KB uma mquina de Mealy dado que a sada (Z) depende das variveis de estado (A,B) e da varivel de entrada (Y).
Funes de excitao JA= B Y KA=B + Y JB= A + Y KB=Y Tabela de estados Estado presente A B 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 Diagrama de estados XX RESET 0/0 00 1/0 01 1/0 Var. entrada Y 0 1 0 1 0 1 0 1
J=B Y 0 0 1 0 0 0 1 0
KB=Y 1 0 1 0 1 0 1 0
Estado seguinte A B 0 0 0 1 1 0 0 1 1 1 0 1 0 0 0 1
Sada Z=A B Y 0 0 0 0 0 0 0 1
0/0
1/1
1/0
0/0
11
0/0
10
Descrio funcional: A sada Z colocada a 1 sempre que, em quatro vertentes consecutivas do sinal de relgio, detectada a sequncia 1001 na entrada Y. A entrada RESET, quando activa, coloca o sistema no estado 00. Exemplo: Var. entrada Y: 0001010010000101001001 Var. sada Z: 0000000010000000001001
Exemplo 3: Diagrama lgico Var. entrada: Y Var. sada = Var. estado (sadas dos flip-flops): B,A Var. excitao (entradas dos flip-flops): JB, KB, JA, KA uma mquina de Moore dado que as sadas (B,A) so coincidentes com as variveis de estado.
Funes de excitao JB=AY KB=1 JA=BY KA=1 Tabela de estados Estado presente B A 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 Diagrama de estados 0 00 1 01 1 10 Descrio funcional: O sistema segue a sequncia principal de estados 00, 01, 10, enquanto a entrada Y estiver a 1. Sempre que a entrada Y colocada a 0, qualquer que seja o estado presente, o sistema muda para o estado 00. O estado 11 no faz parte da sequncia principal. X(indiferente) 11 Legenda: Estado: B A Transio entre estados : Y Var. entrada Y 0 1 0 1 0 1 0 1 Var. excitao KB=1 J=BY 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 0 Estado seguinte B A 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
JB=A Y 0 0 0 1 0 0 0 1
KA=1 1 1 1 1 1 1 1 1
0 X(indiferente)
Exemplo 4: Diagrama lgico Entrada assncrona: RESET Var. sada = Var. estado (sadas dos flip-flops): C,B,A Var. excitao (entradas dos flip-flops): JC, KC, JB, KB, JA, KA uma mquina de Moore dado que as sadas (C, B, A) so coincidentes com as variveis de estado.
Funes de excitao JC=A KC=A JB=C KB=C JA=B KA=B Tabela de estados Estado presente C B A 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Diagrama de estados XXX RESET 000 100 001 101 Legenda: Estado: C B A Var. excitao JB=C KB=C 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 Estado seguinte C B A 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1
JC=A 1 0 1 0 1 0 1 0
KC=A 0 1 0 1 0 1 0 1
JA=B 0 0 1 1 0 0 1 1
KA=B 1 1 0 0 1 1 0 0
011 111
010
110
Descrio funcional: O sistema segue a sequncia principal de estados 000, 100, 110, 111, 011, 001. O sistema tem uma sequncia secundria constituda pelos estados 101 e 010. A entrada assncrona RESET permite a inicializao do sistema no estado 000.
Var. entrada = X, Y Var. sada = Z1, Z2 Var. estado = Q2, Q1, Q0 Var. excitao = D2,D1,D0 Funes de excitao: D2=Q2 Q0 + Q0 X Y D1=Q2 Q0 X + Q1 X + Q2 Q1 D0=Q1 X + Q0 X + Q2 Funes de sada: Z2=Q2 Q1 + Q2 Q0 Z1=Q2 + Q1 + Q0 Trata-se de uma mquina de Moore dado que as sadas dependem apenas das variveis de estado. Tabela de estados Por forma a reduzir a dimenso da tabela e tratando-se de flip-flops do tipo D (Var. excitao = estado seguinte), a tabela de estados reorganizada conforme se exemplifica. Estado presente Q2 Q1 Q0 000 001 010 011 100 101 110 111 00 000 001 010 011 101 001 111 011 Entradas (X Y) 01 10 100 001 001 011 110 000 011 010 101 101 001 001 111 111 011 011 Estado seguinte (Q2 Q1 Q0) 11 001 011 000 010 101 001 111 011 Sadas Z2 Z1 01 01 01 00 11 01 11 11
Exemplificao da leitura desta tabela de estados: Do estado 000, o sistema mantm-se no mesmo estado se X=0 e Y=0, o sistema transita para o estado 100 se X=0 e Y=1, o sistema transita para o estado 001 se X=1 e Y=0 ou X=1 e Y=1. Do estado 001, o sistema mantmse no mesmo estado se X=0 e Y=0 ou X=0 e Y=1, etc..
Tabela de estados Identificando os estados atravs das letras de A a H, obtm-se a nova tabela de estados: Estado presente Q2 Q1 Q0 A B C D E F G H 00 A B C D F B H D Entradas (X Y) 01 10 E B B D G A D C F F B B H H D D Estado seguinte (Q2 Q1 Q0) 11 B D A C F B H D Sadas Z2 Z1 01 01 01 00 11 01 11 11
Diagrama de estados Neste diagrama de estados optou-se por associar aos arcos orientados a expresso lgica (expresso de transio), dependente das variveis de entrada, que provoca a transio entre estados. Legenda: Estado: Designao(A-H)/ Z2Z1 Transio de estado: f(X,Y)