4 detector de secuencia de entrada

2

Necesito diseñar un detector de secuencia de 4 entradas y realmente estoy teniendo problemas con esto.

Los números se ingresan como una entrada de 4 dígitos (0010 es 2, 0110 es 6, etc.).

La secuencia debe detectar, por ejemplo, una clave de 5 dígitos (es decir, 3-4-1-7-5)

Estoy realmente preocupado con la metodología de diseño para este problema, porque si lo hacemos de la manera tradicional, tomará una eternidad, necesitamos 3 variables de estado y 11 posibilidades de entrada diferentes para tratar (la clave 1010 es " claro ")

Si escribimos 3-4-4, la secuencia debe borrar, por ejemplo.

Si escribimos 3-4-1-7-5 (la secuencia correcta), entonces la salida debería ser un 1 lógico.

De lo contrario, la salida es cero.

Cualquier ayuda muy apreciada.

EDITAR: el circuito secuencial es síncrono (tiene una fuente de reloj externa)

    
pregunta triplebig

2 respuestas

3

Aquí hay una sugerencia: los estados en su máquina de estado no están asociados con los códigos binarios que representan las entradas clave, están asociados con el número de números correctos ingresados hasta el momento. Usted comienza en un estado inicial, o "reinicio", en el cual no se han ingresado claves válidas hasta el momento, y luego pasa a estados que representan 1 clave válida ingresada, 2 claves válidas ingresadas, etc. hasta que llegue al estado final con 5 claves válidas ingresadas. En el último estado, la salida es 1; en todos los demás es 0.

En cada estado, si se ingresa la siguiente clave válida, se pasa al siguiente estado; de lo contrario, volverá al estado inicial.

    
respondido por el Dave Tweed
3

Presentando el SuperShifting ©, MultiDetector ™ con codificación Flexi:

Una forma en que podemos resolver el problema es con un registro de desplazamiento que almacena los últimos 5 códigos de entrada. También tenemos un registro que almacena el código de acceso. Luego usamos comparadores digitales (lógica Y de XOR a nivel de bits) para ver si cada código de entrada coincide con el código de acceso correspondiente. Si todos coinciden, la salida es 1. De lo contrario, la salida es 0. Aquí hay un esquema completo:

Featuring:

  • código de acceso cambiable
  • El número de dígitos es fácilmente escalable
  • Bits por dígito es fácilmente escalable
  • Evita la necesidad de una clave clara
  • Vulnerable a los ataques de la mesa del arco iris

Debido a la vulnerabilidad a la función de los ataques de tabla arco iris, si olvida su código de acceso, puede recuperarlo con mayor velocidad comprimiendo sus conjeturas clave en un ataque de tabla arco iris.い い ね.

    
respondido por el travisbartley

Lea otras preguntas en las etiquetas