זיהוי קצוות שנדגמו
חלק מהיחידה תכנון RTL ואימות במסלול ה-Verilog של Coddy. שיעור 19 מתוך 38.
רמה יכולה להישאר גבוהה במשך מחזורים רבים, בעוד שפולס של אירוע אמור להימשך מחזור אחד. יש לשמור את הרמה שנדגמה במחזור הקודם ולהשוות אותה לרמה הנוכחית. גלאי הקצה הזה מניח שהקלט כבר מסונכרן לשעון הזה; הוא אינו מסנכרן לחציית תחומי שעון.
קטע רלוונטי; ההצהרות והחיבורים שמסביב מסופקים באתגר.
previous <= sig;
rising <= sig & ~previous;הרמה הישנה שנשמרה יוצרת דופק יחיד במעבר שנדגם.
השווה בין הרמות הנדגמות הנוכחיות והקודמות; השתמש בגלאי הזה רק עם קלט סינכרוני.
אתגר
בינוניעבור אות sig שכבר מסונכרן ל־clk, הפק פעימה רשומה של מחזור שעון אחד בכל מעבר נדגם מ־0 ל־1. rst סינכרוני מאפס את הרמה הקודמת השמורה ואת הפעימה. לכן, sig ברמה גבוהה בקצה הראשון שאינו קצה איפוס מפיק פעימה. עמודות הפלט: pulse. כל אותות הבקרה והנתונים יציבים לפני כל קצה שעון עולה; התוצאות נצפות לאחר מכן.
השלם את design.v ושמור על שמות המודולים והיציאות שלו. testbench.v הנעול מספק שינויי קלט ומדפיס את הפלטים לאחר שהם מתייצבים. הוא בוחר תרחיש באמצעות ארגומנט של סימולטור, כגון +CASE=1; אין צורך בקלט סטנדרטי. אל תוסיף להדפסות, השהיות או סיום סימולציה לתכנון. הפלט הצפוי הוא שורה אחת של ערכים עשרוניים לכל תצפית, מופרדים ברווח אחד ומסתיימים בתו שורה חדשה.
נסו בעצמכם
module dut (input clk, input rst, input sig, output reg pulse);
// החליפו את מציין המקום הזה בתכנון שלכם.
initial pulse = 0;
endmoduleהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנון RTL ואימות
1RTL קומבינטורי אמין
ערכי ברירת מחדל מונעים נעילותמקודדי עדיפותאימות One-Hotפענוח Case בטוחסיכום - נתב בקשות4RTL סדרתי מבוקר
עדיפות לאיפוס ולהפעלהמונה רוויצינור נתונים ואות תקפותזיהוי קצוות שנדגמוסיכום — מונה אירועים2רוחבי מילה ואריתמטיקה עם סימן
שימור ביטי נשאהשוואות עם סימןהזזות ימינה אריתמטיותגלישה ורוויהסיכום - הפרש עם סימןתרגלו בעצמכם: קומפיילר Verilog אונליין