Está en la página 1de 10

Nombre de Carrera: Ingeniería en Sistemas Computacionales

Nombre de Materia: Lenguajes Autómatas.

Nombre del Tema: Teoría de Autómatas Síncronos

Nombre del Profesor: Yurivia Torres Meraz

Nombre de alumno(s):

Jesus Uriel Melendez Ramirez

Número de Control:

19224018

Lugar y Fecha: 06/06/23, Rioverde


Contenido
Introducción................................................................................................................................................3
Marco teórico..............................................................................................................................................4
Autómatas finitos....................................................................................................................................4
Sistemas Secuenciales.............................................................................................................................4
Análisis de un circuito secuencial............................................................................................................5
Procedimiento general de diseño de sistemas secuenciales síncronos...................................................5
Tablas de implementación de unger.......................................................................................................5
Planteamiento del problema.......................................................................................................................7
Conclusión...................................................................................................................................................9
Bibliografías...............................................................................................................................................10
Introducción
La teoría de autómatas síncronos es un área de estudio dentro de la informática teórica y la teoría de la
computación. Se centra en el análisis y diseño de sistemas digitales que operan en sincronía, es decir,
que funcionan mediante eventos discretos que ocurren en momentos específicos del tiempo.

Un autómata síncrono es un modelo matemático utilizado para describir el comportamiento de sistemas


digitales en los que los cambios de estado y las transiciones ocurren en momentos sincronizados por una
señal de reloj. Estos sistemas se encuentran ampliamente en la electrónica digital, como circuitos
integrados, procesadores, protocolos de comunicación y sistemas embebidos.

La teoría de autómatas síncronos se basa en el concepto de máquinas de estado finito, que son modelos
matemáticos que describen el comportamiento de un sistema como una colección de estados y
transiciones entre ellos. Los autómatas síncronos añaden la noción de sincronización temporal a estos
modelos, lo que permite especificar y analizar propiedades temporales de los sistemas.

El estudio de los autómatas síncronos abarca varios aspectos, como la especificación formal de sistemas
digitales, la verificación de propiedades temporales, la síntesis de sistemas y la optimización de circuitos.
Estas técnicas son fundamentales para el diseño y la verificación de sistemas digitales complejos, ya que
permiten garantizar su correcta funcionalidad y comportamiento temporal.

En resumen, la teoría de autómatas síncronos se ocupa del estudio de sistemas digitales que funcionan
en sincronía mediante eventos discretos y se basa en modelos matemáticos como los autómatas finitos
para describir su comportamiento. Es una disciplina clave en la ingeniería de sistemas digitales y juega
un papel fundamental en el diseño y la verificación de sistemas complejos.
Marco teórico
Autómatas finitos
Un autómata finito es un modelo matemático de una máquina que acepta cadenas de un
lenguaje definido sobre un alfabeto A. Consiste en un conjunto finito de estados y un conjunto
de transiciones entre esos estados, que dependen de los símbolos de la cadena de entrada. El
autómata finito acepta una cadena x si la secuencia de transiciones correspondientes a los
símbolos de x conduce desde el estado inicial a un estado final.
Si para todo estado del autómata existe como máximo una transición definida para cada
símbolo del alfabeto, se dice que el autómata es determinístico (AFD). Si a partir de algún
estado y para el mismo símbolo de entrada, se definen dos o más transiciones se dice que el
autómata es no determinístico (AFND).
Formalmente un autómata finito se define como una 5-upla
M = <E, A, δ, e0, F> donde
E: conjunto finito de estados
A: alfabeto o conjunto finito de símbolos de entrada
δ: función de transición de estados, que se define como
- δ: E x A → E si el autómata es determinístico
- δ: E x A → P(E) si el autómata es no determinístico (P(E) es el conjunto potencia
de E, es decir el conjunto de todos los subconjuntos de E)
e0: estado inicial; e0 ∈ E
F: conjunto de estados finales o estados de aceptación; F ⊆ E
Generalmente se asocia con cada autómata un grafo dirigido, llamado diagrama de transición
de estados. Cada nodo del grafo corresponde a un estado. El estado inicial se indica mediante
una flecha que no tiene nodo origen. Los estados finales se representan con un círculo doble.
Si existe una transición del estado ei al estado ej para un símbolo de entrada a, existe entonces un arco
rotulado a desde el nodo ei al nodo ej; es decir que δ(ei, a) = ej , se representa en el diagrama.

Sistemas Secuenciales
Un sistema síncrono se caracteriza porque los cambios de estado (paso de estado actual al estado
siguiente) se producen en sincronismo con una señal de reloj. Su construcción puede realizarse a partir
de cualquier dispositivo sincronizado Según la forma de realizar el elemento de memoria nos podemos
encontrar distintos tipos de sistemas secuenciales, principalmente dos:
• Sistemas Secuenciales Síncronos, en los que su comportamiento puede definirse en instantes de
discretos de tiempo, se necesita una sincronización de los elementos del sistema mediante una
señal de reloj, que no es más que un tren de pulsos periódico. Las variables internas no cambian
hasta que no llega un pulso del reloj.
• Sistemas Secuenciales Asíncronos, actúan de forma continua en el tiempo, un cambio de las
entradas provoca cambios en las variables internas sin esperar a la intervención de un reloj. Son
sistemas más difíciles de diseñar.
El cambio de las variables internas se puede producir de dos maneras en un sistema secuencial síncrono:
• Por niveles, cuando permiten que las variables de entrada actúen sobre el sistema en el instante
en el que la señal de reloj toma un determinado nivel lógico (0 ó 1).
• Por flancos, o cambios de nivel, cuando la acción de las variables de entrada sobre el sistema se
produce cuando ocurre un flanco activo del reloj. Este flanco activo puede ser de subida (cambio
de 0 a 1) o de bajada (cambio de 1 a 0).

Análisis de un circuito secuencial


El análisis de un circuito secuencial es mas fácil que su síntesis. Lo primero que sera será obtener las
ecuaciones de entradas de los biestables. Del esquema deducimos:

Usando la ecuación de estado siguiente vamos a obtener las ecuaciones de estado siguiente del sistema:

En este ejemplo hemos llegado a unas ecuaciones bastantes simplificadas porque K=J pata los dos
biestables(el circuito podría haberse diseñado usando flip-flops D en vez de JK). Generalmente no
llegaremos a este grado de simplicidad, de forma que el uso de Qn+l = JQn + KQn para la determinación
de las ecuaciones de estado siguiente del sistema es un procedimiento general cuando se emplean
biestables JK.
Con estas ecuaciones y dándoles calores a x, Q n1 y Qn0 podemos completar la tabla de transición. Para
simplificarlas se adopta una notación abreviada, Q 1Q0 =00 representaremos por q0, Q1Q0 = 01 por q1 Q1Q0
= 10 por q2 y Q1Q0 = 11 por q3.
Procedimiento general de diseño de sistemas secuenciales síncronos
El proceso de análisis de la sección anterior siguió la siguiente secuencia de etapas:

Circuito ecuaciones de entradas de los biestables  tabla de transición  tabla de estado 


diagrama de estado

El proceso de síntesis es semejante al análisis, pero en sentido inverso.

Tablas de implementación de unger


En este método trataremos de ir buscando estados no_equivalentes, de forma que los
estados 1-no_equivalentes son los que tienen diferentes salidas, los 2-no_equivalentes son
aquellos cuyos estados siguientes tienen diferentes salidas y así sucesivamente.
Vamos a desarrollar el método sobre el siguiente ejemplo:
En este caso serán 1-no_equivalentes las parejas de estados q6-ql, q6-q2, q6-q3, q6-q4,
q6-q5 Y q6-q7, pues q6 tiene salidas 0/1 mientras que los demás tienen salidas O/O. Para seguir
buscando estados no equivalentes construimos la tabla de implicación. En el lado izquierdo,
descendiendo verticalmente, tenemos una lista de todos los estados del sistema menos el primero y, en
sentido horizontal, se da una lista de todos los estados menos el último, a lo largo de la base. De esta
forma, la tabla contiene una casilla por cada par de estados. En cada casilla pondremos en el lado

izquierdo los estados siguientes del estado que se encuentre en la base de la columna, y en
el lado derecho y por el mismo orden según las entradas que les correspondan, los estados
siguientes del estado de la izquierda de la fila
Planteamiento del problema
Diseñar un circuito que reconozca una subsecuencia particular de 3 bits sin solapamiento, en este caso
101, y que produzca una salida 1 cuando tal secuencia se haya producido.
Desarrollo de la solución
Para resolver el problema con la teoría de autómatas síncronos se puede diseñar un autómata de estado
finito que representa el circuito. El autómata tendrá tres estados iniciales, estado 1 y estado 2.
En el estado inicial:
• Si la entrada es 0, permanece en el estado S0.
• Si la entrada es 1, pasa al estado S1.
En el estado 1 :
• Si la entrada es 0, pasa al estado S0.
• Si la entrada es 1, pasa al estado S2.
En el estado 2:
• Si la entrada es 0, pasa al estado S0.
• Si la entrada es 1, se mantiene en el estado S2 y activa la salida.
La salida del circuito se activará en el estado S2, lo que indica que la secuencia 101 se ha detectado
correctamente. En los demás estados, la salida permanecerá desactivada.
El siguiente paso es implementar este autómata en un circuito. Puedes utilizar compuertas lógicas como
compuertas AND, OR y NOT para construir el circuito. Aquí tienes un ejemplo de cómo podrías
implementar este circuito utilizando compuertas lógicas:
1) Convierte las entradas en señales lógicas: 0 se representa como 0V (falso) y 1 se representa
como 5V (verdadero).
2) Utiliza compuertas AND y NOT para implementar las transiciones de estado del autómata. Por
ejemplo: La transición del estado S0 al estado S1 se puede implementar utilizando una
compuerta AND para verificar si la entrada es 1, y luego una compuerta NOT para invertir la
señal y pasar al siguiente estado.
3) Utiliza compuertas OR para combinar las salidas de los estados S2. Si cualquiera de los estados
S2 está activo, la salida del circuito será 1; de lo contrario, será 0.
Conclusión
En este tema se analizó lo que fue la teoría de autómatas síncronos. En lo que analice del tema me
percaté que, mediante el uso de autómatas síncronos, es posible especificar formalmente el
comportamiento de sistemas digitales, verificar propiedades temporales y asegurando su correcta
funcionalidad. La especificación formal de sistemas mediante lenguaje como VHDL, la síntesis y la
optimización de circuíos digitales. Pareciéndome un poco curioso el uso que este tiene en áreas de
circuitos, no me esperaba encontrar una tabla de verdad en este tema. Siendo esto curiosos ya que
tiene se pueden encontrar aplicaciones de este tema en diversos campos, como lo menciones hace un
momento como lo son en circuitos digitales y circuitos integrados. Su enfoque es la sincronización
temporal y la representación formal de sistemas permiten abordar problemas complejos y garantizar la
correcta operación de los sistemas digitales.

En pocas palabras esta teoría proporciona abarca para otras áreas de ingeniería siendo esta importante
para otras áreas, es un tema interesante que me gustaría darle una mayor prendida a futuro y viendo
que es útil para otras materias que ofrece la carrera, dando hincapié a que más personas conozcan este
tema.
Bibliografías
(S/f). Uhu.es. Recuperado el 6 de junio de 2023, de

http://www.uhu.es/rafael.lopezahumada/descargas/tema7_fund_0405.pdf

Finitos, A. (s/f). CIENCIAS DE LA COMPUTACION I 2009. Edu.ar. Recuperado el 6 de junio

de 2023, de https://users.exa.unicen.edu.ar/catedras/ccomp1/ApunteAutomatasFinitos.pdf

(S/f). Cartagena99.com. Recuperado el 6 de junio de 2023, de

https://www.cartagena99.com/recursos/alumnos/temarios/tema_3_-

_sistemas_secuenciales.pdf

Contreras, H. Y. (s/f). Teoría de la Computación y Lenguajes Formales. Ula.ve. Recuperado el 6

de junio de 2023, de http://webdelprofesor.ula.ve/ingenieria/hyelitza/contenido/tema2-

ER/documentos/Presentacion-tema2-sesion2.pdf

Tema 3 SISTEMAS SECUENCIALES 3.1. CONCEPTOS BÁSICOS. (s/f). Docplayer.es.

Recuperado el 6 de junio de 2023, de https://docplayer.es/22740235-Tema-3-sistemas-

secuenciales-3-1-conceptos-basicos.html

Introduccion, 6. 1. (s/f). TEORIA DE AUTOMATAS SINCRONOS. Quegrande.org. Recuperado

el 6 de junio de 2023, de http://quegrande.org/apuntes/EI/1/TC/teoria/07-08/tema_6.pdf

También podría gustarte