אתגר - סכום חסום
חלק מהיחידה תכנון RTL ואימות במסלול ה-Verilog של Coddy. שיעור 38 מתוך 38.
אתגר
בינוניצבור דגימת 8 סיביות signed לתוך q מסוג signed בקצוות שעון עולים שבהם הרכיב מופעל, תוך רוויה ב־-128 וב־127. הגדר את clipped כך שיישאר מופעל בכל פעם שמתרחשת רוויה; מרגע שהוגדר, הוא נשאר מופעל עד rst או clear. שני אותות הבקרה הסינכרוניים מאפסים את q ואת clipped וקודמים ל־en. בקצוות שעון שבהם הרכיב מושבת, שני הערכים נשארים ללא שינוי. עמודות הפלט: q, clipped. כל אותות הבקרה והנתונים יציבים לפני כל קצה שעון עולה; התוצאות נצפות לאחר מכן.
השלם את design.v ושמור על שמות המודולים והיציאות שלו. testbench.v הנעול מספק שינויי קלט ומדפיס את הפלטים לאחר התייצבותם. הוא בוחר תרחיש באמצעות ארגומנט סימולטור כגון +CASE=1; אין צורך בקלט סטנדרטי. אל תוסיף להדפסות, השהיות או סיום סימולציה לתכנון. הפלט הצפוי הוא שורה אחת של ערכים עשרוניים לכל תצפית, מופרדים ברווח אחד ומסתיימים בשורה חדשה.
נסו בעצמכם
module dut (input clk, input rst, input clear, input en, input signed [7:0] sample, output reg signed [7:0] q, output reg clipped);
// החליפו את מציין המקום הזה בתכנון שלכם.
initial q = 0;
initial clipped = 0;
endmoduleכל השיעורים ביחידה תכנון RTL ואימות
1RTL קומבינטורי אמין
ערכי ברירת מחדל מונעים נעילותמקודדי עדיפותאימות One-Hotפענוח Case בטוחסיכום - נתב בקשות2רוחבי מילה ואריתמטיקה עם סימן
שימור ביטי נשאהשוואות עם סימןהזזות ימינה אריתמטיותגלישה ורוויהסיכום - הפרש עם סימןתרגלו בעצמכם: קומפיילר Verilog אונליין