Мазмұны:

CPE 133 Қорытынды жоба ондық екілік: 5 қадам
CPE 133 Қорытынды жоба ондық екілік: 5 қадам

Бейне: CPE 133 Қорытынды жоба ондық екілік: 5 қадам

Бейне: CPE 133 Қорытынды жоба ондық екілік: 5 қадам
Бейне: CPE 133 - Final Project Demo 2024, Шілде
Anonim
CPE 133 ондық екілікке дейінгі қорытынды жоба
CPE 133 ондық екілікке дейінгі қорытынды жоба

Екілік сандар - цифрлық логика туралы ойлағанда ең алдымен еске түсетіндердің бірі. Алайда, екілік сандар жаңадан бастағандар үшін қиын ұғым болуы мүмкін.

Бұл жоба екілік сандармен тәжірибесі барларға ондық сандарды түрлендіруге көмектеседі. Ойын құру арқылы біз қолданушылардың конверсиялық дағдыларын тексереміз. Бұл ойын Basys3 тақтасында орындалады және 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 255 -ке дейін ондық санды шектеу үшін тек 8 бит қолданады.

L (btnL) түймесі LFSR нөмірін қалпына келтіру үшін қолданылады.

Бұл LFSR модулін осы ойынды жасаушылар жасаған жоқ. LFSR модулін Карлтон университетінің профессоры Джон Найт жасаған. Оның модуліне сілтеме төменде берілген.

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

3 -қадам: Жеті сегментті көрсетуді орнату

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

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

Бұл ойында қолданылатын Жеті сегментті дисплей модулі екілік санды ондық санға түрлендіреді және оны ондық сан ретінде көрсетеді.

Бұрын талқыланған LFSR модулін қолдану арқылы кездейсоқ генерацияланған сан Жеті сегментті дисплейге шығарылады.

Жеті сегментті дисплей модулін бұл ойынды жасаушылар жасаған жоқ. Жеті сегментті дисплей модулін Калифорния политехникалық мемлекеттік университетінің профессоры Джозеф Калленес-Слоан ұсынды. Модульге арналған pdf төменде берілген.

4 -қадам: Ойын модулін құру

Ойын модулін құру
Ойын модулін құру
Ойын модулін құру
Ойын модулін құру
Ойын модулін құру
Ойын модулін құру
Ойын модулін құру
Ойын модулін құру

Ойын модулін құру (негізгі).

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

Содан кейін модуль кездейсоқ санды қалпына келтіретін әрқашан блокты пайдаланады. Бұл R (btnR) батырмасының оң жағында жұмыс істейді, яғни ол R түймесі басылғанда ғана жұмыс істейді.

Екінші блок әрқашан сағаттың оң жағында жұмыс істейді (clk). Егер C (btnC) батырмасы басылса, бұл жеті сегментті дисплейдегі нөмір қосқыштардың (sw) кіріс нөмірімен бірдей екенін тексереді. Бұл блок жалаушаны көтереді (жалауша регистрін (жалаушаны) 1 -ге орнатады) және messageVal сымын пайдаланушы ұтқан немесе ұтылғанына сәйкес өзгертеді.

Үшінші блок әрқашан сағаттың оң жағында жұмыс істейді. Егер жалау көтерілсе, ол ssegInputVal параметрін Seven сегментті дисплейде messageVal сымына орнатады. Егер жалау көтерілмесе, ол кездейсоқ санды (randomVal) шығаруды жалғастырады.

5 -қадам: Ойын ойнау

Ойын ойнау!
Ойын ойнау!
Ойын ойнау!
Ойын ойнау!
Ойын ойнау!
Ойын ойнау!

Нұсқаулар:

  • Қолданушы R түймесін басып, жаңа ойын жасайды немесе Жеті сегментті дисплейдегі нөмірді өзгертеді.
  • Пайдаланушы екілік санды енгізу үшін алғашқы 8 қосқышты жоғары (1) немесе төмен (0) аударады.
  • С түймесі пайдаланушының ұтқанын немесе жоғалғанын тексеру үшін пайдаланылады.
  • Егер пайдаланушы «111» ұтып алса, Жеті сегментті дисплейде көрсетіледі.
  • Егер «0» жоғалған пайдаланушы жеті сегментті дисплейде көрсетіледі.
  • Жаңа ойынды бастау үшін R түймесін кез келген уақытта басуға болады.

Ұсынылған: