¿Cómo implemento un temporizador de inicio en un circuito digital?

2

En vhdl, sé cómo codificar un temporizador de inicio de forma conductual. Sin embargo, si tengo que implementar dicho contador para comenzar en función de un desencadenante, ¿cómo podría implementar dicho contador?

Mi activador es otra señal que estará activa solo para un ciclo de reloj. Me estoy rompiendo la cabeza tratando de pensar cómo se hace esto. Podría agregar lógica para comprobar si mi activador está alto (1 y ed a mi señal) pero luego se desactivará después de 1 ciclo de reloj.

He visto contadores con habilitar, pero quiero contar y seguir contando sin importar qué.

    
pregunta DeadSupra

2 respuestas

1

Mientras pueda asegurarse de que la señal de activación sea alta durante al menos un ciclo de reloj completo, puede hacer algo tan simple como esto:

circuito construido con www.falstad.com

El disparador no necesita estar sincronizado con el reloj, pero sí debe mantenerse alto durante al menos un ciclo de reloj completo. De lo contrario, es posible que el flip-flop (DFF) no registre el activador.

También puede agregar un restablecimiento al DFF si lo desea, para deshabilitar enable y permitir que el circuito se vuelva a activar.

Si le preocupa la metastabilidad, solo agregue una segunda etapa de DFF.

    
respondido por el Blair Fonville
0

Suponiendo que todavía está hablando de VHDL, para agregar una señal de inicio, simplemente cree un contador de dos estados. Un estado idle donde está esperando que la señal de habilitación esté activa y luego pase al estado counter regular.

    
respondido por el Humpawumpa

Lea otras preguntas en las etiquetas