Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Documentos relacionados
2 a Lista de Exercícios

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

3 a Lista de Exercícios

Eletrônica Digital II

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Divisão de Engenharia Eletrônica Laboratório de ELE-20

Organização e Arquitetura de Computadores I

Aula 18. Máquina de Estados Parte 2. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Sistemas Digitais (SD)

Circuitos Digitais. Tipos de circuitos digitais: Circuitos combinacionais Circuitos sequenciais

Circuitos sequenciais síncronos

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

AULA 8 Máquina de Estados Finitos F.S.M. (pg. 132 a 135).

FEI PROVA P1 SISTEMAS DIGITAIS II - NE /04/ TURMA A - Duração 80 min Sem Consulta Interpretação faz parte da prova. N.

UNIVERSIDADE FEDERAL DO CEARÁ DEPARTAMENTO DE ENGENHARIA EM TELEINFORMÁTICA DISCIPLINA: PROJETO LÓGICO DIGITAL PROFESSOR: ALEXANDRE COELHO

Eletrônica Digital I TE050. Circuitos Seqüenciais

Circuitos sequenciais síncronos

Aula 17. Máquina de Estados Parte 1. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

SISTEMAS DIGITAIS II Enunciados de Laboratório

Circuitos sequenciais síncronos Parte II

AULA 2 Implementação de Flip-Flops dos tipos JK e RS Livro Texto pág. 113 a 117 e 124 e 146 a 148 e 150 a 152.

Centro de Educação Profissional da Universidade Estadual de Campinas

Eletrônica Digital. Prof. Gilson Yukio Sato sato[at]utfpr[dot]edu[dot]br

ELT601 Eletrônica Digital II

Contador. A ideia básica de um contador. Os flip-flops podem ser conectados juntos para realizar

PCS 2304 PROJETO LÓGICO DIGITAL 19/05/2006 Gabarito Preliminar 6 a Lista de Exercícios Contadores

A) A C + A B D + A B C D B) A B + A B D + A B C D C) A C + A C D + A B C D D) A C + A B D + A B C D

Biestáveis R S, J K e D

Disciplina ELETRÔNICA DIGITAL

Introdução a Sistemas Digitais

Circuitos Seqüenciais

Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Circuito de Dados e Circuito de Controlo

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

12/11/13. Obje%vos do laboratório. SST20707 Síntese de Sistemas de Telecomunicações. Síntese de máquinas de estado (FSM) Finite State Machine (FSM)

LABORG. VHDL Máquina de estados finitos

SISTEMAS DIGITAIS (SD)

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

ELETRÔNICA DIGITAL 1 CAPÍTULO 4 FLIP-FLOP E LATCH

FLIP-FLOPS: RS e D (teoria)

SISTEMAS DIGITAIS CIRCUITOS SEQUENCIAIS SÍNCRONOS

Capítulo 5 - Flip-Flops e Dispositivos Correlatos

Eletrônica Digital II

Eletrônica Digital para Instrumentação

Laboratório 6 (Trabalho com Relatório) Semana 25 de Outubro a 29 de Outubro

FIGURA 5-1 Diagrama geral de um sistema digital. Sistemas Digitais: Princípios e Aplicações Ronald J. Tocci e Neal S. Widmer Capítulo 5 Prentice Hall

Eletrônica Digital II. Flip-Flop s. Prof. Msc. Getúlio Teruo Tateoki 1

Fundamentos de Sistemas Digitais. Lógica Sequencial. Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno

Flip-flop D disparado pelo bordo ascendente ( Positive edge-triggered D flip-flop )

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

Contadores ( Counters )

CAPÍTULO 3 CIRCUITOS SEQUENCIAIS I: REGISTRADORES

Centro de Educação Profissional da Universidade Estadual de Campinas

UNIVERSIDADE ESTADUAL PAULISTA. Campus de Guaratinguetá Colégio Técnico Industrial de Guaratinguetá Professor Carlos Augusto Patrício Amorim

CAPÍTULO 2 ELEMENTOS DE LÓGICA SEQUENCIAL

SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2013/2014 Trabalho 5 Circuitos Sequenciais Síncronos

UFAL- Campus Arapiraca- Equipe:Igor Rafael, Matheus Torquato, Onassys Constant, Arthur Erick, Luis Eduardo. LÓGICA SEQUENCIAL

Capítulo 3 Circuitos lógicos seqüenciais: flip-flops, latches, contadores e registradores

Circuitos Sequenciais

CAPÍTULO 3 CIRCUITOS SEQUENCIAIS I: REGISTRADORES

CIRCUITOS SEQÜENCIAIS. Um modo de classificar os circuitos digitais seria subdividi-los em: - circuitos combinacionais; - circuitos seqüenciais.

CAPÍTULO 6 CIRCUITOS SEQUENCIAIS IV: PROJETO DE REDES SEQUENCIAIS

Registradores de Deslocamento e Memórias

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

FLIP-FLOPS SINCRONIZADOS, COM ENTRADAS PR e CLR

11/12/10. Básculas Flip-flops. Mário Serafim Nunes Guilherme Silva Arroz. Sistemas Digitais - Taguspark

Circuitos Sequenciais

1 AULA 01 FLIP-FLOPS CURSO DE ENGENHARIA ELÉTRICA DISCIPLINA: CIRCUITOS DIGITAIS II PROFESSOR: VLADEMIR DE J. S. OLIVEIRA

Barramento. Prof. Leonardo Barreto Campos 1

Circuitos Seqüenciais (Máquinas Síncronas ou de Estados Finitos)

INSTITUTO DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SERGIPE COORDENADORIA DE ELETRÔNICA. Flip - Flops

Memória. Arquitetura de Computadores I. DCC-IM/UFRJ Prof. Gabriel P. Silva

ELETRÔNICA DIGITAL APLICADA Aula 8- Registradores de deslocamento como contadores

Memórias ROM ( Read-Only Memory )

FLIP-FLOPS SINCRONIZADOS, COM ENTRADAS PR e CLR

Organização e Arquitetura de Computadores I

EPUSP PCS 2011/2305/2355 Laboratório Digital SOMADORES DECIMAIS

Normalmente o registrador de deslocamento é constituído de um conjunto de FFs (Flip-Flops) destinados a armazenar dados binários.

Universidade Federal do Pará Instituto de Tecnologia Faculdade de Engenharia Elétrica. Eletrônica Digital. Plano de Ensino 2015_2

Sistemas Digitais. Trabalho Prático 6. Controlo de um motor de passo

Eletrônica e Circuitos Digitais Aula 14 Contadores e Registradores. Daniel S Batista

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Disciplina: Eletrônica Digital Aluno: Nº: Código: EL52M Turma: Prof.: Gustavo B. Borba Código: Data: / /

LÓGICA DIGITAL CONCEITOS DE CLOCK RELÓGIOS (CLOCK) Prof. Celso Candido ADS / REDES / ENGENHARIA

Circuitos Digitais. Conteúdo. Circuitos Sequenciais. Combinacionais x Sequenciais. Circuitos Sequenciais. Circuitos Sequenciais

Um flip-flop S-R Sincrono depende da habilitação de suas entradas por um sinal de clock para que essas possam alterar o estado do mesmo.

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

Máquinas de estado. Rodrigo Hausen ... saída próx. estado. entrada estado. Circuito combinacional para o cálculo do próximo estado.

CARGA HORÁRIA TOTAL : 108 h/aulas TEORIA: 72 h/aulas PRÁTICA: 36 h/aulas. CURSO(S): Engenharia Elétrica SEMESTRE/ANO : 02/2010

Capítulo VII Elementos de Memória

Sistemas Digitais Circuitos Sequenciais Básicos (Latches e Flip-Flops) Horácio Neto Nuno Horta João Paulo Carvalho

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 5 Memória interna

SSC510 Arquitetura de Computadores 1ª AULA

REGISTRADOR DE DESLOCAMENTO (SHIF-REGISTER)

LABORATÓRIO DE ELETRÔNICA DIGITAL Experiência 7: Análise de Circuitos Biestáveis

UFJF FABRICIO CAMPOS

William Stallings Arquitetura e Organização de Computadores 8 a Edição

EXERCÍCIOS DE NE 772

FLIP-FLOPS JK e T. Na saída da porta A, temos J.Q e na saída da porta B temos K.Q

Transcrição:

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Aula 5-T 2. Máquinas Sequencias Síncronas: Codificação de estados. Síntese de circuitos sequenciais segundo o Modelo de Mealy (comparação com o Modelo de Moore). Exemplos. guntzel@inf.ufsc.br.inf.ufsc.br/~guntzel/ine5406/ine5406.html

Síntese de Circuitos Sequenciais Exemplo 3: Tabelas de (Transição de) Estados e de Saída Tabela de (transição de) estados = 0 reset = 1 A / z = 0 B / z = 0 = 0 = 1 = 0 C / z = 1 Estado atual Próximo estado A 0 A A 1 B B 0 A B 1 C Tabela de saída Estado z A 0 B 0 C 1 C 0 A = 1 C 1 C Slide 5T.2

Síntese de Circuitos Sequenciais Exemplo 3: Diagrama de Blocos Sinais de entrada: Sinais de saída: z Número de estados: 3 Logo, são necessários 2 flip-flops para armazenar as variáveis de estado lógica de próximo estado Y0 Y1 D0 Q0 FF 0 D1 Q1 y0 y1 lógica de saída z FF 1 ck Reset Slide 5T.3

Síntese de Circuitos Sequenciais Exemplo 3: Codificação de Estados Supondo a seguinte codificação: A=00, B=01, C=10 Estado atual Próximo estado A 0 A A 1 B B 0 A B 1 C C 0 A C 1 C Estado atual Próximo estado y1y0 Y1Y0 A 00 0 00 A A 00 1 01 B B 01 0 00 A B 01 1 10 C C 10 0 00 A C 10 1 10 C - 11 0 XX - - 11 1 XX - Slide 5T.4

Síntese de Circuitos Sequenciais Exemplo 3: circuito final Y1 D1 Q1 y1 z Q1 Y0 D0 Q0 Q0 y0 Y1 = y1 + y0 = (y1+y0) Y0 = y1 y0 z = y1 ck reset Slide 5T.5

Codificação de Estados Exemplo 3, Porém Codificando os Estados com o Código Gray: A=00, B=01, C=11 Estado atual Próximo estado y1y0 Y1Y0 A 00 0 00 A A 00 1 01 B B 01 0 00 A B 01 1 11 C - 10 0 XX - Estado z y1y0 A 00 0 B 01 0-10 X C 11 1-10 1 XX - C 11 0 00 A C 11 1 11 C Slide 5T.6

Codificação de Estados Exemplo 3, Porém Codificando os Estados com o Código Gray: A=00, B=01, C=11 Estado atual Próximo estado y1y0 Y1Y0 A 00 0 00 A Y1 y1y0 y1y0 y1y0 y1y0 0 0 0 X Y1 = y0 A 00 1 01 B B 01 0 00 A 0 1 1 X B 01 1 11 C y0-10 0 XX - - 10 1 XX - C 11 0 00 A C 11 1 11 C Y0 y1y0 y1y0 y1y0 y1y0 0 0 0 X 1 1 1 X Y0 = Slide 5T.7

Codificação de Estados Exemplo 3, Porém Codificando os Estados com o Código Gray: A=00, B=01, C=11 y1y0 z 00 0 01 0 z y1 y0 y0 0 0 z = y1 10 X 11 1 y1 X 1 y1 Coincidentemente, a equação de saída não mudou. Slide 5T.8

Codificação de Estados Exemplo 3, Porém Codificando os Estados com o Código Gray: A=00, B=01, C=11 Y1 D1 Q1 Q1 y1 z Y1 = y0 Y0 = z = y1 Y0 D0 Q0 y0 Q0 ck reset Slide 5T.9

Codificação de Estados Assinalamento A=00, B=01, C=10 Assinalamento A=00, B=01, C=11 Y1 D1 Q1 y1 z Y1 D1 Q1 Q1 y1 z Q1 Y0 D0 Q0 y0 Y0 D0 Q0 y0 Q0 Q0 ck ck reset Y1 = (y1 + y0) Y0 = y1 y0 z = y1 reset Y1 = y0 Y0 = z = y1 Slide 5T.10

Codificação de Estados Exemplo 4, Porém Codificando os Estados com o Código Gray: A=00, B=01, C=11, D=10 Estado atual Próximo estado A 0 A A 1 B B X C C X D D X A Estado atual Próximo estado y1y0 Y1Y0 A 00 0 00 A A 00 1 01 B B 01 X 11 C D 10 X 00 A C 11 X 10 D Slide 5T.11

Codificação de Estados Exemplo 4, Porém Codificando os Estados com o Código Gray: A=00, B=01, C=11, D=10 Estado atual Próximo estado y1y0 Y1Y0 A 00 0 00 A A 00 1 01 B Y1 y1y0 y1y0 y1y0 y1y0 0 1 1 0 0 1 1 0 Y1 = y0 B 01 X 11 C D 10 X 00 A C 11 X 10 D Y0 y0 y1y0 y1y0 y1y0 y1y0 0 1 0 0 y1 1 1 0 0 y1 y0 Y0 = y1 + y1 y0 Slide 5T.12

Codificação de Estados Exemplo 4, Porém Codificando os Estados com o Código Gray: A=00, B=01, C=11, D=10 Reset A B = 1 = 0 R3 R2; Estado: Operação: Sinais de saída que devem valer 1 A ----- B R3 R2; C3 = 1; H2 = 1; C R2 R1; C2 = 1; H1 = 1; D R1 R3; C1 = 1; H3 = 1; Done = 1; C D R2 R1; R1 R3; H1 C1 H2 C2 H3 C3 Done A 0 0 0 0 0 0 0 B 0 0 1 0 0 1 0 D 0 1 0 0 1 0 1 C 1 0 0 1 0 0 0 Slide 5T.13

Codificação de Estados Exemplo 4, Porém Codificando os Estados com o Código Gray: A=00, B=01, C=11, D=10 Estado y1y0 H1 C1 H2 C2 H3 C3 Done A 00 0 0 0 0 0 0 0 B 01 0 0 1 0 0 1 0 D 10 0 1 0 0 1 0 1 C 11 1 0 0 1 0 0 0 H1 = C2 = y1 y0 C1 = H3 = Done = y1 y0 H2 = C3 = y1 y0 Slide 5T.14

Codificação de Estados Assinalamento A=00, B=01, C=10, D=11 Assinalamento A=00, B=01, C=11, D=10 (Código Gray) Y1 = y1 y0 + y1 y0 Y0 = y0 + y1 y0 Y1 = y0 Y0 = y1 + y1 y0 H1 = C2 = y1 y0 C1 = H3 = Done = y1 y0 H2 = C3 = y1 y0 H1 = C2 = y1 y0 C1 = H3 = Done = y1 y0 H2 = C3 = y1 y0 Slide 5T.15

Codificação de Estados Codificação One-Hot Consiste em usar tantas variáveis de estado quantos forem os estados Cada estado é codificado de modo que somente uma das variáveis de estado vale 1 e todas as demais valem 0 Slide 5T.16

Codificação de Estados Aplicando a Codificação One-Hot ao Exemplo 3: A=001, B=010, C=100 Estado atual Próximo estado A 0 A A 1 B B 0 A B 1 C C 0 A C 1 C Estado atual Próximo estado y2 y1 y0 Y2 Y1 Y0 A 001 0 001 A A 001 1 010 B B 010 0 001 A B 010 1 100 C C 100 0 001 A C 100 1 100 C As combinações de entrada não citadas têm como próximo estado XXX Slide 5T.17

Codificação de Estados Aplicando a Codificação One-Hot ao Exemplo 3: A=001, B=010, C=100 Estado atual y2 y1 y0 Próximo estado Y2 Y1 Y0 Y2 y2y1 y2y1 y2y1 y2y1 A 001 0 001 A A 001 1 010 B B 010 0 001 A B 010 1 100 C y0 y0 y0 X 0 X 0 X 1 X 1 0 X X X y0 C 100 0 001 A C 100 1 100 C y0 0 X X X Slide 5T.18

Codificação de Estados Aplicando a Codificação One-Hot ao Exemplo 3: A=001, B=010, C=100 Estado atual y2 y1 y0 Próximo estado Y2 Y1 Y0 Y1 y2y1 y2y1 y2y1 y2y1 A 001 0 001 A A 001 1 010 B B 010 0 001 A B 010 1 100 C y0 y0 y0 X 0 X 0 X 0 X 0 1 X X X y0 C 100 0 001 A C 100 1 100 C y0 0 X X X Slide 5T.19

Codificação de Estados Aplicando a Codificação One-Hot ao Exemplo 3: A=001, B=010, C=100 Estado atual y2 y1 y0 Próximo estado Y2 Y1 Y0 Y0 y2y1 y2y1 y2y1 y2y1 A 001 0 001 A A 001 1 010 B B 010 0 001 A B 010 1 100 C y0 y0 y0 X 1 X 1 X 0 X 0 0 X X X C 100 0 001 A C 100 1 100 C y0 1 X X X Slide 5T.20

Codificação de Estados Aplicando a Codificação One-Hot ao Exemplo 3: A=001, B=010, C=100 Estado y2 y1 y0 z A 001 0 z y0 y2y1 y2y1 y2y1 y2y1 X 0 X 1 z = y2 B 010 0 C 100 1 y0 0 X X X y2 As combinações de entrada não citadas têm como saída X Slide 5T.21

Codificação de Estados Assinalamento A=00, B=01, C=10 Y1 = (y1 + y0) Y0 = y1 y0 z = y1 Assinalamento A=00, B=01, C=11 (Código Gray) Codificação One Hot Y1 = y0 Y0 = z = y1 Y2 = y0 Y1 = y0 Y0 = z = y2 Slide 5T.22

Síntese de Circuitos Sequenciais Exemplo 5: Árbitro de Barramento (Especificação) reset ck Árbitro de Barramento (FSM) barramento r1 c1 r2 c2 r3 c3 disp1 disp2 disp3 O árbitro recebe requisições para uso do barramento (r1, r2, r3) provenientes de três dispositivos de entrada/saída (disp1, disp2, disp3, respectivamente) disp1 possui a maior prioridade no uso do barramento (e disp3 possui a menor prioridade). Somente um dispositivo por vez pode receber a concessão do barramento. Para sinalizar qual dispositivo pode usar o barramento, o árbitro faz o respectivo sinal de concessão valer 1 (por exemplo, c1=1 sinaliza que disp1 pode usar o barramento). Slide 5T.23

Síntese de Circuitos Sequenciais Exemplo 5: Árbitro de Barramento (Especificação) reset ck Árbitro de Barramento (FSM) barramento r1 c1 r2 c2 r3 c3 disp1 disp2 disp3 Uma vez que um dispositivo recebe a concessão para usar o barramento, ele permanece com esta concessão durante todo o tempo que ele necessitar usar o barramento. Para tanto, o dispositivo mantém seu sinal de requisição no valor 1. O estado BD significa barramento disponível. D1 significa barramento concedido ao dispositivo 1 (e assim por diante). Slide 5T.24

Síntese de Circuitos Sequenciais Exemplo 5: Árbitro de Barramento (Especificação) reset ck Árbitro de Barramento (FSM) r1 c1 r2 c2 disp1 disp2 1. Desenhe o diagrama de estados que modela o comportamento deste árbitro de barramento 2. Escreva a tabela de sinais de saída r3 c3 disp3 barramento Slide 5T.25

Síntese de Circuitos Sequenciais Exemplo 5: Árbitro de Barramento Reset 000 reset ck 0XX BD 1XX r1 c1 disp1 X 0X D1 01X Árbitro de barramento (FSM) r2 c2 r3 c3 disp2 disp3 X X0 1XX D2 X1X 001 r1 r2 r3 barramento D3 XX1 Slide 5T.26

Síntese de Circuitos Sequenciais Exemplo 5: Árbitro de Barramento Reset 000 BD 0XX 1XX reset ck r1 c1 disp1 saídas estado c1 c2 c3 BD 0 0 0 D1 1 0 0 X X0 X 0X D1 1XX D2 01X 001 Árbitro de Barramento (FSM) r2 c2 disp2 D2 0 1 0 D3 0 0 1 X1X r1 r2 r3 r3 c3 disp3 D3 barramento XX1 Slide 5T.27

Síntese de Circuitos Sequenciais Exemplo 5: Árbitro de Barramento (Tarefa de casa...) 3. Assumindo uma codificação de estados trivial (BD=00, D1=01, D2=10, D3=11): 4. Encontre as equações de estado simplificadas. Nomeia as variáveis de estado y1, y0, Y1 e Y0. 5. Encontre as equações de saída simplificadas. 6. Usando 3 variáveis de estado, adote uma codificação de estados que minimize a lógica de saída. 7. Considerando a codificação de estados adotada no item anterior, encontre as equações de estado simplificadas. Nomeia as variáveis de estado y2, y1, y0, Y2, Y1 e Y0. 8. Comente o custo das duas implementações. Slide 5T.28

Síntese de Circuitos Sequenciais Exemplo 6: Controle de Porta de Garagem Necessita-se de um circuito sequencial síncrono capaz de controlar uma porta de garagem. 1. Quando a porta atinge o ponto de máxima abertura, um sensor de posição avisa fazendo o sinal SA=1. 2. Quando a porta atinge o ponto de máximo fechamento, outro sensor de posição avisa fazendo o sinal SF=1. 3. Para as situações intermediárias, SF=SA=0. (SF=SA=1 nunca ocorre.) Slide 5T.29

Síntese de Circuitos Sequenciais Exemplo 6: Controle de Porta de Garagem Possíveis estados para a porta de garagem e respectivos valores para os sinais SA e SF. nome do estado situação da porta SA SF aberta porta parada no ponto de máxima abertura 1 0 fechada porta parada no ponto de máximo fechamento 0 1 abrindo porta em movimento, abrindo 0 0 fechando porta em movimento, fechando 0 0 A porta em questão é movimentada por um motor elétrico, o qual é controlado por dois sinais, A e F. situação do motor A F motor abrindo a porta 1 0 motor fechando a porta 0 1 motor parado 0 0 1 1 Slide 5T.30

Síntese de Circuitos Sequenciais Exemplo 6: Controle de Porta de Garagem A porta é acionada por um controle remoto que possui apenas um botão: 1. Quando este botão é acionado, o receptor instalado junto ao controle da porta faz o sinal B=1 durante um ciclo de relógio. Estando a porta no estado "aberta" ou no estado "fechada, se B=1, a porta muda de estado na próxima borda ativa do relógio. 2. Nos outros dois estados, o acionamento do controle remoto não tem ação sobre a porta. Slide 5T.31

Síntese de Circuitos Sequenciais Exemplo 6: Controle de Porta de Garagem 1. Desenhe o diagrama de estados (modelo Moore) que modela o comportamento do circuito sequencial síncrono que controla a porta de garagem descrita. 2. Faça o esboço do diagrama de blocos deste circuito sequencial síncrono. 3. Assumindo uma implementação que utiliza o número mínimo de variáveis de estados, mostre a codificação de estados que minimiza a lógica de saída deste circuito sequencial síncrono. Slide 5T.32

Síntese de Circuitos Sequenciais Exemplo 6: Controle de Porta de Garagem Diagrama de Estados aberta fechando abrindo fechada Slide 5T.33

Síntese de Circuitos Sequenciais Exemplo 6: Controle de Porta de Garagem Diagrama de Estados B aberta B SA SF fechando abrindo SA SF B fechada B Slide 5T.34

Síntese de Circuitos Sequenciais Exemplo 6: Controle de Porta de Garagem Diagrama de Blocos lógica de próximo estado lógica de saída A completar... Slide 5T.35

Síntese de Circuitos Sequenciais Exemplo 6: Controle de Porta de Garagem Codificação de estados que Minimiza a Lógica de Saída nome do estado y1 y0 aberta 0 0 fechando 0 1 fechada 1 1 abrindo 1 0 Slide 5T.36

Modelo de Mealy Característica principal: as saídas dependem do estado atual e de entrada(s) primária(s) i 1 i 2 i k ck i l i m Há ao menos uma entrada externa D 1 Q 1 FF 1 Q 1 Lógica de Próximo Estado D 2 Q 2 FF 2 Q 2 Lógica de Saída o 1 o 2... o j D 3 Q 3 FFn Q 3 Slide 5T.37

Síntese de Circuitos Sequenciais: Modelo de Mealy Exemplo 3: circuito z Projete um circuito que satisfaça às seguintes especificações: ck 1. O circuito possui uma entrada,, e uma saída, z. 2. Todas as mudanças de valores no circuito ocorrem na borda de subida do sinal de relógio. 3. Quando o circuito detetar que a entrada vale 0, a saída z deve valer 0 no ciclo de relógio seguinte. Porém, quando o circuito detetar que a entrada vale 1 durante duas bordas de relógio consecutivas, a saída z deve passar a valer 1 no ciclo de relógio seguinte à segunda ocorrência do valor 1. As mudanças de z estão sincronizadas com a borda de relógio ativa. Considere a seguinte modificação da especificação acima: O sinal de saída z não precisa esperar que um segundo valor igual a 1 seja amostrado da entrada. Porém, se z = 1 e muda de 1 para 0, z deve também mudar para 0, independentemente da borda ativa do relógio Slide 5T.38

Síntese de Circuitos Sequenciais: Modelo de Mealy Exemplo 3.1: exemplo de funcionamento dinâmico Especificação modificada: O sinal de saída z não precisa esperar que um segundo valor igual a 1 seja amostrado da entrada. Porém, se z = 1 e muda de 1 para 0, z deve também mudar para 0, independentemente da borda ativa do relógio t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 z Slide 5T.39

Síntese de Circuitos Sequenciais: Modelo de Mealy Exemplo 3.1: Diagrama de Estados reset = 1 / z = 0 = 0 / z = 0 A B = 1 / z = 1 = 0 / z = 0 Interpretação do Diagrama de Estados: Durante o ciclo de relógio atual, o valor da saída z corresponde ao rótulo assinalado em alguma das arestas que partem do estado atual. No caso do estado B, por exemplo, z pode valer 0 ou valer 1, conforme for o valor de. Isto implica que z pode mudar de valor antes que a máquina de estados mude de estado. Slide 5T.40

Síntese de Circuitos Sequenciais: Modelo de Mealy Exemplo 3.1: Tabelas de (Transição de) Estados e de Saída reset = 1 / z = 0 = 0 / z = 0 A B = 1 / z = 1 = 0 / z = 0 Tabela de (transição de) estados Estado atual Próximo estado A 0 A A 1 B B 0 A B 1 B Tabela de saída Estado z A 0 0 A 1 0 B 0 0 B 1 1 Slide 5T.41

Síntese de Circuitos Sequenciais: Modelo de Mealy Exemplo 3.1: Projetando a lógica de próximo estado e a lógica de saída Como há somente dois estados, iremos utilizar somente uma variável de estado. Assumindo o seguinte assinalamento de estados: A=0, B=1 Lógica de Próximo Estado y Y A 0 0 0 A A 0 1 1 B B 1 0 0 A B 1 1 1 B Lógica de Saída y z 0 0 0 0 1 0 1 0 0 1 1 1 z = y Y = y + y = Slide 5T.42

Síntese de Circuitos Sequenciais: Modelo de Mealy Exemplo 3.1: circuito final Y D Q y z ck Q reset Y = z = y Slide 5T.43

Síntese de Circuitos Sequenciais Exemplos 3 e 3.1: Comparando Moore e Mealy Moore Mealy Y1 Y0 D1 D0 Q1 Q1 Q0 y1 y0 z ck Y D Q Q y z Q0 reset ck reset Y1 = y0 Y0 = z = y1 Y = z = y Slide 5T.44

Síntese de Circuitos Sequenciais: Modelo de Mealy Exemplo 3.1: exemplo de funcionamento dinâmico t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 y A B A B B A B B B A z Slide 5T.45

Síntese de Circuitos Sequenciais Exemplos 3 e 3.1: t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 Mealy y A B A B B A B B B A z t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 Moore y0 y1 A B A B C A B C C A z Slide 5T.46

Síntese de Circuitos Sequenciais Exemplo 3.1: Porém, se passarmos a saída z por um segundo flip-flop, filtraremos o comportamento assíncrono. De fato, estaremos transformando o circuito para o Modelo de Moore Y D Q y z D Q z* Q Q ck reset Slide 5T.47

Síntese de Circuitos Sequenciais Exemplo 3.1: t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 Mealy y A B A B B A B B B A z t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 Mealy transform. em Moore y z A B A B B A B B B A z* Slide 5T.48

t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 Mealy transform. em Moore y z A B A B B A B B B A Moore z* t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 y0 y1 A B A B C A B C C A z Slide 5T.49

Síntese de Circuitos Sequenciais: Modelo de Mealy Exemplo 4.1: Utilizando o modelo de Mealy para FSM, projetar o circuito de controle que permita realizar um sap entre R1 e R2, utilizando R3 como temporário. (Desconsiderar outras possíveis operações.) barramento ck R1 R2 R3 C1 H1 C2 H2 C3 H3 Circuito de controle Done Slide 5T.50

Síntese de Circuitos Sequenciais: Modelo de Mealy Exemplo 4.1: Para realizar o sap entre R1 e R2 no circuito abaixo, é necessário realizar a seguinte seqüência de transferências entre registradores : 1. R3 R2; 2. R2 R1; 3. R1 R3; ck barramento R1 R2 R3 C1 H1 C2 H2 C3 H3 Circuito de controle Done Slide 5T.51

Síntese de Circuitos Sequenciais: Modelo de Mealy Exemplo 4.1: Diagramas de estados Reset Moore Reset Mealy A = 0 A = 0 / = 1 = 1 / R3 R2 B R3 R2; - / R1 R3 B - / R2 R1 C R2 R1; C D R1 R3; Lembrando que na versão Mealy, as mudanças dos sinais de saída estão associadas às arestas Slide 5T.52

Síntese de Circuitos Sequenciais: Modelo de Mealy Exemplo 4.1: Reset A = 0 / = 1 / H2=1, C3=1 - / H3=1, C1=1, Done=1 B - / H1=1, C2=1 C Estado atual Operação: C1 H1 C2 H2 C3 H3 Done A 0 Nenhuma ação 0 0 0 0 0 0 0 A 1 R3 R2; 0 0 0 1 1 0 0 B - R2 R1; 0 1 1 0 0 0 0 C - R1 R3; 1 0 0 0 0 1 1 Obs interessante: n o de linhas = n o de arestas do diagrama (excluída a aresta do reset). Slide 5T.53

Síntese de Circuitos Sequenciais Exemplos 4 e 4.1: Comparando Mealy com Moore A versão Mealy requer três estados (ao invés de quatro da versão Moore) Porém, isto não significa necessariamente que o circuito será menor, pois ainda são necessários dois flip-flops - / H3=1, C1=1, Done=1 A versão Mealy para o exemplo 3 gera C os sinais de controle um ciclo de relógio mais cedo que a versão Moore Logo, para realizar o sap entre dois registradores a versão Mealy necessita de 3 ciclos de relógio, enquanto a versão Moore necessita de 4 ciclos. Reset A B = 0 / = 1 / H2=1, C3=1 - / H1=1, C2=1 Slide 5T.54