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

مراجعة - تصميم ALU

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

challenge icon

التحدي

وحدة الحساب والمنطق (ALU) هي دائرة رقمية تأخذ مدخلين، وتجري عملية عليهما، وتنتج مخرجاً واحداً. تقوم بإجراء العمليات الحسابية والمنطقية على مدخلين بناءً على إشارة اختيار. تختار إشارة select عملية واحدة للتنفيذ.

كيفية العمل

selectالعمليةالمخرج
2'b00الجمع (Addition)a + b
2'b01الطرح (Subtraction)a - b
2'b10AND على مستوى البت (Bitwise AND)a & b
2'b11OR على مستوى البت (Bitwise OR)a | b

قم ببناء ALU بسيطة باستخدام جملة case.

ما يجب القيام به:

  1. أنشئ وحدة (module) باسم alu
  2. أضف المدخلات: a (4 بت)، b (4 بت)، select (2 بت)
  3. أضف المخرج: result (4 بت، من نوع reg)
  4. أضف كتلة always @(*)
  5. بالداخل، أضف جملة case (select)
  6. أضف أربع حالات لـ 2'b00، 2'b01، 2'b10، 2'b11
  7. أضف حالة default لضبط result = 0
  8. أغلق بـ endcase و endmodule

جرّب بنفسك

// TODO: إنشاء وحدة alu 

  // TODO: إضافة المدخلات (a, b, select)
  
  // TODO: إضافة المخرج (result)

  // TODO: إضافة كتلة always @(*)
  
  // TODO: إضافة case (select)
  
  // TODO: إضافة الحالة 2'b00: result = a + b;
  
  // TODO: إضافة الحالة 2'b01: result = a - b;
  
  // TODO: إضافة الحالة 2'b10: result = a & b;
  
  // TODO: إضافة الحالة 2'b11: result = a | b;
  
  // TODO: إضافة default: result = 0;
  
  // TODO: إضافة endcase

// TODO: إضافة endmodule

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