Агуулгын хүснэгт:

CPE 133 Эцсийн төсөл Аравтын бутархай хоёртын тоо: 5 алхам
CPE 133 Эцсийн төсөл Аравтын бутархай хоёртын тоо: 5 алхам

Видео: CPE 133 Эцсийн төсөл Аравтын бутархай хоёртын тоо: 5 алхам

Видео: CPE 133 Эцсийн төсөл Аравтын бутархай хоёртын тоо: 5 алхам
Видео: How to Do SDXL Training For FREE with Kohya LoRA - Kaggle - NO GPU Required - Pwns Google Colab 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 -ээс микро USB кабель

Алхам 2: LFSR -ийг тохируулах (Feedback Feed Shift Register)

LFSR -ийг тохируулах (Feedback Shift Shift Register)
LFSR -ийг тохируулах (Feedback Shift Shift Register)
LFSR -ийг тохируулах (Feedback Feed Shift Register)
LFSR -ийг тохируулах (Feedback Feed Shift Register)

LFSR (Linear Feedback Shift Register) нь "санамсаргүй" тоо үүсгэхэд ашигладаг модуль юм.

LFSR нь санамсаргүй байдлаар тоонууд үүсгэдэг бөгөөд энэ нь санамсаргүй байдлаар гарч ирдэг боловч тийм биш тоо үүсгэх процесс юм.

LFSR бол оролтын бит нь өмнөх төлөвийн шугаман функц болох ээлжийн бүртгэл бөгөөд LFSR нь хязгаарлагдмал тооны тоогоор дамжих болно гэсэн үг юм. Тодруулбал, энэ тоглоомын хувьд LFSR нь 85 битээр л аравтын тоог 255 болгож хязгаарлах болно.

L (btnL) товчлуур нь LFSR дээрх дугаарыг дахин тохируулахад хэрэглэгддэг.

Энэхүү LFSR модулийг энэ тоглоомыг бүтээгчид бүтээгээгүй болно. LFSR модулийг Карлтон их сургуулийн профессор Жон Найт бүтээжээ. Түүний модулийн холбоосыг доор оруулав.

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

Алхам 3: Долоон сегментийн дэлгэцийг тохируулах

Долоон сегментийн дэлгэцийг тохируулах
Долоон сегментийн дэлгэцийг тохируулах

Долоон сегментийн дэлгэцийг Basys3 самбар болон бусад олон тооны тоног төхөөрөмж дээр үсэг тоон тэмдэгтүүдийг харуулахад ашигладаг.

Энэ тоглоомонд ашиглагддаг Seven-Segment Display модуль нь хоёртын тоог аравтын бутархай болгон хувиргаж, аравтын бутархай тоо болгон харуулдаг.

Өмнө хэлэлцсэн LFSR модулийг ашигласнаар санамсаргүй байдлаар үүсгэсэн тоог Долоон сегментийн дэлгэц дээр гаргах болно.

Долоон сегментийн дэлгэцийн модулийг энэ тоглоомыг бүтээгчид бүтээгээгүй болно. Долоон сегментийн дэлгэцийн модулийг Калифорнийн Политехникийн Улсын Их Сургуулийн профессор Жозеф Калленес-Слоан өгсөн. Модулийн pdf файлыг доор хавсаргасан болно.

Алхам 4: Тоглоомын модулийг бий болгох

Тоглоомын модулийг бий болгох
Тоглоомын модулийг бий болгох
Тоглоомын модулийг бий болгох
Тоглоомын модулийг бий болгох
Тоглоомын модулийг бий болгох
Тоглоомын модулийг бий болгох
Тоглоомын модулийг бий болгох
Тоглоомын модулийг бий болгох

Тоглоом (үндсэн) модулийг бий болгох.

Энэ модуль нь LFSR модулийг ашиглан санамсаргүй тоо үүсгэж, дараа нь Долоон сегментийн дэлгэц дээр гаргана.

Дараа нь модуль нь санамсаргүй тоог дахин тохируулдаг үргэлж блок ашигладаг. Энэ нь Button R (btnR) -ийн эерэг ирмэг дээр ажилладаг бөгөөд энэ нь R Button дарагдсан үед л ажиллах болно гэсэн үг юм.

Хоёр дахь блок үргэлж цагийн эерэг ирмэг дээр ажилладаг (clk). Хэрэв C товчлуур (btnC) дарагдсан бол энэ нь Долоон сегментийн дэлгэц дээрх дугаар нь унтраалгын (sw) оролтын дугаартай ижил эсэхийг шалгах болно. Энэ блок нь туг босгож (тугны бүртгэлийг (туг) 1 болгож), хэрэглэгч хожсон эсвэл хожигдсоны дагуу messageVal утсыг өөрчилнө.

Гурав дахь үргэлж блок нь цагийн эерэг ирмэг дээр ажилладаг. Хэрэв туг босгосон бол ssegInputVal-ийг Seven сегментийн дэлгэц дээрх messageVal утсанд тохируулна. Хэрэв тугийг өргөхгүй бол санамсаргүй тоог (randomVal) үргэлжлүүлэн гаргах болно.

Алхам 5: Тоглоом тоглож байна

Тоглоом тоглож байна!
Тоглоом тоглож байна!
Тоглоом тоглож байна!
Тоглоом тоглож байна!
Тоглоом тоглож байна!
Тоглоом тоглож байна!

Зааварчилгаа:

  • Хэрэглэгч шинэ тоглоом хийхийн тулд R товчлуурыг дарах эсвэл долоон сегментийн дэлгэц дээрх дугаарыг өөрчлөх болно.
  • Хэрэглэгч хоёртын дугаарыг оруулахын тулд эхний 8 унтраалгыг дээш (1) эсвэл доош (0) эргүүлнэ.
  • Хэрэглэгч хожсон эсвэл хожигдсон эсэхийг шалгахын тулд C товчлуурыг ашиглана.
  • Хэрэв хэрэглэгч '111' -ийг хожсон бол Долоо сегментийн дэлгэц дээр гарч ирнэ.
  • Хэрэв хэрэглэгч '0' алдсан бол долоон сегментийн дэлгэц дээр гарч ирнэ.
  • Шинэ тоглоом эхлүүлэхийн тулд R товчлуурыг хүссэн үедээ дарж болно.

Зөвлөмж болгож буй: