삶의 게임은 꽤 빨리 움직입니다. 당신이 중지 모션을 사용하지 않으면 당신이 놓칠 수 있습니다

ferris bueller 인용문을 옆으로, Conway의 삶의 게임은 우리 모두가 도달하는 고전적인 셀룰러 오토 마타입니다. 일반적인 방법은 그리드의 모든 셀을 반복하여 다음 상태를 새 그리드 버퍼로 계산하는 것입니다. [K155LA3] FPGA 하드웨어에서 삶의 게임을 구현함으로써 그 머리를 돌려서 그걸 돌리기 시작했습니다.

[K155LA3] 버전은 Berkley 및 RISCV 커뮤니티에서 새로운 HDL을 사용하여 Chisel을 사용합니다. 후드 아래에서 Chisel은 스칼라 개념을 하드웨어에 매핑하는 방법을 알고있는 사용자 정의 라이브러리가있는 스칼라입니다. 광범위한 스트로크에서 Verilog 및 VHDL은 하드웨어를 표현하고 연간 추상화를 추가하는 데 중점을두고 있습니다. Chisel 및 기타 새로운 HDL 언어는 하드웨어로 매핑되는 고급 범용 요소를 표현하는 데 중점을 둡니다. FPGA는 이미 복잡한 회로와 하드웨어를 LUTS 및 기타 슬라이스에 매핑하므로 추상화의 또 다른 계층은 무엇입니까?

이 프로젝트에서 선택한 FPGA는 VGA PMOD가있는 DIGILENT ARTY A7이며 RGB444를 아날로그 신호로 전환하여 실제로 표시합니다. [K155LA3]의 구현에 대해 탁월한 것은 얼마나 빨리 얼마나 빠릅니다. 초당 60 프레임에서 실행조차도 모니터가 처리 할 수있는 것만 큼 빠른 것입니다. 물론, 주변에있는 많은 컴퓨터는 60fps에서 60 x 4 8 그리드를 시뮬레이션 할 수 있습니다. 다음으로 60Hz VGA 클록에 그리드 논리를 연결하는 대신 100MHz 보드 외부 발진기에 연결합니다. 이제 표시된 각 프레임의 각 픽셀에는 백만 개가 넘는 세대가 있습니다.

불행히도,이 작은 그리드도 60 × 48조차도 ARTIX-7에서 LUTS의 90 %를 차지합니다. 앞으로는 전체 컴퓨터를 보유 할 수있는 그리드를 다룰 수있는 더 큰 FPGA 하드웨어 구현을 볼 수있는 더 큰 FPGA 하드웨어 구현을보고 싶습니다. 그리고 자연스럽게 이것은 Hackaday에서 삶의 첫 번째 FPGA 버전이 아닙니다.