מונה סיביות
חלק מהיחידה יסודות במסלול ה-Verilog של Coddy. שיעור 87 מתוך 90.
אתגר
בפרק הזה תבנו משדר UART צעד אחר צעד. UART הוא ראשי תיבות של Universal Asynchronous Receiver-Transmitter (מקלט-משדר אסינכרוני אוניברסלי). זהו פרוטוקול חומרה פשוט שמאפשר לשני התקנים לתקשר באמצעות חוט אחד בלבד (לשידור) וחוט נוסף (לקליטה).
חשבו על זה כמו על שיחה טלפונית בין שני אנשים: אחד מדבר (משדר), והשני מקשיב (קולט). UART שולח נתונים ביט אחד בכל פעם, עם ביטי התחלה ועצירה שמציינים את ההתחלה והסוף של כל בית.
משדר UART שולח 10 ביטים: ביט התחלה (1), ביטי נתונים (8), ביט עצירה (1). כדי לעקוב אחר הביט שאנחנו שולחים, אנחנו צריכים מונה ביטים שסופר מ-0 עד 10.
איך מונה הביטים עובד
- מתחילים ב-0
- בכל מחזור שעון, מוסיפים 1
- כשמגיעים ל-10, חוזרים ל-0
- חוזרים על הפעולה לנצח
במשימה הזאת עדיין לא נאפס אותו: רק נגדיל אותו.
מה לעשות:
- צרו מודול בשם
uart_txעם:- קלט אחד:
clk - פלט אחד:
cnt(4 ביטים, מסוגreg)
- קלט אחד:
- בתוך המודול:
- הגדירו את
cntל-0 בתחילת בלוקinitial - הוסיפו בלוק
always @(posedge clk) - גרמו ל-
cntלגדול ב-1 בכל חזית שעון
- הגדירו את
נסו בעצמכם
// TODO: צור מודול uart_tx עם קלט clk ופלט cnt (4 ביטים)
// TODO: אתחל את cnt ל-0 בתחילת בלוק initial
// TODO: הוסף בלוק always @(posedge clk)
// TODO: הגדל את cnt ב-1כל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגייםאופרטורי צמצוםאופרטורי הזזהאופרטור שרשוראופרטור תנאיסיכום – אתגר האופרטורים3שיטת המספרים
ייצוג בינארימספרים בעלי גודל מוגדרמספרים ללא גודל מוגדרמספרים שלילייםהערכים המיוחדים X ו־Zסיכום – תבניות מספרים6מודולים
מבנה מודוליציאות קלט ופלטיציאות קלט-פלטיצירת מופע של מודולמיפוי יציאות לפי שםמיפוי יציאות לפי סדרסיכום – בניית מודולתרגלו בעצמכם: קומפיילר Verilog אונליין