جدول المحتويات:

CPE 133 مشروع نهائي عشري إلى ثنائي: 5 خطوات
CPE 133 مشروع نهائي عشري إلى ثنائي: 5 خطوات

فيديو: CPE 133 مشروع نهائي عشري إلى ثنائي: 5 خطوات

فيديو: CPE 133 مشروع نهائي عشري إلى ثنائي: 5 خطوات
فيديو: CPE 133: Final Project 2024, شهر نوفمبر
Anonim
CPE 133 مشروع نهائي عشري إلى ثنائي
CPE 133 مشروع نهائي عشري إلى ثنائي

تعد الأرقام الثنائية من أول الأشياء التي تتبادر إلى الذهن عند التفكير في المنطق الرقمي. ومع ذلك ، يمكن أن تكون الأعداد الثنائية مفهومًا صعبًا لأولئك الجدد عليها.

سيساعد هذا المشروع الأشخاص الجدد وذوي الخبرة في التعامل مع الأرقام الثنائية على إتقان تحويل الأرقام العشرية. من خلال إنشاء لعبة ، سنختبر المستخدمين من حيث مهارتهم في التحويل. سيتم تنفيذ هذه اللعبة على لوحة Basys3 وبرمجتها في فيريلوج.

الخطوة 1: المواد المطلوبة

المواد المطلوبة
المواد المطلوبة

المواد التالية مطلوبة لجعل هذا الرقم العشري في لعبة التحويل الثنائي:

  • برنامج Xilinx Vivado Design Suite
  • لوحة Digilent Basys3 FPGA
  • USB إلى كابل Micro 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 على messageVal wire على شاشة العرض ذات الأجزاء السبعة. إذا لم يتم رفع العلم ، فسيستمر في إخراج الرقم العشوائي (randomVal).

الخطوة الخامسة: لعب اللعبة

تلعب اللعبة!
تلعب اللعبة!
تلعب اللعبة!
تلعب اللعبة!
تلعب اللعبة!
تلعب اللعبة!

تعليمات:

  • سيضغط المستخدم على الزر R لإنشاء لعبة جديدة ، أو تغيير الرقم على شاشة العرض ذات الأجزاء السبعة.
  • سيقلب المستخدم أول 8 مفاتيح لأعلى (1) أو لأسفل (0) لإدخال الرقم الثنائي.
  • سيتم استخدام الزر C للتحقق مما إذا كان المستخدم قد فاز أو خسر.
  • إذا فاز المستخدم ، فسيتم عرض "111" على الشاشة ذات الأجزاء السبعة.
  • إذا فقد المستخدم "0" فسيتم عرضه على الشاشة ذات الأجزاء السبعة.
  • لبدء لعبة جديدة ، يمكن الضغط على زر R في أي وقت.

موصى به: