Contador de anillos Trabajos digitales

ingrese la descripción de la imagen aquíTengo problemas con una simulación de Digtal Works de un contador de anillo. (Versión 3.0.5.0, copyright Mecanique)

El botón de encendido y apagado no borra las chanclas; el flip-flop de la izquierda siempre está encendido.

(Estoy usando esto en una simulación de una CPU para la clase de organización de computadoras que enseño. Esto será para el control básico, ya sea que la computadora obtenga una instrucción, de la memoria, realice una operación inmediata, etc.)

Busqué "Obras digitales" en este desbordamiento de pila y no encontré nada. Por supuesto, encontré y usé mucha información en la web en general sobre este tema.

No estoy familiarizado con el software, pero algo se ve raro en el cable debajo del flip-flop derecho del medio. Tiene un punto de unión en el medio del cable y pasa por el pasador. ¿Está bien conectado?

Respuestas (1)

He incluido una imagen anotada de su esquema:

Primero, es un poco desordenado. Hace mucho para que el esquema "se vea limpio", especialmente porque los saltos de cables a menudo causan errores en la lista de redes (o al menos no en la lista de redes como se esperaría). Cada cable es idealmente recto. Las puertas no se colocan al azar, sino que se disponen de una manera que muestra intuitivamente el flujo de la señal.

esquema anotado

No estoy familiarizado con lo que son estos dos puertos inferiores en el flip flop. ¿Supongo que es una especie de claro?

Independientemente, observe la red verde. ¿Qué está impulsando esto? Me parece flotar. Por lo general, desea conectar las redes a la tensión de alimentación oa tierra. Si simplemente están flotando, el comportamiento puede ser impredecible.

Alternativamente, la red roja (que se conectó al flip flop más a la izquierda) va al mismo puerto en cada flip flop que el verde todavía (claro, supongo). Pero, está ligado al pulsador, mientras que el verde aún no está accionado por nada.

Entonces, si desea que el flip flop más a la izquierda actúe como los otros 3 flip flop, conéctelo con la línea naranja punteada y corte el cable al primer flip flop que viene de la red roja (la línea punteada púrpura representa el corte).

Sin embargo, en la práctica querrá asegurarse de que todas las redes de entrada estén conectadas. Mi suposición es que puede salirse con la suya en este caso porque está simulando en base a verilog, y el reinicio es algo así como @rising_edge (clear). Dado que una red flotante nunca 'sube', esto nunca se activa. Pero en la vida real, causaría resultados muy impredecibles, ya que su voltaje podría fluctuar en función del ruido y la deriva.

Aquí hay un esquema de ejemplo de cómo lo construiría:

myschem

Gracias por la respuesta rápida. Implementé tu diagrama en el diseñador de Digital Works. (Tenga en cuenta que esta herramienta no está basada en verilog; parece ser un cajón/simulador esquemático de lógica digital anticuado, que parece apropiado para este curso). El problema es que cuando inicio el sistema en ejecución normal y presiono el botón, termino con más de un bit en el contador del anillo. Cuando paso uno por uno, es difícil mantener presionado el botón durante un ciclo. Sin embargo, finalmente logré que funcionara, pero prefiero que fuera menos complicado, tanto para mí como para mis alumnos.
@LaurenceLeff: en su lugar, puede inicializar el contador con una puerta NOR de 4 entradas en lugar del botón pulsador. Cada entrada es la salida de uno de los flip flops. De esa manera, solo cuando todas las salidas de flip flop sean '0', la puerta NOR producirá un valor lógico '1' para iniciar el contador. Entonces es posible que no necesite el botón pulsador en absoluto.