استخدام عبارة Case
جزء من قسم الأساسيات في رحلة Verilog على Coddy. الدرس 66 من 90.
التحدي
أنشئ مُعدِّد إرسال 4 إلى 1 باستخدام عبارة case بدلًا من if-else.
جدول الحقيقة
| sel | out |
|---|---|
| 00 | out = in0 |
| 01 | out = in1 |
| 10 | out = in2 |
| 11 | out = in3 |
ما يجب فعله:
- أنشئ وحدة باسم
mux4to1_case - أضف المدخلات
in0وin1وin2وin3(بت واحد لكل منها) - أضف المدخل
sel(بتّان) - أضف المخرج
out(بت واحد، من النوعreg) - أضف كتلة
always @(*) - أضف بداخلها عبارة
case (sel) - أضف حالات لـ
2'b00و2'b01و2'b10و2'b11 - أضف حالة
default - أغلق باستخدام
endcaseوendmodule
جرّب بنفسك
// TODO: أنشئ وحدة باسم mux4to1_case
// TODO: أضف المدخلات: in0, in1, in2, in3 (1 bit each)
// TODO: أضف المدخل sel (2 bits)
// TODO: أضف المخرج out (من نوع reg)
// TODO: أضف كتلة always @(*)
// TODO: أضف case (sel)
// TODO: أضف case 2'b00: out = in0;
// TODO: أضف case 2'b01: out = in1;
// TODO: أضف case 2'b10: out = in2;
// TODO: أضف case 2'b11: out = in3;
// TODO: أضف default: out = in0;
// TODO: أضف endcase
// TODO: أضف endmoduleجميع دروس الأساسيات
4العوامل الجزء 1
العوامل الحسابيةعامل باقي القسمةعوامل المقارنةمراجعة - الرياضيات البسيطةالعوامل على مستوى البتات7التعيين والبوابات
التعيين المستمرالتعيين باستخدام العواملالعناصر الأساسية المدمجة للبواباتبوابات AND وOR وNOTبوابات XOR وXNORمراجعة - دائرة البوابات المنطقية5المعاملات - الجزء الثاني
المعاملات المنطقيةمعاملات الاختزالمعاملات الإزاحةمعامل الربطالمعامل الشرطيمراجعة - تحدي المعاملات11الحلقات التكرارية
حلقة Forحلقة Whileحلقة التكرارحلقة لا نهائيةتعليمة التعطيلمراجعة - أنماط الحلقات التكرارية3نظام الأعداد
التمثيل الثنائيالأعداد محددة الحجمالأعداد غير محددة الحجمالأعداد السالبةالقيم الخاصة X و Zمراجعة - تنسيقات الأعداد6الوحدات
هيكل الوحدةمنافذ الإدخال والإخراجمنافذ الإدخال والإخراج ثنائية الاتجاهإنشاء مثيل للوحدةربط المنافذ حسب الاسمربط المنافذ حسب الترتيبمراجعة - بناء وحدة9الكتل الإجرائية
كتلة Alwaysكتلة Initialقائمة الحساسيةإسناد حاجزإسناد غير حاجزمراجعة - Always مقابل Initial15متحكّم إشارات المرور
تعريف الحالاتمنطق آلة الحالاتتدرّب بنفسك: مترجم Verilog عبر الإنترنت