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

المقارنات الموقّعة

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

يمكن لنمط البت نفسه أن يمثّل أعدادًا مختلفة signed وغير موقّعة. صرّح عن كلا المعاملين بأنهما signed عند مقارنة قيم المتمّم الثنائي. يمكن أن يؤدي خلط المعاملات signed وغير الموقّعة إلى تغيير تفسير المقارنة. التعبيرات الناتجة عن التسلسل غير موقّعة، حتى عندما تحتوي على إشارات signed.

مقتطف ذو صلة؛ تم توفير التصريحات والاتصالات المحيطة في التحدي.

wire signed [7:0] a,b;
assign less = a < b;

تجعل تصريحات signed القيم السالبة تُقارَن على أنها أقل من القيم غير السالبة.

حافظ على اتساق معاملات المقارنة باستخدام signed ومدّد قيم signed باستخدام بت الإشارة الخاص بها.

challenge icon

التحدي

متوسط

قارن بين signed ‏8-bit‏ ‏a‏ و‏b‏. أخرج less عندما تكون ‏a‏ أصغر من ‏b‏، وequal عندما تكونان متساويتين. كلا المدخلين قيمتان موقعتان بنظام المتمم الثنائي بحجم ‏signed‏. أعمدة الخرج: less وequal. جميع قيم التحفيز هي قيم ثنائية معروفة.

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

جرّب بنفسك

module dut (input signed [7:0] a, input signed [7:0] b, output less, output equal);
    // استبدل هذا العنصر النائب بتصميمك.
    assign less = 0;
    assign equal = 0;
endmodule
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

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

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