Livets spil bevæger sig ret hurtigt, hvis du ikke bruger stop bevægelse, du måske savner det

Munged Ferris Bueller citater til side, Conway’s livs spil er den klassiske cellulære automat, som vi alle når for. Den typiske metode er at bare itere over hver celle i gitteret, hvilket beregner den næste tilstand til en ny gitterbuffer. [K155LA3] Sæt ud for at vende det på hovedet ved at implementere livsspil i hardware af en FPGA.

[K155LA3] Version bruger mejsel, en ny HDL fra Berkley og Riscv-samfundene. Under hætten er mejselskala med nogle tilpassede biblioteker, der ved, hvordan man skal kortlægge scala-koncepter på hardware. I brede streger er Verilog og VHDL fokuseret på at udtrykke hardware og derefter tilføjet abstraktion oven på det i løbet af året. Mejsel og andre nyere HDL-sprog fokuserer på at udtrykke højt niveau generelle elementer, der bliver kortlagt på hardware. FPGA’er kortlægger allerede komplekse kredsløb og hardware på luts og andre skiver, så hvad er et andet lag af abstraktion?

FPGA, der er valgt til dette projekt, er et digilent Arty A7 med en VGA PMOD for at dreje RGB444 til analoge signaler til faktisk at vise. Hvad der er fremragende om [K155LA3] ‘s implementering er bare hvor hurtigt det er. Selv kører på 60 billeder pr. Sekund er det praktisk taget så hurtigt som skærmen kan håndtere. Selvfølgelig kan mange computere, der ligger omkring dig, simulere et 60 x4 8 gitter ved 60 fps. Dernæst forbinder han i stedet for at forbinde gitterlogikken til 60 Hz VGA-uret, den til 100 MHz bordet ekstern oscillator. Nu indeholder hver pixel i hver ramme, der vises over en million generationer.

Desværre tager selv dette lille gitter på 60 × 48 90% af LUTS på Artix-7. I fremtiden vil vi gerne se en endnu større FPGA hardware implementering, der er i stand til at håndtere net, der kunne holde hele computere i dem. Og naturligvis er dette ikke den første FPGA-version af livets spil her på Hackaday.