Съдържание:

CPE 133 Окончателен проект Десетичен до двоичен: 5 стъпки
CPE 133 Окончателен проект Десетичен до двоичен: 5 стъпки

Видео: CPE 133 Окончателен проект Десетичен до двоичен: 5 стъпки

Видео: CPE 133 Окончателен проект Десетичен до двоичен: 5 стъпки
Видео: CPE 133 Lab 1 Demo 2024, Ноември
Anonim
CPE 133 Окончателен проект Десетичен до двоичен
CPE 133 Окончателен проект Десетичен до двоичен

Двоичните числа са едно от първите неща, които идват на ум, когато мислите за цифрова логика. Двоичните числа обаче могат да бъдат трудна концепция за начинаещите.

Този проект ще помогне на тези, които са нови и имат опит с двоични числа, овладяват преобразуването на десетични числа. Чрез създаването на игра ще тестваме потребителите върху техните умения за преобразуване. Тази игра ще бъде изпълнена на Basys3 Board и програмирана във Verilog.

Стъпка 1: Необходими материали

Необходими материали
Необходими материали

Следните материали са необходими за направата на тази игра за десетично преобразуване в двоично:

  • Софтуер на Xilinx Vivado Design Suite
  • Digilent Basys3 FPGA съвет
  • USB към Micro USB кабел

Стъпка 2: Настройване на LFSR (Регистър за изместване на линейна обратна връзка)

Настройване на LFSR (регистър за изместване на линейна обратна връзка)
Настройване на LFSR (регистър за изместване на линейна обратна връзка)
Настройване на LFSR (регистър за изместване на линейна обратна връзка)
Настройване на LFSR (регистър за изместване на линейна обратна връзка)

LFSR (Linear Feedback Shift Register) е модул, използван за генериране на „случайни“числа.

LFSR не е напълно случаен, тъй като генерира псевдослучайни числа, което е процес на генериране на числа, които изглеждат случайни, но не са.

LFSR е регистър на смяна, чийто входен бит е линейна функция от предишното му състояние, което означава, че LFSR ще циклично преминава през крайни зададени числа. Конкретно за тази игра, LFSR ще използва само 8 бита, за да ограничи десетичното число, което може да генерира до 255.

Бутон L (btnL) се използва за нулиране на номера на LFSR.

Този LFSR модул не е създаден от създателите на тази игра. Модулът LFSR е създаден от професора от университета Карлтън, Джон Найт. Връзката към неговия модул е включена по -долу.

www.doe.carleton.ca/~jknight/97.478/97.478_…

Стъпка 3: Настройване на седемсегментния дисплей

Настройване на седем сегментния дисплей
Настройване на седем сегментния дисплей

Седемсегментен дисплей се използва на дъската Basys3 и на много други части от хардуера за показване на буквено-цифрови знаци.

Модулът Seven-Segment Display, който се използва в тази игра, преобразува двоично число в десетично число и го показва като десетично число.

Чрез използването на предварително обсъдения модул LFSR, произволно генерирано число ще бъде изведено на седемсегментния дисплей.

Модулът Seven-Segment Display не е създаден от създателите на тази игра. Модулът за седемсегментен дисплей е предоставен от професора в Калифорнийския политехнически университет Джоузеф Каленс-Слоун. PDF файлът за модула е приложен по -долу.

Стъпка 4: Създаване на игровия модул

Създаване на игровия модул
Създаване на игровия модул
Създаване на игровия модул
Създаване на игровия модул
Създаване на игровия модул
Създаване на игровия модул
Създаване на игровия модул
Създаване на игровия модул

Създаване на игрален (основен) модул.

Този модул ще използва модула LFSR за генериране на произволно число и след това ще го изведе на седемсегментния дисплей.

След това модулът използва винаги блок, който нулира случайното число. Това работи върху положителния ръб на Бутон R (btnR), което означава, че той ще работи само когато е натиснат Бутон R.

Вторият винаги блок работи върху положителния ръб на часовника (clk). Ако се натисне бутон C (btnC), това ще провери дали номерът на седемсегментния дисплей е същият като входния номер от превключвателите (sw). Този блок ще издигне флаг (задайте регистъра на флаговете (флаг) на 1) и ще смени проводника на messageVal според това дали потребителят е спечелил или загубил.

Третият винаги блок също работи върху положителния край на часовника. Ако флагът е повдигнат, той ще настрои ssegInputVal към проводника messageVal на седемсегментния дисплей. Ако флагът не е повдигнат, той ще продължи да извежда случайното число (randomVal).

Стъпка 5: Играйте играта

Игра на играта!
Игра на играта!
Игра на играта!
Игра на играта!
Игра на играта!
Игра на играта!

Инструкции:

  • Потребителят ще натисне бутон R, за да направи нова игра, или да промени номера на седемсегментния дисплей.
  • Потребителят ще завърти първите 8 превключвателя нагоре (1) или надолу (0), за да въведе двоичното число.
  • Бутон C ще се използва за проверка дали потребителят е спечелил или загубил.
  • Ако Потребителят спечели '111', ще се покаже на седемсегментния дисплей.
  • Ако Потребителят загуби „0“, ще се покаже на седемсегментния дисплей.
  • За да започнете нова игра, бутон R може да бъде натиснат по всяко време.

Препоръчано: