Skip to content

05_ASMD

José Fernando Picó Antolí edited this page Nov 6, 2021 · 40 revisions

Algorithmic State Machine Datapath.

  • Podemos ver un SISTEMA DIGITAL como un conjunto formado por un DATAPATH y una UNIDAD DE CONTROL (FSM), la unidad de control estará formada por una máquina de estados que puede recibir señales DIGITALES EXTERNAS como pulsadores, distintos tipos de sensores, encoders, etc. Estas señales externas no estarán sincronizadas con el reloj del sistema digital por lo que por lo normal se deberán de pasar por un sincronizador ( dos biestables D en serie ) y en muchas ocasiones ( pulsadores mecánicos ) se deberá emplear un circuito "anti-rebotes". Por otra parte, la unidad de control gestionará el envío de las señales de control hacia el Datapath y recibirá las señales de respuesta enviadas por el Datapath a la unidad de control.

  • Pero, ¿ Qué es el DATAPATH ?. Podemos decir que el datapath estará formado por distintos componentes digitales que se pueden controlar en su conjunto para realizar unas tareas concretas, fluyendo datos a través del sistema digital, estaría formado pues por componentes como, contadores, temporizadores, registros de desplazamiento, registros de carga, memorias, transmisores serie, otras máquinas de estado... El Datapath puede recibir datos de entrada que se cargarán al sistema digital, y generará datos de salida.

  • Para que todo el conjunto digital funcione en sincronía la unidad de control será la encargada de gobernar el ritmo de trabajo enviando las señales de control necesarias cuando se requieran, para ello recibirá las señales de respuesta del datapath que le ofrecerán la información que necesita la unidad de control para gestionar el datapath.

  • Podemos ver un esquema gráfico de lo que sería un sistema digital en las siguientes figuras:

Sistema Digital
Sistema Digital

  • Un ASMD chart estará formado por un ASM chart normal donde además se indica información del Datapath
    • ASMD chart = ASM chart + relación con DATAPATH

  • Un ASMD chart está formado distintos bloques "ASMD block" donde cada bloque equivale a un estado de una máquina de estados, cada bloque se ejecuta en un único ciclo de reloj del sistema, esto nos facilita ver una visión temporal ( cuantos ciclos se emplean a lo largo del sistema digital ).

  • Un bloque ASMD está formado por:

    • Una CAJA DE ESTADO.
    • Una CAJA DE DECISIÓN.
    • Una CAJA CONDICIONAL.
  • Las tres cajas del bloque se procesan en un ciclo de reloj y representan un estado como ya habíamos mencionado.

CAJA DE ESTADO.

  • La caja de estado se representa como ** un rectángulo** formado por:
    • Nombre del estado
    • Señales de salida Moore (salidas en función del estado en el que te encuentras).
    • Operaciones con registros sin condición ( se realizan nada más que por el hecho de estar en dicho estado, no están sometidas a ninguna condición)
    • en la parte exterior, en una esquina se puede poner el código binario con el cual se representa el estado en el que estamos.

CAJA DE DECISIÓN.

  • Se representan con un rombo donde dentro se indica la señal de entrada, variable, etc sobre la cual se establece una condición determinada donde en función de dicha condición se establecerá el camino hacia donde discurre el sistema. Tendremos dos posibles caminos, TRUE o FALSE, se pueden encadenar distintas cajas de decisión.

CAJA CONDICIONAL

  • Se representa como un rectángulo con los bordes redondeados donde en su interior se muestra:
    • Señales de salida Mealy donde las salidas son función de las entradas (condición) y el estado donde se encuentra.
    • Operaciones de registros condicionadas a dicha condición de entrada.

Las operaciones que se producen en el Datapath no pertenecen al controlador propiamente dicho ( máquina de estado ) por lo cual no se indican dentro de ninguna de las cajas del bloque ASMD pero si se indican a lo largo del camino fuera de las cajas para establecer visualmente una relación con los elementos de un Datapath.

  • Las señales que gobiernan las operaciones que se realizan en el Datapath si pertenecen al controlador y se incluyen bien en la caja de estado si son señales Moore o en la caja condicional si son señales Mealy.

  • En un ASMD chart las operaciones con los registros se ejecutan todas a la vez ( concurrentes ) al final de cada bloque ASMD y en un ciclo de reloj por bloque ASMD.

  • En un ASMD chart se asocia una transición de estado con las operaciones que se realizan en el DATAPATH y las señales que disparan dichas operaciones.

Clone this wiki locally