فهرست مطالب:

CPE 133 پروژه نهایی اعشاری به دودویی: 5 مرحله
CPE 133 پروژه نهایی اعشاری به دودویی: 5 مرحله

تصویری: CPE 133 پروژه نهایی اعشاری به دودویی: 5 مرحله

تصویری: CPE 133 پروژه نهایی اعشاری به دودویی: 5 مرحله
تصویری: CPE 133: Final Project 2024, جولای
Anonim
CPE 133 پروژه نهایی اعشاری به دودویی
CPE 133 پروژه نهایی اعشاری به دودویی

اعداد دودویی یکی از اولین مواردی است که هنگام فکر کردن به منطق دیجیتال به ذهن می رسد. با این حال ، اعداد دودویی می تواند برای افراد تازه وارد مفهومی دشوار باشد.

این پروژه به کسانی که تازه کار هستند و در زمینه تبدیل اعداد اعشاری مهارت دارند کمک می کند. از طریق ایجاد یک بازی ، ما مهارت تبدیل کاربران را آزمایش می کنیم. این بازی بر روی تخته Basys3 اجرا شده و در Verilog برنامه ریزی شده است.

مرحله 1: مواد مورد نیاز

مواد مورد نیاز
مواد مورد نیاز

برای ایجاد این بازی تبدیل اعشاری به دودویی به مواد زیر نیاز است:

  • نرم افزار مجموعه طراحی Xilinx Vivado
  • 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 و بسیاری از سخت افزارهای دیگر برای نمایش کاراکترهای عددی استفاده می شود.

ماژول نمایش هفت قسمتی که در این بازی استفاده می شود یک عدد دودویی را به عدد اعشاری تبدیل می کند و آن را به صورت عدد اعشاری نمایش می دهد.

با استفاده از ماژول LFSR که قبلاً بحث شد ، یک عدد تولید شده تصادفی بر روی صفحه نمایش هفت قسمتی خروجی داده می شود.

ماژول نمایش هفت بخش توسط سازندگان این بازی ایجاد نشده است. ماژول نمایش هفت قسمتی توسط استاد دانشگاه ایالتی پلی تکنیک کالیفرنیا ، جوزف کالنس اسلون ارائه شد. پی دی اف ماژول در زیر پیوست شده است.

مرحله 4: ایجاد ماژول بازی

ایجاد ماژول بازی
ایجاد ماژول بازی
ایجاد ماژول بازی
ایجاد ماژول بازی
ایجاد ماژول بازی
ایجاد ماژول بازی
ایجاد ماژول بازی
ایجاد ماژول بازی

ایجاد ماژول بازی (اصلی).

این ماژول از ماژول LFSR برای تولید یک عدد تصادفی و سپس خروجی آن بر روی صفحه نمایش هفت قسمتی استفاده می کند.

سپس ماژول از یک بلوک همیشه استفاده می کند که شماره تصادفی را بازنشانی می کند. این در لبه مثبت Button R (btnR) عمل می کند ، به این معنی که تنها زمانی کار می کند که دکمه R فشار داده شود.

بلوک دوم همیشه در لبه مثبت ساعت (clk) عمل می کند. اگر دکمه C (btnC) فشار داده شود ، این بررسی می کند که آیا عدد روی صفحه نمایش هفت قسمتی با شماره ورودی از سوئیچ ها (sw) یکسان است یا خیر. این بلوک یک پرچم را بالا می آورد (ثبت پرچم (پرچم) را روی 1 تنظیم می کند) و سیم پیام messageVal را با توجه به برنده یا باخت کاربر تغییر می دهد.

بلوک سوم همیشه در لبه مثبت ساعت عمل می کند. اگر پرچم برافراشته شود ، ssegInputVal را روی سیم messageVal در صفحه نمایش هفت قسمتی تنظیم می کند. اگر پرچم برافراشته نشود ، به خروج عدد تصادفی (randomVal) ادامه می دهد.

مرحله 5: انجام بازی

انجام بازی!
انجام بازی!
انجام بازی!
انجام بازی!
انجام بازی!
انجام بازی!

دستورالعمل ها:

  • کاربر برای ایجاد یک بازی جدید دکمه R را فشار می دهد یا شماره را در صفحه نمایش هفت قسمتی تغییر می دهد.
  • کاربر 8 کلید اول (1) یا پایین (0) را ورق می زند تا عدد باینری را نشان دهد.
  • از دکمه C برای بررسی برنده یا باخت کاربر استفاده می شود.
  • اگر کاربر برنده شود '111' در صفحه نمایش هفت قسمتی نمایش داده می شود.
  • اگر کاربر "0" را از دست داد ، در صفحه نمایش هفت قسمتی نمایش داده می شود.
  • برای شروع بازی جدید می توان دکمه R را در هر زمان فشار داد.

توصیه شده: