Prof.Corradi Finite State Machines.

Slides:



Advertisements
Apresentações semelhantes
Flip-Flops e Dispositivos Correlatos
Advertisements

Contadores e Registradores
Informática Industrial
Introdução Revisão de Conceitos de Circuitos Lógicos e Estruturas para Arquitetura de Computadores.
Organização de Computadores I
Máquinas de Estado Sistemas Digitais.
Eletrônica Digital Flip-Flops e Registradores de Deslocamento
Sistemas Digitais Projeto RTL – Unidade de Controle
INTRODUÇÃO À LÓGICA DIGITAL
Circuitos Lógicos e Organização de Computadores Capítulo 8 –Circuitos Seqüenciais Síncronos Ricardo Pannain
Conversores A/D e D/A Conversor analógico-digital (ADC) e conversor digital-analógico (DAC) são usados para interfacear um computador com o mundo analógico.
Prof. Yandre Maldonado e Gomes da Costa
VISÃO GERAL Profa. Fernanda Denardin Walker
Eletrônica Digital Contadores
PORTAS LÓGICAS Prof. Wanderley.
Máquinas de Estado Eletrônica Digital.
Introdução aos Sistemas Digitais
Unidades de Execução e de Controle Sistemas Digitais.
Processador Fluxo de Dados e Controle
Circuitos Lógicos Sequenciais
Finite State Machines.
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
Informática Industrial
Análise de Circuitos Sequenciais Síncronos
Circuitos Sequenciais
Registradores de deslocamento (Shift Register)
Registradores de deslocamento (Shift Register)
Máquina de Estados Uma máquina de estados finitos ou autômato finito é uma modelagem de um comportamento composto por estados, transições e ações Um estado.
Contadores Contadores são circuitos digitais que variam os seus estados, sob um comando de um clock (relógio), de acordo com uma sequencia predeterminada.
Decodificador 2 para 4 (2 : 4)
Máquina de Estados Uma máquina de estados finitos ou autômato finito é uma modelagem de um comportamento composto por estados, transições e ações Um estado.
MAPA DE KARNAUGH O Mapa de Karnaugh é uma ferramenta de auxílio à minimização de funções booleanas. O próprio nome mapa vem do fato dele ser um mapeamento.
1. Circuitos seqüenciais - conceito 2. Flip-flops 3. Registradores 4
1998 Morgan Kaufmann Publishers Ch5B-1 O Processador: Via de Dados e Controle (Parte C: microprogramação)
Circuitos combinatórios
Circuitos Combinacionais Portas Lógicas
Simplificação de Expressões Booleanas e Circuitos Lógicos
DIAGRAMA DE COMPONENTES
ÁLGEBRA DE CHAVEAMENTO
Máquina de Estados Finito
Redes de Computadores Transmissão da Informação.
Índice SUMÁRIO Introdução ao projeto de lógica seqüencial.
Engenharia de Software para Computação Embarcada
Antonyus Pyetro Infra-estrutura de Hardware – IF674
Informática Teórica Engenharia da Computação
Alterado para lógica positiva por Guilherme Arroz
Lógica reconfigurável por hardware
Conceitos de Lógica Digital
Latches e Flip-Flops GSI008 – Sistemas Digitais
Fundamentos de Circuitos Sequenciais Modelos de Mealy e Moore
Circuitos Seqüenciais
Exercícios de Máquinas de Estado
Arquitetura de computadores
Técnicas Digitais e de Microprocessadores II
Computador Simplificado Conceitos p.ex. FLUXO de execução
Infra-Estrutura de Hardware
ENGA78 – Síntese de Circuitos Digitais
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Circuitos Combinacionais Exercícios 2 POSCOMP e ENADE
Multiplexador O que é isso?.
Circuitos Sequenciais
Aplicações com flip-flops
Eletrônica Digital II ELT013
Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM)
Sistemas Digitais Aula 10 GRECO-CIN-UFPE.
Cap. V – Análise e Síntese de Circuitos Sequenciais Síncronos
Circuitos Lógicos Sequenciais
Codificadores e Decodificadores Prof. Lucas Santos Pereira
Lógica Programável e VHDL
Transcrição da apresentação:

Prof.Corradi Finite State Machines

Máquinas de Estados Finitos e Autômatos São uma Forma Muito Usada para Representar Sistemas que Possuem Memorização de Estados, não sendo Portanto Meramente Combinacionais. Podem ser usados para Representar: Protocolos em Redes Comportamento de Circuitos Eletrônicos Comportamento de Programas de Computador Comportamento de um Processo de Fabricação O Contrôle de Um Processo Físico Analógico de Uma forma Geral: Num Sistema Analógico a Relação entre Saída e Entrada Pode Ser Representada por Equações Diferenciais e Integrais Variáveis Assumem Valores Contínuos no Tempo Somador/ Comparador Saída Analógica Entrada Analógica PROCESSO Realimentação

Lógica Combinacional e Lógica Sequencial A saída depende apenas de uma combinação lógica dos valores de entrada. A saída não precisa esperar nenhum “clock” para ser gerada. Saídas são geradas um tempo pequeno (atraso da lógica) após as entradas mudarem. Lógica Sequencial É a que faz uso de registros (memória) A saída pode depender apenas dos estados dos flip-flops ou da combinação dos estados e das entradas. Denomina-se “ESTADO” da lógica sequencial ao conjunto de “1s” e “0s” armazenados nos flip-flops (memória) da lógica O relógio demarca o momento em que os estados mudam. A S B T C U D A D Q S B C C D Q T D C CK

Autômatos – Variáveis Assumem Valores Discretos no Tempo Representação: E0 E1 E2 E3 E4 10/0 00/0 11/1 01/0 00/1 11/0 01/1 10/1 Reset Saída (z) Entradas(x, y) Estado A- Diagrama de Transição A- Tabela de Transição PRÓXIMO ESTADO SAÍDAS (z) ESTADO ATUAL ENTRADAS x, y   00 01 10 11 E0 E2 E1 1 E3 ? E4

Autômatos Determinísticos e Não Determinísticos Autômato Finito Determinístico (AFD) Um Conjunto Q de Elementos Denominados Estados Um conjunto finito I denominado alfabeto de entrada Uma função F de mapeamento de Q X I em Q Um estado inicial q0 em Q Um Conjunto (não vazio) de Estados Terminais Z Autômato Finito Não Determinístico (AFND) Um Conjunto Q de Elementos Determinados Estados Um Conjunto finito I denominado alfabeto de entrada Uma função F de mapeamento de Q x I em subconjuntos de Q Um conjunto de estados iniciais em Q Um conjunto (não vazio) de estados terminais Z contido em Q NOTA: Um AFND pode estar em vários estados simultaneamente (paralelismo – vários caminhos podem ser percorridos ao mesmo tempo para chegar ao resultado final)

Mealy and Moore Machines Flip Flops Output Combinatorial Logic Next State Mealy Machine Inputs Outputs Clock Flip Flops Output Combinatorial Logic Next State Moore Machine Inputs Outputs Clock

Modelo de Moore e de Mealy - As saídas são definidas apenas em função dos estados. - No diagrama dos estados, o valor das saídas é representado junto o código do estado. Exemplo: MODELO DE MEALY - As saídas são definidas em função dos estados e das entradas do circuito. - No diagrama dos estados, o valor das saídas é representado junto ao valor da entrada. Exemplo:

Máquina de Mealy Est. Próx. Estado/Saída Atual Entrada (x) A- Exemplo: 1/1 Reset E0 E1 E2 E3 E4 0/1 1/0 0/0 B- Tabela de Transição Est. Próx. Estado/Saída Atual Entrada (x) E x=0 x=1 E0 E0/1 E2/0 E1 E3/1 E1/1 E2 E1/0 E4/1 E3 E0/0 E2/0 E4 E1/1 E3/0

Máquina de Moore Est. Próx. Estado Saída (y) 1 Reset A- Exemplo: B- Tabela de Transição Est. Próx. Estado Saída (y) Atual Entrada (x) y = F (E) E x=0 x=1 E0 E0 E2 1 E1 E3 E1 0 E2 E1 E4 1 E3 E0 E2 0 E4 E1 E3 0

Validade de Especificações (I)

Validade de Especificações (II)

Os estados são equivalentes a variáveis booleanas em um programa Algumas Características de Máquinas Não Determinísticas (simplificando inicialmente) Os estados são equivalentes a variáveis booleanas em um programa Sua construção é mais intuitiva que a determinísticas A atribuição de estados é simples, normalmente associados com as saídas. Normalmente não se usa codificação de estados. As equações são extraídas diretamente do diagrama, sem tabelas ou mapas Máquinas não determinísticas são ineficientes para sequências de contagem pois usam mais flip-flops que máquinas determinísticas com codificação de estados.

Geração das Equações de Estado Em Máquinas Determinísticas Atribui-se a Codificação dos Estados Mapeiam-se os Estados e Eventos em uma Tabela Verdade Simplifica-se com o Mapa de Karnaugh (ou programa específico) Em Máquinas Não Determinísticas: Cada estado é representado por um bit (“One Hot Encoding”) Cada termo produto é o produto do evento com o estado origem O estado é ativado pelo “ou” dos produtos que chegam a ele O estado é desativado pelos produtos que efetivamente o abandonam. Na verdade, um estado é desativado pela ativação de um estado gerado a partir dele. Portanto, não é necessário especificar as equações para desativar estados.

Procedimentos de Projeto 1- A partir da especificação obter o diagrama de estados; 2- Atribuir códigos a cada estado do diagrama; 3- Com base no diagrama de estados, obter a tabela de estados; 4- Escolher o tipo de flip-flop a utilizar; 5- Obter as equações de entrada para cada flip-flop, com base na tabela de estados; 6- Obter as equações de saída do circuito; 7- Desenhar o circuito lógico.

Análise de um Exemplo (I) Controlador de Vagão: Objetivo: Modelar o comportamento do controlador de um vagão de transporte de materiais.

Análise de um Exemplo (II)

Diagramas de Estados: Vantagens Formalismo gráfico permitindo uma compreensão fácil do comportamento do sistema. Forma intuitiva de modelação de sistemas. Suporte à elaboração de documentação de projeto permitindo a comunicação entre equipas de projetos, bem como ao ciclo de vida de um produto.

Diagramas de Estados: Problemas Ausência de mecanismo de estruturação hierárquica de suporte a encapsulamento e á utilização de módulos. Modelação do estado global do sistema. No caso de sistemas com componentes concorrentes, os estados resultam do produto dos estados das várias componentes, conduzindo á explosão do número de estados. Assim, são pouco adequadas á modelação de sistemas complexos.

Aplicações de máquina de Estados ler instrução ADD SUB JUMP decodificar instrução Controle de seqüência de ações: Unidade de controle de CPUs Seqüência de ações  fluxograma Mapeamento direto: fluxograma  maq. de estados

Washing Machine Control Panel Molho 10 Enxaguar LIGADA OPERANDO RESET INICIAR AG AA EA TA MC Entradas (de Sensores e Botões de Contrôle): RESET – Botão Reset – Reinicia Programa M10 – Especifica Molho 10 minutos INIC – Botão Iniciar após escolher Molho ou Enxaguar ENX – Enxaguar TA – Tampa_Aberta CC – Cesto_Cheio CV – Cesto_Vazio Sinais de Saída : LED Ligada LED Operando LED M10 – Molho 10 LED - Enxaguando LED AG - Agitando LED AA – Abre_Água LED EA – Esvazia_Água LED TA – Tampa_Aberta LED MC – Motor_Centrifugar