Menu
Coddy logo textTech

מונה רווי

חלק מהיחידה תכנון RTL ואימות במסלול ה-Verilog של Coddy. שיעור 17 מתוך 38.

ביסודות השתמשו במונה עם גלישה. מונה רווי נעצר במקום זאת בגבול, וזה שימושי לספירות מוגבלות. הוסיפו תנאי הגנה מפורש לעדכון החשבוני, והשאירו את התנהגות ההפעלה והאיפוס בלתי תלויה במגבלה.

קטע רלוונטי; ההצהרות והחיבורים שמסביב מסופקים באתגר.

always @(posedge clk) begin
    if(rst) count <= 0;
    else if(en && count != 15) count <= count + 1;
end

הערך המרבי נשמר במקום להתגלגל לאפס.

הגן במפורש על עדכוני גבול כאשר מונה חייב להגיע לערך המרבי במקום להתגלגל.

challenge icon

אתגר

בינוני

צרו מונה רווי בן 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
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה תכנון RTL ואימות

תרגלו בעצמכם: קומפיילר Verilog אונליין