Игра Жизнь — всем известный клеточный автомат, изобретенный Джоном Конвеем в 1970 году. Суть игры заключается в симуляции «вселенной», в нашем случае реализованной на квадратной матрице 8х8 с замкнутыми краями.
В начале от игрока требуется задать первое поколение клеток, используя встроенные в FPGA кнопки. После этого начинается процесс симуляции, где поколения сменяются по нажатию кнопки.
Игра реализована на языке проектирования Verilog и состоит из четырех базовых модулей: модули ввода/вывода, алгоритма игры и основной модуль, соединяющий имеющиеся. Игровое поле в коде представлено в виде сдвигового регистра на 64 элемента, переход к новому поколению реализован с помощью последовательной логики.
Модуль вывода работает со стандартной светодиодной матрицей 8х8 с 16 управляющими пинами. Отображение ведется по рядам. Модуль ввода представляет собой три кнопки — кнопка обновления экрана, установления позиции и кнопка изменения текущей позиции(сдвиг на позицию вправо), а также из переключателя режимов, позволяющего переходить к процессу симуляции от выбора первого поколения.
Пример работы:
Автор: KarlKremen