تصميم Mux 2 إلى 1
جزء من قسم الأساسيات في رحلة Verilog على Coddy — الدرس 64 من 90.
التحدي
المبدل (multiplexer - MUX) هو دائرة رقمية تختار أحد المدخلات المتعددة وتمرره إلى مخرج واحد بناءً على إشارة اختيار. فكر فيه كأنه محدد بيانات — لديك مدخلات متعددة، وتختار أي واحد منها يذهب إلى المخرج.
في هذا المشروع، ستقوم ببناء مبدلات بأحجام مختلفة باستخدام جمل if-else و case.
مبدل 2 إلى 1 (2-to-1 Multiplexer)
المبدل 2 إلى 1 هو أبسط أشكال المبدلات. يحتوي على مدخلين للبيانات (in0 و in1)، ومدخل اختيار واحد (sel)، ومخرج واحد (out). عندما تكون قيمة sel هي 0، يتبع المخرج قيمة in0. وعندما تكون قيمة sel هي 1، يتبع المخرج قيمة in1. ستقوم بتنفيذ ذلك باستخدام جملة if-else داخل كتلة always @(*).
مثال: إذا كان in0 = 0 و in1 = 1 و sel = 1، فإن out = 1.
يختار المبدل 2 إلى 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: إنشاء وحدة (module) باسم 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استدعاء الوحداتربط المنافذ بالاسمربط المنافذ بالترتيبمراجعة - بناء وحدة