diseño de contador síncrono de 3 bits d flip flop

0

¿Alguna idea de cómo me gustaría diseñar un contador sincrónico de 3 bits para tener los siguientes estados?

111->001->110->101->100->000->010->111

Dibujé un estado actual y la siguiente tabla de estado, etc ... sin estar muy seguro de a dónde ir desde aquí, he diseñado en logismo un esquema de inicio con CLK, CLR y PRE, con Flip flops de tipo 3 D como estos son los que debo usar, pero no estoy seguro de a dónde ir desde aquí.

    
pregunta Sim

1 respuesta

0

La clave es tratar cada bit individualmente.

Por ejemplo, para el bit de orden inferior, llamémoslo next_state[0] .

state     | next_state[0]
---------------
   000    | 0
   001    | 0
   010    | 1
   011    | X
   100    | 0
   101    | 0
   110    | 0
   111    | 1

Para que puedas escribir

next_state[0] = state[0] & state[1] & state[2] | ~state[0] & state[1] & ~state[2]

Si está construyendo esto con lógica discreta, podría simplificar esto a

next_state[0] = state[1] & (state[0] & state[2] | ~state[0] & ~state[2])

Y tiene una ecuación que puede usar para impulsar el flip-flop que generará la siguiente condición para el bit bajo de la variable de estado.

Encontrar las ecuaciones para los otros dos bits de estado funciona de la misma manera.

    
respondido por el The Photon

Lea otras preguntas en las etiquetas