Мазмуну:

CPE 133 Final Project Decimal to Binary: 5 Steps
CPE 133 Final Project Decimal to Binary: 5 Steps

Video: CPE 133 Final Project Decimal to Binary: 5 Steps

Video: CPE 133 Final Project Decimal to Binary: 5 Steps
Video: Binary to Decimal Conversion | Binary to decimal 2024, Июль
Anonim
CPE 133 Final Project Decimal to Binary
CPE 133 Final Project Decimal to Binary

Бинардык сандар - санариптик логиканы ойлогондо эң биринчи эске түшүүчү нерселердин бири. Бирок, бинардык сандар аны жаңы баштагандар үчүн оор түшүнүк болушу мүмкүн.

Бул долбоор экилик сандар менен тажрыйбалуу болгондорго ондук сандарды өзгөртүүгө жардам берет. Оюнду түзүү аркылуу биз колдонуучуларды конверсиялоо жөндөмүн текшеребиз. Бул оюн Basys3 тактасында аткарылат жана Verilogдо программаланган болот.

1 -кадам: Керектүү материалдар

Керектүү материалдар
Керектүү материалдар

Бул ондукту экиликке айландыруу оюнун түзүү үчүн төмөнкү материалдар керек:

  • Xilinx Vivado Design Suite программалык камсыздоосу
  • Digilent Basys3 FPGA тактасы
  • USBден Micro USB кабелине

2 -кадам: LFSR орнотуу (Сызыктуу кайтарым байланыштын реестри)

LFSRти орнотуу (Lineear Feedback Shift Register)
LFSRти орнотуу (Lineear Feedback Shift Register)
LFSRти орнотуу (Lineear Feedback Shift Register)
LFSRти орнотуу (Lineear Feedback Shift Register)

LFSR (Linear Feedback Shift Register) - бул "туш келди" сандарды чыгаруу үчүн колдонулган модуль.

LFSR толугу менен кокустук эмес, анткени ал псевдо-кокустук сандарды жаратат, бул кокусунан пайда болгон, бирок жок сандарды өндүрүү процесси.

LFSR - бул которуу реестри, анын кирүү бити мурунку абалынын сызыктуу функциясы, бул LFSR чектүү сандар аркылуу өтөт дегенди билдирет. Тактап айтканда, бул оюн үчүн, LFSR 255ке чейин түзө турган ондук санды чектөө үчүн 8 битти гана колдонот.

L (btnL) баскычы LFSRдеги номерди баштапкы абалга келтирүү үчүн колдонулат.

Бул LFSR модулу бул оюндун жаратуучулары тарабынан түзүлгөн эмес. LFSR модулу Карлтон университетинин профессору Жон Найт тарабынан түзүлгөн. Анын модулуна шилтеме төмөндө камтылган.

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

3 -кадам: Жети сегменттин дисплейин орнотуу

Жети сегменттин дисплейин орнотуу
Жети сегменттин дисплейин орнотуу

Жети сегменттүү дисплей Basys3 тактасында жана башка көптөгөн жабдыктарда тамгалык-сандык белгилерди көрсөтүү үчүн колдонулат.

Бул оюнда колдонулган Seven-Segment Display модулу бинардык санды ондук санга айландырат жана ондук сан катары көрсөтөт.

Мурда талкууланган LFSR модулун колдонуу менен, туш келди түзүлгөн сан жети сегменттүү дисплейге чыгарылат.

Seven-Segment Display модулу бул оюндун жаратуучулары тарабынан түзүлгөн эмес. Seven-Segment Display модулу Калифорния политехникалык университетинин профессору Жозеф Калленес-Слоан тарабынан берилген. Модуль үчүн pdf төмөндө тиркелет.

4 -кадам: Оюн модулун түзүү

Оюн модулун түзүү
Оюн модулун түзүү
Оюн модулун түзүү
Оюн модулун түзүү
Оюн модулун түзүү
Оюн модулун түзүү
Оюн модулун түзүү
Оюн модулун түзүү

Оюн (негизги) модулун түзүү.

Бул модуль LFSR модулун колдонуп, туш келди санды жаратып, андан кийин жети сегменттүү дисплейге чыгарат.

Андан кийин модуль туш келди санды баштапкы абалга келтирүүчү дайыма блокту колдонот. Бул Button R (btnR) оң четинде иштейт, демек ал R Button басылганда гана иштейт.

Экинчи блок дайыма сааттын оң жагында иштейт (clk). Эгерде C (btnC) баскычы басылса, бул жети сегменттеги дисплейдеги номерлердин которгучтардын (sw) киргизүүчү номери менен бирдей экендигин текшерет. Бул блок желекти көтөрөт (желектин реестрин (желегин) 1ге коюңуз) жана messageVal зымын колдонуучу утуп же утулуп калганына жараша өзгөртө алат.

Үчүнчү блок дайыма сааттын оң жагында иштейт. Эгерде желек көтөрүлсө, ал ssegInputValди Seven-Segment Displayдеги messageVal зымына коёт. Эгерде желек көтөрүлбөсө, анда ал туш келди санды (randomVal) чыгарууну улантат.

5 -кадам: Оюн ойноо

Оюн ойноо!
Оюн ойноо!
Оюн ойноо!
Оюн ойноо!
Оюн ойноо!
Оюн ойноо!

Нускамалар:

  • Колдонуучу R оюн баскычын басат же жети сегменттүү дисплейдеги номерди өзгөртөт.
  • Колдонуучу экилик номерди киргизүү үчүн биринчи 8 өчүргүчтү өйдө (1) же ылдый (0) бурат.
  • C баскычы колдонуучунун утуп же утулганын текшерүү үчүн колдонулат.
  • Эгерде Колдонуучу "111" утуп алса, жети сегменттүү дисплейде көрсөтүлөт.
  • Колдонуучу "0" жоголсо, Жети сегменттин дисплейинде көрсөтүлөт.
  • Жаңы оюнду баштоо үчүн R баскычын каалаган убакта басса болот.

Сунушталууда: