مستويات تجريد التصميم
جزء من قسم الأساسيات في رحلة Verilog على Coddy. الدرس 5 من 90.
في التصميم الرقمي، يمكننا وصف الدارة نفسها بمستويات مختلفة من التفاصيل. Verilog هي لغة يمكنها وصف الدارات عند أي من مستويات Abstraction هذه. وهذا ما يجعلها قوية!
هذه هي المستويات:
المستوى 1: Behavioral
يصف هذا المستوى ما تفعله الدائرة، وليس كيفية فعلها لذلك. ويركّز على الوظيفة أو السلوك، مثل "العدّ تصاعديًا" أو "Add رقمين."
لا تظهر التفاصيل الداخلية لكيفية حدوث العدّ أو الجمع. هذا المستوى هو الأقرب إلى التفكير البشري، ومن الأسهل كتابته.
Level 2: RTL
يوضح هذا المستوى كيفية انتقال data بين السجلات والعمليات التي تحدث على data. يمكنك رؤية مسار data: تنتقل data من سجل إلى جامع، ثم تعود إلى السجل.
هذا هو المستوى الذي يعمل فيه معظم المصممين الرقميين، لأنه يحقق توازنًا جيدًا بين سهولة الفهم وتقديم تفاصيل كافية لإنشاء العتاد.
المستوى 3: مستوى البوابة
يصف هذا المستوى الدائرة باستخدام البوابات المنطقية الأساسية مثل AND وOR وXOR. يتم إظهار كل اتصال بشكل صريح.
هذا المستوى مفصل جدًا ومن الصعب كتابته يدويًا. وعادةً ما تُنشئه الأدوات من أوصاف ذات مستوى أعلى، ولا يُكتب يدويًا.
لماذا يهم ذلك
- **مستوى أعلى** = أسهل في الكتابة، تحكّم أقل
- **مستوى أدنى** = أصعب في الكتابة، تحكّم أكبر
- **RTL** هو الخيار الأمثل لمعظم أعمال التصميم
التحدي
ما يجب فعله:
- شغّل هذا الكود ولاحظ كيف يتم وصف العملية نفسها على ثلاثة مستويات مختلفة:
جرّب بنفسك
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يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine Logicتدرّب بنفسك: مترجم Verilog عبر الإنترنت