·
Ciência da Computação ·
Organização de Computadores
Send your question to AI and receive an answer instantly
Recommended for you
Preview text
1 ICUNICAMP MC602 Mario Côrtes IC Unicamp Capítulo 8 Máquinas de estado FSM Finite State Machines MC 602 Circuitos Lógicos e Organização de Computadores ICUnicamp Prof Mario Côrtes 2 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tópicos Sistematização do projeto de circuitos sequenciais síncronos Máquinas de Moore Máquinas de Mealy Atribuição de estados Visão geral de máquinas síncronas 3 ICUNICAMP MC602 Mario Côrtes IC Unicamp Forma geral de um circuito síncrono Circuitos combinacionais saídas dependem das entradas atuais Circuitos sequenciais saídas dependem do conteúdo atual estado dos FFs e das entradas circuitos simples FF latch registrador contador há pouca quantidade de portas lógicas além dos elementos de memória Circuito síncrono genérico com grande quantidade de portas lógicas interligando elementos de memória Estado atual dos FFs e valor das entradas definem próximo conteúdo estado dos FFs saídas atuais 4 ICUNICAMP MC602 Mario Côrtes IC Unicamp Problema Saída z igual a 1 se w1 nos dois últimos ciclos de clock 0 caso contrário Todas mudanças sincronizadas com o clock w z Ck Ciclo t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 w 0 1 0 1 1 0 1 1 1 0 1 z 0 0 0 0 0 1 0 0 1 1 0 5 ICUNICAMP MC602 Mario Côrtes IC Unicamp Problema cont Possível implementar como circuito combinacional Possível implementar apenas com circuitos sequenciais básicos FFs latches registradores contadores Solução estruturada para circuitos sequenciais síncronos Máquinas de Estados FSM Finite State Machines 6 ICUNICAMP MC602 Mario Côrtes IC Unicamp Máquinas de Estado W Entradas ZSaídas Q Estados internos saídas de FFs Y Próximos estados dos FFs Circ comb 1 calcula Y entradas dos FFs a partir de Q estado atual saídas dos FFs e das entradas W Circ comb 2 calcula z a partir de Q e opcionalmente W FFs Clock Q W Z Circuito Comb 1 Clock Q W Z Circuito Comb 2 Y Analise de uma maquina simples ICUNICAMP Dois FFs quatro estados possiveis Uma entrada w e uma saida z PS aoe TD Co at j iB Eien a Y Vo ove DQ Wastes ogo Q Resetn e T t 8 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabela verdade dos combinacionais Entradas Saídas w y2y1 Y2Y1 z 0 00 00 0 0 01 00 0 0 10 00 0 0 11 00 1 1 00 01 0 1 01 10 0 1 10 11 0 1 11 11 1 y 2 y 1 z Y 2 Y 1 w y 1 y 1 y 2 9 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabela verdade em forma alternativa novo formato explicita transições de estado Present Next State state w 0 w 1 Output y 2 y 1 Y 2 Y 1 Y 2 Y 1 z 0 0 0 0 01 0 0 1 0 0 10 0 1 0 0 0 11 0 1 1 0 0 11 1 Entradas Saídas w y2y1 Y2Y1 z 0 00 00 0 0 01 00 0 0 10 00 0 0 11 00 1 1 00 01 0 1 01 10 0 1 10 11 0 1 11 11 1 10 ICUNICAMP MC602 Mario Côrtes IC Unicamp Atribuição simbólica de estados Present Next State state w 0 w 1 Output y 2 y 1 Y 2 Y 1 Y 2 Y 1 z 0 0 0 0 01 0 0 1 0 0 10 0 1 0 0 0 11 0 1 1 0 0 11 1 Present Next state Output state w 0 w 1 z A A B 0 B A C 0 C A D 0 D A D 1 11 ICUNICAMP MC602 Mario Côrtes IC Unicamp Diagrama de transição de estados Present Next state Output state w 0 w 1 z A A B 0 B A C 0 C A D 0 D A D 1 A B C D W0 W0 W0 W0 W1 W1 W1 W1 12 ICUNICAMP MC602 Mario Côrtes IC Unicamp Último passo reset A B C D W0 W0 W0 W0 W1 W1 W1 W1 Resetn0 Analise de uma FSM resumo ICcUNICAMP Identificar os dois circuitos combinacionais rearranjar desenho proximo estado saida Tabela verdade convencional Tabela verdade forma alternativa Atribuigao de estados binario simbolico Tabela de transicao de estados Diagrama de transigao de estados 13 Exercicio de analise de uma FSM simples ICUNICAMP Dois FFs quatro estados possiveis Uma entrada e duas saidas EDA ae ee Z 14 15 ICUNICAMP MC602 Mario Côrtes IC Unicamp Máquinas de Moore e de Mealy Máquinas de Moore próximo conteúdo dos flipflops Y depende das entradas W e do estado atual Q saída depende do estado atual Q Máquina de Mealy próximo conteúdo dos flipflops Y depende das entradas W e do estado atual Q saída depende do estado atual Q e das entradas W Combinational circuit Flipflops Clock Q W Z Combinational circuit Combinational circuit Flipflops Clock Q W Z Combinational circuit Y Moore z muda sincronizado com o clock 16 ICUNICAMP MC602 Mario Côrtes IC Unicamp Síntese de uma FSM simples Moore O circuito tem uma entrada w e uma saída z Todas as mudanças ocorrem na borda de subida do clock z1 se w1 nos dois últimos ciclos de clock z0 caso contrário FSM w z Ck Ciclo t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 w 0 1 0 1 1 0 1 1 1 0 1 z 0 0 0 0 0 1 0 0 1 1 0 Definicao dos estados ICUNICAMP Primeiro passo quantos estados sao necessarios para representar o historico Nao ha metodo sistematico Imaginemos estado inicial OOwWwerup ou reset Acom z 0 desde que w0 FSM mantemse em A Se w1 por um clock estado B significa historico um clock apenas com w EmB se w1 estado C ez 1 se w0 volta para A Trés estados sao suficientes 7 18 ICUNICAMP MC602 Mario Côrtes IC Unicamp Diagrama de transição de estados C z 1 Reset B z 0 A z 0 w 0 w 1 w 1 w 0 w 0 w 1 Reset pode ser clear dos FFs Ciclo t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 w 0 1 0 1 1 0 1 1 1 0 1 z 0 0 0 0 0 1 0 0 1 1 0 19 ICUNICAMP MC602 Mario Côrtes IC Unicamp Notação do diagrama Nesta modalidade há uma saída determinada para cada estado Cz1 Transições de estado saindo de C uma para cada combinação de entradas entrando em C arbitrário mas deve haver alguma senão o estado nunca é alcançado C z 1 w 1 w 0 w 1 Estado C saída 1 Uma transição para cada combinação de entradas 20 ICUNICAMP MC602 Mario Côrtes IC Unicamp Estado Próx estado saída atual w 0 w 1 z A A B 0 B A C 0 C A C 1 C z 1 Reset B z 0 A z 0 w 0 w 1 w 1 w 0 w 0 w 1 Tabela de transição de estados Notar a ausência de Reset na tabela clear do FF Estrutura da FSM ICUNICAMP Ha trés estados 2 bits sao suficientes Variaveis de estado CC1 prox estado Estado atual y e y fentrada e estado atual Proximo estado Y e Y w Y Cj it IFCUILO Circuito Zz Combinacional Combinacional Y2 oS eS CC2 saida Clock festado atual 21 22 ICUNICAMP MC602 Mario Côrtes IC Unicamp Atribuição de Estado Estado Próx estado saída atual w 0 w 1 z A A B 0 B A C 0 C A C 1 C z 1 Reset B z 0 A z 0 w 0 w 1 w 1 w 0 w 0 w 1 Entrada Estado atual Próximo estado Saída w y2y1 Y2Y1 z 0 A00 A00 0 0 B01 A00 0 0 C10 A00 1 0 11 dd d 1 A00 B01 0 1 B01 C10 0 1 C10 C10 1 1 11 dd d 23 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabelas verdade de CC1 e CC2 assumindo FFD CC1 Clock y2 z w y1 Y1 Y2 CC2 w y2 y1 Y2 Y1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 d d 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 d d w y2 y1 z 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 d 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 d 24 ICUNICAMP MC602 Mario Côrtes IC Unicamp w 00 01 11 10 0 1 0 1 0 Y 1 wy 1 y 2 w 00 01 11 10 0 1 0 d 1 d Y 2 wy 1 y 2 wy 1 y 2 d d 0 0 0 0 0 0 1 0 1 0 1 0 d y 1 z y 1 y 2 0 1 y 2 Y 1 wy 1 y 2 Y 2 wy1 wy 2 z y 2 w y 1 y 2 Sem dont cares Síntese de CC1 e CC2 y 2 y 1 y 2 y 1 Com dont cares 25 ICUNICAMP MC602 Mario Côrtes IC Unicamp Circuito final com FF tipo D D Q Q D Q Q Y 2 Y 1 w Clock z y 1 y 2 Resetn 26 ICUNICAMP MC602 Mario Côrtes IC Unicamp t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 1 0 1 0 1 0 1 0 Clock w y 1 y 2 1 0 z Diagrama de tempo da FSM Ciclo t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 w 0 1 0 1 1 0 1 1 1 0 1 z 0 0 0 0 0 1 0 0 1 1 0 Observar sinais síncronos com borda de subida do clock 27 ICUNICAMP MC602 Mario Côrtes IC Unicamp Simulação no Quartus Observar agrupamento de sinais das variáveis de estado tipo enumerado identificação pelo Quartus da máquina de estado e geração automática do diagrama de transição 28 ICUNICAMP MC602 Mario Côrtes IC Unicamp Resumo do procedimento Especificar o circuito Identificar o número de estados necessário e suas transições Desenhar o diagrama de transição de estados Fazer a tabela de transição de estados Fazer a atribuição de estados e completar a tabela decidir o tipo de FF a ser usado e completar a tabela Implementar os circuitos combinacionais CC1 e CC2 29 ICUNICAMP MC602 Mario Côrtes IC Unicamp Exemplo de projeto Expl 81 Implementação da unidade de controle da fig 755 Tarefa após pulso de start em w trocar o conteúdo de R1 e R2 usando R3 como temporário Ao final ativar sinal done possível trocar diretamente R1in Bus Clock Control circuit Function R1 R2 Rk Data Extern R1out R2in R2out Rkin Rkout Control circuit w Clock Done R 1 out R 2 out R 1 in R 2 in R 3 out R 3 in 30 ICUNICAMP MC602 Mario Côrtes IC Unicamp Diagrama de transição de estados D R 3 out 1 R 1 in 1 Done 1 w 0 w 1 C R 1 out 1 R 2 in 1 B R 2 out 1 R 3 in 1 w 1 A No w 0 w 1 transfer w 0 w 1 Reset w 0 31 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabelas de transição de estado Present Next state Outputs state A A B 0 0 0 0 0 0 0 B C C 0 0 1 0 0 1 0 C D D 1 0 0 1 0 0 0 D A A 0 1 0 0 1 0 1 w 0 w 1 Present Nextstate state Outputs A 00 00 0 1 0 0 0 0 0 0 0 B 01 10 1 0 0 0 1 0 0 1 0 C 10 11 1 1 1 0 0 1 0 0 0 D 11 00 0 0 0 1 0 0 1 0 1 32 ICUNICAMP MC602 Mario Côrtes IC Unicamp Mapas de Karnaugh w 00 01 11 10 0 1 1 1 1 y 2 y 1 Y 1 wy 1 y 1 y 2 w 00 01 11 10 0 1 1 1 1 1 y 2 y 1 Y 2 y 1 y 2 y 1 y 2 33 ICUNICAMP MC602 Mario Côrtes IC Unicamp Circuito final ver outra solução na fig 757 com o uso de registrador de deslocamento D Q Q D Q Q Done w Clock Y 2 Y 1 y 2 y 1 y 2 y 1 R 1 in R 3 out R 1 out R 2 in R 2 out R 3 in O problema da atribuicao de estados ICUNICAMP Nos exemplos anteriores codificagao dos estados foi arbitraria E possivel escolher atribuicao visando minimizar o circuito final solucgao otima e dificil Vejamos os dois ultimos exemplos em outra codificagao 34 35 ICUNICAMP MC602 Mario Côrtes IC Unicamp Exemplo detector de seq de dois 1s Estado Próx estado saída atual w 0 w 1 z A A B 0 B A C 0 C A C 1 C z 1 Reset B z 0 A z 0 w 0 w 1 w 1 w 0 w 0 w 1 Present Next state state w 0 w 1 Output y 2 y 1 Y 2 Y 1 Y 2 Y 1 z A 00 00 01 0 B 01 00 10 0 C 10 00 10 1 11 dd dd d atribuição original Present Next state state w 0 w 1 Output y 2 y 1 Y 2 Y 1 Y 2 Y 1 z A 00 00 01 0 B 01 00 11 0 C 11 00 11 1 10 dd dd d atribuição melhorada 36 ICUNICAMP MC602 Mario Côrtes IC Unicamp Síntese do novo circuito Possível escrever equações diretamente Y1 w Y2 w y1 z y2 Present Next state state w 0 w 1 Output y 2 y 1 Y 2 Y 1 Y 2 Y 1 z A 00 00 01 0 B 01 00 11 0 C 11 00 11 1 10 dd dd d atribuição melhorada 37 ICUNICAMP MC602 Mario Côrtes IC Unicamp Circuito final com atribuição melhorada D Q Q D Q Q Y 2 Y 1 w Clock z y 1 y 2 Resetn Y1 w Y2 w y1 z y2 circuito antigo 38 ICUNICAMP MC602 Mario Côrtes IC Unicamp Exemplo 81 antigo Present Nextstate state Outputs A 00 00 0 1 0 0 0 0 0 0 0 B 01 10 1 0 0 0 1 0 0 1 0 C 10 11 1 1 1 0 0 1 0 0 0 D 11 00 0 0 0 1 0 0 1 0 1 w 00 01 11 10 0 1 1 1 1 y 2 y 1 Y 1 wy 1 y 1 y 2 w 00 01 11 10 0 1 1 1 1 1 y 2 y 1 Y 2 y 1 y 2 y 1 y 2 39 ICUNICAMP MC602 Mario Côrtes IC Unicamp Exemplo 81 com nova atribuição Present Nextstate state Outputs A 00 0 0 01 0 0 0 0 0 0 0 B 01 1 1 11 0 0 1 0 0 1 0 C 11 1 0 10 1 0 0 1 0 0 0 D 10 0 0 00 0 1 0 0 1 0 1 w 00 01 11 10 0 1 1 1 1 y 2 y 1 Y 1 wy2 y 1 y 2 w 00 01 11 10 0 1 1 1 1 1 y 2 y 1 Y 2 y 1 40 ICUNICAMP MC602 Mario Côrtes IC Unicamp Onehot encoding É possível codificar os estados com n bits para n estados apenas um bit fica ligado onehot Grande número de dont care combinações de estados não utilizados Vantagem circuito combinacional pode ficar mais simples Desvantagem usa maior número de FFs Ver detalhes na seção 821 do livro texto 41 ICUNICAMP MC602 Mario Côrtes IC Unicamp Máquinas de Mealy Máquinas de Moore próximo conteúdo dos flipflops Y depende das entradas W e do estado atual Q saída depende do estado atual Q Máquina de Mealy próximo conteúdo dos flipflops Y depende das entradas W e do estado atual Q saída depende do estado atual Q e das entradas W Combinational circuit Flipflops Clock Q W Z Combinational circuit Combinational circuit Flipflops Clock Q W Z Combinational circuit Y Mealy z pode mudar a qquer instante indep do clock 42 ICUNICAMP MC602 Mario Côrtes IC Unicamp Implementação Mealy do mesmo exemplo Especificações alteradas O circuito tem uma entrada w e uma saída z Todas as mudanças ocorrem na borda de subida do clock z1 se w1 nos dois últimos ciclos de clock no último clock e no clock atual z0 caso contrário Clock cycle t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 w 0 1 0 1 1 0 1 1 1 0 1 z 0 0 0 0 1 0 0 1 1 0 0 43 ICUNICAMP MC602 Mario Côrtes IC Unicamp A w 0 z 0 w 1 z 1 B w 0 z 0 Reset w 1 z 0 Diagrama de transição de estados da Máquina de Mealy Clock cycle t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 w 0 1 0 1 1 0 1 1 1 0 1 z 0 0 0 0 1 0 0 1 1 0 0 44 ICUNICAMP MC602 Mario Côrtes IC Unicamp Notação Moore e Mealy Moore Saída definida pelo estado atual Arcos de transição de estados não mostram saídas Mealy O estado atual pode ter várias saídas em função de w Arcos de transição mostram w e z C z 1 w 1 w 0 w 1 w 0 z 0 w 1 z 1 B w 1 z 0 45 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabela de transição de estados A w 0 z 0 w 1 z 1 B w 0 z 0 Reset w 1 z 0 Present Next state Output z state w 0 w 1 w 0 w 1 A A B 0 0 B A B 0 1 46 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabela de transição de estados A w 0 z 0 w 1 z 1 B w 0 z 0 Reset w 1 z 0 Present Next state Outputz state w 0 w 1 w 0 w 1 A A B 0 0 B A B 0 1 Present Next state Output state w 0 w 1 w 0 w 1 y Y Y z z A 0 0 1 0 0 B 1 0 1 0 1 47 ICUNICAMP MC602 Mario Côrtes IC Unicamp Circuito e seu comportamento Clock Resetn D Q Q w z y t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 1 0 1 0 1 0 1 0 Clock y w z 48 ICUNICAMP MC602 Mario Côrtes IC Unicamp Comportamento comparado t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 1 0 1 0 1 0 1 0 Clock y w z t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 1 0 1 0 1 0 1 0 Clock w y 1 y 2 1 0 z Moore Mealy 49 ICUNICAMP MC602 Mario Côrtes IC Unicamp Exemplo 84 Mealy em expl 81 troca de conteúdo dos registradores R1 e R2 usando R3 como temporário diagrama de transição de estados R3out 1 R1in 1 Done 1 w 0 w 1 R1out 1 R2in 1 w 1 R 2out 1 R3in 1 A w 0 w 1 Reset w 0 B C 50 ICUNICAMP MC602 Mario Côrtes IC Unicamp 85 Exemplo somador serial Projetar um somador serial operandos de n bits armazenados nos shifts A e B resultado ficará armazenado no shift AB Adder FSM cuida da soma e do carry do bit anterior bits são apresentados ao Adder FSM do LSB para o MSB Sum A B Shift register Shift register Adder FSM Shift register B A a b s Clock 51 ICUNICAMP MC602 Mario Côrtes IC Unicamp Projeto somador serial Mealy Sum A B Shift register Shift register Adder FSM Shift register B A a b s Clock G 00 1 11 1 10 0 01 0 H 10 1 01 1 00 0 carryin 0 carryin 1 G H Reset 11 0 ab s 52 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabelas de transição de estados Present Next state Output s state ab 00 01 10 11 00 01 10 11 G G G G H 0 1 1 0 H G H H H 1 0 0 1 carryin 0 carryin 1 G H G 00 1 11 1 10 0 01 0 H 10 1 01 1 00 0 Reset 11 0 ab s Present Next state Output state ab 00 01 10 11 00 01 10 11 y Y s 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 1 Estados genéricos Estados atribuídos 53 ICUNICAMP MC602 Mario Côrtes IC Unicamp Circuito do Somador Serial Mealy Poderia ser projetado por inspeção e tentativa e erro Full adder a b s D Q Q carryout Clock Reset Y y 54 ICUNICAMP MC602 Mario Côrtes IC Unicamp Projeto somador serial Moore carryin 0 carryin 1 G H G 00 1 11 1 10 0 01 0 H 10 1 01 1 00 0 Reset 11 0 ab s H 1 s 1 Reset H 0 s 0 01 10 11 11 01 10 G 1 s 1 G 0 s 0 01 10 00 01 00 10 11 00 00 11 Mealy Moore 55 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabelas de transição de estados H 1 s 1 Reset H 0 s 0 01 10 11 11 01 10 G 1 s 1 G 0 s 0 01 10 00 01 00 10 11 00 00 11 Present Nextstate Output state ab00 01 10 11 s G 0 G 0 G 1 G 1 H 0 0 G 1 G 0 G 1 G 1 H 0 1 H 0 G 1 H 0 H 0 H 1 0 H 1 G 1 H 0 H 0 H 1 1 Present Nextstate state ab00 01 10 11 Output y 2 y 1 Y 2 Y 1 s 00 0 0 01 0 1 10 0 01 0 0 01 0 1 10 1 10 0 1 10 1 0 11 0 11 0 1 10 1 0 11 1 56 ICUNICAMP MC602 Mario Côrtes IC Unicamp Circuito do Somador Serial Moore Nos dois casos apesar de mais complicada a máquina Moore é mais robusta mudanças na entrada não afetam imediatamente a saída e só no próximo clock Full adder a b D Q Q Carryout Clock Reset D Q Q s Y 2 Y 1 Sum bit y 2 y 1 Projeto de FSM com FFD e FFJK Visto até agora wy fab fok fe FSM com FFD 5 F 2 Vier Y Ese FFJK Derivar de Y proximo estado Je K K y 2 PO ptt a ee ee a ee ee 58 ICUNICAMP MC602 Mario Côrtes IC Unicamp Exemplo contador como FSM JK Contador síncrono mod 8 0 1 2 3 4 5 6 7 0 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 A0 B1 C2 D3 E4 F5 G6 H7 59 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabelas de transição de estados w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 A0 B1 C2 D3 E4 F5 G6 H7 Present Next state Output state w 0 w 1 A A B 0 B B C 1 C C D 2 D D E 3 E E F 4 F F G 5 G G H 6 H H A 7 Present Next state state w 0 w 1 Count y 2 y 1 y 0 Y 2 Y 1 Y 0 Y 2 Y 1 Y 0 z 2 z 1 z 0 A 000 000 001 000 B 001 001 010 001 C 010 010 011 010 D 011 011 100 011 E 100 100 101 100 F 101 101 110 101 G 110 110 111 110 H 111 111 000 111 Derivagao de Preven Neste ICUNICAMP state JK do FF 0 naz Transiso J K A o00 90 901 on 930 B o0 Old Cc 010 010 O11 010 0O1 1 di D 011 O11 100 O11 431 E 100 100 101 100 oat F 101 101 110 101 P1530 df 1 G 110 110 111 110 HL111 111 000 111 present state ount 7 yyy oK2 Ki JoKo Y Kr Ki JoKo A 000 000 Od Od Od 001 Od Od ld 000 B 001 OO1 Od Od do 010 Od Id di ool Cc 010 010 Od do Od O11 Od do Id 010 D oll O11 Od do do 100 1d dl di O11 E 100 100 do Od Od 101 do Od Id 100 F 101 101 dO Od do 110 do Id di 101 G 110 110 do do Od 111 do do Id 110 H 111 111 dO dO dO 000 dledi dj i 60 61 ICUNICAMP MC602 Mario Côrtes IC Unicamp Mapas de Karnaugh para Js e Ks 00 01 11 10 00 01 0 d d 0 d 0 d 0 d 0 0 d 1 d 0 d 11 10 y1y0 wy2 J2 wy0y1 00 01 11 10 00 01 d 0 0 d 0 d 0 d 0 d d 1 d 0 d 0 11 10 y1y0 wy2 K2 wy0y1 00 01 11 10 00 01 0 0 0 d d d d 0 1 0 1 d d d d 0 11 10 y1y0 wy2 J1 wy0 00 01 11 10 00 01 d d d 0 0 0 0 d d d d 1 1 0 0 d 11 10 y1y0 wy2 K1 wy0 00 01 11 10 00 01 d 0 d d d 0 0 0 d 1 d d d 1 1 1 11 10 y1y0 wy2 J0 w 00 01 11 10 00 01 0 d 0 0 0 d d d 1 d 1 1 1 d d d 11 10 y1y0 wy2 K0 w 62 ICUNICAMP MC602 Mario Côrtes IC Unicamp Circuito final com JKs Observar regularidade JK w y0 y1 yn1 Observar que é possível fatorar termo repetido Ji Ki Jn1 yn1 Essa é a forma conhecida com FF T Clock Resetn w J Q Q K y 0 y 1 y 2 J Q Q K J Q Q K 63 ICUNICAMP MC602 Mario Côrtes IC Unicamp Contador com JK e termos fatorados Exatamente o contador com FFT Comparar com contador FFD Clock Resetn w y 0 y 1 y 2 J Q Q K J Q Q K J Q Q K 64 ICUNICAMP MC602 Mario Côrtes IC Unicamp Contador com FFD Em geral implementação com FFD tem maior custo D Q Q D Q Q Clock y 0 w y 1 y 2 Y 0 Y 1 Y 2 Resetn D Q Q 65 ICUNICAMP MC602 Mario Côrtes IC Unicamp ASM Algorithmic State Machine Representação alternativa e equivalente ao diagrama de estados Semelhante ao fluxograma Elementos principais Sinais de saída ou ações Moore Nome do estado a Caixa de estado Condição 0 Falso 1 Verdadeiro b Decisão Saídas condicionais ou ações Mealy c Saída condicional 66 ICUNICAMP MC602 Mario Côrtes IC Unicamp Exemplo 83 FSM e ASM C z 1 Reset B z 0 A z 0 w 0 w 1 w 1 w 0 w 0 w 1 w w w 0 1 0 1 0 1 A B C z 1 Reset z 0 z 0 Visao geral de maquinas sincronas ICUNICAMP Do Q reuit D5 Q Circuito combinacional a r V com atraso t D tesa toe teu CK rT SY TT terra toc tsu Em circuitos sincronos frequéncia maxima do clock limitada pelo maior atraso combinacional Tx 2 Lusa loc tu Fok 1 tsa loc tu 67
Send your question to AI and receive an answer instantly
Recommended for you
Preview text
1 ICUNICAMP MC602 Mario Côrtes IC Unicamp Capítulo 8 Máquinas de estado FSM Finite State Machines MC 602 Circuitos Lógicos e Organização de Computadores ICUnicamp Prof Mario Côrtes 2 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tópicos Sistematização do projeto de circuitos sequenciais síncronos Máquinas de Moore Máquinas de Mealy Atribuição de estados Visão geral de máquinas síncronas 3 ICUNICAMP MC602 Mario Côrtes IC Unicamp Forma geral de um circuito síncrono Circuitos combinacionais saídas dependem das entradas atuais Circuitos sequenciais saídas dependem do conteúdo atual estado dos FFs e das entradas circuitos simples FF latch registrador contador há pouca quantidade de portas lógicas além dos elementos de memória Circuito síncrono genérico com grande quantidade de portas lógicas interligando elementos de memória Estado atual dos FFs e valor das entradas definem próximo conteúdo estado dos FFs saídas atuais 4 ICUNICAMP MC602 Mario Côrtes IC Unicamp Problema Saída z igual a 1 se w1 nos dois últimos ciclos de clock 0 caso contrário Todas mudanças sincronizadas com o clock w z Ck Ciclo t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 w 0 1 0 1 1 0 1 1 1 0 1 z 0 0 0 0 0 1 0 0 1 1 0 5 ICUNICAMP MC602 Mario Côrtes IC Unicamp Problema cont Possível implementar como circuito combinacional Possível implementar apenas com circuitos sequenciais básicos FFs latches registradores contadores Solução estruturada para circuitos sequenciais síncronos Máquinas de Estados FSM Finite State Machines 6 ICUNICAMP MC602 Mario Côrtes IC Unicamp Máquinas de Estado W Entradas ZSaídas Q Estados internos saídas de FFs Y Próximos estados dos FFs Circ comb 1 calcula Y entradas dos FFs a partir de Q estado atual saídas dos FFs e das entradas W Circ comb 2 calcula z a partir de Q e opcionalmente W FFs Clock Q W Z Circuito Comb 1 Clock Q W Z Circuito Comb 2 Y Analise de uma maquina simples ICUNICAMP Dois FFs quatro estados possiveis Uma entrada w e uma saida z PS aoe TD Co at j iB Eien a Y Vo ove DQ Wastes ogo Q Resetn e T t 8 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabela verdade dos combinacionais Entradas Saídas w y2y1 Y2Y1 z 0 00 00 0 0 01 00 0 0 10 00 0 0 11 00 1 1 00 01 0 1 01 10 0 1 10 11 0 1 11 11 1 y 2 y 1 z Y 2 Y 1 w y 1 y 1 y 2 9 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabela verdade em forma alternativa novo formato explicita transições de estado Present Next State state w 0 w 1 Output y 2 y 1 Y 2 Y 1 Y 2 Y 1 z 0 0 0 0 01 0 0 1 0 0 10 0 1 0 0 0 11 0 1 1 0 0 11 1 Entradas Saídas w y2y1 Y2Y1 z 0 00 00 0 0 01 00 0 0 10 00 0 0 11 00 1 1 00 01 0 1 01 10 0 1 10 11 0 1 11 11 1 10 ICUNICAMP MC602 Mario Côrtes IC Unicamp Atribuição simbólica de estados Present Next State state w 0 w 1 Output y 2 y 1 Y 2 Y 1 Y 2 Y 1 z 0 0 0 0 01 0 0 1 0 0 10 0 1 0 0 0 11 0 1 1 0 0 11 1 Present Next state Output state w 0 w 1 z A A B 0 B A C 0 C A D 0 D A D 1 11 ICUNICAMP MC602 Mario Côrtes IC Unicamp Diagrama de transição de estados Present Next state Output state w 0 w 1 z A A B 0 B A C 0 C A D 0 D A D 1 A B C D W0 W0 W0 W0 W1 W1 W1 W1 12 ICUNICAMP MC602 Mario Côrtes IC Unicamp Último passo reset A B C D W0 W0 W0 W0 W1 W1 W1 W1 Resetn0 Analise de uma FSM resumo ICcUNICAMP Identificar os dois circuitos combinacionais rearranjar desenho proximo estado saida Tabela verdade convencional Tabela verdade forma alternativa Atribuigao de estados binario simbolico Tabela de transicao de estados Diagrama de transigao de estados 13 Exercicio de analise de uma FSM simples ICUNICAMP Dois FFs quatro estados possiveis Uma entrada e duas saidas EDA ae ee Z 14 15 ICUNICAMP MC602 Mario Côrtes IC Unicamp Máquinas de Moore e de Mealy Máquinas de Moore próximo conteúdo dos flipflops Y depende das entradas W e do estado atual Q saída depende do estado atual Q Máquina de Mealy próximo conteúdo dos flipflops Y depende das entradas W e do estado atual Q saída depende do estado atual Q e das entradas W Combinational circuit Flipflops Clock Q W Z Combinational circuit Combinational circuit Flipflops Clock Q W Z Combinational circuit Y Moore z muda sincronizado com o clock 16 ICUNICAMP MC602 Mario Côrtes IC Unicamp Síntese de uma FSM simples Moore O circuito tem uma entrada w e uma saída z Todas as mudanças ocorrem na borda de subida do clock z1 se w1 nos dois últimos ciclos de clock z0 caso contrário FSM w z Ck Ciclo t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 w 0 1 0 1 1 0 1 1 1 0 1 z 0 0 0 0 0 1 0 0 1 1 0 Definicao dos estados ICUNICAMP Primeiro passo quantos estados sao necessarios para representar o historico Nao ha metodo sistematico Imaginemos estado inicial OOwWwerup ou reset Acom z 0 desde que w0 FSM mantemse em A Se w1 por um clock estado B significa historico um clock apenas com w EmB se w1 estado C ez 1 se w0 volta para A Trés estados sao suficientes 7 18 ICUNICAMP MC602 Mario Côrtes IC Unicamp Diagrama de transição de estados C z 1 Reset B z 0 A z 0 w 0 w 1 w 1 w 0 w 0 w 1 Reset pode ser clear dos FFs Ciclo t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 w 0 1 0 1 1 0 1 1 1 0 1 z 0 0 0 0 0 1 0 0 1 1 0 19 ICUNICAMP MC602 Mario Côrtes IC Unicamp Notação do diagrama Nesta modalidade há uma saída determinada para cada estado Cz1 Transições de estado saindo de C uma para cada combinação de entradas entrando em C arbitrário mas deve haver alguma senão o estado nunca é alcançado C z 1 w 1 w 0 w 1 Estado C saída 1 Uma transição para cada combinação de entradas 20 ICUNICAMP MC602 Mario Côrtes IC Unicamp Estado Próx estado saída atual w 0 w 1 z A A B 0 B A C 0 C A C 1 C z 1 Reset B z 0 A z 0 w 0 w 1 w 1 w 0 w 0 w 1 Tabela de transição de estados Notar a ausência de Reset na tabela clear do FF Estrutura da FSM ICUNICAMP Ha trés estados 2 bits sao suficientes Variaveis de estado CC1 prox estado Estado atual y e y fentrada e estado atual Proximo estado Y e Y w Y Cj it IFCUILO Circuito Zz Combinacional Combinacional Y2 oS eS CC2 saida Clock festado atual 21 22 ICUNICAMP MC602 Mario Côrtes IC Unicamp Atribuição de Estado Estado Próx estado saída atual w 0 w 1 z A A B 0 B A C 0 C A C 1 C z 1 Reset B z 0 A z 0 w 0 w 1 w 1 w 0 w 0 w 1 Entrada Estado atual Próximo estado Saída w y2y1 Y2Y1 z 0 A00 A00 0 0 B01 A00 0 0 C10 A00 1 0 11 dd d 1 A00 B01 0 1 B01 C10 0 1 C10 C10 1 1 11 dd d 23 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabelas verdade de CC1 e CC2 assumindo FFD CC1 Clock y2 z w y1 Y1 Y2 CC2 w y2 y1 Y2 Y1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 d d 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 d d w y2 y1 z 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 d 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 d 24 ICUNICAMP MC602 Mario Côrtes IC Unicamp w 00 01 11 10 0 1 0 1 0 Y 1 wy 1 y 2 w 00 01 11 10 0 1 0 d 1 d Y 2 wy 1 y 2 wy 1 y 2 d d 0 0 0 0 0 0 1 0 1 0 1 0 d y 1 z y 1 y 2 0 1 y 2 Y 1 wy 1 y 2 Y 2 wy1 wy 2 z y 2 w y 1 y 2 Sem dont cares Síntese de CC1 e CC2 y 2 y 1 y 2 y 1 Com dont cares 25 ICUNICAMP MC602 Mario Côrtes IC Unicamp Circuito final com FF tipo D D Q Q D Q Q Y 2 Y 1 w Clock z y 1 y 2 Resetn 26 ICUNICAMP MC602 Mario Côrtes IC Unicamp t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 1 0 1 0 1 0 1 0 Clock w y 1 y 2 1 0 z Diagrama de tempo da FSM Ciclo t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 w 0 1 0 1 1 0 1 1 1 0 1 z 0 0 0 0 0 1 0 0 1 1 0 Observar sinais síncronos com borda de subida do clock 27 ICUNICAMP MC602 Mario Côrtes IC Unicamp Simulação no Quartus Observar agrupamento de sinais das variáveis de estado tipo enumerado identificação pelo Quartus da máquina de estado e geração automática do diagrama de transição 28 ICUNICAMP MC602 Mario Côrtes IC Unicamp Resumo do procedimento Especificar o circuito Identificar o número de estados necessário e suas transições Desenhar o diagrama de transição de estados Fazer a tabela de transição de estados Fazer a atribuição de estados e completar a tabela decidir o tipo de FF a ser usado e completar a tabela Implementar os circuitos combinacionais CC1 e CC2 29 ICUNICAMP MC602 Mario Côrtes IC Unicamp Exemplo de projeto Expl 81 Implementação da unidade de controle da fig 755 Tarefa após pulso de start em w trocar o conteúdo de R1 e R2 usando R3 como temporário Ao final ativar sinal done possível trocar diretamente R1in Bus Clock Control circuit Function R1 R2 Rk Data Extern R1out R2in R2out Rkin Rkout Control circuit w Clock Done R 1 out R 2 out R 1 in R 2 in R 3 out R 3 in 30 ICUNICAMP MC602 Mario Côrtes IC Unicamp Diagrama de transição de estados D R 3 out 1 R 1 in 1 Done 1 w 0 w 1 C R 1 out 1 R 2 in 1 B R 2 out 1 R 3 in 1 w 1 A No w 0 w 1 transfer w 0 w 1 Reset w 0 31 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabelas de transição de estado Present Next state Outputs state A A B 0 0 0 0 0 0 0 B C C 0 0 1 0 0 1 0 C D D 1 0 0 1 0 0 0 D A A 0 1 0 0 1 0 1 w 0 w 1 Present Nextstate state Outputs A 00 00 0 1 0 0 0 0 0 0 0 B 01 10 1 0 0 0 1 0 0 1 0 C 10 11 1 1 1 0 0 1 0 0 0 D 11 00 0 0 0 1 0 0 1 0 1 32 ICUNICAMP MC602 Mario Côrtes IC Unicamp Mapas de Karnaugh w 00 01 11 10 0 1 1 1 1 y 2 y 1 Y 1 wy 1 y 1 y 2 w 00 01 11 10 0 1 1 1 1 1 y 2 y 1 Y 2 y 1 y 2 y 1 y 2 33 ICUNICAMP MC602 Mario Côrtes IC Unicamp Circuito final ver outra solução na fig 757 com o uso de registrador de deslocamento D Q Q D Q Q Done w Clock Y 2 Y 1 y 2 y 1 y 2 y 1 R 1 in R 3 out R 1 out R 2 in R 2 out R 3 in O problema da atribuicao de estados ICUNICAMP Nos exemplos anteriores codificagao dos estados foi arbitraria E possivel escolher atribuicao visando minimizar o circuito final solucgao otima e dificil Vejamos os dois ultimos exemplos em outra codificagao 34 35 ICUNICAMP MC602 Mario Côrtes IC Unicamp Exemplo detector de seq de dois 1s Estado Próx estado saída atual w 0 w 1 z A A B 0 B A C 0 C A C 1 C z 1 Reset B z 0 A z 0 w 0 w 1 w 1 w 0 w 0 w 1 Present Next state state w 0 w 1 Output y 2 y 1 Y 2 Y 1 Y 2 Y 1 z A 00 00 01 0 B 01 00 10 0 C 10 00 10 1 11 dd dd d atribuição original Present Next state state w 0 w 1 Output y 2 y 1 Y 2 Y 1 Y 2 Y 1 z A 00 00 01 0 B 01 00 11 0 C 11 00 11 1 10 dd dd d atribuição melhorada 36 ICUNICAMP MC602 Mario Côrtes IC Unicamp Síntese do novo circuito Possível escrever equações diretamente Y1 w Y2 w y1 z y2 Present Next state state w 0 w 1 Output y 2 y 1 Y 2 Y 1 Y 2 Y 1 z A 00 00 01 0 B 01 00 11 0 C 11 00 11 1 10 dd dd d atribuição melhorada 37 ICUNICAMP MC602 Mario Côrtes IC Unicamp Circuito final com atribuição melhorada D Q Q D Q Q Y 2 Y 1 w Clock z y 1 y 2 Resetn Y1 w Y2 w y1 z y2 circuito antigo 38 ICUNICAMP MC602 Mario Côrtes IC Unicamp Exemplo 81 antigo Present Nextstate state Outputs A 00 00 0 1 0 0 0 0 0 0 0 B 01 10 1 0 0 0 1 0 0 1 0 C 10 11 1 1 1 0 0 1 0 0 0 D 11 00 0 0 0 1 0 0 1 0 1 w 00 01 11 10 0 1 1 1 1 y 2 y 1 Y 1 wy 1 y 1 y 2 w 00 01 11 10 0 1 1 1 1 1 y 2 y 1 Y 2 y 1 y 2 y 1 y 2 39 ICUNICAMP MC602 Mario Côrtes IC Unicamp Exemplo 81 com nova atribuição Present Nextstate state Outputs A 00 0 0 01 0 0 0 0 0 0 0 B 01 1 1 11 0 0 1 0 0 1 0 C 11 1 0 10 1 0 0 1 0 0 0 D 10 0 0 00 0 1 0 0 1 0 1 w 00 01 11 10 0 1 1 1 1 y 2 y 1 Y 1 wy2 y 1 y 2 w 00 01 11 10 0 1 1 1 1 1 y 2 y 1 Y 2 y 1 40 ICUNICAMP MC602 Mario Côrtes IC Unicamp Onehot encoding É possível codificar os estados com n bits para n estados apenas um bit fica ligado onehot Grande número de dont care combinações de estados não utilizados Vantagem circuito combinacional pode ficar mais simples Desvantagem usa maior número de FFs Ver detalhes na seção 821 do livro texto 41 ICUNICAMP MC602 Mario Côrtes IC Unicamp Máquinas de Mealy Máquinas de Moore próximo conteúdo dos flipflops Y depende das entradas W e do estado atual Q saída depende do estado atual Q Máquina de Mealy próximo conteúdo dos flipflops Y depende das entradas W e do estado atual Q saída depende do estado atual Q e das entradas W Combinational circuit Flipflops Clock Q W Z Combinational circuit Combinational circuit Flipflops Clock Q W Z Combinational circuit Y Mealy z pode mudar a qquer instante indep do clock 42 ICUNICAMP MC602 Mario Côrtes IC Unicamp Implementação Mealy do mesmo exemplo Especificações alteradas O circuito tem uma entrada w e uma saída z Todas as mudanças ocorrem na borda de subida do clock z1 se w1 nos dois últimos ciclos de clock no último clock e no clock atual z0 caso contrário Clock cycle t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 w 0 1 0 1 1 0 1 1 1 0 1 z 0 0 0 0 1 0 0 1 1 0 0 43 ICUNICAMP MC602 Mario Côrtes IC Unicamp A w 0 z 0 w 1 z 1 B w 0 z 0 Reset w 1 z 0 Diagrama de transição de estados da Máquina de Mealy Clock cycle t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 w 0 1 0 1 1 0 1 1 1 0 1 z 0 0 0 0 1 0 0 1 1 0 0 44 ICUNICAMP MC602 Mario Côrtes IC Unicamp Notação Moore e Mealy Moore Saída definida pelo estado atual Arcos de transição de estados não mostram saídas Mealy O estado atual pode ter várias saídas em função de w Arcos de transição mostram w e z C z 1 w 1 w 0 w 1 w 0 z 0 w 1 z 1 B w 1 z 0 45 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabela de transição de estados A w 0 z 0 w 1 z 1 B w 0 z 0 Reset w 1 z 0 Present Next state Output z state w 0 w 1 w 0 w 1 A A B 0 0 B A B 0 1 46 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabela de transição de estados A w 0 z 0 w 1 z 1 B w 0 z 0 Reset w 1 z 0 Present Next state Outputz state w 0 w 1 w 0 w 1 A A B 0 0 B A B 0 1 Present Next state Output state w 0 w 1 w 0 w 1 y Y Y z z A 0 0 1 0 0 B 1 0 1 0 1 47 ICUNICAMP MC602 Mario Côrtes IC Unicamp Circuito e seu comportamento Clock Resetn D Q Q w z y t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 1 0 1 0 1 0 1 0 Clock y w z 48 ICUNICAMP MC602 Mario Côrtes IC Unicamp Comportamento comparado t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 1 0 1 0 1 0 1 0 Clock y w z t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 1 0 1 0 1 0 1 0 Clock w y 1 y 2 1 0 z Moore Mealy 49 ICUNICAMP MC602 Mario Côrtes IC Unicamp Exemplo 84 Mealy em expl 81 troca de conteúdo dos registradores R1 e R2 usando R3 como temporário diagrama de transição de estados R3out 1 R1in 1 Done 1 w 0 w 1 R1out 1 R2in 1 w 1 R 2out 1 R3in 1 A w 0 w 1 Reset w 0 B C 50 ICUNICAMP MC602 Mario Côrtes IC Unicamp 85 Exemplo somador serial Projetar um somador serial operandos de n bits armazenados nos shifts A e B resultado ficará armazenado no shift AB Adder FSM cuida da soma e do carry do bit anterior bits são apresentados ao Adder FSM do LSB para o MSB Sum A B Shift register Shift register Adder FSM Shift register B A a b s Clock 51 ICUNICAMP MC602 Mario Côrtes IC Unicamp Projeto somador serial Mealy Sum A B Shift register Shift register Adder FSM Shift register B A a b s Clock G 00 1 11 1 10 0 01 0 H 10 1 01 1 00 0 carryin 0 carryin 1 G H Reset 11 0 ab s 52 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabelas de transição de estados Present Next state Output s state ab 00 01 10 11 00 01 10 11 G G G G H 0 1 1 0 H G H H H 1 0 0 1 carryin 0 carryin 1 G H G 00 1 11 1 10 0 01 0 H 10 1 01 1 00 0 Reset 11 0 ab s Present Next state Output state ab 00 01 10 11 00 01 10 11 y Y s 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 1 Estados genéricos Estados atribuídos 53 ICUNICAMP MC602 Mario Côrtes IC Unicamp Circuito do Somador Serial Mealy Poderia ser projetado por inspeção e tentativa e erro Full adder a b s D Q Q carryout Clock Reset Y y 54 ICUNICAMP MC602 Mario Côrtes IC Unicamp Projeto somador serial Moore carryin 0 carryin 1 G H G 00 1 11 1 10 0 01 0 H 10 1 01 1 00 0 Reset 11 0 ab s H 1 s 1 Reset H 0 s 0 01 10 11 11 01 10 G 1 s 1 G 0 s 0 01 10 00 01 00 10 11 00 00 11 Mealy Moore 55 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabelas de transição de estados H 1 s 1 Reset H 0 s 0 01 10 11 11 01 10 G 1 s 1 G 0 s 0 01 10 00 01 00 10 11 00 00 11 Present Nextstate Output state ab00 01 10 11 s G 0 G 0 G 1 G 1 H 0 0 G 1 G 0 G 1 G 1 H 0 1 H 0 G 1 H 0 H 0 H 1 0 H 1 G 1 H 0 H 0 H 1 1 Present Nextstate state ab00 01 10 11 Output y 2 y 1 Y 2 Y 1 s 00 0 0 01 0 1 10 0 01 0 0 01 0 1 10 1 10 0 1 10 1 0 11 0 11 0 1 10 1 0 11 1 56 ICUNICAMP MC602 Mario Côrtes IC Unicamp Circuito do Somador Serial Moore Nos dois casos apesar de mais complicada a máquina Moore é mais robusta mudanças na entrada não afetam imediatamente a saída e só no próximo clock Full adder a b D Q Q Carryout Clock Reset D Q Q s Y 2 Y 1 Sum bit y 2 y 1 Projeto de FSM com FFD e FFJK Visto até agora wy fab fok fe FSM com FFD 5 F 2 Vier Y Ese FFJK Derivar de Y proximo estado Je K K y 2 PO ptt a ee ee a ee ee 58 ICUNICAMP MC602 Mario Côrtes IC Unicamp Exemplo contador como FSM JK Contador síncrono mod 8 0 1 2 3 4 5 6 7 0 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 A0 B1 C2 D3 E4 F5 G6 H7 59 ICUNICAMP MC602 Mario Côrtes IC Unicamp Tabelas de transição de estados w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 w 0 w 1 A0 B1 C2 D3 E4 F5 G6 H7 Present Next state Output state w 0 w 1 A A B 0 B B C 1 C C D 2 D D E 3 E E F 4 F F G 5 G G H 6 H H A 7 Present Next state state w 0 w 1 Count y 2 y 1 y 0 Y 2 Y 1 Y 0 Y 2 Y 1 Y 0 z 2 z 1 z 0 A 000 000 001 000 B 001 001 010 001 C 010 010 011 010 D 011 011 100 011 E 100 100 101 100 F 101 101 110 101 G 110 110 111 110 H 111 111 000 111 Derivagao de Preven Neste ICUNICAMP state JK do FF 0 naz Transiso J K A o00 90 901 on 930 B o0 Old Cc 010 010 O11 010 0O1 1 di D 011 O11 100 O11 431 E 100 100 101 100 oat F 101 101 110 101 P1530 df 1 G 110 110 111 110 HL111 111 000 111 present state ount 7 yyy oK2 Ki JoKo Y Kr Ki JoKo A 000 000 Od Od Od 001 Od Od ld 000 B 001 OO1 Od Od do 010 Od Id di ool Cc 010 010 Od do Od O11 Od do Id 010 D oll O11 Od do do 100 1d dl di O11 E 100 100 do Od Od 101 do Od Id 100 F 101 101 dO Od do 110 do Id di 101 G 110 110 do do Od 111 do do Id 110 H 111 111 dO dO dO 000 dledi dj i 60 61 ICUNICAMP MC602 Mario Côrtes IC Unicamp Mapas de Karnaugh para Js e Ks 00 01 11 10 00 01 0 d d 0 d 0 d 0 d 0 0 d 1 d 0 d 11 10 y1y0 wy2 J2 wy0y1 00 01 11 10 00 01 d 0 0 d 0 d 0 d 0 d d 1 d 0 d 0 11 10 y1y0 wy2 K2 wy0y1 00 01 11 10 00 01 0 0 0 d d d d 0 1 0 1 d d d d 0 11 10 y1y0 wy2 J1 wy0 00 01 11 10 00 01 d d d 0 0 0 0 d d d d 1 1 0 0 d 11 10 y1y0 wy2 K1 wy0 00 01 11 10 00 01 d 0 d d d 0 0 0 d 1 d d d 1 1 1 11 10 y1y0 wy2 J0 w 00 01 11 10 00 01 0 d 0 0 0 d d d 1 d 1 1 1 d d d 11 10 y1y0 wy2 K0 w 62 ICUNICAMP MC602 Mario Côrtes IC Unicamp Circuito final com JKs Observar regularidade JK w y0 y1 yn1 Observar que é possível fatorar termo repetido Ji Ki Jn1 yn1 Essa é a forma conhecida com FF T Clock Resetn w J Q Q K y 0 y 1 y 2 J Q Q K J Q Q K 63 ICUNICAMP MC602 Mario Côrtes IC Unicamp Contador com JK e termos fatorados Exatamente o contador com FFT Comparar com contador FFD Clock Resetn w y 0 y 1 y 2 J Q Q K J Q Q K J Q Q K 64 ICUNICAMP MC602 Mario Côrtes IC Unicamp Contador com FFD Em geral implementação com FFD tem maior custo D Q Q D Q Q Clock y 0 w y 1 y 2 Y 0 Y 1 Y 2 Resetn D Q Q 65 ICUNICAMP MC602 Mario Côrtes IC Unicamp ASM Algorithmic State Machine Representação alternativa e equivalente ao diagrama de estados Semelhante ao fluxograma Elementos principais Sinais de saída ou ações Moore Nome do estado a Caixa de estado Condição 0 Falso 1 Verdadeiro b Decisão Saídas condicionais ou ações Mealy c Saída condicional 66 ICUNICAMP MC602 Mario Côrtes IC Unicamp Exemplo 83 FSM e ASM C z 1 Reset B z 0 A z 0 w 0 w 1 w 1 w 0 w 0 w 1 w w w 0 1 0 1 0 1 A B C z 1 Reset z 0 z 0 Visao geral de maquinas sincronas ICUNICAMP Do Q reuit D5 Q Circuito combinacional a r V com atraso t D tesa toe teu CK rT SY TT terra toc tsu Em circuitos sincronos frequéncia maxima do clock limitada pelo maior atraso combinacional Tx 2 Lusa loc tu Fok 1 tsa loc tu 67