Livsspillet beveger seg ganske fort, hvis du ikke bruker stoppbevegelse, kan du savne det

Munged Ferris Bueller Quotes Bortsett, Conway’s Game of Life er den klassiske cellulære automataen som vi alle kommer til. Den typiske metoden er å bare iterere over hver celle i rutenettet, og beregne neste tilstand til en ny gridbuffer. [K155LA3] Sett ut for å slå det på hodet ved å implementere livet av livet i maskinvaren til en FPGA.

[K155LA3] ‘s Versjon bruker meisel, en ny HDL fra Berkley og Riscv-samfunnene. Under hetten er meiselen skala med noen tilpassede biblioteker som vet hvordan å kartlegge Scala-konsepter på maskinvare. I brede slag er Verilog og VHDL fokusert på å uttrykke maskinvare og deretter legge til abstraksjon på toppen av det i løpet av året. Meisel og andre nyere HDL-språk fokuserer på å uttrykke høyt nivå generell elementer som blir kartlagt på maskinvare. FPGAS kartlegger allerede komplekse kretser og maskinvare på Luts og andre skiver, så hva er et annet lag av abstraksjon?

FPGA valgt for dette prosjektet er en digilent Arty A7 med en VGA PMOD for å slå RGB444 til analoge signaler for å faktisk vise. Hva er enestående om [K155LA3] er implementering bare hvor fort det er. Selv kjører på 60 bilder per sekund, er det praktisk talt så fort som skjermen kan håndtere. Selvfølgelig kan mange datamaskiner som ligge rundt deg, simulere et 60 x 4 8 grid på 60 fps. Deretter, i stedet for å koble rutenettlogikken til 60 Hz VGA-klokken, kobler han den til den eksterne oscillatoren på 100 MHz. Nå er hver piksel i hver ramme som vises over en million generasjoner.

Dessverre tar dette lille rutenettet på 60 × 48 til 90% av Luts på Artix-7. I fremtiden vil vi gjerne se en enda større FPGA-maskinvareimplementering som er i stand til å håndtere grids som kan holde hele datamaskiner i dem. Og selvfølgelig er dette ikke den første FPGA-versjonen av spillet i livet her på Hackaday.