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