Máquinas de Estados Finitos

Documentos relacionados
Análise de Circuitos Sequënciais Máquinas de Mealy e Moore

ELETRÔNICA DIGITAL II

Organização e Arquitetura de Computadores I

Eletrônica Digital II

Organização e Arquitetura de Computadores

Os sistemas combinacionais a saída depende exclusivamente das condições das entradas, portanto o sistema não possui memória interna.

Sistemas Digitais (SD)

Sistemas Digitais (SD) Síntese de Circuitos Sequenciais: Definições

SISTEMAS DIGITAIS (SD)

SÍNTESE DE SIST. SEQUENCIAIS SÍNCRONOS. Sel Sistemas Digitais Prof. Homero Schiabel

Circuitos sequenciais síncronos

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

Circuitos sequenciais síncronos

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

Máquinas de Estados Finitos. Aula 19 Prof. Abel Guilhermino

Síntese de circuitos sequenciais síncronos(máquinas de estados finitos)

Análise e Projeto de Circuitos Combinacionais e Sequenciais

ELT601 Eletrônica Digital II

2 a Lista de Exercícios

Circuitos sequenciais síncronos

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

Contadores ( Counters )

Introdução a Sistemas Digitais

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

Circuitos Seqüenciais

CIRCUITOS SEQUENCIAIS. Adão de Melo Neto

Sistemas Digitais. Módulo 14 Prof. Celso CIRCUITOS SEQÜÊNCIAIS

EELi02. Prof. Vinícius Valamiel

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

SISTEMAS DIGITAIS (SD)

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

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

Circuitos Sequenciais

Circuitos sequenciais

UTILIZAÇÃO DE CIRCUITOS BIESTÁVEIS

Sistemas Digitais. Planificação das aulas teóricas e aulas práticas Ano Lectivo 2005/ 2006

Circuito combinacional

CONTADORES DIGITAIS (Unidade 6)

Circuitos Lógicos Combinacionais (parte 2) CPCX UFMS Slides: Prof. Renato F. dos Santos Adaptação: Prof. Fernando Maia da Mota

Linguagens Regulares. Prof. Daniel Oliveira

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

Circuitos Decodificadores

Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture

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

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

Sistemas Digitais Planificação das aulas teóricas e aulas práticas Ano Lectivo 2006/ 2007

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

a)[1 val] Desenhe o esquema lógico que implementa directamente a função f (i.e., sem simplificar).

CAPÍTULO 4 CIRCUITOS COMBINACIONAIS

a) Obtenha a tabela verdade das operações com 01 bit

Sistemas Digitais Módulo 10 Circuitos Sequenciais: Latches e Flip-Flops

UFMT. Ministério da Educação UNIVERSIDADE FEDERAL DE MATO GROSSO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO PLANO DE ENSINO

Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Microprograma

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

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

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.

Trabalho Prático Nº 8

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

Tabela 1 - Minitermos e Maxtermos para uma função de 3 variáveis.

SISTEMAS DIGITAIS (SD)

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

Eletrônica Digital I TE050. Circuitos Seqüenciais

4. Desenhe um digrama esquemático para cada uma das funções abaixo. a.

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

SISTEMAS DIGITAIS CONTADORES E REGISTRADORES. Professor Carlos Muniz

Faculdade de Computação Curso de Sistemas de Informação Sistemas Digitais Lista 3 Prof. Dr. Daniel A. Furtado

Simplificação e Mapa de Karnaugh. Sistemas digitais

Capítulo II Álgebra Booleana e Minimização Lógica

UTILIZAÇÃO DE CIRCUITOS BIESTÁVEIS

364 SISTEMAS DIGITAIS

ENGª DE ELECTRÓNICA E COMPUTADORES

Latch SR (Set/Reset)

Flip-Flop. Uma das coisa importantes que se pode fazer com portas booleanas é criar memória.

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

Circuitos Digitais. Conteúdo. Circuitos Combinacionais. Esquema Geral de um Circuito Combinacional. Circuitos Lógicos Combinacionais

CAPÍTULO 3 CIRCUITOS SEQUENCIAIS I: REGISTRADORES

EELi02 Circuitos Lógicos

Transcrição:

Capítulo 6 Máquinas de Estados Finitos Construir circuitos digitais que executam operações complexas pode ser trabalhoso e demorado. Felizmente há uma forma de sistematizar o processo. Sistemas que requerem como entrada o estado anterior para decidir o estado futuro enquadram-se no que convencionou-se chamar de circuitos sequenciais. Estes são circuitos nos quais as saídas não são simplesmente determinadas pelas entradas mas sim por uma combinação das entradas com o estado anterior do circuito. Há diversas formas de projetar tais sistemas. Por exemplo, podemos aproveitar a experiência adquirida com latches e flip-flops e simplesmente retroalimentar no sistema o estado anterior como entrada(s). Infelizmente esta não é uma abordagem prática por diversos motivos. Inicialmente, os sistemas podem ser complexos, e tratar de sinais realimentados pode tornar o projeto proibitivamente complexo. Outro motivo deriva de dificuldades em controlar no sistema quando as entradas/saídas estarão efetivamente estáveis e que pode levar a grandes complexidades no projeto e dificultar o processo de correção de erros. Felizmente há formas de sistematicamente especificar tais sistemas. Neste capítulo estudaremos uma metodologia de modelagem e especificação de sistemas sequenciais chamada de máquinas de estados finitos - MEF. Exemplo 6.1. Imagine que desejamos construir um circuito digital para controlar um semáforo. Este é um exemplo simples no entanto serve para ilustrarmos a utilidade de máquinas de estados finitos. Construir um circuito combinacional simples para controlar o sistema não é possível pois há uma sucessão de eventos que deve ser respeitada. Consequentemente, algum tipo de memória será necessária. As regras do funcionamento são simples. No entanto as elicitamos a seguir para fins de claridade. 43

44 CAPÍTULO 6. MÁQUINAS DE ESTADOS FINITOS 1. Apenas uma das luzes(verde, amarelo ou vermelho podem estar ligadas por vez); 2. O sistema deve iniciar em vermelho para fins de segurança; 3. A cada unidade de tempo a luz a ser acendida deve mudar obedecendo a seguinte ordem: vermelho verde amarelo vermelho ; Figura 6.1: Digrafo valorado que modela o problema do farol simples. A figura 6.1 apresenta uma modelagem baseada em grafos valorados do problema apresentado. Nela vemos três vértices representando cada um dos estados em que o farol pode se encontrar e as transições válidas que capturam o funcionamento do sistema. Figura 6.2: Uma Máquina de Estados Finitos - MEF - é formalmente definida pela equação 6.1.

6.1. MODELO DE MOORE 45 M = (Σ,S,s 0,δ,F) (6.1) O primeiro elemento, Σ, representa o alfabeto de entrada (sinais de entrada), ou seja, o conjunto de sinais que entram no sistema. O segundo Elemento, S, representa o conjunto de estados que o sistema pode assumir e s 0 é o estado inicial em que a máquina começa. O quarto elemento, δ é a função de transição de estados, δ : S Σ S essencialmente o motor da máquina. O último elemento, F é um subconjunto de S (possivelmente vazio) que especifica os possíveis estados finais da máquina. Notem que nada foi dito acerca das saídas do sistema. Este é esperado a produzir saídas para cada um dos estados. Esta definição assumi que as saídas estão associadas a cada estado. Com relação aos estados finais, vale notar que embora a máquina preveja que eles sejam definidos, quando nos é apresentado um diagrama ao invés da especificação formal. Consequentemente nem sempre é imediato detectarmos quais são os estados finais. Um estado final é aquele que uma vez alcançado não permite que nenhum outro estado seja alcançado. Em outras palavras é o receptáculo de uma ou mais arestas e a partir do qual nenhuma aresta se origina. Uma exceção notável refere-se a uma aresta do estado para ele mesmo. Como neste caso, nenhum outro estado será alcançado por definição este também será um estado final. 6.1 Modelo de Moore O modelo de máquinas de Moore especifica que a saída dependa apenas do estado anterior armazenado na memória da MEF. Usualmente associa-se uma célula de memória para cada estado. Consequentemente a MEF sempre estará em algum estado. Por fim o modelo de Moore especifica que as saídas sejam síncronas. Uma consequência interessante do Modelo de Moore é o fato de que a cada estado sempre haverá associado um conjunto de saídas. Tal fato impõe um limite ao número de transições que podem partir de cada estado. Este número será limitado num máximo de 2 Σ onde Σ é o conjunto dos sinais de entrada. O mesmo não pode ser dito acerca do número máximo de estados. Uma conclusão compreensível porém errônea seria assumir que o número máximo de estados fosse 2 z, onde z representa o número de bits na saída. No entanto este não é o caso, pois pode surgir a necessidade de que dois estados sejam definidos representando exatamente o mesmo conjunto de saídas mas alcançáveis a partir de diferentes transições e originando diferentes transições.

46 CAPÍTULO 6. MÁQUINAS DE ESTADOS FINITOS Figura 6.3: Diagrama esquemático do modelo de Moore para MEFs. A seguir vemos um exemplo de como especificar uma máquina de estados finitos sistematicamente utilizando para tal o modelo de Moore. Exemplo 6.2. Desejamos projetar um sistema que controle a catraca de um ponto de ônibus para modernizar o sistema de transporte público da cidade. O sistema deve funcionar da seguinte forma: Figura 6.4: MEF que modela o sistema de catracas. 1. a catraca deve permanecer fechada enquanto uma moeda não é inserida; 2. ao inserir uma moeda a catraca será aberta e estará susceptível a ser empurrada; 3. após empurrada ela deve ser fechada novamente;

6.1. MODELO DE MOORE 47 4. colocar moedas adicionais caso a catraca já esteja aberta resultará na perda da moeda e a catraca continuará aberta. A figura 6.4 apresenta o diagrama de estados que implementa as condições supracitadas. A partir do diagrama é possível especificar a tabela de estados da MEF. Figura 6.5: Tabela de estados do sistema de catracas. Na tabela 6.5 EA representa o estado anterior, M representa a entrada Moeda, E a segunda entrada Empurrar e PE o próximo estado. Os estados aberto e fechado são representados por 0 e 1, respectivamente. Figura 6.6: Mapa de Karnaugh para a simplificação do sistema de catracas. A tabela representa a parte combinacional do modelo de Moore, e o modelo igualmente prevê que seja utilizado um flip-flop tipo D para cada estado.

48 CAPÍTULO 6. MÁQUINAS DE ESTADOS FINITOS Utilizando as técnicas de simplificação de circuitos combinacionais vistas anteriormente podemos então projetar uma realização mínima da parte combinacional. As três primeiras colunas da tabela são tomadas como entradas e a última coluna como saída. Ao mapearmos os estados para o Mapa de Karnaugh (Figura 6.6) obtemos a expressão mínima que deve ser implementada. Finalmente, a figura 6.7 apresenta a MEF final realizada por meio de sistemas digitais. Figura 6.7: Circuito resultante da MEF. 6.2 Modelo de Mealy No modelo de máquinas de Mealy o estado atual é definido por uma função lógica combinacional entre o estado anterior e um conjunto de entradas. Adicionalmente, a saída do sistema dependerá do estado atual assim como das entradas do sistema. Consequentemente as saídas podem mudar de modo assíncrono. Figura 6.8: Diagrama esquemático do modelo de Mealy para MEFs.

6.3. SIMPLIFICAÇÃO DE MEFS 49 Outra diferença em relação ao modelo de Moore refere-se as saídas do sistema e sua correlação com os estados. No modelo de Moore as saídas são definidas nos estados e consequentemente não precisam ser especificadas 6.3 Simplificação de MEFs As MEFs vistas até então eram compostas por apenas um pequeno número de estados. Projetar MEFs minimalistas que utilizam o menor número de estados(e consequentemente recursos) sob tais circunstâncias é relativamente simples e direto. No entanto, muitas MEFs como por exemplo as que compõem o subsistema de controle em processadores são compostas por centenas de estados tornando assim sua implementação minimalista um desafio. Note que MEFs mínimas são desejáveis, pois consumem menos recursos, ou seja, transistores, que por sua vez consumirão menos energia, ocuparão menos espaço na superfície viável do chip de silício, dissiparão menos calor, e funcionarão mais rápido. Sendo assim, fazem-se necessárias técnicas para que dado uma MEF qualquer sistematicamente simplifica-la de modo que a MEF resultante seja mínima. Neste contexto, a minimização de MEFs refere-se a eliminação de estados equivalentes. Definição 6.1. Dois estados S i e S j são ditos equivalentes se e somente se para todos os possíveis sequências de entrada a mesma sequência de saída será produzida indiferentemente do fato de S i ou S j serem estados finais. Antes de apresentarmos um procedimento sistemático para a simplificação de MEFs consideremos um exemplo para a simplificação intuitiva. Exemplo 6.3. Considere o exemplo apresentado na figura 6.9. Nela temos uma MEF no modelo de Moore especificada pela seguinte máquina: M = (x,{s 0,S 1,S 2,S 3,S 4 },S 0,δ,{S 2,S 4 }) onde δ = {S 0 ( 100 ) S 1, S 0 ( 010 ) S 3,S 1 ( 010 ) S 2,S 1 ( 100 ) S 4,S 2 ( 001 ) S 2, S 2 ( 010 ) S 3,S 3 ( 100 ) S 4,S 4 ( 001 ) S 4. A figura 6.9 representa o diagrama de estados. pela definição de estados equivalentes se eles levam para o mesmo conjunto de saídas.

50 CAPÍTULO 6. MÁQUINAS DE ESTADOS FINITOS Figura 6.9: MEF a ser simplificada. Figura 6.10: (A) Dois estados passíveis de serem combinados; (B) Resultado da combinação dos estados S 1 e S 3 ; (C) MEF final simplificada. Agora considere a figura 6.10-A. Nela os estados S 1 e S 3 foram marcados em vermelho para verificarmos se eles são equivalentes e em consequência podem ser combinados. De fato eles atendem os requisitos de equivalência resultando no diagrama intermediário apresentado na figura 6.10-B. A seguir procuramos outros dois estados passíveis de serem combina-

6.3. SIMPLIFICAÇÃO DE MEFS 51 dos. Verifica-se que os estados S 2 e S 4 são equivalentes e consequentemente passíveis de serem combinados. Note que embora o diagrama final seja de fato uma realização mínima da MEF apresentada, o processo pelo qual este foi obtido não seguiu nenhum procedimento sistemático.

52 CAPÍTULO 6. MÁQUINAS DE ESTADOS FINITOS Exercícios 1. Argumente acerca da diferença entre um contador binário e uma MEF? 2. O que diferencia uma MEF que segue o modelo de Mealy do modelo de Moore? Qual a principal implicação no que tange os estados/vértices? 3. Argumente porque MEFs são necessárias. Cite exemplos de sistemas digitais que podem e que não podem ser construídos utilizando MEFs. 4. Dada a MEFs a seguir expressas de acordo com a equação 6.1, construa seus diagramas correspondentes: (a) M 1 = ({x},{s 0,s 1,s 2,s 3,s 4 },s 0,{s 0 (x = 0) s 0,s 1 (x = 0) s 1,s 0 (x = 1) s 4,s 1 (x = 1) s 2,s 2 (x = 0) s 0,s 2 (x = 1) s 1,s 3 (x = 0) s 4,s 3 (x = 1) s 4,s 4 (x = 0) s 4 },s 4 ) (b) M 2 = ({x},{s 0,s 1,s 2,s 3,s 4,s 5,s 6,s 7 },s 1,{s 0 (x = 0) s 1,s 1 (x = 0) s 1,s 0 (x = 1) s 1,s 1 (x = 1) s 2,s 2 (x = 0) s 7,s 2 (x = 1) s 6,s 3 (x = 0) s 2,s 3 (x = 1) s 3,s 4 (x = 0) s 4,s 4 (x = 1) s 5,s 5 (x = 0) s 6,s 5 (x = 1) s 7 },s 7 (x = 0) s 3 },s 6 ) (c) M 3 = ({x,y},{s 0,s 1,s 2,s 3 },s 0,{s 0 (x = 0,y = 0) s 0,s 0 (x = 0,y = 1) s 0,s 0 (x = 1,y = 1) s 1,s 1 (x = 0,y = 0) s 0,s 2 (x = 0,y = 0) s 0,s 3 (x = 0,y = 0) s 0,s 2 (x = 1,y = 1) s 3,s 2 (x = 1,y = 0) s 1 }, ) 5. Simplifique a MEF apresentada na tabela de estados abaixo e forneça tanto seu diagrama de estados inicial e após o processo de simplificação. Q a w=0 w=1 Q A I C 1 B B I 1 C C G 1 D I C 0 E D E 0 F I C 0 G E F 0 H H A 1 I A C 1

6.3. SIMPLIFICAÇÃO DE MEFS 53 6. Simplifique utilizando o procedimento de Moore as seguintes MEFs:

54 CAPÍTULO 6. MÁQUINAS DE ESTADOS FINITOS