Munged Ferris Buneller bir yana, Conway’in yaşam oyunu, hepimizin ulaştığımız klasik hücresel otomatlardır. Tipik yöntem, bir sonraki durumu yeni bir ızgara tamponuna hesaplamak, ızgaradaki her hücreyi doldurmaktır. [K155LA3], bir FPGA’nın donanımında yaşamın oyununu uygulayarak başında bunu yönlendirdi.
[K155LA3] ‘nın sürümü, Berkley ve RICCV topluluklarından yeni bir HDL olan Chisel kullanır. Kaputun altında, keski, scala kavramlarını donanıma nasıl eşleştirileceğini bilen bazı özelleştirilmiş kütüphanelerle scala’dır. Geniş vuruşlarda Verilog ve VHDL, donanımı ifade etmeye odaklanır ve ardından yıl boyunca bunun üzerine soyutlama ekleyin. Keski ve diğer yeni HDL dilleri, donanıma eşleştirilen üst düzey genel amaçlı elemanları ifade etmeye odaklanır. FPGA’lar zaten karmaşık devreleri ve donanımları Luts ve diğer dilimler üzerine eşleştirin, peki başka bir soyutlama katmanı nedir?
Bu proje için seçilen FPGA, RGB444’ü aslında görüntülemek için RGB444’ü analog sinyallere dönüştürmek için VGA PMOD’u olan bir Digileent Arty A7’dir. [K155LA3] ‘nin uygulanması hakkında olağanüstü olanlar, ne kadar hızlı. Saniyede 60 karede bile koşmak bile, monitörün idare edemediği kadar hızlı. Tabii ki, etrafta yatan birçok bilgisayar, 60 x 4 8 ızgarayı 60 fps’de simüle edebilir. Daha sonra, ızgara mantığını 60 Hz VGA saatine bağlamak yerine, onu 100 MHz tahtası harici osilatöre bağlar. Şimdi görüntülenen her çerçevede her bir piksel, bir milyondan fazla nesil içerir.
Ne yazık ki, bu küçük ızgara bile 60 × 48, artz-7 üzerindeki lutsların% 90’ını alıyor. Gelecekte, içlerinde tüm bilgisayarları tutabilecek ızgaralarla uğraşabilen daha büyük bir FPGA donanım uygulamasını görmeyi çok isteriz. Ve doğal olarak, bu, Hackaday’da burada yaşam oyununun ilk FPGA versiyonu değil.