צבירת דגימות
חלק מהיחידה תכנון RTL ואימות במסלול ה-Verilog של Coddy. שיעור 31 מתוך 38.
בנה מנטר לשימוש חוזר עבור זרם של דגימות ללא סימן. תצבור ערכים, תכבד את אותות ההפעלה והאיפוס, תספור דגימות שהתקבלו ותדווח אם הושג סף. בכל חמשת השלבים יישארו ממשק המודול וסביבת הבדיקה הנעולה זהים. הפלטים השמורים יקבלו את ההתנהגות שלהם בשלבים מאוחרים יותר.
אתגר
קשהבנה Sample Monitor אחד בחמישה שלבים. בכל חזית עולה, rst סינכרוני מאפס את total; אחרת, הוסף את data הלא־מסומן אל total. השתמש באוגר total ברוחב 16 סיביות. בשלב הראשון הזה, en ו-clear אינם בשימוש, והתרחישים משאירים את en=1 ואת clear=0. count ו-alarm הם פלטים שמורים שנותרים אפס. כל ערכי הקלט ידועים. התרחישים כוללים לכל היותר 40 חזיתות, לכן total נכנס ב-16 סיביות. סביבת הבדיקה הקבועה מדפיסה את total עבור תרחישים 1-9, את total ו-count עבור תרחישים 10-12, ואת total, count ו-alarm עבור תרחישים 13-15. רק התרחישים המופעלים עבור שלב זה נבדקים.
השלם את design.v ושמור על שמות המודולים והיציאות שלו. testbench.v הנעול מספק שינויי קלט ומדפיס את הפלטים לאחר התייצבותם. הוא בוחר תרחיש באמצעות ארגומנט סימולטור כמו +CASE=1; אין צורך בקלט סטנדרטי. אל תוסיף להדפסה, השהיות או סיום סימולציה לתכן. הפלט הצפוי הוא שורה אחת של ערכים עשרוניים לכל תצפית, מופרדים ברווח אחד ומסתיימים בתו newline.
נסו בעצמכם
module dut(input clk,rst,en,clear, input [7:0] data, input [15:0] limit, output reg [15:0] total, output reg [3:0] count, output alarm);
initial begin total=0;count=0;end
assign alarm=0;
endmoduleכל השיעורים ביחידה תכנון RTL ואימות
1RTL קומבינטורי אמין
ערכי ברירת מחדל מונעים נעילותמקודדי עדיפותאימות One-Hotפענוח Case בטוחסיכום - נתב בקשות4RTL סדרתי מבוקר
עדיפות לאיפוס ולהפעלהמונה רוויצינור נתונים ואות תקפותזיהוי קצוות שנדגמוסיכום — מונה אירועים7פרויקט - צג דגימות
צבירת דגימותקבלת דגימות מופעלות2רוחבי מילה ואריתמטיקה עם סימן
שימור ביטי נשאהשוואות עם סימןהזזות ימינה אריתמטיותגלישה ורוויהסיכום - הפרש עם סימןתרגלו בעצמכם: קומפיילר Verilog אונליין