مستويات تجريد التصميم
جزء من قسم الأساسيات في رحلة Verilog على Coddy — الدرس 3 من 90.
في التصميم الرقمي، يمكننا وصف نفس الدائرة عند مستويات مختلفة من التفاصيل. لغة Verilog هي لغة يمكنها وصف الدوائر عند أي من مستويات الـ Abstraction هذه. هذا ما يجعلها قوية!
هذه هي المستويات:
Level 1: Behavioral
يصف هذا المستوى ما تفعله الدائرة، وليس how تفعله. فهو يركز على الوظيفة أو السلوك، مثل "العد تصاعديًا" أو "إضافة رقمين".
التفاصيل الداخلية لكيفية حدوث العد أو الإضافة لا تظهر. هذا المستوى هو الأقرب إلى التفكير البشري وأسهل في الكتابة.
المستوى 2: RTL
هذا المستوى shows كيفية انتقال data بين المسجلات وما هي العمليات التي تحدث على تلك data. يمكنك رؤية مسار البيانات: تنتقل data من مسجل إلى Add، ثم تُرجع إلى المسجل.
هذا هو المستوى الذي يعمل عنده معظم مصممي الرقميات لأنه يوفر توازنًا جيدًا بين كونه مفهومًا وكونه مفصلاً بدرجة كافية لإنشاء العتاد (hardware).
المستوى 3: Level Gate
يصف هذا المستوى الدائرة باستخدام بوابات المنطق الأساسية مثل AND و OR و XOR. يتم إظهار كل توصيلة بشكل صريح.
هذا المستوى تفصيلي للغاية وصعب الكتابة يدوياً. عادة ما يتم إنشاؤه بواسطة أدوات من أوصاف ذات مستويات أعلى، ولا يُكتب يدوياً.
لماذا يهم هذا
- **مستوى أعلى** = أسهل في الكتابة، تحكم أقل
- **مستوى أقل** = أصعب في الكتابة، تحكم أكثر
- **RTL** هو الخيار الأمثل لمغظم أعمال الـ Design
التحدي
ما يجب فعله:
- قم ببتشغيل هذا الكود وشاهد كيف يتم وصف العملية نفسها عند ثلاثة مستويات مختلفة:
جرّب بنفسك
module abstraction_demo;
initial begin
$display("=== Design Abstraction Levels ===");
$display("");
$display("Level 1 (Behavioral):");
$display(" 'Add a and b' - no details how");
$display("");
$display("Level 2 (RTL):");
$display(" 'On clock edge, result <= a + b' - shows data flow");
$display("");
$display("Level 3 (Gate Level):");
$display(" 'XOR gates for sum, AND gates for carry' - actual gates");
$display("");
$finish;
end
endmoduleيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)معاملات المقارنةملخص - رياضيات بسيطةمعاملات Bitwise7التعيين والبوابات المنطقية
التعيين المستمرالتعيين باستخدام العملياتالبوابات الأساسية المدمجةبوابات AND و OR و NOTبوابات XOR و XNORمراجعة - دارة البوابات المنطقية5المعاملات - الجزء الثاني
المعاملات المنطقيةمعاملات الاختزالمعاملات الإزاحةمعامل الدمجالمعامل الشرطيمراجعة - تحدي المعاملات3أنظمة العد
التمثيل الثنائيالأعداد محددة الحجمالأعداد غير محددة الحجمالأعداد السالبةالقيم الخاصة X و Zمراجعة - تنسيقات الأعداد6الوحدات
هيكل الوحدةمنافذ الإدخال والإخراجمنافذ Inoutاستدعاء الوحداتربط المنافذ بالاسمربط المنافذ بالترتيبمراجعة - بناء وحدة