مراجعة - التحكم في التوقيت
جزء من قسم الأساسيات في رحلة Verilog على Coddy — الدرس 72 من 90.
التحدي
يختبر هذا التحدي مدى فهمك لـ delays، و gate delays، و assignment delays، و timescale، و clock generation.
الخطوات المطلوبة:
- قم بإضافة توجيه
timescaleبـ1ns / 1ps - قم بإنشاء
clockينقلب (toggles) كل 5timeunits - أضف بوابة AND مع
gatedelayبمقدار 3timeunits - استخدم
assignmentdelayلتعيينaإلىbafter2timeunits(اقرأaفوراً)
جرّب بنفسك
// TODO: أضف توجيه timescale (1ns / 1ps)
module timing_challenge;
reg clk;
reg a, b;
wire out;
initial begin
clk = 0;
end
// TODO: أنشئ ساعة تتبدل كل 5 وحدات زمنية
// TODO: أضف بوابة AND بتأخير 3 وحدات زمنية (المدخلات a, b، المخرج out)
initial begin
$monitor("Time %0t: clk=%b, a=%b, b=%b, out=%b", $time, clk, a, b, out);
a = 1;
// TODO: استخدم تأخير التعيين لتعيين a إلى b بعد وحدتين زمنيتين
// اقرأ a الآن، عيّن إلى b بعد وحدتين زمنيتين
#20;
$finish;
end
endmoduleجميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)معاملات المقارنةملخص - رياضيات بسيطةمعاملات Bitwise7التعيين والبوابات المنطقية
التعيين المستمرالتعيين باستخدام العملياتالبوابات الأساسية المدمجةبوابات AND و OR و NOTبوابات XOR و XNORمراجعة - دارة البوابات المنطقية13التوقيت والتأخيرات
ما هي التأخيراتتأخيرات البواباتتأخيرات التعيينتوجيه Timescaleتوليد الساعةمراجعة - التحكم في التوقيت5المعاملات - الجزء الثاني
المعاملات المنطقيةمعاملات الاختزالمعاملات الإزاحةمعامل الدمجالمعامل الشرطيمراجعة - تحدي المعاملات3أنظمة العد
التمثيل الثنائيالأعداد محددة الحجمالأعداد غير محددة الحجمالأعداد السالبةالقيم الخاصة X و Zمراجعة - تنسيقات الأعداد6الوحدات
هيكل الوحدةمنافذ الإدخال والإخراجمنافذ Inoutاستدعاء الوحداتربط المنافذ بالاسمربط المنافذ بالترتيبمراجعة - بناء وحدة