técnica de modelagem de máquina de estados em vhdl
Post on 25-Jan-2016
59 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
• 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.
Estrutura geral de uma MEF
Estrutura alternativa para uma MEF
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.
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, ...)
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)
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
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.
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:
Exemplo de implementação de 4 estados através de One Hot.
• 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”.
top related