تحدٍّ - أحداث الأنماط
جزء من قسم تصميم RTL والتحقق منه في رحلة Verilog على Coddy. الدرس 37 من 38.
التحدي
متوسطاكتشف نمط البتات 101 في عينات الإدخال المقبولة. تقبل en=1 قيمة bit_in عند الحافة الصاعدة؛ أما en=0 فتحافظ على حالة التطابق الجزئي وتنتج hit=0. اضبط hit المسجَّلة على 1 فقط عند قبول بت يُكمل النمط 101. يُسمح بالتطابقات المتداخلة: ينتج 10101 نبضتين. تؤدي rst المتزامنة إلى مسح الحالة وhit، مع إعطائها الأولوية على en. أعمدة الخرج: hit. تكون جميع عناصر التحكم والبيانات مستقرة قبل كل حافة ساعة صاعدة؛ وتُلاحظ النتائج بعدها.
أكمل design.v وحافظ على أسماء وحداته ومنافذه. يوفّر testbench.v المقفل تغييرات الإدخال ويطبع المخرجات بعد استقرارها. ويختار سيناريو باستخدام وسيط للمحاكي مثل +CASE=1؛ ولا يلزم إدخال قياسي. لا تضف طباعة أو تأخيرات أو إنهاءً للمحاكاة إلى التصميم. الناتج المتوقع هو صف واحد من القيم العشرية لكل ملاحظة، مفصولة بمسافة واحدة ومنتهية بسطر جديد.
جرّب بنفسك
module dut (input clk, input rst, input en, input bit_in, output reg hit);
// استبدل هذا العنصر النائب بتصميمك.
initial hit = 0;
endmoduleجميع دروس تصميم RTL والتحقق منه
1دوائر RTL التوافقية الموثوقة
القيم الافتراضية تمنع المزالجمشفّرات الأولويةالتحقق من One-Hotفك ترميز Case الآمنمراجعة - موجّه الطلبات4RTL تسلسلي متحكَّم فيه
أولوية إعادة الضبط والتمكينالعدادات التشبُّعيةتسلسل البيانات والإشارة الصالحةاكتشاف الحواف المُعايَنةمراجعة - عداد الأحداث7المشروع - مراقب العينات
تجميع العيناتقبول العينات المفعّلة2الأحجام والحساب الموقّع
الحفاظ على بتّات الحملالمقارنات الموقّعةالإزاحات الحسابية إلى اليمينالتجاوز والتشبّعمراجعة - الفرق الموقّع3وحدات RTL قابلة لإعادة الاستخدام
دوال توافقيةمعلمات آمنة العرضحلقات التوليدالتوليد الشرطيمراجعة - قناع بتات قابل لإعادة الاستخدامتدرّب بنفسك: مترجم Verilog عبر الإنترنت