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

Documentos relacionados
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

ELETRÔNICA DIGITAL II

Organização e Arquitetura de Computadores

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

Eletrônica Digital II

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

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

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

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

Contadores(Aula2) Prof. Rômulo Calado Pantaleão Camara

SISTEMAS DIGITAIS (SD)

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

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

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

Análise e Projeto de Circuitos Combinacionais e Sequenciais

Circuitos sequenciais

CAPÍTULO 7 CONTADORES

ANÁLISE DE SIST. SEQUENCIAIS SÍNCRONOS. SEL Sistemas Digitais Prof. Homero Schiabel

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

ELT601 Eletrônica Digital II

SISTEMAS DIGITAIS. 2- Considere a seguinte tabela de verdades: 1/10 1ª chamada /

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

SISTEMAS DIGITAIS II Enunciados de Laboratório

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

CIRCUITOS DIGITAIS. Contadores. Prof. Denis Fantinato Prof. Rodrigo Moreira Bacurau. Slides baseados nas aulas do Prof. Rodrigo Moreira Bacurau

CAPÍTULO 2 ELEMENTOS DE LÓGICA SEQUENCIAL

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

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

Circuitos sequenciais síncronos

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

Sistemas Digitais (SD)

CONTADORES DIGITAIS (Unidade 6)

Universidade Federal do ABC

Capítulo VII Elementos de Memória

SISTEMAS DIGITAIS (SD)

ENGC40 - Eletrônica Digital

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

Máquinas de Estados Finitos

Circuitos sequenciais síncronos

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

Circuitos Sequenciais

ELT502 Eletrônica Digital I Graduação em Engenharia Eletrônica

CIRCUITOS DIGITAIS. Contadores e Registradores. Prof. Denis Fantinato Prof. Rodrigo Moreira Bacurau

ELD - Eletrônica Digital Aula 6 Circuitos Sequenciais Latches e Flip-Flops. Prof. Antonio Heronaldo de Sousa

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

EELi02. Prof. Vinícius Valamiel

SSC512 Elementos de Lógica Digital. Latches e Flip Flops. GE4 Bio

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

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

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

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

Teórico-prática n.º 8 Sistemas Digitais

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

Eletrônica Digital I TE050. Circuitos Seqüenciais

Capítulo 5 - Flip-Flops e Dispositivos Correlatos

Circuitos sequenciais síncronos

Aula 12. Flip-Flop Parte 1. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

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.

Circuitos sequenciais síncronos Parte II

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

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

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

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

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

Eletrônica Digital II

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

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

Lógica: Combinacional x Sequencial

OS CONTADORES DIGITAIS

Capítulo 7 Contadores e Registradores

Modelação de circuitos síncronos

Eletrônica Digital. Circuitos Lógicos Sequenciais PROF. EDUARDO G. BERTOGNA UTFPR / DAELN

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

Sistemas Digitais (SD) Contadores

UFJF FABRICIO CAMPOS

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

ELD - Eletrônica Digital Aula 7 Circuitos Sequenciais Contadores. Prof. Antonio Heronaldo de Sousa

Disciplina ELETRÔNICA DIGITAL

Os circuitos seqüenciais podem ser classificados em três tipos:

SISTEMAS DIGITAIS (SD)

Circuitos Seqüenciais

Contadores ( Counters )

Fundamentos dos circuitos sequenciais

Teste 2 Sistemas Digitais - MEEC 2009/10 1

Circuitos Seqüenciais Sistemas Digitais

Universidade Federal do ABC

CIRCUITOS DIGITAIS. Circuitos Sequenciais e Flip-Flops. Prof. Denis Fantinato Prof. Rodrigo Moreira Bacurau

CIRCUITOS SEQUENCIAIS (Unidade 5)

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

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

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

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

FSM de Mealy. Exemplo:

SISTEMAS DIGITAIS CONTADORES E REGISTRADORES. Professor Carlos Muniz

ENGª DE ELECTRÓNICA E COMPUTADORES

CAPÍTULO 6. Introdução aos Circuitos Lógicos Seqüenciais

Shift Registers e Contadores Assíncronos

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

Transcrição:

COTUCA - Colégio Técnico de Campinas e da UNICAMP TDM II - Técnicas Digitais e de Microprocessadores II - 1ºBim-2011 - Prof. Corradi 1-Introdução Circuitos Seqüenciais (Máquinas Síncronas ou de Estados Finitos) Circuitos Combinacionais As saídas são determinadas pelas entradas das portas: não dependem dos estados anteriores destas entradas; Quando as entradas variam, as variações estarão disponíveis na saída por um breve intervalo de tempo, limitado pelo retardo de propagação finito do sinal através das portas; Não há realimentação entre as entradas e saídas. Ex: Full-adder Circuitos Seqüenciais Fig.1- Diagrama de Bloco para o Circuito Combinacional Em um circuito lógico seqüencial, as saídas das portas não dependem apenas das entradas presentes, mas também da história das entradas no passado. Em outras palavras, o comportamento das variáveis de saída depende tanto dos valores das variáveis de entrada presentes quanto do estado interno atual do sistema. as saídas dependem das entradas presentes e das histórias das entradas no passado; Tem realimentação; Estados- cada estágio de um circuito seqüencial. Em cada estado o circuito armazena uma recordação de sua história passada, de modo a seguir o próximo passo. Ex: latch estático, contadores de módulo, caixa eletrônico, etc. Outros exemplos: Sejam dois modelos de TV: Modelo 1: o seletor é composto por um conjunto de chaves, uma por canal, onde apenas uma está ativa a cada instante ; Μodelo 2 :temos duas chaves "push-bottom" (chave "UP" e chave "DOWN") através das quais, selecionamos um canal imediatamente acima, ou imediatamente abaixo do atual, caso seja dado um toque no botão "UP" ou no botão"down", respectivamente.

Se estivermos operando um aparelho de TV que usa o primeiro modelo, e assistindo a programação de um dado canal, para acionarmos um outro canal, basta pressionar a chave correspondente ao canal desejado que a saída do vídeo passa amostrar o novo sinal. Já no segundo modelo, se estivermos assistindo a programação de um canal, para acionarmos um outro canal não imediatamente acima ou abaixo, teríamos que saber qual o atual para através de toques sucessivos no "push-botton DOWN" ou "push-botton UP" chegarmos ao desejado. No primeiro caso, o aparelho de TV se comporta como um circuito lógico combinacional, onde a saída será função única da entrada aplicada e, no segundo caso, a TV se comporta como um circuito lógico seqüencial onde, a saída irá depender do sinal aplicado associado ao estado atual do seletor. 2-Modelo Geral para uma Máquina Seqüencial Fig.2- Diagrama de Blocos para um Circuito Seqüencial onde, x1,...xn - entradas z1,...zm - saídas Y1,...Yp variáveis de excitação y1,...yk - variáveis de estado zi = fi (x1,x2,...,xn,y1,y2,...,yk), i=1,2,...,m Yj= Fj (x1,x2,...,xn,y1,y2,...,yk), j=1,2,...,p 3-Considerações sobre Máquinas Síncronas O valor contido em cada elemento de memória é chamado variável de estado; O conjunto (y1,y2,...,yk) constitui o conjunto das variáveis de estado; Os valores contidos nos k elementos de memória definem o estado interno atual da máquina; Então k variáveis de estados corresponderá a 2k estados;

Y define o próximo estado da máquina. Aparece na saída do circuito combinacional no instante t, determina os valores das variáveis de estado no instante t+1; Todas as linhas de entrada e saída da seção L.C. são sinais de níveis ou seja, podem permanecer em 1 ou 0, para um período de tempo arbitrário; Como a seção L.C. independe do tempo a saída pode mudar a qualquer momento, desde que mude a entrada x; As mudanças na memória (FFs) causadas por mudanças das entradas, somente ocorrerão caso exista um pulso de clock; Durante o pulso de clock as variáveis de excitação (Y) devem permanecer estáveis; A máquina M pode ter uma variedade infinita de passados possíveis, mas neste tópico considera-se as máquinas cujo o passado pode ser resumido em um conjunto finito de variáveis. 4-Tipos de Máquinas Seqüenciais Síncronas- todos os FFs são comandados pela mesma forma de onda de sincronização; Assíncronas-não tem sincronismo de relógio. São também chamados Circuitos Seqüenciais Modo Nível ou Modo fundamental. 5-Considerações sobre Máquinas Assíncronas Os retardos representam os retardos distribuídos dos elementos combinacionais concentrados em um único elemento; A cada variável realimentada temos um retardo associado; Cada retardo pode ser encarado como um elemento de memória; Fig.3- Diagrama de Blocos para o Circuito Seqüencial Assíncrono

yi(t+1) = Yi(t) 6-Procedimento de Projeto i=1,2,...,r Para os circuitos seqüenciais existem dois modos de trabalho: análise e síntese Análise: 1) Circuito. 2) Equações de saída e equações dos FFs. 3) Equações dos Próximos Estados. 4) Tabela de Transição. 5) Tabela de Estados. 6) Diagrama de Estados. Síntese: 1) Descrição do problema. 2) Diagrama de Estados. 3) Tabela de Estados (Simplificação dos Estados). 4) Tabela de Transição. 5) Equações dos elementos de memória (escolha dos FFs) 6) Equações de excitação dos FFs e saídas. 7) Esquema do Circuito. 7-Circuitos Sequenciais Análise Um exemplo de análise de uma Máquina Sequencial ou FSM-Finite State Machine Fig.4- Exemplo de Máquina Sequencial 1 0 Achar as equações das saídas e de entrada dos FFs J 1 = x J 0 = (x + y 1 ).y 0 K 1 = x K 0 = ((x + y 1 ).y 0 ) z = (x + y 1 ).y 0, z=g(x,y) e J, K são f(x,y) 2 0 Equações dos próximos Estados

Equação do próximo estado para o flip-flop JK: Q t+1 = J. (Q t ) + K. Q t (equação característica) p/ o FF1 => y 1 t+1 = J 1. (y 1 t ) + K 1. y 1 t y 1 t+1 = x. (y 1 ) + x. y 1 y 1 t+1 = x p/ o FF0 => y 0 t+1 = J 0. (y 0 t ) + K 0. y 0 t y 0 t+1 = [(x+ y 1 ).(y 0 ) ].(y 0 ) + [(x + y 1 ).(y 0 ) ].(y 0 ) y 0 t+1 = (x + y 1 ).(y 0 ) 3 0 Tabela de Transição z t = (x + y 1 t ).(y 0 t ) 4 0 Tabela de Estados e Diagrama de Estados

Exercício 1-Fazer a análise do circuito seqüencial a seguir: Fig.5 2-Levantar as equações características dos seguintes flip-flops : SR, T,JK e FF D 8-Síntese de Projeto de Circuitos Seqüenciais Vários contadores estão disponíveis em CIs que são assíncronos, síncronos e combinados assíncrono/síncrono. Sendo que a maioria deles conta na seqüência normal, embora esta seqüência possa ser alterada, ex: CI 74293, 74193, 74192. Mas, algumas vezes podemos necessitar de contadores com seqüências que nenhum CI contador pode oferecer ex. 0, 2,4,1,... Existem alguns métodos para projetar estes contadores que seguem seqüências arbitrárias. Apresenta-se aqui, um método usual seguindo os passos já mencionados para a síntese, detalhados a seguir: 1-Definir a seqüência de operações através da qual o sistema deve progredir, ou seja, verificar saídas geradas e cada etapa na seqüência. A partir disso, construir um diagrama de fluxo e/ou diagrama de estados de memória;

2-Determinar o número necessário de ffs. Se o número de estados estiver na faixa de 2 n-1 +1 a 2 n serão necessários n ffs. Uma atribuição de estado deve ser feita associando cada estado do diagrama de estados a um estado do ff. Pode haver mais estados dos ffs do que estados de memória; 3- Com a atribuição de estado construímos uma tabela de transição. Depois se escolhe o ff (D,JK,etc..) arbitrariamente, que pode ser determinada pela disponibilidade; 4-Obtenção das equações lógicas de excitação dos terminais de entrada de dados dos ffs a partir da tabela de estados; 5- Por fim, desenhar o circuito usando portas lógicas discretas ou a realização das equações diretamente nos dispositivos lógicos programáveis. Exemplo 1- Contador módulo 5 Fig.6 Tabela de transição Estado Próximo Saída Atual Estado C t B t A t C t+1 B t+1 A t+1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 2-Contador de módulo 4 incrementador/decrementador. Este contador tem um terminal M de controle do modo de entrada: M Modo de entrada 0 Conta na direção inversa: 0,3,2,1,0,3,... 1 Conta na direção direta:0,1,2,3,0,1,2,...

Figura 7-Diagrama de Estado 3-Projetar um sistema de modo que Z=1 quando e somente quando X=1 durante 3 ou mais intervalos de clock consecutivos ( supor que o nível Z lógico de saída depende apenas do estado da máquina). (explicado na classe) 9-Máquinas Seqüenciais de Moore e Mealy No último exemplo vimos que o circuito seqüencial tinha a saída como função apenas do estado do sistema: saída=f(estados) Isso implica que o valor de uma entrada no ciclo k de relógio não pode afetar a saída até no mais próximo, ciclo k+1. As mudanças na entrada devem primeiro ter uma influência no estado do sistema antes que possam afetar a saída. Um circuito seqüencial em que as saídas são funções apenas do estado presente são referenciados como Máquinas de Estados de Moore, saída =g(estado atual). Para Moore o simbolismo é : Z é introduzido no círculo que representa o estado, pois Z= f(y). As máquinas de Moore podem ser representadas por diagramas de estado onde um círculo representa o estado atual, e uma seta representa a transição entre dois estados (atual e futuro). Neste caso, dentro de cada círculo, que representa o estado, coloca-se uma letra ou número que identifique o estado e o valor das saídas correspondentes a este estado, e em cada flecha que representa uma transição, coloca-se o valor das entradas do circuito.

Um circuito seqüencial em que as saídas são funções tanto do estado atual quanto das entradas é chamado Máquina de Estados de Mealy, saída=f(estado atual, X) Para Mealy o simbolismo X/Z, pois Z=f(X,y) As máquinas de Mealy podem ser representadas por diagramas de estado onde um círculo representa o estado atual, e uma seta representa a transição entre dois estados (atual e futuro). Neste caso dentro de cada círculo que representa o estado, coloca-se uma letra ou número que identifique o estado, e em cada flecha, que representa uma transição, coloca-se o valor das entradas e das saídas. Com estas máquinas seqüenciais síncronas é possível fazer contadores de qualquer seqüência, inclusive contadores tipo up/down, que contam incrementando ou decrementando. Neste tipo de contador uma entrada indica o sentido correto de contagem. Portanto, a diferença entre os dois modelos de máquinas está na forma em que as saídas são geradas. Fig. 8-Diagrama de blocos -Máquina de Moore Fig. 9-Diagrama de blocos -Máquina de Mealy

Projeto do detector anterior segundo a concepção de Mealy Exemplo 4: Projetar um circuito que no intervalo k de relógio forneça uma saída Z=1 sempre que, levando em conta o valor de X no intervalo k, houver uma seqüência de 3 ou mais valores sucessivos X=1. ----------------------------------------- Portanto, a versão Mealy de um circuito seqüencial é mais econômica de componentes físicos (hardware) do que a versão Moore. Geralmente é o caso, embora nem sempre. Se não houver nenhuma linha de entrada, a tabela de estados para o sistema terá apenas uma única coluna no estado seguinte: Uma entrada X gera 2 colunas no estado seguinte. Generalizando,... n entradas X geram 2 n colunas no estado seguinte. Ex: 5 entradas geram 2 5 = 32 colunas no estado seguinte. Em outras palavras, desde que haja somente uma entrada na máquina de estado, há somente 2 possíveis combinações de entrada e 2 setas deixando cada estado. Em uma máquina com n entradas, tem-se 2 n setas deixando cada estado. Na figura 10, mostra-se o diagrama de estados a) por Moore e b) por Mealy do detector de 3 uns consecutivos. Diagrama de Estados Fig. 10 - Diagrama de estados a) por Moore e b) por Mealy

Claramente observa-se pelos diagramas de estados que por Mealy é possível obtermos uma redução no número de estados, porém em alguns casos a característica assíncrona das saídas Mealy pode trazer problemas. Nas tabelas abaixo são mostrados os estados para ambos os diagramas acima representados. Tabela de Estados (a) Tabela de Estados para Moore Tabela de Transição (b) Tabela de Estados para Mealy Para construirmos a tabela de transição basta substituirmos os nomes dos estados pelas combinações escolhidas ou atribuição de estados, para as variáveis de estados como mostram as tabelas a) e b) a seguir. (a) Máquina de Moore (b) Máquina de Mealy EA PE / Z Z X = 0 X = 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1

10-Projeto Intuitivo Projetar heuristicamente e montar um circuito que detecte a seqüência 10010, ou seja, a saída só vai ser 1 para essa seqüência de entrada. Fig.10-Projeto heurístico de um detector de seqüenciais 11-Seleção das Variáveis de Estado (Atribuição de Estados) A seleção das variáveis de estado consiste em determinar o código binário de cada estado que será formado pelas saídas dos flip-flops. Se em um exemplo têm-se quatro estados, 2 flip-flops são necessários para que sejam representados todos os estados, pois haverá 2 n combinações possíveis (onde n é o número de flip-flops). Dependendo da conveniência, pode-se selecionar um outro tipo de código para os estados, utilizando mais flip-flops, isto resultará em um número menor de portas para gerar os sinais de excitação dos flip-flops (equação de excitação menor). A tabela abaixo, mostra alguns códigos usuais, onde o projetista deve escolher conforme necessidade e aplicação. Códigos de Atribuição de Estados Observando os códigos da terceira e quarta coluna da tabela, vemos que exigem um número maior de flip-flops que o mínimo expressado na segunda coluna, porém resultam em um número menor de portas lógicas para construir as equações de excitação. A diferença entre os códigos ONE-HOT E QUASE ONE-HOT está no estado inicial A, pois a inicialização do sistema é facilmente obtida através de entradas diretas de clear (000) e preset (111) dos flip-flops. Nos casos em que o número de estados é menor que o número de combinações possíveis das saídas dos 2 n flip-flops, existirão estados não usados (ou ilegais ). Quando isso ocorre, existem duas aproximações ou técnicas : Mínimo risco - Esta aproximação assume que o sistema pode ir para um estado ilegal por motivo qualquer (falha no hardware, ou uma entrada inesperada, ou erro no projeto). Então, todas as combinações não usadas são identificadas e se alguma destas ocorrer, imediatamente o sistema será levado ao estado inicial ou qualquer estado de segurança. Mínimo custo Esta aproximação assume que a máquina de estados jamais encontrará um estado ilegal, com isto as combinações não usadas podem ser indicadas como don t care (X) na tabela de transição e assim resultando em

simplificações nas equações de excitação. Por outro lado, caso um estado ilegal ocorra, um comportamento indefinido surgirá. 12-Eliminação (ou Simplificação) de Estados Redundantes em FSM( Finite State Machine) A primeira etapa no projeto de um sistema seqüencial consiste em verificar os estados necessários para o projeto (realização do diagrama de estados). Na escolha dos estados podemos falhar ou acrescentar estados além do necessário. No primeiro caso, o sistema não vai funcionar, mas no segundo caso não vai haver prejuízo, pois existem procedimentos simples para eliminar os estados supérfluos (que estão sobrando). Portanto, quase sempre é possível realizar o sistema com uma máquina equivalente com menos estados. Terminologias Máquina equivalente reproduz as mesmas saídas para as correspondentes mesmas entradas. Estados Redundantes ou equivalentes são estados atuais, cujas saídas Z atuais e os estados seguintes são idênticos, de modo que um estado pode ser eliminado. Esta teoria serve tanto para Moore quanto para Mealy. Métodos existentes para Redução de Estados Redução por Inspeção Redução por Partição Redução por Carta de Implicação Consideremos a tabela de estados de um sistema Mealy: Próximo Estado /Saída X Estado Atual 0 1...... p r/0 s/1...... q r/0 s/1...... p e q => são estados atuais e r e s =>são estados seguintes; p e q são redundantes ou equivalentes, pois para p ou q as saídas são as mesmas. Se X=0, p ou q levam para o próximo estado r. Se X=1, p ou q levam para o próximo estado s.

12.1 Redução por Inspeção Vejamos um exemplo: seja a seguinte tabela de estados : Próximo Estado /Saída X Estado Atual 0 1 A B/0 C/1 B C/0 A/1 C D/1 B/0 D C/0 A/1 E D/0 C/1 os estados B e D são idênticos. Neste caso, esta tabela pode ser reescrita substituindo-se a letra D pela letra B. E.A. P.E. P.E. - X=0 X=1 A B/0 C/1 B C/0 A/1 C B/1 B/0 E B/0 C/1 os estados A e E são idênticos (redundantes), portanto, elimina-se um deles. Tabela de estados reduzida : Próximo Estado /Saída X Estado Atual 0 1 A B/0 C/1 B C/0 A/1 C B/1 B/0 12.2 Carta de Implicação (Serve para o caso em que existam condições irrelevantes (ou não especificadas). Na carta de implicação monta-se uma espécie de mapa onde são anotadas todas as condições para que um estado seja igual ao outro. O mapa deve ter na primeira coluna e na última linha os estados da máquina. (conforme figura ). Na interseção de cada uma destas linhas e colunas são anotadas as condições para que estes estados sejam iguais. Aos poucos surgirão condições que não podem ser satisfeitas o que impede a igualdade de vários estados. Estas impossibilidades vão sendo marcadas até que não existam mais. Neste momento devem-se anotar quais destes estados têm condição de serem iguais:

A compatibilidade é indicada por uma marca de prova ( γ ) significado :em cada coluna, ou as entradas são as mesmas, ou, se houver uma entrada numa coluna de uma linha, a mesma coluna da outra linha tem uma condição irrelevante; São estabelecidas hipóteses; Desigualdades são introduzidas como cruzes (X) na carta de implicação.o processo continua até que não sejam geradas novas desigualdades; Uma classe compatível é um grupo de estados, cada um dos quais sendo compatível com cada um dos outros no grupo; Classe compatível é máxima quando não é possível achar quaisquer membros adicionais da classe. Exemplo de Redução da tabela abaixo: Usando Carta de Implicação Próximo Estado /Saída X Estado Atual 0 1 A B/0 C/0 B D/0 E/0 C G/0 E/0 D H/0 F/0 E G/0 A/0 F G/1 A/0 G D/0 C/0 H H/0 A/0

Não havendo mais nada para simplificar podemos dizer que todas as possibilidades representam estados iguais. No nosso caso o estado A é igual ao estado C e ao estado E pois a interseção entre a coluna A e as linhas C e E não foram marcadas com X. Da mesma forma podemos dizer que o estado C é igual ao estado E, o que já era de se esperar pois A é igual a estes dois estados. Desta forma, podemos montar uma tabela simplificada se substituirmos os estados da tabela original por : Estados A, C e E serão representados por Estados B e G serão representados por Estado D será representado por Estado F será representado por Estado H será representado por a b c d e A tabela original simplificada ao máximo: E.A. P.E. P.E. - X=0 X=1 a b/0 a/0 b c/0 a/0 c e/0 d/0 d b/1 a/0 e e/0 a/0 Exercício: 1-Obter o Diagrama de estados de um circuito que indique a ocorrência de um número PAR* de 1s após ter ocorrido dois zeros consecutivos. a. Mealy * Maior que zero b.moore

2- Eliminar os estados redundantes, se houver, da seguinte tabela de estados. Construir a tabela de estado reduzida.