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