Optimización de lógica de puerta NAND

2

Soy nuevo en la lógica discreta (vengo de la generación Arduino / $ 1 ATTiny arruinada) y estoy tratando de diseñar un circuito de seguridad que afirmaría FAIL en la segunda intenta HABILITAR la SALIDA si la entrada SEGURIDAD no se ha desactivado (y se ha vuelto a activar) después de el primer intento.

En pocas palabras, estoy tratando de evitar que el dispositivo se ejecute 2 veces seguidas sin que se restablezca a través del interruptor SEGURIDAD después de cada ejecución.

Aquí hay un diagrama de señal simplificado y simulación del circuito.

Necesitocrearunatabladeverdadparaestecircuito,peronopuedoenvolvermicabeza,inclusosisetratadeuncircuitosincrónicooasíncrono,porqueelReloj(bueno,Gate,oEnable,comoquieraquelopongas)estáconectadoaunadelasentradas,ytengounmultivibradormonoestableenelconjuntodelpestillo,queenrealidadcambiadeestadoduranteelciclodelreloj.

Aquíhayundiagramadeseñalmásdetallado,queincluyetodaslasentradasysalidasquecreoquesonrelevantesparaanalizarlosestadosdelcircuito.

Por favor, ayúdame a sacar partido de esto, y si tienes alguna sugerencia de optimización, ¡estoy abierto a todas las sugerencias!

¡Tu sabiduría es muy apreciada!

PS .: Gracias a todos los que comentaron & me mostró que necesito ir más profundo!

    
pregunta wheezardth

1 respuesta

1

Esto suena como una máquina de estados con 4 estados; llamémoslos LISTO, INICIADO, PARADO y FALLO. Y haga que sus entradas se activen por nivel en lugar de por el borde, si es posible, es mucho más fácil de entender.

  • LISTO - > INICIADO cuando (habilitación y seguridad).
  • INICIADO - > DETENIDO cuando no está habilitado.
  • DETENIDO - > LISTO cuando no es seguridad.
  • DETENIDO - > FALLO cuando (habilitación y seguridad).

No está especificado, pero es probable que desee INICIAR - > FALLO cuando no es seguridad (es decir, alguien desactiva la seguridad mientras el sistema está funcionando) y algunos medios para salir de FALLA.

Realice el mapeo de esos en puertas, decidiendo si desea un mapeo binario o uno-hot y Moore vs Mealy machine se deja como ejercicio.

    
respondido por el pjc50

Lea otras preguntas en las etiquetas