تصميم مبدّل من 2 إلى 1
جزء من قسم الأساسيات في رحلة Verilog على Coddy. الدرس 64 من 90.
التحدي
إن multiplexer (MUX) عبارة عن دائرة رقمية تختار أحد عدة مدخلات وتُمرّره إلى مخرج واحد استنادًا إلى إشارة اختيار. فكّر فيها على أنها محدِّد بيانات. لديك عدة مدخلات واردة، وتختار أيًّا منها يذهب إلى المخرج.
في هذا المشروع، ستبني multiplexer بأحجام مختلفة باستخدام if-else وعبارات case.
مُعدِّد إرسال من 2 إلى 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.
يختار multiplexer من 2 إلى 1 أحد مدخلين ويمرّره إلى المخرج استنادًا إلى إشارة اختيار.
جدول الحقيقة
| sel | out |
|---|---|
| 0 | out = in0 |
| 1 | out = in1 |
عندما تكون قيمة sel هي 0، يتبع المخرج in0. وعندما تكون قيمة sel هي 1، يتبع المخرج in1.
ما يجب فعله:
- Create module باسم
mux2to1 - Add input
in0(بحجم 1 بت) - Add input
in1(بحجم 1 بت) - Add input
sel(بحجم 1 بت) - Add output
out(بحجم 1 بت، typereg) - Add كتلة
always @(*) - داخلها، أضف عبارة
if-else:- إذا كانت
sel == 0، فعيّنout = in0 - Else، عيّن
out = in1
- إذا كانت
- أغلق باستخدام
endmodule
جرّب بنفسك
// الخطوة 1: أنشئ module باسم mux2to1
// الخطوة 2: أضف input in0
// الخطوة 3: أضف input in1
// الخطوة 4: أضف input sel
// الخطوة 5: أضف output out (من نوع reg)
// الخطوة 6: أضف كتلة always @(*)
// الخطوة 7: أضف عبارة if-else
// إذا كان sel == 0، out = in0
// وإلا، out = in1
// الخطوة 8: Endmoduleجميع دروس الأساسيات
4العوامل الجزء 1
العوامل الحسابيةعامل باقي القسمةعوامل المقارنةمراجعة - الرياضيات البسيطةالعوامل على مستوى البتات7التعيين والبوابات
التعيين المستمرالتعيين باستخدام العواملالعناصر الأساسية المدمجة للبواباتبوابات AND وOR وNOTبوابات XOR وXNORمراجعة - دائرة البوابات المنطقية5المعاملات - الجزء الثاني
المعاملات المنطقيةمعاملات الاختزالمعاملات الإزاحةمعامل الربطالمعامل الشرطيمراجعة - تحدي المعاملات11الحلقات التكرارية
حلقة Forحلقة Whileحلقة التكرارحلقة لا نهائيةتعليمة التعطيلمراجعة - أنماط الحلقات التكرارية3نظام الأعداد
التمثيل الثنائيالأعداد محددة الحجمالأعداد غير محددة الحجمالأعداد السالبةالقيم الخاصة X و Zمراجعة - تنسيقات الأعداد6الوحدات
هيكل الوحدةمنافذ الإدخال والإخراجمنافذ الإدخال والإخراج ثنائية الاتجاهإنشاء مثيل للوحدةربط المنافذ حسب الاسمربط المنافذ حسب الترتيبمراجعة - بناء وحدة9الكتل الإجرائية
كتلة Alwaysكتلة Initialقائمة الحساسيةإسناد حاجزإسناد غير حاجزمراجعة - Always مقابل Initial15متحكّم إشارات المرور
تعريف الحالاتمنطق آلة الحالاتتدرّب بنفسك: مترجم Verilog عبر الإنترنت