تصميم Mux 2 إلى 1
جزء من قسم الأساسيات في رحلة Verilog على Coddy — الدرس 64 من 90.
التحدي
المُوحّد/المُجمع الرقمي multiplexer (MUX) هو دائرة رقمية تقوم بتحديد واحد من عدة مدخلات وتمريره إلى مخرج واحد بناءً على إشارة تحديد (select signal). يمكنك التفكير فيه كمحدد للبيانات — لديك مدخلات متعددة، وتختار أي منها يذهب إلى المخرج.
في هذا المشروع، ستصنع مُجمّعات بأحجام مختلفة باستخدام عبارات if-else و case.
2-to-1 Multiplexer
المُجمّع 2-to-1 هو أبسط شكل. يحتوي على مدخلين للبيانات (in0 و in1)، ومدخل تحديد واحد (sel)، ومخرج واحد (out). عندما يكون sel هو 0، يتبع المخرج in0. وعندما يكون sel هو 1، يتبع المخرج in1. ستقوم بتنفيذ ذلك باستخدام عبارة if-else داخل كتل always @(*).
مثال: إذا كان in0 = 0 و in1 = 1 و sel = 1، فإن out = 1.
يختار المُجمّع 2-to-1 واحدًا من مدخلين ويمرره إلى المخرج بناءً على إشارة التحديد.
جدول الحقيقة (Truth Table)
| sel | out |
|---|---|
| 0 | out = in0 |
| 1 | out = in1 |
عندما يكون sel هو 0، يتبع المخرج in0. وعندما يكون sel هو 1، يتبع المخرج in1.
ما يجب عليك فعله:
- أنشئ وحدة (module) باسم
mux2to1 - أضف المدخل
in0(بت واحد) - أضف المدخل
in1(بت واحد) - أضف المدخل
sel(بت واحد) - أضف المخرج
out(بت واحد، من النوعreg) - أضف كتلة
always @(*) - بالداخل، أضف عبارة
if-else:- إذا كان
sel == 0، اجعلout = in0 - وإلا، اجعل
out = in1
- إذا كان
- أغلق بـ
endmodule
جرّب بنفسك
// الخطوة 1: أنشئ وحدة باسم mux2to1
// الخطوة 2: أضف مدخل in0
// الخطوة 3: أضف مدخل in1
// الخطوة 4: أضف مدخل sel
// الخطوة 5: أضف مخرج out (نوع reg)
// الخطوة 6: أضف كتلة always @(*)
// الخطوة 7: أضف عبارة if-else
// إذا كان sel == 0، out = in0
// وإلا، out = in1
// الخطوة 8: Endmoduleجميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)معاملات المقارنةملخص - رياضيات بسيطةمعاملات Bitwise7التعيين والبوابات المنطقية
التعيين المستمرالتعيين باستخدام العملياتالبوابات الأساسية المدمجةبوابات AND و OR و NOTبوابات XOR و XNORمراجعة - دارة البوابات المنطقية5المعاملات - الجزء الثاني
المعاملات المنطقيةمعاملات الاختزالمعاملات الإزاحةمعامل الدمجالمعامل الشرطيمراجعة - تحدي المعاملات3أنظمة العد
التمثيل الثنائيالأعداد محددة الحجمالأعداد غير محددة الحجمالأعداد السالبةالقيم الخاصة X و Zمراجعة - تنسيقات الأعداد6الوحدات
هيكل الوحدةمنافذ الإدخال والإخراجمنافذ Inoutاستدعاء الوحداتربط المنافذ بالاسمربط المنافذ بالترتيبمراجعة - بناء وحدة