Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

تحدٍّ - المجموع المقيّد

جزء من قسم تصميم RTL والتحقق منه في رحلة Verilog على Coddy. الدرس 38 من 38.

challenge icon

التحدي

متوسط

اجمع عينة 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 والتحقق منه

تدرّب بنفسك: مترجم Verilog عبر الإنترنت