توليد الساعة
جزء من قسم الأساسيات في رحلة Verilog على Coddy. الدرس 71 من 90.
الساعة هي إشارة تتبدّل باستمرار بين 0 و1 على فترات منتظمة. وتُعدّ الساعات ضرورية للمنطق التسلسلي، مثل القلابات والعدادات.
لماذا نولّد Clock
في بيئات الاختبار، تحتاج إلى Clock لاختبار الدوائر التتابعية. يتحكم Clock في سلوك القلابات والسجلات وآلات الحالات.
طرق توليد Clock
| الطريقة | الوصف |
|---|---|
always مع تأخير # | الطريقة الأكثر شيوعًا |
حلقة forever | طريقة بديلة |
حلقة repeat | لعدد ثابت من cycles |
الطريقة 1: الكتلة always مع تأخير
reg clk;
initial begin
clk = 0;
end
always #5 clk = ~clk;clk = 0عند الزمن 0- كل 5 من وحدات الزمن، تتبدّل
clk
- Period = 10 من وحدات time
- التردد = 1/10 = 0.1 لكل وحدة time
الطريقة 2: حلقة forever
reg clk;
initial begin
clk = 0;
forever begin
#5 clk = ~clk;
end
endالنتيجة نفسها لطريقة always.
الطريقة 3: التكرار لعدد ثابت من الدورات
reg clk;
initial begin
clk = 0;
repeat (10) begin
#5 clk = ~clk;
end
endينشئ بالضبط 10 حواف للساعة (5 دورات كاملة)، ثم يتوقف.
التحدي
أضف الشيفرة المفقودة لإنشاء ساعة تتبدّل كل 4 وحدات زمنية (الفترة = 8 وحدات زمنية).
ما يجب فعله:
- تهيئة
clkإلى 0 عند الزمن 0 باستخدام كتلةinitial - استخدام كتلة
alwaysمع تأخير لتبديلclkكل 4 وحدات زمنية
جرّب بنفسك
module clock_challenge;
reg clk;
// TODO: الخطوة 1 - أضف كتلة initial لتعيين clk = 0
// TODO: الخطوة 2 - أضف كتلة always لتبديل clk كل 4 وحدات زمنية
initial begin
$monitor("Time %0t: clk = %b", $time, clk);
#20;
$display("Clock generated for 20 time units");
$finish;
end
endmoduleيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4العوامل الجزء 1
العوامل الحسابيةعامل باقي القسمةعوامل المقارنةمراجعة - الرياضيات البسيطةالعوامل على مستوى البتات7التعيين والبوابات
التعيين المستمرالتعيين باستخدام العواملالعناصر الأساسية المدمجة للبواباتبوابات AND وOR وNOTبوابات XOR وXNORمراجعة - دائرة البوابات المنطقية13التوقيت والتأخيرات
ما هي التأخيراتتأخيرات البواباتتأخيرات الإسنادتوجيه Timescaleتوليد الساعةمراجعة - التحكم في التوقيت5المعاملات - الجزء الثاني
المعاملات المنطقيةمعاملات الاختزالمعاملات الإزاحةمعامل الربطالمعامل الشرطيمراجعة - تحدي المعاملات11الحلقات التكرارية
حلقة Forحلقة Whileحلقة التكرارحلقة لا نهائيةتعليمة التعطيلمراجعة - أنماط الحلقات التكرارية3نظام الأعداد
التمثيل الثنائيالأعداد محددة الحجمالأعداد غير محددة الحجمالأعداد السالبةالقيم الخاصة X و Zمراجعة - تنسيقات الأعداد6الوحدات
هيكل الوحدةمنافذ الإدخال والإخراجمنافذ الإدخال والإخراج ثنائية الاتجاهإنشاء مثيل للوحدةربط المنافذ حسب الاسمربط المنافذ حسب الترتيبمراجعة - بناء وحدة9الكتل الإجرائية
كتلة Alwaysكتلة Initialقائمة الحساسيةإسناد حاجزإسناد غير حاجزمراجعة - Always مقابل Initial15متحكّم إشارات المرور
تعريف الحالاتمنطق آلة الحالاتتدرّب بنفسك: مترجم Verilog عبر الإنترنت