La diferencia entre la máquina de estado algorítmico (ASM) y el gráfico de transición de estado

1

Tengo una pregunta muy básica. En qué forma una máquina de estado algorítmica (ASM) es diferente de a gráfico de transición de estado (STG) . ¿Puede alguien tomar un ejemplo muy básico (como un contador binario) para explicar qué problemas en un diagrama de estado resuelve un ASM? Por ejemplo, en algún lugar de Internet leí que los ASM pueden describir máquinas de estados finitos (FSM) con una gran cantidad de entradas, pero no puedo construir un ejemplo de esta situación. ¿Alguien puede resaltar los problemas en los STG que resuelven los ASM dando un ejemplo de un FSM?

    
pregunta ubaabd

1 respuesta

1

Gráfico de transición de estado (o diagrama)

  • Descripción del comportamiento del circuito de bajo nivel, solo se usa para lógica secuencial
  • Sólo significativo para la lógica secuencial (vea el ejemplo clásico de luz trasera T-Bird )
  • Incluye información muy detallada sobre los patrones de bits exactos para entradas y salidas, incluso entradas de "no importa"
  • Se supone que las transiciones ocurren en las transiciones de la señal del reloj
  • No se adapta bien: los comportamientos y diseños complejos dan como resultado STGs increíblemente complejos

Máquina de estado algorítmica

  • Estructurado de forma similar a los diagramas de flujo, con algunas diferencias de símbolos
  • Son una descripción de comportamiento de nivel superior que utiliza un lenguaje más abstracto que los STG (por ejemplo, un registro de acumulación de 8 bits puede simplemente denominarse "SUM" en un ASM en lugar de imprimir un patrón de 8 bits en el equivalente STG)
  • Hay información de tiempo implícita: las acciones del cuadro de estado y las siguientes decisiones y acciones condicionales del cuadro ocurren en un ciclo de reloj de descripciones de diseño secuenciales
  • A diferencia de los STG, los ASM se pueden usar para describir la lógica combinacional, como los multiplicadores. En ese caso, la información de tiempo implícita no tiene sentido y deben contener cuadros de operación de inicio y fin de operación.
  • Las entradas "No importa" están no en la lista, solo se requieren las entradas para tomar una decisión
  • Escala bien para describir múltiples niveles del diseño

También hay diferencias sintácticas obvias entre cómo representan las entradas o salidas, así como los símbolos que utilizan.

Para abordar su pregunta específica sobre el uso de un ASM para describir un diseño más grande, la razón por la que puede ser "más fácil" usar un ASM para diseños más grandes es porque los cuadros de ASM tienen información ligeramente menos detallada. Las entradas y las salidas se pueden describir en palabras en inglés en lugar de patrones de bits, y generalmente aparecen menos saturadas que las STG.

Por cierto, estoy totalmente en desacuerdo con el primer párrafo en descripción ASM de Wikipedia . Los gráficos ASM no son "menos formales" que los STG. Cada símbolo todavía tiene un significado específico y un uso previsto. Reemplazar un STG con un ASM no es una excusa para ser descuidado.

Esto presentación de diapositivas (enlace a PDF) tiene varias comparaciones de las dos junto con explicaciones bastante detalladas. Este (enlace a PDF) proporciona más detalles sobre los requisitos de tiempo de los gráficos ASM.

    
respondido por el skrrgwasme

Lea otras preguntas en las etiquetas