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

المعاملات الحسابية

جزء من قسم الأساسيات في رحلة Verilog على Coddy — الدرس 19 من 90.

توفر Verilog معاملات حسابية أساسية: + (الجمع)، - (الطرح)، * (الضرب) و / (division).

مثال على الكود:

module arithmetic_demo;
  reg [3:0] a, b;
  reg [7:0] add, sub, mul, div;
  
  initial begin
    a = 4'd9;
    b = 4'd4;
    
    add = a + b;    // 9 + 4 = 13
    sub = a - b;    // 9 - 4 = 5
    mul = a * b;    // 9 * 4 = 36
    div = a / b;    // 9 / 4 = 2
    
    $display("9 + 4 = %d", add);
    $display("9 - 4 = %d", sub);
    $display("9 * 4 = %d", mul);
    $display("9 / 4 = %d", div);
    $finish;
  end
endmodule

المخرجات:

9 + 4 = 13 9 - 4 = 5 9 * 4 = 36 9 / 4 = 2 

ملاحظات هامة

  • تنفذ عملية القسمة (Division) قسمة الأعداد الصحيحة (integer) (بدون كسور fractions)
  • تأكد من أن مسجل النتيجة (result reg) يتسع لنتائج الضرب (mul)
challenge icon

التحدي

في هذا التحدي، عليك كتابة التعابير الحسابية الصحيحة باستخدام المعاملات + و - و * و /.

ما يجب فعله:

  1. احسب a + b وقم بتخزينه في add
  2. احسب a - b وقم بتخزينه في sub
  3. احسب a * b وقم بتخزينه في mul
  4. احسب a / b وقم بتخزينه في div

جرّب بنفسك

module arithmetic_challenge;
  reg [3:0] a, b;
  reg [7:0] add, sub, mul, div;
  
  initial begin
    a = 4'd12;
    b = 4'd5;
    
    add = ______;   // a + b
    sub = ______;   // a - b
    mul = ______;   // a * b
    div = ______;   // a / b
    
    $display("12 + 5 = %d", add);
    $display("12 - 5 = %d", sub);
    $display("12 * 5 = %d", mul);
    $display("12 / 5 = %d", div);
    $finish;
  end
endmodule
quiz iconاختبر نفسك

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

جميع دروس الأساسيات