Buscar

10-Sistemas Digitais II - Poli -decomposição de state machine


Continue navegando


Prévia do material em texto

1
1
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 1
PCS 3225
Sistemas Digitais II
Síntese de Circuitos Seqüenciais
7-8 – Decomposing State Machines
(Wakerly, 4ed, páginas 587-590)
Andrade, Marco Túlio Carvalho de
Professor Responsável
versão: Setembro de 2.017
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 2
Decomposing State Machines
� Do mesmo modo que subrotinas e/ou “proce-
dures” em uma Linguagem de Programação, 
FSMs com alto número de Estados são com-
plexas para projetar e depurar.
� FSMs com alto número de Estados são uma 
oportunidade para utilizar uma coleção de 
máquinas de menor porte.
� A Decomposição de Máquinas de Estados é 
uma técnica consolidada para, dada uma FSM 
monolítica realizar sua análise e determinar se 
pode ser realizada com FSMs menores.
2
2
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 3
Decomposing State Machines
� Decomposição de Máquinas de Estados não é 
uma técnica muito útil para projetistas que que-
rem evitar projetar FSMs com grande número 
de Estados na primeira etapa (logo de cara!!).
� O projetista com prática deve orientar seu pro-
cesso de criação para gerar uma FSM estrutu-
rada hierarquicamente, de maneira que os usos 
e funções das sub-FSMs sejam óbvios, tornan-
do desnecessário sequer escrever a Tabela de 
Transição de Estados da máquina monolítica.
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 4
Decomposing State Machines
� A técnica mais simples e mais usada de 
Decomposição é a ilustrada na Figura 7-62 
(página 587).
� Uma “main machine” fornece as entradas e 
saídas primárias e executa o algorítmo de 
controle de alto nível.
� As “submachines” executam as funções de 
mais baixo nível para o algorítmo de controle e 
podem manusear algumas das entradas e 
saídas primárias.
3
3
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 5
Decomposing State Machines
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 6
Decomposing State Machines
� Talvez a submachine mais utilizada em 
projetos seja um contador. É comum a main 
machine normalmente necessitar de algum 
sinal DONE depois de alguns pulsos de clock.
� Esta necessidade é acompanhada da inclusão 
de novas entradas e saídas na main machine
(START, DONE).
� “Guessing Game”, seção 7.7, página 580. O 
jogo é fácil de ganhar depois de alguns 
minutos de prática.
4
4
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 7
Decomposing State Machines
� The Guessing Game, seção 7.7, página 580.
– 4 entradas G1, G2, G3 e G4 ligadas a 4 botões;
– 4 saídas L1, L2, L3 e L4 ligadas a 4 LEDs, no 
padrão “1-out-of-4”;
– Cada ciclo de clock o padrão é deslocado uma 
posição com frequência do clock de 4 Hertz;
– Adivinhações são feitas apertando os botões, o 
que determina uma escolha Gi;
– Se no próximo pulso de clock (após o aperto do 
botão escolhido) Gi é igual ao LED aceso, houve 
acerto (o jogo pára, saída ERR mantém mesmo 
valor), caso contrário saída ERR é ativada.
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 8
Decomposing State Machines
Figura 7-59
Página 581
5
5
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 9
Decomposing State Machines
Figura 7-60
Página 581
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 10
Decomposing State Machines
� Guessing Game – Diagrama de Transição de 
Estados da Fig. 7-60 será alterado com a intro-
dução de um sinal de enable (EN – Fig. 7-64).
LFSR - Torna 
pseudo-aleatório
o tempo que
permanecerá
aceso cada LED!
6
6
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 11
Decomposing State Machines
� Para tornar o Guessing Game mais desafiador 
propõe-se que os LEDs permaneçam acesos 
por um período pseudo-aletório de tempo.
� Deste modo o usuário tem que realmente 
“adivinhar” se um dado LED permanecerá 
tempo suficiente aceso para que seu respectivo 
botão seja apertado.
� LFSR (Linear Feedback Shift Register) – Gera-
dor de sequência pseudo-aleatória – Será o 
responsável por introduzir aleatoriedade no 
tempo de acendimento e gerar o sinal EN. 
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 12
Decomposing State Machines
EN EN
EN=0 Fica no Estado Atual
EN=1
Muda de 
Estado
7
7
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 13
Decomposing State Machines
� LFSR – O bit menos significativo de um LSFR 
de n bits será usado como gerador do sinal de 
enable (EN). O tempo em que cada LED 
permanecerá aceso dependerá da sequência de 
contagem do LSFR.
� No melhor caso para o Usuário – O LSFR, na 
saída, conterá 10 ... 00. Neste caso o LED fica 
aceso por “n-1” pulsos de clock.
� Isto ocorre porque levará “n-1” pulsos de clock
para que o “1” solitário alcance o bit menos 
significativo do LSFR, fazendo EN=1.
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 14
Decomposing State Machines
� No pior caso para o Usuário – O LSFR, na 
saída, conterá 11 ... 11. Neste caso cada LED 
fica aceso por apenas um período de clock.
� Cada pulso sucessivo de clock ocasionará a 
mudança para o próximo Estado (pois EN=1) e 
cada LED, sucessivamente, acenderá por um 
período de clock, dando lugar ao próximo.
� Isto ocorrerá por “n” pulsos de clock consecu-
tivos até que um bit 0 retorne à posição menos 
significativa do LSFR fazendo EN=0.
8
8
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 15
Referencias
�Referências desta aula: 
�Wakerly, 7-8 – Decomposing State 
Machines (4ed, páginas 587-590)
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 16
Livro Texto
�Wakerly, J.F.; Digital Design –
Principles & Practices; Fourth
Edition, ISBN: 0-13-186389-4, 
Pearson & Prentice-Hall, Upper
Saddle, River, New Jersey, 07458, 
2006.
9
9
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 17
Bibliografia Adicional Deste Assunto
� Dias, Francisco José de Oliveira; Introdução 
aos Circuitos de Chaveamento; Apostila, 
PEL/EPUSP, 1.980;
� Fregni, Edson; Ranzini, Edith; Teoria da 
Comutação: Introdução aos Circuitos 
Digitais (Partes 1 e 2); Apostila 
PCS/EPUSP, Outubro de 1.999;
© Andrade, Bruno, Midorikawa, Simplício e Spina 2.017 <Sínt. Circ. Seq.> PCS 3225 Sistemas Digitais II 18
Bibliografia Adicional Deste Assunto
� Hill, Frederic and Peterson, Gerald; 
Introduction to Switching Theory and Logical 
Design; Ed. John Wiley and Sons, 1.974;
� Ranzini, Edith; Circuitos de Chaveamento
(notas de aula); Apostila, EPUSP, 1.983.