מונה רווי
חלק מהיחידה תכנון RTL ואימות במסלול ה-Verilog של Coddy. שיעור 17 מתוך 38.
ביסודות השתמשו במונה עם גלישה. מונה רווי נעצר במקום זאת בגבול, וזה שימושי לספירות מוגבלות. הוסיפו תנאי הגנה מפורש לעדכון החשבוני, והשאירו את התנהגות ההפעלה והאיפוס בלתי תלויה במגבלה.
קטע רלוונטי; ההצהרות והחיבורים שמסביב מסופקים באתגר.
always @(posedge clk) begin
if(rst) count <= 0;
else if(en && count != 15) count <= count + 1;
endהערך המרבי נשמר במקום להתגלגל לאפס.
הגן במפורש על עדכוני גבול כאשר מונה חייב להגיע לערך המרבי במקום להתגלגל.
אתגר
בינוניצרו מונה רווי בן 4 סיביות q. איפוס סינכרוני rst מאפס אותו. חזיתות שעון מופעלות מגדילות את הערך עד 15, ואז משאירות אותו על 15; גם חזיתות שעון שאינן מופעלות משאירות את הערך ללא שינוי. לאיפוס יש עדיפות. עמודות הפלט: q. כל אותות הבקרה והנתונים יציבים לפני כל חזית שעון עולה; התוצאות נצפות אחריה.
השלימו את design.v ושמרו על שמות המודולים והיציאות שלו. testbench.v הנעול מספק שינויי קלט ומציג את הפלטים לאחר התייצבותם. הוא בוחר תרחיש באמצעות ארגומנט של הסימולטור, כגון +CASE=1; אין צורך בקלט סטנדרטי. אל תוסיפו להצגה, השהיות או סיום סימולציה לתכנון. הפלט הצפוי הוא שורה אחת של ערכים עשרוניים לכל תצפית, מופרדים ברווח יחיד ומסתיימים בשורה חדשה.
נסו בעצמכם
module dut (input clk, input rst, input en, output reg [3:0] q);
// החליפו את מציין המקום הזה בתכנון שלכם.
initial q = 0;
endmoduleהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנון RTL ואימות
1RTL קומבינטורי אמין
ערכי ברירת מחדל מונעים נעילותמקודדי עדיפותאימות One-Hotפענוח Case בטוחסיכום - נתב בקשות4RTL סדרתי מבוקר
עדיפות לאיפוס ולהפעלהמונה רוויצינור נתונים ואות תקפותזיהוי קצוות שנדגמוסיכום — מונה אירועים2רוחבי מילה ואריתמטיקה עם סימן
שימור ביטי נשאהשוואות עם סימןהזזות ימינה אריתמטיותגלישה ורוויהסיכום - הפרש עם סימןתרגלו בעצמכם: קומפיילר Verilog אונליין