Оглавление:
- Шаг 1. Необходимые материалы
- Шаг 2: Настройка LFSR (регистр сдвига с линейной обратной связью)
- Шаг 3: Настройка семисегментного дисплея
- Шаг 4: Создание игрового модуля
- Шаг 5: Играйте в игру
Видео: CPE 133 Final Project Decimal to Binary: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Двоичные числа - одна из первых вещей, которые приходят на ум при мысли о цифровой логике. Однако двоичные числа могут быть сложной концепцией для новичков.
Этот проект поможет тем, кто новичок и имеет опыт работы с двоичными числами, освоить преобразование десятичных чисел. Создавая игру, мы будем проверять у пользователей их навыки конверсии. Эта игра будет выполняться на доске Basys3 и программироваться на Verilog.
Шаг 1. Необходимые материалы
Следующие материалы необходимы, чтобы сделать эту игру преобразования десятичного числа в двоичное:
- Программное обеспечение Xilinx Vivado Design Suite
- Плата Digilent Basys3 FPGA
- Кабель USB - Micro USB
Шаг 2: Настройка LFSR (регистр сдвига с линейной обратной связью)
LFSR (регистр сдвига с линейной обратной связью) - это модуль, используемый для генерации «случайных» чисел.
LFSR не является полностью случайным, поскольку он генерирует псевдослучайные числа, что представляет собой процесс генерации чисел, которые кажутся случайными, но не таковыми.
LFSR - это регистр сдвига, входной бит которого является линейной функцией его предыдущего состояния, что означает, что LFSR будет циклически проходить через конечный набор чисел. Специально для этой игры LFSR будет использовать только 8 бит, чтобы ограничить десятичное число, которое он может генерировать, до 255.
Кнопка L (btnL) используется для сброса номера на LFSR.
Этот модуль LFSR не был создан создателями этой игры. Модуль LFSR был создан профессором Карлтонского университета Джоном Найтом. Ссылка на его модуль приведена ниже.
www.doe.carleton.ca/~jknight/97.478/97.478_…
Шаг 3: Настройка семисегментного дисплея
Семисегментный дисплей используется на плате Basys3 и на многих других устройствах для отображения буквенно-цифровых символов.
Модуль семисегментного дисплея, который используется в этой игре, преобразует двоичное число в десятичное и отображает его как десятичное число.
При использовании ранее описанного модуля LFSR случайное сгенерированное число будет выводиться на семисегментный дисплей.
Модуль семисегментного дисплея не был создан создателями этой игры. Модуль семи сегментов дисплея был предоставлен профессором Калифорнийского политехнического университета Джозефом Калленес-Слоаном. PDF-файл для модуля прилагается ниже.
Шаг 4: Создание игрового модуля
Создать игровой (основной) модуль.
Этот модуль будет использовать модуль LFSR для генерации случайного числа и последующего вывода его на семисегментный дисплей.
Затем модуль использует блок Always, который сбрасывает случайное число. Это работает на положительном фронте кнопки R (btnR), что означает, что он будет работать только при нажатии кнопки R.
Второй всегда блок работает на положительном фронте тактового сигнала (clk). Если нажать кнопку C (btnC), это проверит, совпадает ли номер на семисегментном дисплее с номером ввода с переключателей (sw). Этот блок поднимет флаг (установит регистр флага (flag) в 1) и изменит провод messageVal в зависимости от того, выиграл ли пользователь или проиграл.
Блок «Третий всегда» также работает на положительном фронте тактового сигнала. Если флаг поднят, он установит ssegInputVal на провод messageVal на семисегментном дисплее. Если флаг не поднят, он продолжит выводить случайное число (randomVal).
Шаг 5: Играйте в игру
Инструкции:
- Пользователь нажмет кнопку R, чтобы создать новую игру, или изменит номер на семисегментном дисплее.
- Пользователь перевернет первые 8 переключателей вверх (1) или вниз (0), чтобы ввести двоичное число.
- Кнопка C будет использоваться, чтобы проверить, выиграл ли пользователь или проиграл.
- Если пользователь выиграл, «111» будет отображаться на семисегментном дисплее.
- Если пользователь потерял «0», будет отображаться на семисегментном дисплее.
- Чтобы начать новую игру, кнопку R можно нажать в любой момент.
Рекомендуемые:
Автоматизированная ЭКГ - BME 305 Final Project Дополнительные кредиты: 7 шагов
Автоматическая ЭКГ - BME 305 Final Project Дополнительная заслуга: электрокардиограмма (ЭКГ или ЭКГ) используется для измерения электрических сигналов, производимых бьющимся сердцем, и играет большую роль в диагностике и прогнозе сердечно-сосудистых заболеваний. Некоторая информация, полученная на ЭКГ, включает ритм
Ultimate Binary Watch: 12 шагов (с изображениями)
Ultimate Binary Watch: недавно я познакомился с концепцией двоичных часов и начал проводить некоторые исследования, чтобы посмотреть, смогу ли я построить их для себя. Однако мне не удалось найти существующий дизайн, который был бы одновременно функциональным и стильным. Итак, я решил
Final Project LED Happy Face: 7 шагов
Final Project LED Happy Face: Добро пожаловать в мой проект счастливого лица! Этот Instructable - это проект Arduino для новичков, разработанный для всех, кто просто хочет повеселиться с электроникой. Этот проект Arduino предполагает использование 8 светодиодов, которые загораются слева направо в
CPE 133 Метроном: 3 ступени
CPE 133 Metronome: Для нашего последнего проекта в Cal Poly мы создали устройство для поддержания темпа, называемое метрономом, мы выбрали этот проект из-за интереса к музыке и цифровому дизайну. Мы использовали предыдущие лабораторные работы в CPE 133, чтобы помочь разработать наш код, и онлайн-учебные пособия, чтобы помочь в
Сортировщик мусора CPE 133: 14 шагов
Сортировщик мусора CPE 133: Для нашего класса CPE 133 в Cal Poly нам сказали создать проект VHDL / Basys 3, который поможет окружающей среде и был достаточно простым, чтобы мы могли реализовать его с нашими новыми знаниями цифрового дизайна. Идея нашего проекта в том, что в целом