stringtranslate.com

Máquina de estados algorítmica

La máquina de estados algorítmica ( ASM ) es un método para diseñar máquinas de estados finitos (FSM) desarrollado originalmente por Thomas E. Osborne en la Universidad de California, Berkeley (UCB) desde 1960, [1] introducido e implementado en Hewlett-Packard en 1968, formalizado y ampliado desde 1967 y escrito por Christopher R. Clare desde 1970. [2] [3] [4] Se utiliza para representar diagramas de circuitos integrados digitales . El diagrama ASM es como un diagrama de estados pero más estructurado y, por lo tanto, más fácil de entender. Un diagrama ASM es un método para describir las operaciones secuenciales de un sistema digital.

Método ASM

El método ASM se compone de los siguientes pasos:

1. Cree un algoritmo, utilizando pseudocódigo , para describir el funcionamiento deseado del dispositivo.
2. Convierte el pseudocódigo en un gráfico ASM .
3. Diseñe la ruta de datos basándose en el gráfico ASM.
4. Cree un gráfico ASM detallado basado en la ruta de datos.
5. Diseñe la lógica de control basándose en el diagrama ASM detallado.

Gráfico ASM

Un diagrama ASM consta de una interconexión de cuatro tipos de elementos básicos: nombre de estado, cuadro de estado, cuadro de decisión y cuadro de salidas condicionales. Un estado ASM, representado como un rectángulo, corresponde a un estado de un diagrama de estados regular o una máquina de estados finitos. Las salidas de tipo Moore se enumeran dentro del cuadro.

Nombre del estado

Nombre del Estado: El nombre del estado se indica dentro del círculo y el círculo se coloca en la esquina superior izquierda o el nombre se coloca sin el círculo.

Caja de estado

Cuadro de estado: La salida del estado se indica dentro del cuadro rectangular.

Cuadro de decisión utilizado en un gráfico ASM

Cuadro de decisión: un rombo indica que se debe probar la condición/expresión indicada y que se debe elegir la ruta de salida en consecuencia. La expresión de condición contiene una o más entradas a la FSM (máquina de estados finitos). Una verificación de condición de ASM, indicada por un rombo con una entrada y dos salidas (para verdadero y falso), se utiliza para realizar una transferencia condicional entre dos cuadros de estado, a otro cuadro de decisión o a un cuadro de salida condicional. El cuadro de decisión contiene la expresión de condición indicada que se debe probar, la expresión contiene una o más entradas de la FSM.

Cuadro de salida condicional

Cuadro de salida condicional : un óvalo indica las señales de salida que son de tipo Mealy . Estas salidas dependen no solo del estado sino también de las entradas al FSM.

Ruta de datos

Una vez que se ha descrito la operación deseada de un circuito utilizando operaciones RTL , se pueden derivar los componentes de la ruta de datos. Cada variable única a la que se le asigna un valor en el programa RTL se puede implementar como un registro. Dependiendo de la operación funcional realizada al asignar un valor a una variable, el registro para esa variable se puede implementar como un registro simple, un registro de desplazamiento, un contador o un registro precedido por un bloque de lógica combinacional. El bloque de lógica combinacional asociado con un registro puede implementar un sumador, un restador, un multiplexor o algún otro tipo de función de lógica combinacional.

Cuadro detallado de ASM

Una vez diseñada la ruta de datos, el gráfico ASM se convierte en un gráfico ASM detallado. La notación RTL se reemplaza por señales definidas en la ruta de datos.

Véase también

Referencias

  1. ^ Osborne, Thomas "Tom" E. (11 de noviembre de 2004) [1994]. "La historia de Tom Osborne en sus propias palabras". Página HP9825 de Steve Leibson (carta a Barney Oliver). Archivado desde el original el 24 de febrero de 2021. Consultado el 24 de febrero de 2021 .
  2. ^ Clare, Christopher "Chris" R. (febrero de 1971) [noviembre de 1970]. Diseño lógico de máquinas de estados algorítmicas . Hewlett-Packard Laboratories, EE. UU.: Hewlett-Packard . Número de catálogo de CHM  102650285.(110 páginas) [1] (NB. Hubo varias revisiones internas en 1970 y 1971. Esta fue publicada posteriormente por McGraw-Hill. [A] )
  3. ^ Clare, Christopher "Chris" R. (1973) [noviembre de 1972]. Diseño de sistemas lógicos mediante máquinas de estados. Osborne, Thomas "Tom" E. (contribuciones iniciales) (1.ª ed.). Laboratorio de investigación electrónica, Hewlett-Packard Laboratories: McGraw-Hill, Inc. ISBN  0-07011120-0.S2CID 60509061.SBN ​​ 07-011120-0. ISBN 978-0-07011120-2 . ark:/13960/t9383kw8n. 79876543 . Consultado el 14 de febrero de 2021(vii+114+3 páginas) [2][3] (NB: Este libro se basa en un documento interno de Hewlett-Packard de 1970. [B] )
  4. ^ House, Charles "Chuck" H. (24 de diciembre de 2012). "Un cambio de paradigma estaba sucediendo a nuestro alrededor" (PDF) . Revista IEEE Solid-State Circuits . Vol. 4, núm. 4. Universidad de Stanford: Instituto de Ingenieros Eléctricos y Electrónicos . págs. 32–35. doi :10.1109/MSSC.2012.2215759. eISSN  1943-0590. ISSN  1943-0582. Archivado (PDF) desde el original el 20 de enero de 2013. Consultado el 30 de junio de 2023 . pp. 2–3: El segundo taller anual IEEE sobre microprocesadores (ahora llamado Taller de microcomputadoras Asilomar o AMW) se llevó a cabo del miércoles 28 al viernes 30 de abril de 1976, cerca de Monterey, California […] Mi charla del miércoles por la noche describía herramientas que permitían una metodología de diseño muy diferente (diseño de máquina de estados algorítmicos [ASM]) utilizando matemáticas de variables de estado de Lyapunov y técnicas derivadas iniciadas en HP por Chris Clare y Dave Cochran para las calculadoras científicas portátiles de espectacular éxito (por ejemplo, HP 35 ) […] Mi punto: el diseño de circuitos ya no era un problema de elemento por elemento, sino una cuestión de "flujo de estados" en muchos nodos (las "palabras" secuenciales de registros en lugar de los voltajes de los pines del dispositivo). En efecto, sostenía que los voltajes electrónicos, ya fueran analógicos o conmutados, "perderían" frente a las instrucciones de software y los "estados de datos". Los sistemas se diseñarían y analizarían para una secuencia de estados adecuada en lugar de una distorsión de señal analógica o tiempos de conmutación digitales. […] Ya había visto el poder de los libros previos a su publicación . El perspicaz texto de metodología ASM de Clare, Designing Logic Systems Using State Machines , arrasó en la comunidad de diseño de HP […] Sin embargo, el departamento de ingeniería eléctrica de Stanford no se mostró tan optimista y canceló el curso de Clare en 1974, diciendo que "es un poco poco convencional" […] Stanford prefirió las técnicas de minimización de Quine-McCluskey . Apropiadamente, el colega de Mead en Caltech, Ivan Sutherland, preparó un artículo en Scientific American (1977) […] sobre el desafío que planteaba la microelectrónica a la teoría y la práctica de la computación, señalando que, dado que la mayor parte de la superficie de un chip estaba ocupada por "cables" (vías conductoras) en lugar de "componentes" (transistores), décadas de teoría de minimización en el diseño lógico se habían vuelto irrelevantes […](4 páginas)

Lectura adicional

Enlaces externos