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

4 To 1 Mux Design

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

challenge icon

التحدي

مُبدِّل من 4 إلى 1

يحتوي المُبدِّل من 4 إلى 1 على أربعة مداخل للبيانات (in0، in1، in2، in3)، وبتَّي اختيار (sel[1:0])، ومخرج واحد (out). يختار بتّا الاختيار أيّ مدخل سيمر إلى المخرج:

  • عندما تكون sel = 2'b00، يكون المخرج in0
  • عندما تكون sel = 2'b01، يكون المخرج in1
  • عندما تكون sel = 2'b10، يكون المخرج in2
  • عندما تكون sel = 2'b11، يكون المخرج in3

ستبني هذا المُبدِّل بطريقتين: أولًا باستخدام عبارات if-else، ثم في الدرس التالي باستخدام عبارة case. تعمل كلتا الطريقتين، لكن تكون case غالبًا أوضح عندما يكون لديك العديد من الخيارات.

يختار المُبدِّل من 4 إلى 1 واحدًا من أربعة مداخل ويمرّره إلى المخرج استنادًا إلى إشارة اختيار من بتَّين.

جدول الحقيقة

sel1sel0out
00out = in0
01out = in1
10out = in2
11out = in3

عندما تكون sel هي 00، يتبع المخرج in0. وعندما تكون sel هي 01، يتبع المخرج in1. وعندما تكون sel هي 10، يتبع المخرج in2. وعندما تكون sel هي 11، يتبع المخرج in3.

ما يجب فعله:

  1. أنشئ وحدة باسم mux4to1
  2. أضف مدخل in0 (بت واحد)
  3. أضف مدخل in1 (بت واحد)
  4. أضف مدخل in2 (بت واحد)
  5. أضف مدخل in3 (بت واحد)
  6. أضف مدخل sel (بتّان)
  7. أضف مخرج out (بت واحد، من النوع reg)
  8. أضف كتلة always @(*)
  9. داخلها، أضف عبارة if-else تتحقق من sel:
    • إذا كانت sel == 2'b00، فعيّن out = in0
    • وإلا إذا كانت sel == 2'b01، فعيّن out = in1
    • وإلا إذا كانت sel == 2'b10، فعيّن out = in2
    • وإلا، فعيّن out = in3
  10. اختتم باستخدام endmodule

جرّب بنفسك

// الخطوة 1: أنشئ وحدة باسم mux4to1


  // الخطوة 2: أضف مدخل in0
  
  // الخطوة 3: أضف مدخل in1
  
  // الخطوة 4: أضف مدخل in2
  
  // الخطوة 5: أضف مدخل in3
  
  // الخطوة 6: أضف مدخل sel (2 بت)
  
  // الخطوة 7: أضف مخرج out (من نوع reg)
  

  // الخطوة 8: أضف كتلة always @(*)
  

    // الخطوة 9: أضف عبارة if-else
    // إذا sel == 2'b00، out = in0
    // وإلا إذا sel == 2'b01، out = in1
    // وإلا إذا sel == 2'b10، out = in2
    // وإلا، out = in3
    

// الخطوة 10: Endmodule

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

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