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

مراجعة - قناع بتات قابل لإعادة الاستخدام

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

challenge icon

التحدي

متوسط

أنشئ دائرة لمسح البتات بعرض WIDTH بت باستخدام حلقة generate مُسمّاة: يساوي كل بت خرج بت a المناظر AND مع معكوس b في ذلك الموضع. إنّ b هو قناع المسح. قيمة WIDTH موجبة. ينشئ مقعد الاختبار المقفل مثيلات بقيم WIDTH ‏1 و4 و8، باستخدام البتات الدنيا من a وb للمثيلات الأضيق. أعمدة الخرج هي y1 وy4 وy8 بالنظام العشري.

أكمل design.v وحافظ على أسماء وحدته ومنافذه. يوفّر testbench.v المقفل تغييرات الإدخال ويطبع المخارج بعد استقرارها. ويختار سيناريو باستخدام وسيط للمحاكي مثل +CASE=1؛ ولا يلزم إدخال قياسي. لا تضف طباعة أو تأخيرات أو إنهاءً للمحاكاة إلى التصميم. الناتج المتوقع هو صف واحد من القيم العشرية لكل ملاحظة، تفصل بينها مسافة واحدة وينتهي بسطر جديد.

جرّب بنفسك

module dut #(parameter WIDTH=4) (input [WIDTH-1:0] a,b, output [WIDTH-1:0] y);
    // نفّذ الدائرة ذات المعلمات.
    assign y = 0;
endmodule

جميع دروس تصميم RTL والتحقق منه

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