meskeIA

Simulador de Lógica Secuencial

Biestables (flip-flops), contadores y registros que recuerdan: dale al reloj pulso a pulso y observa cómo evoluciona el circuito, con su cronograma dibujado en vivo.

© 2026 meskeIA© 2026

Ecuación característica

Q(t+1) = D

Copia en la salida el valor que tenga la entrada D en el flanco activo del reloj. Es la celda de memoria elemental: mientras no llegue un flanco, la salida no cambia.

Entradas

Reloj

Ciclos ejecutados: 0

Estado actual

Q0
Q̄1

Cronograma (diagrama de tiempos)

Pulsa Pulso de reloj o activa el modo automático para empezar a dibujar las señales.

Tabla característica

DQ(t+1)Comportamiento
00Almacena un 0
11Almacena un 1

La fila resaltada corresponde a las entradas que aplicarás en el próximo flanco de reloj.

Aprende Lógica Secuencial

Por qué un circuito necesita memoria y cómo se diseñan biestables, contadores y registros

¿Qué es la lógica secuencial?

Un circuito combinacional (puertas AND, OR, NOT, un sumador, un multiplexor) es una función pura: las mismas entradas producen siempre la misma salida. En cuanto un sistema necesita recordar algo —cuántos pulsos han llegado, qué botón se pulsó antes, en qué punto de una secuencia está—, la lógica combinacional se queda corta. Ahí entra la lógica secuencial: la salida depende de las entradas y del estado interno almacenado.

Ese estado lo guardan los biestables o flip-flops, celdas capaces de mantener un bit indefinidamente. En un sistema síncrono, todos los biestables actualizan su valor a la vez, en el flanco activo de una señal común llamada reloj. Entre flancos, las entradas pueden cambiar libremente: lo que cuenta es el valor que tienen justo en el flanco.

Estado siguiente = f(entradas, estado actual)  ·  Salida = g(estado actual) en Moore, o g(entradas, estado) en Mealy

El nombre de cada biestable viene de sus entradas de control: D de data, T de toggle, SR de set/reset y JK, que amplía el SR eliminando su combinación prohibida. Con biestables encadenados se construyen los dos bloques presentes en cualquier sistema digital: contadores(cuentan eventos, dividen frecuencias, generan direcciones) y registros (almacenan y desplazan datos).

Los siete circuitos del simulador: comparativa

CircuitoEntradasEcuación o reglaBits de estadoPunto delicadoUso habitual
Biestable DDQ(t+1) = D1Requiere respetar los tiempos de setup y holdRegistros, sincronizadores, memoria de un bit
Biestable JKJ, KQ(t+1) = J·Q̄ + K̄·Q1Ninguna combinación prohibida, pero más lógica internaContadores síncronos, control
Biestable TTQ(t+1) = T ⊕ Q1Al conmutar cada ciclo divide la frecuencia entre 2Contadores, divisores de frecuencia
Biestable SRS, RQ(t+1) = S + R̄·Q1S = R = 1 es un estado prohibidoAntirrebotes, enclavamientos sencillos
Contador binarioNinguna (solo reloj)valor(t+1) = (valor ± 1) mod M4Con módulo no potencia de 2 hay estados no usadosTemporizadores, direcciones de memoria
Registro de desplazamientoEntrada serieQᵢ(t+1) = Qᵢ₋₁(t)4Un dato tarda n ciclos en recorrer n etapasConversión serie-paralelo, retardos, UART
Detector de secuencia 101XMáquina de Moore de 4 estados2 (4 estados)Decidir si se admite solapamiento cambia el diagramaProtocolos, detección de patrones, control

4 situaciones donde la lógica secuencial es la respuesta

Semáforo con secuencia fija

Un semáforo no puede resolverse con lógica combinacional: la luz siguiente depende de la actual, no solo del sensor. Es una máquina de estados con un contador que marca la duración de cada fase.

Antirrebote de un pulsador

Un contacto mecánico rebota y genera decenas de flancos falsos en pocos milisegundos. Un biestable SR o un registro de desplazamiento que exija varios ciclos con el mismo nivel filtra esos rebotes antes de que lleguen al resto del sistema.

Recepción de datos en serie

Un puerto serie recibe los bits uno a uno. Un registro de desplazamiento los va acumulando y, tras n ciclos, entrega el byte completo en paralelo. Es exactamente lo que hace la etapa de entrada de una UART.

Detección de un patrón de bits

Reconocer una cabecera o una clave dentro de un flujo continuo de bits es el trabajo de una máquina de estados como el detector 101. Cada estado resume «cuánto llevo acertado del patrón», sin necesidad de almacenar toda la secuencia recibida.

Preguntas frecuentes sobre biestables y circuitos secuenciales

¿Qué diferencia hay entre un latch y un biestable disparado por flanco?

Un latch (cerrojo) es sensible al nivel: mientras la señal de habilitación está activa, la salida sigue a la entrada de forma transparente. Un biestable disparado por flanco solo mira la entrada en el instante de la transición del reloj y permanece insensible el resto del ciclo.

Por eso los diseños síncronos usan biestables por flanco: si la salida pudiera cambiar durante todo el ciclo, podría realimentarse y provocar carreras dentro del mismo periodo de reloj.

¿Qué son los tiempos de setup y de hold?

El tiempo de setup es el margen durante el cual la entrada debe estar estable antes del flanco; el de hold, el que debe mantenerse estable después. Si se violan, el biestable puede entrar en metaestabilidad: la salida queda un tiempo indefinido en una zona intermedia antes de resolverse a 0 o a 1.

Estos tiempos, junto con el retardo de propagación de la lógica combinacional entre biestables, fijan la frecuencia máxima de reloj del circuito.

¿Cuál es la diferencia entre una máquina de Moore y una de Mealy?

En una máquina de Moore la salida depende solo del estado, por lo que cambia de forma sincronizada con el reloj y es más fácil de analizar. En una de Mealy la salida depende del estado y de las entradas, lo que suele permitir resolver el mismo problema con menos estados, pero la salida puede cambiar en mitad de un ciclo.

El detector del simulador es de Moore: la salida Z vale 1 exactamente mientras la máquina está en el estado S3.

¿Qué diferencia hay entre un contador síncrono y uno asíncrono?

En un contador síncrono todos los biestables comparten la misma señal de reloj y conmutan a la vez; la lógica adicional decide cuáles cambian. En uno asíncrono (o de rizado) la salida de cada etapa hace de reloj de la siguiente, así que los cambios se propagan en cascada.

El asíncrono usa menos lógica, pero acumula retardos: durante un breve instante pueden aparecer valores intermedios inválidos, lo que limita su velocidad y complica decodificar la cuenta.

¿Cómo se pasa de un biestable JK a uno T o a uno D?

Un biestable JK se comporta como un T uniendo J y K en una sola entrada: con J = K = 0 mantiene y con J = K = 1 conmuta. Y se comporta como un D conectando J = D y K = D̄, de forma que la salida siempre acaba tomando el valor de D.

Puedes comprobarlo en el simulador: elige el biestable JK y pulsa el reloj manteniendo J = K = 1; verás la misma onda que produce el biestable T con T = 1.

¿Para qué sirve el solapamiento en un detector de secuencias?

Con solapamiento, los últimos bits de una detección pueden formar parte de la siguiente: en la entrada 10101 el patrón 101 se detecta dos veces. Sin solapamiento, tras cada acierto la máquina vuelve al estado inicial y solo detectaría una.

La decisión no es un detalle menor: cambia las transiciones del diagrama de estados y, con ello, la lógica del circuito final.

Cómo analizar un circuito secuencial paso a paso

1
Identifica los elementos de memoria

Cuenta los biestables: n biestables dan hasta 2ⁿ estados posibles. Ese número es el tamaño real del problema, más allá de la lógica combinacional que los rodee.

2
Escribe las ecuaciones de excitación

Expresa cada entrada de los biestables (D, J, K o T) en función de las entradas externas y de las salidas actuales. Son las ecuaciones que describen la lógica combinacional del circuito.

3
Aplica la ecuación característica

Sustituye esas excitaciones en la ecuación del biestable (Q(t+1) = D, Q(t+1) = T ⊕ Q, etc.) para obtener el estado siguiente en función del actual.

4
Construye la tabla de estados

Recorre todas las combinaciones de estado actual y entradas, y anota el estado siguiente y la salida. De esa tabla sale directamente el diagrama de estados.

5
Dibuja el cronograma y verifica

Elige una secuencia concreta de entradas y sigue el circuito ciclo a ciclo. Si el cronograma coincide con lo que predice la tabla, el análisis es correcto; si no, el error suele estar en el paso 2.

Consejos para trabajar con circuitos secuenciales

Fija primero el estado inicial

Un circuito secuencial sin una señal de puesta a cero arranca en un estado impredecible. En el simulador, el botón Reiniciar cumple ese papel de reset asíncrono.

Codifica los estados con criterio

Asignar códigos binarios a los estados de forma que los cambios frecuentes difieran en un solo bit (código Gray) simplifica la lógica y reduce transiciones simultáneas.

Piensa en ciclos, no en segundos

Al analizar un diseño, la unidad natural es el ciclo de reloj. Cuenta cuántos ciclos tarda una operación y solo al final tradúcelo a tiempo según la frecuencia.

Comprueba los estados no usados

En un contador de módulo 10 con 4 biestables sobran 6 combinaciones. Un diseño robusto define qué ocurre si el circuito cae en una de ellas por una interferencia.

Errores frecuentes al estudiar lógica secuencial
  • Confundir el valor de la entrada con el de la salida en el mismo ciclo. En un biestable D, si cambias D a mitad de ciclo la salida no se entera hasta el siguiente flanco.
  • Usar S = 1 y R = 1 «porque el circuito no explota». En simulación puede parecer inofensivo, pero en un circuito real ese estado deja las dos salidas incoherentes y el valor final depende de retardos físicos.
  • Olvidar que el módulo de un contador no es el número de biestables. Con 4 biestables el módulo máximo es 16, pero puede ser cualquier valor menor si se fuerza el retorno a cero.
  • Dar por hecho que el detector reinicia tras cada acierto. Con solapamiento, parte de la secuencia detectada sigue siendo válida para la siguiente detección.
  • Analizar un circuito secuencial con una tabla de verdad combinacional. Sin la columna del estado actual, la tabla es incompleta y aparecen «contradicciones» que en realidad son estados distintos.

Apps relacionadas