- PVSM.RU - https://www.pvsm.ru -

Игра «Жизнь» на FPGA Altera Cyclone IV

Игра Жизнь [1] — всем известный клеточный автомат, изобретенный Джоном Конвеем в 1970 году. Суть игры заключается в симуляции «вселенной», в нашем случае реализованной на квадратной матрице 8х8 с замкнутыми краями.

В начале от игрока требуется задать первое поколение клеток, используя встроенные в FPGA кнопки. После этого начинается процесс симуляции, где поколения сменяются по нажатию кнопки.

Игра реализована на языке проектирования Verilog и состоит из четырех базовых модулей: модули ввода/вывода, алгоритма игры и основной модуль, соединяющий имеющиеся. Игровое поле в коде представлено в виде сдвигового регистра на 64 элемента, переход к новому поколению реализован с помощью последовательной логики.

Модуль вывода работает со стандартной светодиодной матрицей 8х8 с 16 управляющими пинами. Отображение ведется по рядам. Модуль ввода представляет собой три кнопки — кнопка обновления экрана, установления позиции и кнопка изменения текущей позиции(сдвиг на позицию вправо), а также из переключателя режимов, позволяющего переходить к процессу симуляции от выбора первого поколения.

Пример работы:

image

Исходный код [2]

Автор: KarlKremen

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/fpga/299020

Ссылки в тексте:

[1] Игра Жизнь: https://ru.wikipedia.org/wiki/%D0%98%D0%B3%D1%80%D0%B0_%C2%AB%D0%96%D0%B8%D0%B7%D0%BD%D1%8C%C2%BB

[2] Исходный код: https://bitbucket.org/kkremen/mips-cgol

[3] Источник: https://habr.com/post/429764/?utm_campaign=429764