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