Sei sulla pagina 1di 4

Resumen Exposicion: Diagramas AMS

Tecnicas de Integracion
Universidad Nacional de Colombia
Israel Ricardo Bernal
Rafael Eduardo Camargo
Jose Andres Roncancio
Oscar Andres Urbano

M
aquinas de estado algortmicas

Una m
aquina de estado algortmica
o ASM (del ingles Algorithmic State Machine) es un metodo utilizado
para describir las operaciones secuenciales de un sistema digital a traves de la implementacion de un algoritmo.
Dicho algoritmo est
a bien definido como una secuencia de pasos o estados (en funcion de unas entradas) entre
los cuales se cambia de acuerdo a unos datos de entrada. Los diagramas ASM(maquina de estado algortmicas)
son similares en apariencia a los diagramas de flujo usados desde el comienzo de la computacion, la diferencia
radica en que los diagramas ASM incluyen informacion del tiempo ya que tal cual como en las FSM(Maquinas
de estado finitas) se realiza el cambio de un estado a otro en funcion de un flanco de reloj determinado.

Inicios del ASM

El metodo de Estado de la m
aquina algortmica (ASM) para especificar los dise
nos digitales en una forma de
comportamiento abstracto fue originalmente documentado por Claire en la decada de 1970, con base en el
trabajo realizado en Hewlett Packard. Desde entonces, se ha convertido en un elemento basico de casi todos
los textos sobre el tema de dise
no digital l
ogico, esta cubierto de alguna manera en la mayora de los textos.
Mientras que la mayora de los libros simplemente le dan tratamiento como medio para especificar el control
de los sistemas digitales que utilizan complejos modelos de maquina de estados finitos (FSM), algunos textos
en realidad lo utilizan como un medio primario para la presentacion de los metodos de dise
no abstracto para
el dise
no de sistemas digitales.
En cuanto a las ventajas de productividad de la utilizacion de modelos ASM Ejecutable sobre metodos
de dise
no basados ??en el lenguaje , Joshi y Kobayashi realizaron una serie de experimentos que comparan
metodos de dise
no gr
afico como el ASM contra los metodos de dise
no basados ??en el lenguaje (usando el
lenguaje de programaci
on Verilog ) .

Elementos de un diagrama ASM

Los diagramas ASM son construidos bas


andose en 3 elementos definidos:
Caja de Estado: En los diagramas ASM se utiliza un rectangulo para cada estado del sistema secuencial
digital. Es similar al crculo utilizado en el diagrama de estados. La principal diferencia es que este solamente
tiene una sola posible transici
on.
Caja de Decisi
on: Esta tiene forma de diamante. Tiene un punto de entrada, pero m
ultiples puntos de
salida y se utiliza para especificar un n
umero de caminos alternativos que se puede seguir.
Caja Condicional: Est
a representada por un rectangulo con esquinas redondeadas. Siempre sigue un
cuadro de decisi
on y contiene una o m
as operaciones condicionales que solo se invocan cuando la ruta que
contiene el cuadro condicional es seleccionado por la caja de decision.

Fig. 1: Caja de estado del AMS

Fig. 2: Caja de decision del AMS

Fig. 3: Caja de Condicional del AMS

Operaciones de Registros

Los registros se presentan en el procesador de datos para almacenar y procesar datos. Flip-flop (1 bit) y
las memorias (arreglos) tambien son considerados registros. Las operaciones de registro se especifican en las
cajas de estado y/o cajas condicionales, y se escriben en la forma:
registro destinatario funcion (otros registros)
donde el lado izquierdo contiene el registro de destino (o parte de uno) y el lado derecho es una funci
on con
uno o m
as de los registros disponibles como argumento.

El tiempo en los gr
aficos de ASM

El tiempo se muestra implcitamente en el diagrama ASM.


Cada cuadro de estado, junto con su decision inmediatamente despues y cajas condicionales, se produce
dentro de un ciclo de reloj.
Un grupo de cajas que se producen dentro de un solo ciclo de reloj se llama un bloque de ASM.
Representaci
on de la secuencia de los eventos junto con temporizacion relaciones entre los estados de
control secuencial y eventos que ocurren mientras se mueve entre los pasos.

Fig. 4: Diagrama AMS de un controlador

Ejemplo

Ejemplo adicional

Consideremos un controlador de Sem


aforo que se presenta en la Fig. 5. Este controlador se encuentra en
la intersecci
on de una calle principal y una carretera secundaria. Inmediatamente despues de cuadro de
inicio tenemos una caja de condici
on para iniciar. Esto significa que el controlador comienza a funcionar
s
olo cuando la se
nal de Start = 1 . En este momento, los coches pueden moverse a lo largo de la carretera
principal durante dos minutos. Para ello, el semaforo de la calle principal es de color verde , el semaforo de
la carretera secundaria es de color rojo y el temporizador especial que cuenta los segundos se pone a cero (
main_grn := 1 ; sec_red := 1 ; t := 0 ) . Aunque nuestro controlador de trafico es muy simple, este tiene
algunas funciones interesantes, puede reconocer a una ambulancia en el camino. Cuando una ambulancia
est
a en el camino de se
nal amb es igual a uno ( amb = 1 ) , cuando no hay ambulancia en el camino esta
se
nal es igual a cero ( amb= 0 ) . En primer lugar vamos a discutir el caso cuando no hay ambulancias en la
carretera.
As, cuando amb = 0 y t = 120 s el controlador entra en un estado intermedio para permitir que los
coches que terminan conduciendo a lo largo de la carretera principal : main_yel= 1 ; sec_red= 1 ; t = 0.
El controlador solo est
a en este estado s
olo durante tres segundos ( t = 3 s) , despues de lo cual los coches
pueden moverse a lo largo de la carretera secundaria por 30 segundos : main_red = 1 ; sec_grn = 1; t := 0 .
Treinta segundos m
as tarde , si no hay ambulancias en la carretera ( amb= 0 ; t = 30 s), hay una
estado intermedio adicional. Ahora los coches deben terminar conduciendo por la carretera secundaria :
main_red= 1 ; sec_yel = 1 ; t := 0. Despues de tres segundos, si nuevamente, no hay ambulancias en el
camino, el proceso alcanza el cuadro final ,o, lo que es lo mismo, regresa el cuadro de inicio.
Cuando hay una ambulancia en la carretera (amb = 1) las salidas de las cajas condicionales amb, marcada
con 1 nos traen al estado intermedio para permitir que los carros terminen su conduccion: main_yel = 1;
sec_yel = 1; t = 0. Una condici
on adicional llamada dmain nos dice que la ambulancia esta en la carretera
principal o en la secundaria. Si est
a en la carretera principal (dmain = 1), despues de tres segundos, el
sem
aforo ser
a de color verde en la carretera principal, en caso contrario (dmain = 0) el semaforo se pondr
a
verde en la carretera secundaria.

Fig. 5: Controlador de semaforo

Potrebbero piacerti anche