técnica de modelagem de máquina de estados em vhdl

13
Técnica de modelagem de Máquina de Estados em VHDL

Upload: sera

Post on 25-Jan-2016

59 views

Category:

Documents


29 download

DESCRIPTION

Técnica de modelagem de Máquina de Estados em VHDL. Assunto. Abordagem de alguns tópicos relacionados à implementação de máquina de estados finitos (MEF) em VHDL. Introdução. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Técnica de modelagem de Máquina de Estados em VHDL

Técnica de modelagem de Máquina de Estados em VHDL

Page 2: Técnica de modelagem de Máquina de Estados em VHDL

Assunto

• Abordagem de alguns tópicos relacionados à implementação de máquina de estados finitos (MEF) em VHDL.

Page 3: Técnica de modelagem de Máquina de Estados em VHDL

Introdução

• Basicamente uma MEF consiste de lógica combinacional, lógica seqüencial e saída lógica. A lógica combinacional normalmente é utilizada para a decisão de próximos estados, a lógica seqüencial para armazenar o estado corrente da MEF. A saída pode ser um misto de lógica seqüencial e lógica combinacional.

Page 4: Técnica de modelagem de Máquina de Estados em VHDL

Estrutura geral de uma MEF

Page 5: Técnica de modelagem de Máquina de Estados em VHDL

Estrutura alternativa para uma MEF

Page 6: Técnica de modelagem de Máquina de Estados em VHDL

Tipos de máquinas de estado

• M.E. de Mealy: As saídas do sistema dependem do estado atual (corrente) e das entradas atuais.

• M.E. de Moore: As saídas dependem exclusivamente do estado corrente.

Page 7: Técnica de modelagem de Máquina de Estados em VHDL

Tipos de codificação (representação) para estados

• Codificação binária: representação dos estados como um código binário normal. Ex.: (0000, 0001, 0010, 0011, ...)

• Codificação Gray: é aquela que modifica somente o valor de 1 bit entre dois dígitos decimais subseqüentes. Ex.: (0010, 0110, 0111, 0101, ...)

Page 8: Técnica de modelagem de Máquina de Estados em VHDL

Tipos de codificação (representação) para estados

• One Hot: nesta representação um único bit da seqüência tem valor lógico 1. Ex. (0001, 0010, 0100, 1000)

• One Cold: nesta representação todos os bits, com exceção de um possuem valor lógico 1. Ex.: (1110, 1101, 1011, 0111)

Page 9: Técnica de modelagem de Máquina de Estados em VHDL

Classificação das máquinas de estado implementadas.

• Podem ser classificadas como Seguras ou inseguras.

• As ferramentas de síntese otimizam estados que não podem ser alcançados, deixando-os “afastados”

• Algumas vezes a otimização não é aceitável

Page 10: Técnica de modelagem de Máquina de Estados em VHDL

Máquinas de estado seguras

• Se o número de estados (N) é uma potência de 2 e é utilizada codificação binária ou algoritmo de código Gray, a máquina de estado pode ser considerada segura. Significa que se tem M número de registradores onde N=2M. Como nessa implementação todos os valores de estado possíveis são alcançáveis, ela pode ser considerada como segura.

Page 11: Técnica de modelagem de Máquina de Estados em VHDL

Máquinas de estado inseguras

• Se o número de estados não é uma potência de 2 ou não é utilizada codificação binária ou algoritmo de código de Gray. Por exemplo, One Hot, é considerada implementação insegura.

• Segue um exemplo prático:

Page 12: Técnica de modelagem de Máquina de Estados em VHDL

Exemplo de implementação de 4 estados através de One Hot.

Page 13: Técnica de modelagem de Máquina de Estados em VHDL

• Os estados na figura anterior:• s0 => 0001 • s1 => 0010 • s2 => 0100• s3 => 1000

• Como pode-se notar, existem 12 estados não definidos. Geralmente esses estados são acondicionados através da opção “others” (em VHDL) para a estrutura case. A operação default da ferramenta de síntese é otimizar, afastando os estados inalcançáveis, de forma a criar um circuito de alta performance. Mas essa otimização criará um circuito “inseguro”.