Diagrama de circuito del circuito secuencial síncrono usando flip-flops tipo D disparados por flanco ascendente

1

¿Cómo dibujo un diagrama de circuito para este sistema usando la técnica de "un flip-flop por estado"?

ACTUALIZAR:

Estoesloquetengohastaahora,peromeestoyconfundiendotanto.

    
pregunta DNN

2 respuestas

1

El primer paso para implementar una máquina de estado es dibujar el diagrama de estado que implementará. Un diagrama de estado muestra todos los estados en los que puede estar la máquina, junto con todas las condiciones que hacen que cambie de un estado a otro (o no).

Un diagrama de temporización es en realidad una especificación incompleta para una máquina de estado, porque no cubre todas las combinaciones posibles de estado actual y entradas. Esto significa que puede llegar a una posible respuesta, pero puede haber otras. En este caso, debe elegir la respuesta más simple que cumpla con los requisitos.

Las salidas son simples; Podemos ver que OUT1 corresponde al estado B y OUT2 corresponde al estado D.

En el diagrama de tiempo dado vemos las siguientes transiciones:

  • A → A cuando IN1 = 0 e IN2 = X
  • A → B cuando IN1 = 1 e IN2 = 0
  • B → C cuando IN1 = 0 e IN2 = 0
  • C → A cuando IN1 = 0 e IN2 = 0
  • B → D cuando IN1 = 1 e IN2 = 0
  • D → D cuando IN1 = 0 e IN2 = 0
  • D → A cuando IN1 = 0 e IN2 = 1

Las siguientes combinaciones no están especificadas:

  • indicar A cuando IN1 = 1 e IN2 = 1
  • indicar B cuando IN1 = 0 e IN2 = 1
  • indicar B cuando IN1 = 1 e IN2 = 1
  • indicar C cuando IN1 = 1 e IN2 = 0
  • indicar C cuando IN1 = 0 e IN2 = 1
  • indicar C cuando IN1 = 1 e IN2 = 1
  • estado D cuando IN1 = 1 e IN2 = 0
  • estado D cuando IN1 = 1 e IN2 = 1

Una interpretación es asumir que las combinaciones no especificadas no causan transiciones de estado.

Otras interpretaciones son posibles, por ejemplo,

  • Podríamos asumir que IN2 es una entrada de "reinicio", porque en todos los casos cuando se afirma, el siguiente estado es A.
  • También podemos suponer que el estado C siempre hace la transición al estado A, porque nunca vemos que haga otra cosa.
  • Eso deja el caso para el estado D cuando IN1 = 1 e IN2 = 0; me gustaría dejarlo en el estado D. Tengo la impresión de que el estado D (y OUT2) está destinado a "enclavar" los impulsos en IN1 que son dos o más relojes de ancho.

Juntos, estos supuestos cubren todas las transiciones no especificadas.

Solo después de tener un diagrama de estado completo puede comenzar a diseñar la lógica para una implementación. Lo bueno de los diseños "one-hot" (un FF por estado) es que la lógica sigue prácticamente el diagrama de estado uno por uno.

    
respondido por el Dave Tweed
0

Lo siento, no hay soluciones completas para las tareas, ¡solo orientación!

Toma 4 ff: s de tipo D Vamos a nombrarlos a, b, c y d según los estados. Todos tienen el mismo reloj. Todos tenemos una puerta diferente que produce la entrada D para el ff. La puerta en la entrada D de ff X debe dar 1 exactamente cuando las variables tienen tal combinación que el siguiente estado debería ser X.

Uno de los estados debe ser el estado de restablecimiento. La señal de restablecimiento maestro establece que ff y restablece otros.

ADENDA: Este es un caso más difícil de lo que creía (no el circuito, es simple). Pero vamos a añadir algunas aclaraciones.

El diagrama de impulsos ha nombrado los estados a, b, c y d para la máquina. Es especialmente simple porque la demanda original era que los estados se muestran directamente por las salidas de los flip-flops (= un ff por estado). Por eso llamé a los flip-flops como los estados. En el estado a solo la salida de ff a es 1, en el estado b solo la salida de ff b es 1, etc ...

El flip-flop tipo D copia el valor lógico desde su entrada D a su salida Q cada vez que el pulso del reloj salta de 0 a 1. Para hacer la salida Q de ff a 1 en el momento adecuado, uno debe alimente 1 a su entrada D justo cuando se espera que la máquina pase al estado a de otro estado o del estado a .

El diagrama de impulsos da varios casos diferentes cuando el siguiente estado es a . Por lo tanto, se necesita un circuito de compuerta bastante complejo para producir una entrada adecuada a la entrada D de ff a.

Las condiciones que conducen al estado b son más simples. La máquina salta al estado b (= establece la salida de ff b en 1) exactamente cuando el estado actual es a y la entrada IN1 es 1. Así se conecta a la D -input of ff b la salida de una compuerta AND. Las entradas de ese AND son la salida Q de ff a y la señal IN1. Realmente no hay nada más necesario para D de ff b. En realidad, el diagrama de pulso se acorta. Me da la libertad de asumir que IN2 no afecta a la transición de a a b .

El diagrama de pulso muestra 4 casos diferentes cuando la D de ff a debe ser = 1. ellos son:

  • el estado es a e IN1 = IN2 = 0
  • el estado es c (asumo que a sigue a c automáticamente porque no se muestran alternativas después de c )
  • el estado es d e IN2 = 1
  • el estado es a , IN1 = 0 e IN2 = 1

Necesitas un circuito de compuerta (= circuito de combinación lógica) que produzca 1 a D de ff a solo en estos casos. Veo que necesita un OR de entrada múltiple y un par de AND e inversores.

Ahora: intenta continuar

Espero que puedas ver cómo producir OUT1 y OUT2.

    
respondido por el user287001

Lea otras preguntas en las etiquetas