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

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

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 of Técnica de modelagem de Máquina de Estados em VHDL

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”.