Diagrama de estado Exemplo: Projete um circuito que gere saída ‘1’ quando for observado 3 uns ‘1’s consecutivos na entrada. Nos demais casos a saída deve ser zero (‘0’). input output ? clock 0/0 0 0/0 1o 1 Q0 nenhum 1 0 1 1/0 um (‘1’) 0/0 0 Q2 2o um(‘‘1’) 1/1 Q1 1/0 Conversão do diagrama de Estados Variáveis de entrada Tabela de estados Q x 0 1 Q0 Q0/0 Q1/0 Q1 Q0/0 Q2/0 Q2 Q0/0 Q2/1 estado presente 0/0 1/0 Q0 0/0 0/0 Q1 saída Q2 próximo estado 1/0 1/1 2 Codificação de estados: Q0 -> 00 Q1 -> 01 Q2 -> 10 Tabela de transição Q x 0 1 00 00/0 01/0 01 00/0 10/0 10 00/0 10/1 Implementação do circuito Tabela verdade entrada x 0 0 0 0 1 1 1 1 estado presente y1 y2 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 próximo estado y1+t y2+t 0 0 0 0 0 0 X X 0 1 1 0 1 0 X X Flip-Flop J1 K1 J2 0 X 0 0 X X X 1 0 X X X 0 X 1 1 X X X 0 0 X X X saída K2 Z X 0 1 0 X 0 X X X 0 1 0 X 1 X X * Implementação da máquina de estados usando Flip-Flop tipo JK 3 Implementação do circuito Equações booleanas y1(t+1) = x y1 + x y2 y2(t+1) = x y1 + x y2 y1y2 x 0 1 y1y2 00 01 11 10 0 0 X 0 1 0 X 1 x 0 1 J1 = xy2 y1y2 00 01 11 10 0 0 X 0 1 0 X 0 x 0 1 4 x 0 1 00 01 11 10 0 0 X 0 0 0 X 1 J2 = y 1 x y1y2 y1y2 00 01 11 10 0 0 X X 0 1 X X x 0 1 00 01 11 10 0 X X 0 1 X X 0 K1 = x K2 = 1 y1y2 y1y2 x 0 1 Z = x y1 00 01 11 10 X X X 1 X X X 0 x 0 1 00 01 11 10 X 1 X X X 1 X X Implementação do circuito Z x J1 ‘1’ 5 clock FF JK Q K1 Q J2 Q K2 FF JK Q y1 y2 Contadores São máquinas seqüenciais (FSMs) que possuem uma seqüência de estados bem definida em resposta a sinal de contagem. Os contadores podem contar para frente ou para trás (up/down) e podem ser construídos por diferentes tipos de Flip-Flops. A saída de um contador expõe o estado atual da máquina de estados. Exemplo: – – 6 Contador de 2 bits: 00, 01, 10 ,11 (contador módulo 4) Contador de 4 bits: 0000, ...., 1111 (Contador binário de 4 bits - módulo 16) Contadores - implementação Implementar um contador síncrono octal (módulo 8) Exemplo Contador binário de 3 bits Estado Próximo Flip-flops Presente Estado tipo T Implementação com C B A C+ B+ A+ TC TB TA Flip-Flops tipo T(Toggle) 0 0 1 0 0 0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 1 0 1 0 0 1 1 1 1 1 0 1 1 1 0 0 0 0 1 1 0 0 1 0 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 Diagrama de Tabela de Transição Tabela de entrada transição de de Estados dos Flip-Flops 7 estados Contadores - implementação Mapa K para Flip-Flops tipo T C CB A 00 01 11 10 0 1 1 1 1 1 1 1 1 1 + TAS Q B TA = 1 CLK Q R C CB 00 01 11 10 0 0 0 0 0 1 1 1 1 1 A 8 QC TCS Q CLK Q R Count Diagrama de tempo \Res et 00 01 11 10 QC 0 0 0 0 0 QB 1 0 1 1 0 QA B TC = A • B CLK Q R QB 100 C CB TBS Q \Reset B TB = A A QA Count Máquina de vender bombons Implementar a unidade de controle de uma máquina de vender bombom, em esquemático, utilizando Flip-Flops tipo JK. Características da máquina: – A máquina libera um pacote de bomboms depositar pelo menos 15 centavos. – 9 se o cliente Moedas aceitas na máquina: – 5 centavos (C) – 10 centavos (D) Implemente a mesma máquina permitindo que o cliente possa reutilizar os 5 centavos que ficam presos caso duas moedas de 10 sejam inseridas. 10 Máquina de vender bombons 5 cent(C). Sensor FSM da de 10 cent(D). Máquina moedas FSM Reset Liberar Mecanismo de liberação do pacote de bomboms Clk Diagrama de estados Reset 0¢ C/0 5¢ C/1 D/1 D/1 C/0 10¢