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

в 16:13, , рубрики: fpga, параллельное программирование

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

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

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

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

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

image

Исходный код

Автор: KarlKremen

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js