1
DIAGRAMAS ASM ESPOCH Caroline Jara 414 TERCERO ”C” Control carolinav
[email protected] [email protected]
I. R ESUMEN
´ DE UN DIAGRAMA A SM IV. C OMPONENTES B ASICOS
La Maquina a´ quina de estados algor´ algor´ıtmica ıtmica (ASM) es un m etodo e´ todo para el dise˜no n o de M´aquina aquina de estados finitos. Se utiliza para representar los diagramas de circuitos integrados digitales. El diagrama de ASM es como un diagrama de estado, pero menos formal y por tanto m as a´ s f acil a´ cil de entender. Un gr afico a´ fico de ASM es un m´ metodo e´ todo para describir las operaciones por orden de un sistema digital.
Bloque Bloque de estado: estado: rect´ rectangulo a´ ngulo que contiene las operaciones de transferencia de registros y se nales n˜ ales de salida que se activan mientras la unidad de control est´e en ese estado.
´ II . I NTRODUCCION Las maqui a´ quina nass de esta estado do algo algorr´ıtmi ı tmica cass (ASM (ASM)) son son una una herramie herramienta nta de dise˜no no digital que mejora algunas propiedades de los los diag diagra rama mass de esta estado do,, grac gracia iass a que que desc descri ribe ben n con con ´ detall detallee no solo olo las transicio transiciones nes entre entre estados, estados, sino tambi en e´ n las operaciones que se realizan en ellos. Los diagramas ASM son una buena alternativa a los diagramas de estado porque, manteniendo su interfaz gr´afico e intuitivo, permiten definir de forma m as a´ s comoda o´ moda y consistente las transiciones entre estados y tambi en e´ n las operaciones que se han de realizar durante y al final de cada estado. Sin embargo, muchos muchos autores autores consideran consideran que su interfaz interfaz gr afico a´ fico es poco poco pr´actico; actico; posiblemente por ese motivo, en el dise˜no no RTL se han impuesto los lenguajes de descripcin de circuitos (HDL), pues su edicion o´ n es en principio mucho m as a´ s f acil a´ cil y c omoda. o´ moda. III. H ISTORIA Las Las maquinas a´ quinas de estado estado algor´ algor´ıtmicas, ıtmicas, tambi tambi en e´ n conocidas conocidas ˜ como como diagra diagramas mas ASM, ASM, fueron fueron docume documenta ntadas das hace hace 40 a nos por Clare, quien trabajaba en Electronics Research Laboratory de Hewlett Packard Labs. Su libro se bas o´ en los desarrol desarrol-los previo previoss de Osborn Osbornee en la Unive Universi rsidad dad de Califo Californi rniaa en Berkeley. Desde entonces, los diagramas ASM se han aplicado con frecuencia para dise nar ˜ circuitos digitales que requieren la realizaci´ realizacion o´ n de tareas complejas. Muchos textos de electr onica ´ digita digitall que descri describen ben el dise dise no n˜ o a nive nivell de regis registro tro (RTL) (RTL) dedican una atenci´on on especial a los diagramas ASM junto a otros m´ metodos, e´ todos, en particular las m aquinas a´ quinas de estados finitas (FSM), (FSM), los diagra diagramas mas de estado estado y las tablas tablas de estado estado.. Sin embargo, embargo, despu´ despues e´ s de un an´ analisis a´ lisis m as a´ s detallad detallado, o, nos enconencontramos con que estos recursos de dise no n˜ o pr´ practicamente a´ cticamente s olo o´ lo se utilizan de forma marginal, y ´unicamente unicamente para definir las partes de contro controll de los circui circuitos tos algor algor´´ıtmicos. ıtmicos. Realmente Realmente pocos autores emplean los diagramas ASM para desarrollar circuitos completos, excepto, que incrementan las posibilidades de estos diagramas con recursos m as a´ s propios de lenguajes de alto nivel, pero finalmente codifican el circuito empleando texto.
Bloque de decisi on: o´ n: Describe la condici´on on bajo la que se llevar´ llevaran a´ n a cabo distintas transformaciones en la ruta de datos y se seleccionar´ seleccionara´ el pr´ proximo o´ ximo estado. Bloq Bloque ue de cond condic iciion: o´ n: Descr Describ ibee las las asig asigna naci cion ones es de variables y salidas que se llevar an a´ n a cabo. Bloque ASM: Es una estructura compuesta de un bloque de estado y un conjunto de bloques de decisi on o´ n y de condicion o´ n interconectados en serie o en paralelo, tiene una sola entrada y puede tener varias salidas. ´ A SM V. M ETODO El metodo e´ todo de ASM se compone de los siguientes pasos: 1. Crear Crear un algori algoritmo tmo,, utiliz utilizand ando o pseudo pseudocc odig o´ digo o , para para describir la operaci on o´ n deseada del dispositivo. 2. Convertir el pseudoc odigo o´ digo en un diagrama ASM. 3. Dise˜ Diseno n˜ o de la Ruta de Datos o Camino de Datos basado en el diagrama ASM. 4. Crea Crearr diag diagra rama ma ASM ASM deta detall llad ado o basa basado do en la ruta ruta o camino de datos. 5. Dise˜no no de la l´ogica ogica de control o Unidad de Control basada en el diagrama ASM detallado. VI . D IAGRAMA A SM
Un diagra diagrama ma ASM se compon componee de una interc intercone onexi xion o´ n de los tres tipos de elementos b asicos: a´ sicos: los estados, los controles condici´on, o n, y sali salida dass cond condic icio iona nale les. s. Un esta estado do de ASM, ASM,
2
representada como un rect a´ ngulo, corresponde a un estado de un diagrama de estado regular o m a´ quina de estados finitos. El nombre del estado se indica fuera de la caja en la esquina superior izquierda. El Moore tipo de productos se enumeran dentro de la caja. Una condici´on de verificacio´ n de ASM, indicado por un diamante con una entrada y dos salidas (de verdadero y falso), se utiliza para la transferencia condicional entre dos estados o entre un estado y una salida condicional. El cuadro de decisio´ n contiene la expresi o´ n condici´on establecida para la prueba, la expresi´o n contiene una o m´as entradas de las FSM.
de los bloques ASM. La figura trata de ilustrar todas estas ideas mostrando el diagrama ASM tradicional de un circuito que multiplica dos n´umeros enteros de 12 bits sin signo: para ello espera hasta recibir simult a´ neamente los dos operandos a trav e´ s de dos entradas inA e inB validadas por una se nal ˜ go, a continuaci o´ n ejecuta doce multiplicaciones parciales que resultan ser sumas condicionales y termina validando con una se˜nal done el resultado mostrado en la salida outP. Este circuito es inicializado as´ncronamente con una seal reset, activa a nivel alto, y es sincronizado por una se n˜ al clk no mostrada en el diagrama.
Cuadro de decisi o´ n: Un diamante indica que la expresi o´ n condici´on establecida es de pruebas, y la ruta de salida es a elegir en consecuencia. La expresi´on de condicio´ n contiene una o m´as entradas a las M a´ quinas de Estados. Caja de salida condicional: un o´ valo indica las se n˜ ales de salida que son de tipo Mealy. Estos resultados dependen no s´olo del estado sino tambi e´ n las aportaciones al FSM.
R EFERENCES [1] https://sites.google.com/site/cartasasm/ [2] http://www.jimenez-ruiz.es/ernesto/II/DIAGRAMAS-ASM/.pdf [3] http://www.infor.uva.es/ fernando/asignaturas/estruct/unidad ontrol.pdf c
VII. D IAGRAMAS A SM TRADICIONALES Los diagramas ASM cl´asicos son un conjunto de cajas enlazadas que describen las acciones que ha de realizar el circuito en cada ciclo de reloj. Emplean tres tipos de cajas: en primer lugar, las cajas rectangulares especifican el inicio de cada estado o ciclo de reloj y las operaciones incondicionales que se han de ejecutar durante ese periodo de tiempo; las cajas con forma de rombo o diamante permiten tomar decisiones y as´ı modificar la l´ınea de ejecuci o´ n del algoritmo; por u´ ltimo, las cajas con forma ovalada muestran las operaciones que hay que realizar de forma condicional en cada ciclo, so´ lo si las decisiones anteriores lo permiten. Adicionalmente se define un bloque ASM, opcional, que incluye todas las operaciones, condicionales e incondicionales que han de ejecutarse de forma simult a´ nea en cada ciclo de reloj. En dise˜nos complejos resulta casi imprescindible el uso