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

Integer و Real

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

بالإضافة إلى wire و reg، تحتوي Verilog على أنواع بيانات أخرى لـ numbers لأغراض مختلفة.

Integer

integer هو variable عام الأغراض للعد والحسابات.

  • الحجم الافتراضي هو 32 bit
  • signed (can store negative numbers)
  • يُستخدم بشكل أساسي في testbenches وحلقات for

التصريح عن integer:

integer i;        // متغير موقّع 32-بت
integer count;    // يمكنه تخزين الأرقام السالبة

استخدام integer:

integer i;

initial begin
  i = 0;           // ابدأ من 0
  i = i + 1;       // عد للأعلى
  i = -5;          // يمكنه تخزين قيم سالبة
  $display("i = %d", i);  // يطبع: i = -5
end

Real

real مخصص للأعداد ذات الفاصلة العائمة (الأرقام التي تحتوي على كسور عشرية).

  • يخزن القيم الكسرية
  • يُستخدم في بيئات الاختبار (testbenches) للحسابات
  • لا يمكن تصنيعه إلى عتاد برمجي (hardware)

الإعلان عن real:

real pi;           // متغير نقطة عائمة
real voltage;

باستخدام real:

real pi;

initial begin
  pi = 3.14159;               // قيمة عشرية
  pi = 22.0 / 7.0;            // نتيجة القسمة
  $display("pi = %f", pi);    // يطبع: pi = 3.142857
end

أين تُستخدم

في بيئات الاختبار (testbenches): يُستخدم integer و real بشكل شائع لعدادات الحلقات (loop counters)، والحسابات، والتحقق من القيم المتوقعة. فهي تجعل كتابة كود الاختبار وفهمه أكثر سهولة.

في العتاد: هذه الأنواع عادةً غير قابلة للتصنيع (synthesizable)—ما يعني أنه لا يمكن تحويلها إلى دوائر فعلية. بالنسبة للعتاد الذي سيوضع على FPGA أو شريحة، استخدم reg و wire بدلاً من ذلك.

challenge icon

التحدي

أكمل الكود ليعمل testbench.

ما يجب فعله:

  1. قم بـ Declare `integer` باسم `i` (من أجل loop `counter`)
  2. قم بـ Declare `real` باسم `value` (من أجل الحساب)

جرّب بنفسك

module test;
  
  // أعلن عن integer يسمى i

  
  // أعلن عن real يسمى value

  
  initial begin
    i = 7;
    value = i * 0.5;
    $display("i = %0d, value = %f", i, value);
    
    $finish;
  end
  
endmodule
quiz iconاختبر نفسك

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

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