¿Cómo funciona una lógica de selección para el Juego de la vida de Conway?

3

En esta implementación del Juego de la Vida de Conway , hablan sobre el uso de dos capas de registros de desplazamiento PIPO para seleccionar Las células actuales y circundantes. Puedo pensar en algo como esto:

Supongamos que las celdas son:

 1  2  3  4  5
 6  7  8  9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25

Luego, hay tres matrices de entrada, es decir, 25 21 22 23 24 25 21 (entradas adicionales para el ajuste), 5 1 2 3 4 5 1 y 10 6 7 8 9 10 6

Deje que la lógica funcione en las primeras tres celdas de cada una de las matrices, es decir, en 25 21 22, 5 1 2, 10 6 7 para obtener la salida de 1 y el pestillo con D-flip flop y así sucesivamente.

Creo que de alguna manera podríamos cambiar las filas del 5 al 2do al 2o al 1ro al 2do y al 3er. ¿Es posible que haya otro registro de turnos?

Tenga en cuenta que la unidad lógica se puede implementar con bastante facilidad y ya he creado una, por lo que no es un gran problema.

Tiene que haber alguna forma de no crear 25 unidades lógicas (cada una de 8 a 9 ic). ¿Qué piensan ustedes?

También he pensado en usar alguna lógica de cambio como this que se ve muy Prometedor con un contador de décadas para las filas.

    
pregunta RE60K

1 respuesta

3

Lo que están haciendo es probablemente algo como esto:

simular este circuito : esquema creado usando CircuitLab

El estado actual del juego se mantiene en U2. De una en una, se evalúan 9 celdas y el nuevo estado para la celda central se genera y carga en U1. Ambos registros se desplazan al lugar correcto para evaluar el siguiente conjunto de celdas. Tenga en cuenta que U2 está conectado para recircular los datos durante esta fase. Después de 25 relojes, el nuevo estado para todo el juego está en U1, y una transferencia paralela de U1 a U2 hace que este nuevo estado sea el estado actual.

Los interruptores DIP para el estado inicial probablemente estén conectados a las entradas paralelas de U1. Los LED están conectados a las salidas de U2, y el juego se detiene después de cada ciclo de actualización de 25 horas para que pueda ver los resultados de cada paso. El control de "velocidad" es realmente solo controlar la duración de la pausa.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas