Სარჩევი:

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 მიკრო USB კაბელი

ნაბიჯი 2: LFSR- ის დაყენება (ხაზოვანი გამოხმაურების ცვლის რეგისტრაცია)

LFSR– ის დაყენება (ხაზოვანი გამოხმაურების ცვლის რეგისტრაცია)
LFSR– ის დაყენება (ხაზოვანი გამოხმაურების ცვლის რეგისტრაცია)
LFSR– ის დაყენება (ხაზოვანი გამოხმაურების ცვლის რეგისტრაცია)
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 მოდულს შემთხვევითი რიცხვის შესაქმნელად და შემდეგ გამოუშვებს მას შვიდი სეგმენტის ჩვენებაზე.

შემდეგ მოდული იყენებს ყოველთვის ბლოკს, რომელიც აღადგენს შემთხვევით რიცხვს. ეს მოქმედებს ღილაკის R (btnR) პოზიტიურ ზღვარზე, რაც ნიშნავს რომ ის იმუშავებს მხოლოდ მაშინ, როდესაც ღილაკზე R დაჭერილია.

მეორე ყოველთვის ბლოკი მუშაობს საათის დადებით ზღვარზე (clk). თუ ღილაკზე C (btnC) არის დაჭერილი, ეს შეამოწმებს არის თუ არა ნომერი შვიდი სეგმენტის ეკრანზე იგივე, რაც კონცენტრატორებიდან (sw). ეს ბლოკი აამაღლებს დროშას (დააყენეთ დროშის რეგისტრი (დროშა) 1 -ზე) და შეცვლის messageVal მავთულს იმის მიხედვით, თუ მომხმარებელმა გაიმარჯვა ან წააგო.

მესამე ყოველთვის ბლოკი ასევე მოქმედებს საათის დადებით ზღვარზე. თუ დროშა აღმართულია ის დააყენებს ssegInputVal– ს მესიჯს Val7 მავთულს შვიდი სეგმენტის ჩვენებაზე. თუ დროშა არ არის აღმართული ის გააგრძელებს შემთხვევითი რიცხვის (randomVal) გამოყვანას.

ნაბიჯი 5: თამაში

ვთამაშობ თამაშს!
ვთამაშობ თამაშს!
ვთამაშობ თამაშს!
ვთამაშობ თამაშს!
ვთამაშობ თამაშს!
ვთამაშობ თამაშს!

ინსტრუქცია:

  • მომხმარებელი დააჭერს ღილაკს R ახალი თამაშის შესაქმნელად, ან შეცვლის ნომერს შვიდი სეგმენტის ჩვენებაზე.
  • მომხმარებელი გადაატრიალებს პირველ 8 გადამრთველს ზემოთ (1) ან ქვემოთ (0), რათა შეიტანოს ორობითი რიცხვი.
  • ღილაკი C გამოყენებული იქნება იმის შესამოწმებლად, მოიგო თუ წააგო მომხმარებელმა.
  • თუ მომხმარებელმა მოიგო '111' გამოჩნდება შვიდი სეგმენტის ეკრანზე.
  • თუ მომხმარებელმა დაკარგა '0' გამოჩნდება შვიდი სეგმენტის ეკრანზე.
  • ახალი თამაშის დასაწყებად ღილაკზე R ნებისმიერ დროს შეგიძლიათ დააჭიროთ.

გირჩევთ: