אתגר - אירועי תבניות
חלק מהיחידה תכנון RTL ואימות במסלול ה-Verilog של Coddy. שיעור 37 מתוך 38.
אתגר
בינוניזהה את תבנית הביטים 101 בדגימות הקלט שהתקבלו. en=1 מקבל את bit_in בקצה העולה; en=0 משמר את מצב ההתאמה החלקית ומפיק hit=0. הגדר hit=1 רשום רק כאשר ביט שהתקבל משלים את 101. התאמות חופפות מותרות: 10101 מפיק שני פולסים. rst סינכרוני מאפס את המצב ואת hit, ויש לו עדיפות על en. עמודות הפלט: hit. כל אותות הבקרה והנתונים יציבים לפני כל קצה שעון עולה; התוצאות נצפות לאחר מכן.
השלם את design.v ושמור על שמות המודולים והיציאות שלו. testbench.v הנעול מספק שינויי קלט ומדפיס את הפלטים לאחר שהתייצבו. הוא בוחר תרחיש באמצעות ארגומנט סימולטור כגון +CASE=1; אין צורך בקלט סטנדרטי. אל תוסיף הדפסות, השהיות או סיום סימולציה לתכנון. הפלט הצפוי הוא שורה אחת של ערכים עשרוניים לכל תצפית, מופרדים ברווח אחד ומסתיימים בתו newline.
נסו בעצמכם
module dut (input clk, input rst, input en, input bit_in, output reg hit);
// החליפו את מציין המקום הזה בתכנון שלכם.
initial hit = 0;
endmoduleכל השיעורים ביחידה תכנון RTL ואימות
1RTL קומבינטורי אמין
ערכי ברירת מחדל מונעים נעילותמקודדי עדיפותאימות One-Hotפענוח Case בטוחסיכום - נתב בקשות2רוחבי מילה ואריתמטיקה עם סימן
שימור ביטי נשאהשוואות עם סימןהזזות ימינה אריתמטיותגלישה ורוויהסיכום - הפרש עם סימןתרגלו בעצמכם: קומפיילר Verilog אונליין