Circuitos Seqüenciais



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

O diagrama ASM contém dois elementos básicos: o bloco de estado e o bloco de decisão.

LABORG. Parte 5 Projeto de um circuito digital de média complexidade Parte 2. Fernando Gehm Moraes Matheus Trevisan

Índice. Modelos e Procedimentos

CAPÍTULO 4 CIRCUITOS SEQUENCIAIS II: CONTADORES ASSÍNCRONOS

Projeto de Máquinas de Estado

Universidade Federal Fluminense - UFF Centro Tecnológico - CTC Escola de Engenharia - TCE Departamento de Engenharia de Telecomunicações TET

IMPLEMENTAÇÕES POR EQUAÇÃO DE ESTADOS E DE SAÍDA DOS MODELOS DE MEALY E DE MOORE 1 BIT POR ESTADO.

Tipos enumerados definem uma lista de valores, e são especialmente úteis na

AULA 5 Aplicação com divisor de freqüência com o CI Livro Texto pág.197 a 200.

1 CIRCUITOS COMBINACIONAIS

Circuitos Lógicos Aula 23

Instituto Tecnológico de Aeronáutica - ITA Divisão de Engenharia Eletrônica Departamento de Eletrônica Aplicada Laboratório de EEA-21

FLIP-FLOPS FLOPS. INTRODUÇÃO Os circuitos anteriormente estudados são chamados de

VHDL Lógica Síncrona. Sinais de Saída. Sinais de Entrada. barreira. carg. VHDL -Lógica Síncrona

Organização e Arquitetura de Computadores II

Contadores. Contadores Assíncronos Crescentes

Lab 3. Timing Timing Constraints Simulação

FSM em VHDL e Verificação Funcional. CMP de junho de 2006

2. FLIP FLOP tipo D síncrono borda de descida e com entradas assíncronas preset e clear. PRE Q n F/F CLR

Sistemas de Apoio à Decisão

INTRODUÇÃO À LINGUAGEM C++

NOME: TURMA. a) Mostre que, numa representação em complemento para dois, são necessários 8 bits para representar Tset e 7 bits para representar T.

Circuitos Sequenciais. Sistemas digitais

Sistemas Digitais Contadores. João Paulo Carvalho

CAPÍTULO 5 CIRCUITOS SEQUENCIAIS

- Arquitetura de sistemas digitais- Cap 1 - Introdução

Eletrônica Digital para Instrumentação. Herman Lima Jr.

Como foi visto no tópico anterior, existem duas formas básicas para representar uma função lógica qualquer:

LABORG. Parte 3 - VHDL: Processos, Paralelismo e o Comando process. Fernando Gehm Moraes Ney Laert Vilar Calazans

CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca Rio de Janeiro, 13 de novembro de 2008.

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

Gerenciamento de memória

Paralelismo a Nível de Instrução

Circuitos Lógicos Registradores e Contadores

LABORG. VHDL Máquina de estados finitos

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)

PROGRAMAÇÃO II 3. FILA DINÂMICA

MINISTÉRIO DA EDUCAÇÃO CEFET/SC - Unidade de São José. Curso Técnico em Telecomunicações CONTADORES. Marcos Moecke

Exame (2ª chamada) Sistemas Digitais I LESI 2º ano ❶ Ano 2001/02 21/Jun/2002 Univ. Minho

CAPÍTULO 5 CIRCUITOS SEQUENCIAIS III: CONTADORES SÍNCRONOS

Especificação Operacional.

Resolução da lista de exercícios de casos de uso

Capítulo VIII Registradores de Deslocamento e Contadores

Análise de Circuitos Digitais Multiplexadores Prof. Luiz Marcelo Chiesse da Silva MULTIPLEXADORES

Valor lógico UM (Verdade, 1): 5 Volts. Valor lógico ZERO (FALSO, 0): 0 Volts.

Eletrônica Digital para Instrumentação. Herman Lima Jr.

Circuitos sequenciais elementares

CAPÍTULO 1 REVISÃO DE LÓGICA COMBINACIONAL

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

LABORATÓRIO DE ELETRÔNICA DIGITAL Experiência 9: Análise de Circuitos com Contadores

Registradores. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva

Aula 19. Conversão AD e DA Técnicas

Circuitos Digitais 144L

Aula 2 Sistemas de Numeração (Revisão)

Experimento 11 - Contador síncrono

TÉCNICAS DIGITAIS I (CURSO DE ENGENHARIA DE TELECOMUNICAÇÕES)

Marcos da Arquitetura de Computadores (1)

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Figura 1 - Diagrama de um sistema de controle de temperatura que requer conversão analógico-digital para permitir o uso de técnicas de processamento

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

Software Básico. Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly. Prof. MSc. Hugo Vieira L. Souza

Portas Lógicas (continuação)

Circuitos Seqüenciais

INSTITUTO POLITÉCNICO DE BRAGANÇA ESCOLA SUPERIOR DE TECNOLOGIA E DE GESTÃO. Engenharia Electrotécnica. Microprocessadores. 2ºano - 1ºsemestre

Técnicas de Computação Paralela Capítulo III Design de Algoritmos Paralelos

Controle de elevador

Desenvolvimento de uma Etapa

Exercícios de Fixação

Nível da Arquitetura do Conjunto das Instruções

UFSM-CTISM. Circuitos Digitais Contadores Aula-11

ARQUITETURA DE COMPUTADORES

Implementação de um Sistema Digital em VHDL Cronômetro para Jogos de Basquete

MODELAGEM E SIMULAÇÃO

Sistema de Numeração e Códigos. CPCX UFMS Prof. Renato F. dos Santos

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Universidade Federal de São João Del Rei - UFSJ

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


Matemática Discreta para Computação e Informática

VHDL - VHSIC Hardware Description Language. Exemplo prático. Raiz Quadrada

04 Simplificação de funções lógicas. v0.1

Circuitos Digitais Cap. 6

Modelagem de Sistemas com VHDL

Dispositivos Lógicos Programáveis

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Faculdade de Computação

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada

Tecnicas com Sistemas Digitais

Arquitetura e Organização de Computadores

Circuitos Seqüenciais: Latches e Flip-Flops. Fabrício Noveletto

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase

MODELAGEM DE SISTEMAS

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos

Aula Memória principal e 2. Memória de armazenagem em massa.

Transcrição:

Circuitos Seqüenciais Circuitos Lógicos DCC-IM/UFRJ Prof. Gabriel P. Silva

Circuitos Seqüenciais Um circuito seqüencial síncrono consiste de um circuito combinacional e uma rede de memória formada por elementos de armazenamento (usualmente flip-flops); A rede de memória define o estado atual da máquina de estados, representado pelo conjunto de flip-flops; O circuito seqüencial difere de um circuito combinacional puro na medida em que o próximo estado será definido não só a partir das entradas atuais, como também do estado atual. Logo, as possibilidades de projeto aumentam enormente com uso de circuitos seqüenciais.

Circuitos Seqüenciais O funcionamento dos circuitos seqüenciais pode ser representado por uma máquina de estado. O conjunto dos valores armazenados em cada flipflop define o estado atual dessa máquina de estado. Há diversas codificações possíveis para a representação do estado atual com o conjunto de flipflops, com por exemplo: Binária Código Gray One Hot Veremos mais detalhes de cada uma dessas possibilidades mais adiante.

Circuitos Seqüenciais A máquina de estados representada pelo circuito seqüencial síncrono pode ser implementada de duas maneiras equivalentes entre si: Máquina de Moore Máquina de Mealy Nos slides a seguir observamos diagramas representativos dessas implementações

Máquina de Moore Entrada Circuito Combinacional Memória (Flip-Flops) Circuito Combinacional Saída Na máquina de Moore a saída Y muda apenas na transição do relógio.

Máquina de Mealy Entrada Circuito Combinacional Memória (Flip-Flops) Circuito Combinacional Saída Na máquina de Mealy a saída Y pode mudar em qualquer instante, em função da entrada X.

Máquina de Moore O comportamento das máquinas de Moore e Mealy machines é idêntico, mas suas implementações diferem. Na representação da máquina de Moore, nos arcos do grafo somente são representados os sinais de entrada causadores da transição de um estado para outro. 7

Máquina de Mealy Na representação da máquina de Mealy, nos arcos do grafo são representados os sinais de entrada causadores da transição de um estado para outro, com os respectivos valores para a saída. 8

Mealy x Moore As representações podem ser transformadas de uma para a outra. Vantagens e desvantagens: Mealy: glitches (ruídos) problemas de amostragem + fácil de projetar menor número total de estados Moore: + sem glitches

Síntese de Redes Seqüenciais A síntese de redes seqüenciais pode ser obtida seguindo-se uma série bem determinada de passos: O primeiro passo consiste em elaborar um diagrama de estados, que seja uma interpretação fiel do problema original; Opcionalmente pode-se minimizar o número de estados no diagrama de estados; Escrever a tabela de estados, com os estados atuais, próximos estados e saídas. Atribuir a cada estado uma combinação de variáveis de estado (flip-flops); Contruir a tabela de excitação do tipo de flip-flop utilizado;

Síntese de Redes Seqüenciais A síntese de redes seqüencias pode ser obtida seguindo-se uma série bem determinada de passos: Montar o mapa de Karnaugh para cada uma das entradas dos flip-flops do circuito, com o auxílo da tabela de excitação; Obter a equação final de cada entrada de cada um dos flip-flops do circuito a partir da simplificação do mapa de Karnaugh; Fazer o mesmo procedimento para as equações das variáveis de saída. Finalmente, elaboração do diagrama lógico do circuito, lembrando que todos os elementos de memória (flipflops) recebem o mesmo sinal de relógio.

Tabela de Transição Estado Atual Próximo Estado Função de Saída Vetor de X 1 X 2 X 3 X 1 X 2 X 3 Entrada A C B A Z 1 Z 2 - B A C B Z 1 Z 1 Z 2 - C D B D Z 1 Z 1 Z 2 D C D A Z 2 Z 2 Z 1 Ex. Um estado atual C e um vetor de entrada atual X 2 produzem uma variável de saída Z 1 e próximo estado B.

Síntese de Redes Seqüenciais Exemplo O começo de uma mensagem em um sistema de comunicação é indicado pela ocorrência de três 1 consecutivos em uma linha x. Projete um circuito que forneça em sua saída o valor 1 apenas durante o período de relógio coincidente com o terceiro 1 consecutivo na linha x. Supor que um mecanismo externo inicialize o detetor, após o término da mensagem, no estado de reset.

Circuito Detector de Seqüência Inicial x Detetor de começo de mensagem z Clock Clock x z

Diagrama de Estados Diagrama de Estados Tabela de Estados q 1/ q 1 / 1/ 1/ / q 2 / q 4 1/1 / q 3 / 1/ q t x t 1 q q 1 q 2 q 3 q 4 q 4, q 4, q 4, q 3, q 4, q 1, q 2, q 3,1 q 3, q 1, q t+1, z t

Diagrama de Estados Mínimo 1/ q q 1 / Diagrama de Estados / 1/ q 2 / 1/1 q 3 / 1/ Tabela de Estados MÍNIMA x t q t 1 q q 1 q 2 q 3 q, q, q, q 3, q 1, q 2, q 3,1 q 3, q t+1, z t

Variáveis para os Estados Uma variável binária é necessária para codificar dois estados Duas variáveis binárias são necessárias para codificar três ou quatro estados. Três variáveis binárias são necessárias para codificar de cinco a oito estados. Quatro variáveis binárias são necessárias para codificar de nove a dezesseis estados. Cinco variáveis binárias são necessárias para codificar de dezessete a trinta e dois estados. Neste exemplo de detetor de sequências São necessárias 2 variáveis para representar 4 estados.

Variáveis para os Estados Eventualmente pode-se utilizar a codificação one hot, onde a cada estado é associado um flip-flop diferente. Assim sendo, por exemplo, se precisarmos representar cinco estados diferentes utilizando uma codificação one hot, poderíamos usar cinco flip-flops distintos com a codificação a seguir: 1 1 1 1 1

Designação dos Estados Designação de estados: q t (y 1 y ) t 1 1 q 1 1 Tabela de Transição: 1 1 1 q 1 q 2 q 3 1 1 1 x t 1 1 x t 1 (y 1 y ) t+1 z t

Designação dos Estados Os nomes dos estados (letras) são substituídos na tabela de estados pela codificação escolhida para eles. Escolhe-se um determinado tipo de flip-flop para representar a codificação escolhida. A tabela de estados mostra, a partir do estado atual, qual a codificação para o próximo estado que desejamos alcançar. Precisamos montar um mapa de karnaugh para determinar as equações de entrada de cada flip-flop do circuito.

Designação dos Estados Como queremos saber o próximo estado, devemos utilizar a tabela de excitação relativa ao flip-flop escolhido para determinar essas esquações. A tabela de excitação diz quais são os valores que deve haver na entrada do flip-flop para que um determinado valor seja obtido na sua saída.

Tabela de Excitação FF JK Tabela de Excitação para o flip-flop JK Q t Q t+1 1 1 1 1 J t 1 X X K t X X 1 J t K t Q t+1 1 1 1 1 Q t 1 (Q t )

Mapa de Karnaugh Flip-Flop 1 x t x t q t (y 1 y ) t 1 1 q 1 1 1 1 1 q 1 q 2 q 3 1 1 1 1 1 1 Q t Q t+1 1 1 1 1 J t 1 X X K t X X 1 x t 1 y 1t y t 1 11 1 X X 1 1 X X (y 1 y ) t+1 z t x t 1 y 1t y t 1 11 1 X X 1 X X 1 J y1 = x K y1 = y

Mapa de Karnaugh q t (y 1 y ) t 1 1 1 q q 1 q 2 q 3 1 1 1 x t Flip-Flop 1 1 1 1 1 1 x t 1 Q t Q t+1 1 1 1 1 J t 1 X X K t X X 1 x t 1 y 1t y t 1 11 1 X X 1 X X J y = x.y 1 (y 1 y ) t+1 z t x t 1 y 1t y t 1 11 1 X 1 1 X X 1 X K y = x + y 1

Mapa de Karnaugh Saída Z q t (y 1 y ) t 1 1 1 q q 1 q 2 q 3 1 1 1 x t 1 1 1 1 1 1 x t 1 y 1t y t 1 11 1 (y 1 y ) t+1 z t 1 1 x t z = x.y 1.y

Síntese de Redes Seqüenciais Circuito Final

Resumo O projeto de redes seqüenciais requer atenção e experiência. A maioria das aplicações úteis requer o uso de tais sistemas. Há necessidade de um cuidado especial com as especificações iniciais do circuito, principalmente na codificação dos estados e na escolha do tipo de flip-flop a ser utilizado.

Exercício Projete um sistema com uma entrada e duas saídas que detecte a ocorrência de duas seqüências de 4 bits. O valor inicial da saída é. Se a seqüência 11 for detectada a saída 1 é gerada. Se a seqüência 111 for detectada a saída 1 é gerada. A saídas devem ser geradas quando o último bit da seqüência de entrada for detectado e o detetor deve retornar para o estado inicial. Nenhuma sobreposição das seqüências deve ser assumida.

Exercício Projete um sistema com uma entrada e duas saídas que detecte a ocorrência de duas seqüências de 4 bits. O valor inicial da saída é. Se a seqüência 11 for detectada a saída 1 é gerada. Se a seqüência 111 for detectada a saída 1 é gerada. A saídas devem ser geradas quando o último bit da seqüência de entrada for detectado e o detetor deve retornar para o estado inicial. Nenhuma sobreposição das seqüências deve ser assumida.

Máquina de Estados em VHDL ENTITY simple_seq IS PORT(x : IN BIT ; z : OUT Bit_Vector(1 DOWNTO ); clk : IN BIT); END simple_seq; ARCHITECTURE behavioral OF simple_seq IS TYPE statet is (S, S1, S2, S3); SIGNAL state: statet; -- state

Máquina de Estados em VHDL BEGIN PROCESS (clk) -- processo ativado por clk BEGIN IF (clk'event AND clk='1') THEN CASE state IS -- determina o novo estado WHEN S => IF (x = '') THEN state <= S; ELSE state <= S1; END IF; WHEN S1 => IF (x = '') THEN state <= S2; ELSE state <= S3; END IF; WHEN S2 => IF (x = '') THEN state <= S; ELSE state <= S1; END IF; WHEN S3 => IF (x = '') THEN state <= S2; ELSE state <= S3; END IF; END CASE; END IF; END PROCESS;

Máquina de Estados em VHDL PROCESS (state,x) -- processo ativado por state ou x BEGIN CASE state IS WHEN S => z <= ""; WHEN S1 => z <= x & NOT(x); WHEN S2 => z <= NOT(x) & x; WHEN S3 => z <= "11"; END CASE; END PROCESS; END behavioral;