Máquina de estados algorítmica
# Máquina de estados algorítmica

O método da máquina de estados algorítmica (MEA) é um método para modelar máquinas de estado finitas. Ele é usado para representar diagramas de circuitos digitais integrados. O diagrama de MEA é como um diagrama de estados, porém menos formal e mais fácil de se entender. Uma tabela MEA é um método de descrever sequencialmente as operações de um sistema digital.

## Método MEA

O método MEA é composto dos seguintes passos:
* Criar um algoritmo, utilizando pseudocódigo, para descrever a operação desejada do dispositivo.
* Converter do pseudocódigo para uma tabela MEA.
* Modelar o caminho do dado baseado na tabela MEA.
* Criar uma tabela MEA detalhada baseada no caminho do dado.
* Modelar o controle lógico baseado na tabela MEA.

## Tabela MEA

Uma tabela MEA consiste em uma interconexão de quatro tipos básicos de elementos: nomes dos estados, estados, verificação de condições e saídas condicionais. Uma tabela MEA, representada como um retângulo, corresponde a um estado de um diagrama de estados regular ou máquina de estados finita. Os tipos de saídas da máquina de Moore estão listadas dentro da caixa.
Nome do estado: O nome do estado está indicado dentro círculo e o círculo é posicionado no canto superior esquerdo ou o nome é posicionado sem o círculo.
Caixa de estado: A saída do estado é indicado dentro da caixa retangular.
Caixa de decisão: Um losango indica que a expressão condicional declarada está para ser testada e o caminho de saída está para ser escolhido de acordo. A expressão condicional contém uma ou mais entradas para a MEF (Máquina de Estados Finita). Uma verificação da condição da MEA, indicada por um losango com uma ou duas entradas (para verdadeiro e falso), é usada para condicionalmente transferir entre dois estados ou entre um estado e uma saída condicional. A caixa de decisão contém a expressão condicional declarada a ser testada, e a expressão contém uma ou mais entradas da MEF.
Caixa de saída condicional: Um ovoide denota os sinais de saída que são do tipo Mealy. Essas saídas não dependem somente do estado, mas também das entradas da MEF.

## Caminho do dado

Uma vez que a operação desejada de um circuito foi descrita usando operações RTL, os componentes do caminho do dado podem ser deduzidos. Toda variável única que é atribuída um valor no programa RTL pode ser implementada como um registrador. Dependendo da operação funcional realizada quando atribuído um valor à variável, o registrador para essa variável pode ser implementada como um registrador direto, um registrador de deslocamento, um contador ou um registrador precedido por um bloco lógico combinacional. O bloco lógico combinacional associado a um registrador pode implementar um somador, um subtrator, um multiplicador ou algum outro tipo de função lógica combinacional.

## Tabela MEA detalhada

Uma vez que o caminho do dado foi designado, a tabela MEA é convertida para uma tabela MEA detalhada. A notação RTL é substituída por sinais definidos no caminho do dado.