תוכן עניינים:

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
  • לוח FPGA של Digilent Basys3
  • כבל USB למיקרו USB

שלב 2: הגדרת ה- LFSR (רישום משמרות לינארי)

הגדרת LFSR (רישום משמרות לינארי)
הגדרת LFSR (רישום משמרות לינארי)
הגדרת LFSR (רישום משמרות לינארי)
הגדרת LFSR (רישום משמרות לינארי)

LFSR (Register 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 שנדון בעבר, יופק מספר שנוצר באופן אקראי על תצוגת שבעה הפלגים.

מודול התצוגה של שבעה קטעים לא נוצר על ידי יוצרי המשחק הזה. מודול התצוגה של שבעה קטעים סופק על ידי פרופסור אוניברסיטת פוליטכניקה של קליפורניה, ג'וזף קאלנס-סלואן. קובץ ה- pdf של המודול מצורף למטה.

שלב 4: יצירת מודול המשחק

יצירת מודול המשחק
יצירת מודול המשחק
יצירת מודול המשחק
יצירת מודול המשחק
יצירת מודול המשחק
יצירת מודול המשחק
יצירת מודול המשחק
יצירת מודול המשחק

צור מודול משחק (ראשי).

מודול זה ישתמש במודול LFSR ליצירת מספר אקראי ולאחר מכן יפיק אותו לתצוגת שבעה הפלגים.

המודול משתמש אז בלוק תמיד המאפס את המספר האקראי. זה פועל בקצה החיובי של לחצן R (btnR), כלומר הוא יפעל רק כאשר לחצו על לחצן R.

הבלוק השני פועל תמיד בקצה החיובי של השעון (clk). אם נלחץ על כפתור C (btnC) זה יבדוק אם המספר בתצוגת שבעת הפלחים זהה למספר הקלט מהמתגים (sw). בלוק זה ירים דגל (יגדיר את רשום הדגל (דגל) ל -1) וישנה את חוט ההודעה ValV בהתאם לכך שהמשתמש זכה או הפסיד.

הבלוק השלישי תמיד פועל גם בקצה החיובי של השעון. אם הדגל יונף הוא יגדיר את ssegInputVal לחוט messageVal בתצוגת שבעה הפלגים. אם הדגל אינו מורם הוא ימשיך להוציא את המספר האקראי (randomVal).

שלב 5: משחק

משחק את המשחק!
משחק את המשחק!
משחק את המשחק!
משחק את המשחק!
משחק את המשחק!
משחק את המשחק!

הוראות:

  • המשתמש ילחץ על כפתור R כדי ליצור משחק חדש, או ישנה את המספר בתצוגת שבעה הפלגים.
  • המשתמש יפנה את 8 המתגים הראשונים למעלה (1) או למטה (0) כדי להזין את המספר הבינארי.
  • לחצן C ישמש כדי לבדוק אם המשתמש זכה או הפסיד.
  • אם המשתמש זכה '111' יוצג בתצוגת שבעה הפלגים.
  • אם המשתמש איבד '0' יוצג בתצוגת שבעה הפלגים.
  • כדי להתחיל משחק חדש ניתן ללחוץ על כפתור R בכל עת.

מוּמלָץ: