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

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

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

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

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

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 

ملاحظات هامة

  • تؤدي عملية القسمة قسمة عدد صحيح (بدون كسور)
  • تأكد من أن سجل النتيجة (register) واسع بما يكفي لنتائج عملية الضرب
challenge icon

التحدي

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

ماذا تفعل:

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

ورقة مرجعية

عوامل الحساب في Verilog: +، -، *، /

reg [3:0] a, b;
reg [7:0] add, sub, mul, div;

add = a + b;
sub = a - b;
mul = a * b;
div = a / b; // قسمة صحيحة (بدون كسور)

ملاحظة: تأكد من أن سجل النتيجة واسع بما يكفي، خاصة بالنسبة لعملية الضرب.

جرّب بنفسك

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اختبر نفسك

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

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