CS231 · مراجعة شاملة

مراجعة الاختبار النهائي - تصميم المنطق الرقمي

يغطي منهج الاختبار من الوحدة 7 إلى 13

7 المنطق التوافقي (تتمة): الجامع، الطارح، والمقارن

تغطي هذه الوحدة تصميم وتنفيذ الدوائر التوافقية المتقدمة مثل الجامع الكامل، الجامع الثنائي، تأخير الانتشار، الجامع العشري (BCD)، الضارب الثنائي، ومقارن المقدار.

7.1 الجامع الكامل (Full Adder)

دائرة توافقية تجمع ثلاثة بتات (بتين أساسيين وبت الحمل من المرحلة السابقة) وتنتج المجموع والحمل.

يتكون الجامع الكامل من ثلاثة مدخلات (x, y, z) ومخرجين (S للمجموع، و C للحمل).

  • المدخل z يمثل الحمل القادم من المرحلة السابقة.
  • المخرج S يمثل البت الأقل أهمية للمجموع، بينما C يمثل الحمل الناتج.

يمكن التعبير عن المخرجات بالمعادلات المنطقية: S = x ⊕ y ⊕ z و C = xy + xz + yz. يمكن بناء الجامع الكامل باستخدام جامعين نصفيين (Half Adders) وبوابة OR واحدة.

معادلات المجموع والحمل للجامع الكامل. \[S = x \oplus y \oplus z \quad \text{and} \quad C = xy + xz + yz\]

7.2 الجامع الثنائي (Binary Adder)

دائرة رقمية تنتج المجموع الحسابي لرقمين ثنائيين عن طريق توصيل عدة جوامع كاملة بشكل متسلسل.

يتم بناء الجامع الثنائي (مثل جامع 4-بت) عن طريق توصيل جوامع كاملة (Full Adders) في سلسلة (Cascade).

يتم توصيل مخرج الحمل (Carry Out) من كل جامع كامل بمدخل الحمل (Carry In) للجامع الكامل الذي يليه. يبدأ الجمع من البت الأقل أهمية (Subscript 0) حيث يكون الحمل الابتدائي C0 عادة صفر.

تُعرف هذه البنية باسم Ripple Carry Adder لأن الحمل ينتقل (يتموج) عبر البوابات.

7.3 تأخير الانتشار ومنطق استباق الحمل

الوقت الذي تستغرقه الإشارة للمرور عبر البوابات المنطقية؛ ويُحل باستخدام منطق استباق الحمل (Carry Lookahead) لتسريع العملية.

تأخير الانتشار الكلي يساوي تأخير البوابة الواحدة مضروباً في عدد مستويات البوابات. في الجامع المتسلسل، أطول تأخير هو الوقت الذي يستغرقه الحمل للانتشار عبر جميع الجوامع. لتقليل هذا التأخير، نستخدم تقنية (Carry Lookahead Logic). نعرّف متغيرين:

  • توليد الحمل (Carry Generate) Gi = AiBi،
  • وتمرير الحمل (Carry Propagate) Pi = Ai ⊕ Bi.

باستخدام هذه المتغيرات، يمكن حساب جميع الحمولات (C1, C2, C3...) بشكل متوازٍ دون انتظار المرحلة السابقة.

معادلات توليد وتمرير الحمل. \[G_i = A_i B_i \quad \text{and} \quad P_i = A_i \oplus B_i \quad \Rightarrow \quad C_{i+1} = G_i + P_i C_i\]

7.4 الطارح الثنائي والجامع-الطارح

دائرة تدمج الجمع والطرح باستخدام المتمم الثاني (2's complement) وبوابات XOR للتحكم في العملية.

يتم إجراء الطرح (A - B) عن طريق أخذ المتمم الثاني للرقم B وجمعه مع A. المتمم الثاني هو المتمم الأول (عكس البتات) زائد 1.

يمكن دمج عمليتي الجمع والطرح في دائرة واحدة باستخدام بوابات XOR مع كل مدخل B، وإشارة تحكم (M).

  • إذا كانت M=0، تعمل الدائرة كجامع.
  • إذا كانت M=1، تقوم بوابات XOR بعكس بتات B، ويدخل 1 كحمل ابتدائي (C0=1)، مما يحقق المتمم الثاني ويقوم بعملية الطرح.

7.5 الجامع العشري (BCD Adder)

دائرة تجمع رقمين بنظام BCD، وتضيف 0110 (6) لتصحيح النتيجة إذا تجاوزت 9.

عند جمع رقمين عشريين بصيغة BCD (كل رقم من 0 إلى 9)، أقصى مجموع ممكن هو 9 + 9 + 1 (حمل) = 19.

إذا استخدمنا جامع ثنائي عادي 4-بت، فإنه سيعطي نتائج صحيحة من 0 إلى 9. لكن إذا كان المجموع أكبر من 9 (من 10 إلى 19)، فإن النتيجة الثنائية تكون غير صالحة كـ BCD.

لتصحيح ذلك، يجب إضافة الرقم الثنائي 0110 (6) إلى المجموع. شرط التصحيح هو: C = K + Z8Z4 + Z8Z2، حيث K هو الحمل النهائي، و Z هي بتات المجموع.

الدالة المنطقية لتحديد متى يجب إضافة التصحيح (0110) في جامع BCD. \[C = K + Z_8 Z_4 + Z_8 Z_2\]

7.6 الضارب الثنائي (Binary Multiplier)

دائرة تضرب الأرقام الثنائية باستخدام بوابات AND لتوليد النواتج الجزئية وجوامع لجمعها مع إزاحتها.

يتم ضرب الأرقام الثنائية بنفس طريقة ضرب الأرقام العشرية. يُضرب المضروب (Multiplicand) في كل بت من المضروب فيه (Multiplier) بدءاً من البت الأقل أهمية. كل عملية ضرب تشكل 'ناتجاً جزئياً' (Partial Product).

في النظام الثنائي، الضرب هو ببساطة عملية AND منطقية (إذا كان البت 1 ننسخ الرقم، وإذا كان 0 نضع أصفاراً).

يتم إزاحة النواتج الجزئية المتتالية موضعاً واحداً إلى اليسار، ثم تُجمع باستخدام جوامع نصفية وكاملة للحصول على الناتج النهائي.

7.7 مقارن المقدار (Magnitude Comparator)

دائرة توافقية تقارن بين رقمين (A و B) وتحدد ما إذا كان A > B، أو A = B، أو A < B.

مقارن المقدار يحدد العلاقات النسبية بين رقمين. للتحقق من المساواة (A = B)، يجب أن تكون كل أزواج البتات متساوية.

يتم التعبير عن تساوي بتين منطقياً باستخدام بوابة XNOR: xi = AiBi + Ai'Bi'. لكي يكون الرقمان متساويين، يجب أن تكون جميع متغيرات xi تساوي 1، مما يتطلب بوابة AND لجميع المتغيرات: (A=B) = x3x2x1x0.

لتحديد الأكبر أو الأصغر، نفحص البتات بدءاً من الأكثر أهمية (MSB). إذا كان Ai=1 و Bi=0، فإن A > B.

شرط المساواة في مقارن المقدار. \[x_i = A_i B_i + A_i' B_i' \quad \text{and} \quad (A=B) = x_3 x_2 x_1 x_0\]

8 المنطق التوافقي (الجزء الثاني): مفككات التشفير، المشفرات، والمجمعات

تغطي هذه الوحدة المكونات الأساسية في مسار بيانات وحدة المعالجة المركزية، بما في ذلك مفككات التشفير (Decoders)، المشفرات (Encoders)، والمجمعات (Multiplexors)، وكيفية استخدامها لتنفيذ الدوال المنطقية.

8.1 مسار البيانات ووحدة التحكم في المعالج

يتكون المعالج من مسار بيانات للعمليات الحسابية ووحدة تحكم لإرسال إشارات التوجيه.

أي وحدة معالجة مركزية (CPU) تتكون من جزأين رئيسيين:

  • مسار البيانات (Datapath Unit) الذي ينفذ العمليات الحسابية والمنطقية،
  • ووحدة التحكم (Control Unit) التي ترسل إشارات التحكم إلى مسار البيانات لتنفيذ عمليات معينة.

عند توصيل عدة أجهزة بناقل بيانات (Bus)، يجب أن يكون جهاز واحد فقط نشطاً في كل مرة لتجنب تضارب البيانات. تستخدم إشارات التحكم (Enable/Disable) لتفعيل الجهاز المطلوب.

8.2 مفككات التشفير (Decoders)

دائرة منطقية تحول n من المدخلات إلى 2^n من المخرجات، حيث يتم تفعيل مخرج واحد فقط بناءً على القيمة الثنائية للمدخل.

مفكك التشفير هو دائرة توافقية تحتوي على n مدخلات و 2^n مخرجات. يقوم بتفعيل (Drive High) المخرج الذي يتوافق مع الرمز الثنائي للمدخل.

على سبيل المثال، مفكك تشفير 2-إلى-4 يأخذ مدخلين ويفعل واحداً من 4 مخرجات. المخرجات تمثل فعلياً الحدود الصغرى (Minterms) للمدخلات.

من تطبيقاته:

  • فك تشفير العناوين (Address Decoding) لاختيار أجهزة أو بنوك ذاكرة،
  • وتحويل الأنظمة العددية (مثل من ثنائي إلى ثماني).
عدد المخرجات يساوي 2 مرفوعة لأس عدد المدخلات. \[Outputs = 2^n\]

8.3 تنفيذ الدوال المنطقية باستخدام مفككات التشفير

بما أن مفكك التشفير يولد جميع الحدود الصغرى (Minterms)، يمكننا تنفيذ أي دالة منطقية بتوصيل المخرجات المطلوبة ببوابة OR.

يمكن لمفكك تشفير بحجم n:2^n تنفيذ أي دالة منطقية تتكون من n متغيرات. تُستخدم المتغيرات كمدخلات تحكم (Control inputs) لمفكك التشفير، ويتم ربط طرف التمكين (Enable) بـ 1 (مفعل).

يقوم مفكك التشفير بتوليد جميع الحدود الصغرى (Minterms) الممكنة. لتشكيل الدالة المطلوبة، نأخذ المخرجات التي تقابل الحدود الصغرى الموجودة في الدالة ونجمعها باستخدام بوابة OR.

دالة ممثلة بمجموع الحدود الصغرى، يتم تنفيذها بجمع المخرجات 1، 2، 4، و 7 من مفكك التشفير. \[F(x,y,z) = \sum m(1,2,4,7)\]

8.4 المشفرات (Encoders)

عكس مفكك التشفير؛ يأخذ 2^n مدخلات (واحد منها فقط نشط) ويخرج الرمز الثنائي n المقابل له.

المشفر (Encoder) هو الدائرة العكسية لمفكك التشفير. يحتوي على 2^n مدخلات (أو أقل) و n مخرجات. من أهم شروطه أن مدخلاً واحداً فقط يمكن أن يكون نشطاً في نفس الوقت.

من الأمثلة الشائعة: محول من النظام الثماني إلى الثنائي (Octal to Binary Encoder)، والذي يحتوي على 8 مدخلات (D0 إلى D7) و 3 مخرجات (A0, A1, A2).

معادلة المخرج الأول (البت الأقل أهمية) في مشفر من ثماني إلى ثنائي. \[z = D_1 + D_3 + D_5 + D_7\]

8.5 المجمعات (Multiplexors / Mux)

مفتاح إلكتروني يختار واحداً من عدة مدخلات بيانات ويمرره إلى مخرج واحد بناءً على خطوط الاختيار.

المجمع (Multiplexer أو Mux) هو دائرة تختار واحداً من مجموعة مدخلات لتمريره إلى المخرج. لكل 2^n مدخل بيانات، نحتاج إلى n خطوط اختيار (Select lines).

يُستخدم بكثرة في مسار بيانات المعالج (CPU Datapath) لاختيار البيانات، مثل اختيار أي سجل (Register) سيتم إرسال بياناته إلى وحدة الحساب والمنطق (ALU).

يتكون داخلياً من مستوى من بوابات AND (للتفعيل بناءً على خطوط الاختيار) تليها بوابة OR لتجميع الناتج.

المعادلة المنطقية لمجمع 2-إلى-1. \[Y = S' \cdot I_0 + S \cdot I_1\]

8.6 تنفيذ الدوال المنطقية باستخدام المجمعات

يمكن استخدام المجمع كجدول بحث (Lookup Table) لتنفيذ أي دالة منطقية بتوصيل المتغيرات بخطوط الاختيار وقيم الدالة بمدخلات البيانات.

يمكن لمجمع بحجم 2^n:1 تنفيذ أي دالة من n متغيرات. يتم استخدام المتغيرات كخطوط اختيار (Control inputs)، بينما يتم توصيل مدخلات البيانات (D0, D1...) بالقيم 0 أو 1 بناءً على جدول الحقيقة للدالة.

في جوهره، يعمل المجمع كـ جدول بحث (Lookup Table).

9 المنطق التتابعي

مقدمة في الدوائر التتابعية، المواسك (Latches)، والنطاطات (Flip-Flops) بما في ذلك تصميمها ومبادئ عملها.

9.1 الدوائر التتابعية

دوائر رقمية تمتلك ذاكرة؛ تعتمد مخرجاتها على المدخلات الحالية والحالة السابقة.

على عكس الدوائر التوافقية التي تعتمد مخرجاتها فورياً على المدخلات فقط، تعمل الدوائر التتابعية كعناصر تخزين تمتلك ذاكرة.

تتكون من دائرة توافقية متصلة بعناصر تخزين لتشكيل مسار تغذية راجعة (Feedback path).

المعلومات الثنائية المخزنة في هذه العناصر في أي وقت معين تحدد 'حالة' (State) الدائرة التتابعية.

الحالة التالية هي دالة تعتمد على المدخلات الخارجية والحالة الحالية. \[Next\ State = f(Inputs, Present\ State)\]

9.2 المواسك (Latches)

عناصر تخزين أساسية تعمل بمستوى الإشارة (Level-sensitive) بدلاً من حافة النبضة.

الماسك هو عنصر تخزين يمكنه الحفاظ على حالة ثنائية إلى أجل غير مسمى (طالما توفرت الطاقة) حتى يتم توجيهه بواسطة إشارة إدخال لتغيير حالته.

المواسك هي اللبنات الأساسية لبناء النطاطات (Flip-flops).

من أشهر أنواعها ماسك SR الذي يُبنى باستخدام بوابتي NOR أو NAND متقاطعتين.

9.3 ماسك D (D Latch)

ماسك يمنع الحالة غير المحددة عن طريق ضمان عدم تساوي مدخلي S و R أبداً.

لحل مشكلة الحالة غير المحددة في ماسك SR، تم ابتكار ماسك D. يحتوي هذا الماسك على مدخلين فقط:

  • D (البيانات)
  • و En (التمكين).

يذهب المدخل D مباشرة إلى مدخل S، بينما يمر عبر بوابة نفي (Inverter) ليذهب إلى مدخل R.

  • عندما يكون En=1، فإن المخرج Q يتبع المدخل D.
  • وعندما يكون En=0، يحتفظ الماسك بحالته السابقة.

9.4 النطاطات التي تعمل بحافة النبضة (Edge-Triggered Flip-Flops)

عناصر ذاكرة تغير حالتها فقط عند لحظة انتقال إشارة الساعة (من 0 إلى 1 أو العكس).

النطاط (Flip-Flop) هو جهاز تخزين ثنائي مصمم للعمل بشكل صحيح داخل الدوائر التتابعية المتزامنة. مفتاح عمله هو أنه يُستفز (Triggered) فقط خلال انتقال الإشارة (حافة النبضة).

  • الانتقال من 0 إلى 1 يسمى الحافة الموجبة (Positive edge)،
  • والانتقال من 1 إلى 0 يسمى الحافة السالبة (Negative edge).

10 تحليل الدوائر التتابعية

دراسة تحليل الدوائر المنطقية التتابعية، بما في ذلك استنتاج معادلات الإدخال، جداول الحالة، ومخططات الحالة، مع مقارنة بين نماذج ميلي ومور.

10.1 التحليل مقابل التصميم

التحليل يبدأ من الدائرة وينتهي بجدول/مخطط الحالة، بينما التصميم يبدأ بالمواصفات وينتهي بالدائرة.

في الدوائر التتابعية، التحليل (Analysis) هو عملية عكسية للتصميم. يبدأ التحليل من مخطط الدائرة المنطقية (Circuit Diagram) المعطى، ويهدف إلى فهم سلوك الدائرة من خلال استنتاج جدول الحالة (State Table) أو مخطط الحالة (State Diagram).

على العكس من ذلك، التصميم (Design) يبدأ من مجموعة من المواصفات المطلوبة، ومنها يتم إنشاء مخطط الحالة، ثم جدول الحالة، وأخيراً رسم الدائرة المنطقية التي تحقق هذه المواصفات.

10.2 الجداول المميزة للقلابات

الجداول المميزة تحدد الحالة التالية للقلاب بناءً على مدخلاته الحالية.

لتحليل سلوك الدوائر التتابعية، نحتاج إلى معرفة الجداول المميزة (Characteristic Tables) للقلابات المستخدمة. هذه الجداول تعطينا الحالة التالية (Next State) بناءً على المدخلات (Inputs) الحالية.

  • قلاب D: الحالة التالية تساوي المدخل D مباشرة ($Q(t+1) = D$).
  • قلاب JK: يعتمد على J و K. إذا كانا 00 (لا تغيير)، 01 (تصفير Reset)، 10 (تعيين Set)، 11 (عكس Complement).
  • قلاب T: إذا كان T=0 (لا تغيير)، وإذا كان T=1 (عكس الحالة).
معادلة الحالة العامة حيث تعتمد الحالة التالية على المدخلات والحالة الحالية. \[Q(t+1) = f(Inputs, Q(t))\]

10.3 خطوات تحليل الدوائر التتابعية

الخطوات الثلاث: 1. استنتاج معادلات الإدخال، 2. بناء جدول الحالة، 3. رسم مخطط الحالة.

يتكون تحليل الدائرة التتابعية من ثلاث خطوات رئيسية متسلسلة:

  1. استنتاج معادلات الإدخال (Deriving Input Equations): كتابة المعادلات المنطقية البولينية التي تصف الإشارات الداخلة إلى كل قلاب بناءً على المدخلات الخارجية والحالة الحالية.
  2. الحصول على جدول الحالة (Getting the State Table): إنشاء جدول يوضح الحالة الحالية، المدخلات، الحالة التالية، والمخرجات. يتم حساب الحالة التالية باستخدام معادلات الإدخال والجداول المميزة.
  3. الحصول على مخطط الحالة (Obtaining the State Diagram): تحويل جدول الحالة إلى رسم بياني مرئي يوضح تسلسل الحالات والمخرجات بمرور الوقت.
عدد الصفوف في جدول الحالة، حيث m عدد القلابات و n عدد المدخلات. \[Rows = 2^{m+n}\]

10.4 نموذج ميلي مقابل نموذج مور

في آلة ميلي، تعتمد المخرجات على الحالة والمدخلات معاً. في آلة مور، تعتمد المخرجات على الحالة فقط.

تصنف الدوائر التتابعية المتزامنة إلى نوعين رئيسيين بناءً على كيفية توليد المخرجات:

  1. نموذج ميلي (Mealy Model): المخرجات هي دالة في كل من الحالة الحالية (Present State) والمدخلات (Inputs). في مخطط الحالة، تُكتب المخرجات على أسهم الانتقال بصيغة (Input/Output).
  2. نموذج مور (Moore Model): المخرجات هي دالة في الحالة الحالية فقط (States only). في مخطط الحالة، تُكتب المخرجات داخل دوائر الحالة نفسها.

11 تصميم الدوائر التتابعية

تغطي هذه الوحدة إجراءات تصميم الدوائر التتابعية المتزامنة باستخدام قلابات D و T، وجداول الإثارة، وتقنيات تقليل الحالات لتحسين الأجهزة.

11.1 إجراءات التصميم

خطوات منهجية تبدأ بالمواصفات وتمر بمخطط الحالة وجدول الإثارة لتنتهي بالدائرة المنطقية.

تتكون خطوات تصميم الدائرة التتابعية من:

  1. استنتاج مخطط الحالة (State Diagram) من المواصفات.
  2. تعيين قيم ثنائية للحالات.
  3. اختيار نوع القلاب (Flip-Flop).
  4. الحصول على جدول الحالة (State Table) باستخدام جداول الخصائص للقلاب.
  5. الحصول على معادلات الدخل والخرج المبسطة باستخدام خرائط كارنوف (K-Maps).
  6. رسم المخطط المنطقي (Logic Diagram).
حيث n هو عدد القلابات و N هو عدد الحالات. \[2^n \ge N\]

11.2 التصميم باستخدام قلابات D

قلاب D هو الأسهل في التصميم لأن معادلة الدخل تساوي مباشرة الحالة التالية.

عند التصميم باستخدام قلابات D، تكون العملية مباشرة لأن معادلة الخصائص للقلاب هي $D = Q(t+1)$.

هذا يعني أن قيمة الحالة التالية المطلوبة هي بالضبط ما يجب تطبيقه على مدخل D. يتم استخراج معادلات الدخل مباشرة من جدول الحالة باستخدام خرائط كارنوف (K-Maps) للحالة التالية.

معادلة الخصائص لقلاب D. \[D = Q(t+1)\]

11.3 جداول الإثارة

جدول يخبرك بالمدخلات المطلوبة للقلاب للانتقال من الحالة الحالية إلى الحالة التالية.

أثناء عملية التصميم، عادة ما نعرف الانتقال المطلوب من الحالة الحالية $Q(t)$ إلى الحالة التالية $Q(t+1)$، ولكننا نحتاج إلى معرفة ظروف الدخل للقلاب التي ستسبب هذا الانتقال.

جدول الإثارة (Excitation Table) يسرد المدخلات المطلوبة لتغيير معين في الحالة. على سبيل المثال، لقلاب T، إذا كانت $Q(t)=0$ و $Q(t+1)=1$، فإن الدخل المطلوب هو $T=1$.

11.4 التصميم باستخدام قلابات T

يتم التصميم بقلاب T باستخدام جدول الإثارة حيث T=1 يعكس الحالة و T=0 يبقيها كما هي.

تصميم الدوائر باستخدام قلابات T يشبه قلابات D، باستثناء أنه يجب تقييم معادلات الدخل من انتقال الحالة الحالية إلى الحالة التالية المستمدة من جدول الإثارة لقلاب T.

  • إذا كانت الحالة تتغير (0 إلى 1 أو 1 إلى 0)، فإن $T=1$.
  • إذا كانت الحالة لا تتغير، فإن $T=0$.

مثال شائع هو تصميم العدادات (Counters).

معادلة الإثارة لقلاب T (بوابة XOR). \[T = Q(t) \oplus Q(t+1)\]

11.5 تقليل الحالات

إزالة الحالات المكررة لتقليل عدد القلابات وتكلفة الأجهزة دون تغيير سلوك الدائرة.

تهتم خوارزميات تقليل الحالات (State Reduction) بتقليل عدد الحالات في مخطط الحالة مع الحفاظ على نفس علاقة الدخل والخرج. نظراً لأن $m$ قلاب يمكن أن يمثل $2^m$ حالة، فإن تقليل الحالات قد يقلل من عدد القلابات المطلوبة (مثلاً تقليل من 5 حالات إلى 4 حالات يقلل القلابات من 3 إلى 2).

يقال إن حالتين متكافئتان (Equivalent) إذا كانتا تعطيان نفس الخرج لكل مدخل، وتنتقلان إما إلى نفس الحالة التالية أو إلى حالة متكافئة. إذا كانت حالتان متكافئتين، يمكن إزالة إحداهما.

12 المسجلات والعدادات

دراسة شاملة للمسجلات، مسجلات الإزاحة، والعدادات التموجية والمتزامنة في التصميم المنطقي الرقمي.

12.1 المسجلات (Registers)

المسجل هو مجموعة من القلابات (Flip-flops) تتشارك في نبضة ساعة واحدة لتخزين البيانات الثنائية، مثل صندوق أمانات يفتح ويغلق في نفس اللحظة.

المسجل ذو n-بت يتكون من مجموعة من n قلاب (Flip-flop) قادرة على تخزين n بت من المعلومات الثنائية. في أبسط أشكاله، يتكون المسجل من قلابات فقط دون أي بوابات إضافية.

يتم تشغيل جميع القلابات بواسطة مدخل ساعة مشترك (Clock) عند الحافة الموجبة لكل نبضة، مما يؤدي إلى نقل البيانات المتوفرة على المداخل إلى داخل المسجل.

كما يحتوي عادةً على مدخل تصفير (Clear_b) غير متزامن لمسح محتويات المسجل (جعلها أصفاراً) قبل بدء التشغيل.

12.2 المسجلات ذات التحميل المتوازي (Registers with Parallel Load)

بما أن قلابات D لا تملك حالة 'عدم تغيير'، نستخدم بوابات منطقية لإنشاء مسار تغذية راجعة يحافظ على البيانات عندما لا نرغب في تحميل بيانات جديدة.

يحدد مدخل التحميل (Load) الإجراء الذي سيتم اتخاذه مع كل نبضة ساعة.

  • عندما يكون Load = 1، يتم نقل البيانات الموجودة على المداخل الخارجية الأربعة إلى المسجل مع الحافة الموجبة التالية للساعة.
  • عندما يكون Load = 0، يتم توصيل مخرجات القلابات بمداخلها الخاصة (تغذية راجعة).

هذا الاتصال الراجع ضروري لأن قلاب D لا يحتوي على حالة 'عدم تغيير' (No change). البوابات الإضافية تعمل كمضاعف إرسال (Multiplexer) بقناتين لكل قلاب.

12.3 مسجلات الإزاحة (Shift Registers)

مسجل الإزاحة هو سلسلة من القلابات تنقل البيانات من خلية إلى الخلية المجاورة لها مع كل نبضة ساعة.

مسجل الإزاحة هو مسجل قادر على إزاحة المعلومات الثنائية المحفوظة في كل خلية إلى الخلية المجاورة لها، في اتجاه محدد. يتكون التكوين المنطقي من سلسلة من القلابات المتتالية (Cascade)، حيث يتم توصيل مخرج قلاب واحد بمدخل القلاب التالي.

تتلقى جميع القلابات نبضات ساعة مشتركة، والتي تنشط إزاحة البيانات من مرحلة إلى أخرى. يحدد 'المدخل التسلسلي' (Serial Input) ما يدخل إلى القلاب في أقصى اليسار، بينما يؤخذ 'المخرج التسلسلي' (Serial Output) من القلاب في أقصى اليمين.

12.4 مسجل الإزاحة الشامل (Universal Shift Register)

هو مسجل 'الكل في واحد': يمكنه الإزاحة يميناً، الإزاحة يساراً، التحميل المتوازي، أو الاحتفاظ بالبيانات، ويتم التحكم فيه عبر إشارات اختيار.

مسجل الإزاحة الشامل يمتلك القدرات التالية:

  • تصفير (Clear)،
  • إدخال ساعة (Clock)،
  • إزاحة لليمين (Shift-right)،
  • إزاحة لليسار (Shift-left)،
  • تحميل متوازي (Parallel-load)،
  • مخرجات متوازية،
  • وحالة عدم التغيير (No change).

يتم بناء مسجل 4-بت باستخدام أربعة قلابات D وأربعة مضاعفات إرسال (MUX) بحجم 4x1. يتم التحكم في وضع التشغيل عبر مدخلي اختيار (s1, s0):

  • 00 = عدم تغيير (No change)
  • 01 = إزاحة لليمين (Shift right)
  • 10 = إزاحة لليسار (Shift left)
  • 11 = تحميل متوازي (Parallel load).

12.5 العدادات التموجية (Ripple Counters)

في العداد التموجي، مخرج كل قلاب يعمل كنبضة ساعة للقلاب الذي يليه، مما يخلق تأثير 'الدومينو' أو التموج.

العداد هو مسجل يمر بتسلسل محدد مسبقاً من الحالات. في العداد التموجي (Ripple Counter)، لا يتم تشغيل القلابات بواسطة نبضة ساعة مشتركة. بدلاً من ذلك، يعمل انتقال مخرج القلاب كمصدر لتشغيل القلابات الأخرى.

يتكون العداد الثنائي التموجي من سلسلة من القلابات المكملة (Complementing flip-flops مثل T أو JK مع J=K=1)، حيث يتصل مخرج كل قلاب بمدخل الساعة (C) للقلاب ذي الرتبة الأعلى التالية.

القلاب الذي يحمل البت الأقل أهمية (LSB) هو الوحيد الذي يتلقى نبضات العد الخارجية.

12.6 العدادات المتزامنة (Synchronous Counters)

في العداد المتزامن، تتلقى جميع القلابات نفس نبضة الساعة في نفس الوقت، مما يجعله أسرع وأكثر استقراراً من العداد التموجي.

تختلف العدادات المتزامنة عن العدادات التموجية في أن نبضات الساعة يتم تطبيقها على مداخل (C) لجميع القلابات في وقت واحد.

في العداد الثنائي المتزامن، يتم إكمال (Toggle) القلاب في الموضع الأقل أهمية مع كل نبضة. أما أي قلاب في موضع آخر، فيتم إكماله فقط عندما تكون جميع البتات في المواضع الأقل أهمية تساوي 1.

يتم تحقيق ذلك باستخدام سلسلة من بوابات AND التي تولد المنطق المطلوب لمداخل J و K في كل مرحلة.

13 الذاكرة والمنطق القابل للبرمجة

دراسة أنواع الذاكرة (RAM و ROM)، هيكلية الذاكرة، اكتشاف الأخطاء وتصحيحها باستخدام كود هامينغ، والمنطق القابل للبرمجة مثل PLA و FPGAs.

13.1 هرمية الذاكرة وأنواعها

الذاكرة تشبه مساحات التخزين في مكتبك؛ بعضها سريع وصغير (كدرج المكتب) وبعضها بطيء وكبير (كخزانة الملفات)، وتنقسم إلى متطايرة وغير متطايرة.

تصنف الذاكرة إلى:

  • متطايرة (Volatile) تفقد بياناتها عند انقطاع التيار مثل RAM،
  • وغير متطايرة (Non-volatile) تحتفظ بالبيانات مثل ROM و Flash.

تنقسم RAM إلى:

  • SRAM (سريعة ومكلفة، تستخدم للـ Cache)
  • و DRAM (أبطأ وأرخص، تستخدم للذاكرة الرئيسية).

هرمية الذاكرة (Memory Hierarchy) تحل معضلة التصميم بين السعة الكبيرة، السرعة العالية، والتكلفة المنخفضة، حيث تتدرج من المسجلات (Registers) السريعة جداً إلى الأقراص المغناطيسية البطيئة.

13.2 إشارات الذاكرة وعملياتها

للتحدث مع الذاكرة، تحتاج إلى عنوان (أين؟)، بيانات (ماذا؟)، وإشارات تحكم (اقرأ أم اكتب؟).

تتكون إشارات الذاكرة من ثلاث مجموعات:

  • ناقل العناوين (Address bus) لتحديد الموقع،
  • ناقل البيانات (Data bus) لنقل المعلومات،
  • وإشارات التحكم (Control Signals) لتحديد العملية.

أهم إشارات التحكم هي:

  • CS (Chip Select) لتفعيل الشريحة،
  • OE (Output Enable) للسماح بظهور البيانات على الناقل،
  • WR (Write) للكتابة،
  • و R (Read) للقراءة.

دورة القراءة (Read cycle) عادة ما تكون أقصر من دورة الكتابة (Write cycle).

13.3 الاختيار المتزامن (Coincident Selection)

بدلاً من استخدام مفتاح واحد عملاق لفتح مليون باب، نستخدم شبكة من الصفوف والأعمدة لتقليل عدد المفاتيح المطلوبة بشكل هائل.

في الذواكر الكبيرة، استخدام مفكك شفرة (Decoder) واحد ببعد واحد (1D) يصبح غير عملي. على سبيل المثال، ذاكرة بحجم 32K تحتاج إلى مفكك شفرة بـ 15 مدخل و 32,768 مخرج (يتطلب 32,800 بوابة AND).

الحل هو إعادة ترتيب الذاكرة في مصفوفة ثنائية الأبعاد (2D) واستخدام مفككي شفرة:

  • واحد للصفوف (Row Decoder)
  • وآخر للأعمدة (Column Decoder).

هذا يسمى الاختيار المتزامن (Coincident Selection).

تقريب لعدد البوابات المطلوبة في الاختيار المتزامن مقارنة بـ 2^k في البعد الواحد. \[\text{Total Gates (2D)} = 2^{\lceil k/2 \rceil} + 2^{\lfloor k/2 \rfloor}\]

13.4 كود هامينغ لاكتشاف وتصحيح الأخطاء

كود هامينغ يضيف بتات فحص (Parity) في مواقع محددة (مضاعفات الرقم 2) لتمكين الذاكرة من اكتشاف أي بت خاطئ وتصحيحه تلقائياً.

التفاعلات الفيزيائية قد تسبب أخطاء في الذاكرة. لتحسين الموثوقية، يُستخدم كود هامينغ (Hamming Code). يتم إضافة k بتات تماثل (Parity bits) إلى n بتات بيانات.

تُحجز المواقع التي تمثل مضاعفات الرقم 2 (1، 2، 4، 8...) لبتات التماثل، والباقي للبيانات. يتم حساب بتات التماثل باستخدام دالة XOR أثناء الكتابة، ويتم فحصها أثناء القراءة لإنشاء كود الفحص (Syndrome C).

  • إذا كان C = 0000، فلا يوجد خطأ.
  • إذا كان C ≠ 0، فإن قيمة C تدل على موقع البت الخاطئ.
المعادلة لتحديد عدد بتات التماثل (k) المطلوبة لعدد (n) من بتات البيانات. \[2^k \ge n + k + 1\]

13.5 الأجهزة المنطقية القابلة للبرمجة (PLDs)

بدلاً من توصيل بوابات منطقية ثابتة، تتيح لك هذه الأجهزة برمجة التوصيلات بين مصفوفات AND و OR لإنشاء أي دائرة تريدها.

يمكن تنفيذ أي دائرة توافقية باستخدام مجموع المضروبات (SOP). الأجهزة المنطقية القابلة للبرمجة (PLDs) توفر مصفوفات من بوابات AND و OR يمكن التحكم بتوصيلاتها. الأنواع الرئيسية هي:

  • PROM (مصفوفة AND ثابتة كمفكك شفرة، ومصفوفة OR قابلة للبرمجة)،
  • PAL (مصفوفة AND قابلة للبرمجة، ومصفوفة OR ثابتة)،
  • و PLA (مصفوفة AND قابلة للبرمجة، ومصفوفة OR قابلة للبرمجة).

PLA هي الأكثر مرونة.

13.6 مصفوفات البوابات المنطقية القابلة للبرمجة ميدانياً (FPGA)

الـ FPGA هي شريحة سيليكون فارغة تحتوي على آلاف المكعبات المنطقية (CLBs) التي يمكنك إعادة توصيلها برمجياً لتصبح أي معالج أو دائرة رقمية تتخيلها.

الـ FPGAs هي دوائر يمكن برمجتها من قبل المستخدم النهائي. تتكون معمارية FPGA النموذجية من مصفوفة من الكتل المنطقية القابلة للتهيئة (CLBs) محاطة بكتل إدخال وإخراج (I/O pads)، وترتبط ببعضها عبر قنوات توجيه قابلة للبرمجة (Routing Channels) وكتل تحويل (Switch Blocks).

تتكون الكتلة المنطقية الأساسية (BLE) من:

  • جدول بحث (LUT) لتنفيذ المنطق التوافقي،
  • ومسجل (Flip-flop) للمنطق التتابعي،
  • ومجمع (Multiplexer).

مرجع المعادلات

المعادلة / المفهوم الوحدة LaTeX / Notation
معادلات المجموع والحمل للجامع الكامل. M7 \(S = x \oplus y \oplus z \quad \text{and} \quad C = xy + xz + yz\)
معادلات توليد وتمرير الحمل. M7 \(G_i = A_i B_i \quad \text{and} \quad P_i = A_i \oplus B_i \quad \Rightarrow \quad C_{i+1} = G_i + P_i C_i\)
الدالة المنطقية لتحديد متى يجب إضافة التصحيح (0110) في جامع BCD. M7 \(C = K + Z_8 Z_4 + Z_8 Z_2\)
شرط المساواة في مقارن المقدار. M7 \(x_i = A_i B_i + A_i' B_i' \quad \text{and} \quad (A=B) = x_3 x_2 x_1 x_0\)
عدد المخرجات يساوي 2 مرفوعة لأس عدد المدخلات. M8 \(Outputs = 2^n\)
دالة ممثلة بمجموع الحدود الصغرى، يتم تنفيذها بجمع المخرجات 1، 2، 4، و 7 من مفكك التشفير. M8 \(F(x,y,z) = \sum m(1,2,4,7)\)
معادلة المخرج الأول (البت الأقل أهمية) في مشفر من ثماني إلى ثنائي. M8 \(z = D_1 + D_3 + D_5 + D_7\)
المعادلة المنطقية لمجمع 2-إلى-1. M8 \(Y = S' \cdot I_0 + S \cdot I_1\)
الحالة التالية هي دالة تعتمد على المدخلات الخارجية والحالة الحالية. M9 \(Next\ State = f(Inputs, Present\ State)\)
معادلة الحالة العامة حيث تعتمد الحالة التالية على المدخلات والحالة الحالية. M10 \(Q(t+1) = f(Inputs, Q(t))\)
عدد الصفوف في جدول الحالة، حيث m عدد القلابات و n عدد المدخلات. M10 \(Rows = 2^{m+n}\)
حيث n هو عدد القلابات و N هو عدد الحالات. M11 \(2^n \ge N\)
معادلة الخصائص لقلاب D. M11 \(D = Q(t+1)\)
معادلة الإثارة لقلاب T (بوابة XOR). M11 \(T = Q(t) \oplus Q(t+1)\)
تقريب لعدد البوابات المطلوبة في الاختيار المتزامن مقارنة بـ 2^k في البعد الواحد. M13 \(\text{Total Gates (2D)} = 2^{\lceil k/2 \rceil} + 2^{\lfloor k/2 \rfloor}\)
المعادلة لتحديد عدد بتات التماثل (k) المطلوبة لعدد (n) من بتات البيانات. M13 \(2^k \ge n + k + 1\)

مقارنة الخوارزميات

الجامع المتسلسل مقابل استباق الحمل

المعيار Ripple Carry Adder Carry Lookahead Adder
السرعة (تأخير الانتشار) بطيء (يتناسب مع عدد البتات O(n)) سريع (تأخير ثابت تقريباً O(1))
تعقيد الدائرة (المساحة) بسيط (جوامع كاملة متسلسلة) معقد (بوابات إضافية لتوليد الحمل)

مفكك التشفير مقابل المشفر

المعيار Decoder Encoder
المدخلات والمخرجات n مدخلات إلى 2^n مخرجات 2^n مدخلات إلى n مخرجات
الوظيفة الأساسية توسيع البيانات (تفعيل خط واحد بناءً على الرمز) ضغط البيانات (توليد رمز بناءً على الخط النشط)

تنفيذ المنطق: مفكك التشفير مقابل المجمع

المعيار Decoder Multiplexer (MUX)
المكونات الإضافية المطلوبة يتطلب بوابة OR خارجية لجمع الحدود الصغرى لا يتطلب بوابات إضافية (يعمل كجدول بحث جاهز)
توصيل المتغيرات المتغيرات توصل بالمدخلات المتغيرات توصل بخطوط الاختيار (Select lines)

الدوائر التوافقية مقابل الدوائر التتابعية

المعيار Combinational Circuits Sequential Circuits
الاعتمادية على المخرجات تعتمد على المدخلات الحالية فقط تعتمد على المدخلات الحالية والحالة السابقة
الذاكرة لا توجد ذاكرة تحتوي على عناصر تخزين (ذاكرة)
مسار التغذية الراجعة غير موجود موجود

المواسك مقابل النطاطات

المعيار Latches Flip-Flops
طريقة الاستجابة (Triggering) حساسة لمستوى الإشارة (Level-sensitive) حساسة لحافة النبضة (Edge-triggered)
الاستخدام في الدوائر المتزامنة صعبة الإدارة بسبب الشفافية مثالية للدوائر المتزامنة

ماسك SR: NOR مقابل NAND

المعيار NOR SR Latch NAND SR Latch
المدخلات النشطة نشط عند المستوى العالي (1) نشط عند المستوى المنخفض (0) - يُسمى S'R'
الحالة غير المحددة (الممنوعة) S=1, R=1 S=0, R=0

مقارنة بين آلة ميلي وآلة مور

المعيار Mealy Machine Moore Machine
اعتماد المخرجات الحالة الحالية والمدخلات الحالة الحالية فقط
عدد الحالات (المكونات المادية) أقل عادةً أكثر عادةً
التعقيد والفهم أكثر تعقيداً أسهل للفهم والتنفيذ

التحليل مقابل التصميم

المعيار Analysis Design
نقطة البداية مخطط الدائرة (Circuit Diagram) المواصفات (Specifications)
النتيجة النهائية جدول/مخطط الحالة مخطط الدائرة (Logic Gates)

النقل التسلسلي مقابل النقل المتوازي

المعيار Serial Transfer Parallel Transfer
طريقة النقل بت واحد في كل مرة جميع البتات في نفس الوقت
خطوط الإدخال/الإخراج خط إدخال تسلسلي واحد وخط إخراج واحد خطوط متعددة (n خطوط لـ n بت)
السرعة أبطأ (يتطلب n نبضات) أسرع (نبضة ساعة واحدة)

العداد التموجي مقابل العداد المتزامن

المعيار Ripple Counter Synchronous Counter
إشارة الساعة (Clock) مخرج القلاب السابق يشغل القلاب التالي ساعة مشتركة تشغل جميع القلابات معاً
التعقيد الهيكلي بسيط، لا يحتاج بوابات إضافية للعد الثنائي معقد، يتطلب بوابات AND إضافية للمنطق

مقارنة بين RAM و ROM

المعيار RAM ROM
الاحتفاظ بالبيانات (Volatility) متطايرة (تفقد البيانات) غير متطايرة (تحتفظ بالبيانات)
العمليات قراءة وكتابة قراءة فقط
الاستخدام الشائع المتغيرات، الذاكرة الديناميكية، الكومة (Heaps) برامج الإقلاع (Booting)، الثوابت

مقارنة بين PROM و PAL و PLA

المعيار PROM PAL PLA
مصفوفة AND ثابتة (Fixed) قابلة للبرمجة (Programmable) قابلة للبرمجة (Programmable)
مصفوفة OR قابلة للبرمجة (Programmable) ثابتة (Fixed) قابلة للبرمجة (Programmable)

البطاقات التعليمية

اختبر نفسك

1 / 30 نتيجتك: 0

حديث البروفيسور

مرحباً بك في المراجعة النهائية لمقرر CS231. يغطّي هذا الاختبار الوحدات 7–13: الوحدة 7 (المنطق التوافقي (تتمة): الجامع، الطارح، والمقارن)، الوحدة 8 (المنطق التوافقي (الجزء الثاني): مفككات التشفير، المشفرات، والمجمعات)، الوحدة 9 (المنطق التتابعي)، الوحدة 10 (تحليل الدوائر التتابعية)، الوحدة 11 (تصميم الدوائر التتابعية)، الوحدة 12 (المسجلات والعدادات)، الوحدة 13 (الذاكرة والمنطق القابل للبرمجة). راجع الأفكار الأساسية والمعادلات والمقارنات لكل وحدة أدناه، ثم اختبر نفسك بالكويز.

خزنة الامتحان | النقاط الحرجة

32 نقطة حرجة
سر الامتحان M7
بوابة XOR في دائرة الجامع-الطارح تعمل كـ 'عاكس قابل للبرمجة'. إذا كان التحكم 0، تمرر الإشارة كما هي. إذا كان 1، تعكسها، مما يسهل إيجاد المتمم الأول بدون عتاد إضافي.
سر الامتحان M12
في النقل التسلسلي، إذا لم تقم بتوصيل المخرج التسلسلي للمسجل المصدر بمدخله، ستفقد البيانات الأصلية للأبد وتستبدل بأصفار (أو بيانات عشوائية).
سر الامتحان M10
عند حساب عدد صفوف جدول الحالة، ينسى الكثيرون إضافة المدخلات الخارجية (n). المعادلة هي 2^(m+n) وليس 2^m فقط. المدخلات الخارجية تضاعف عدد الاحتمالات!
مفهوم أساسي M12
الفرق الجوهري بين العداد التموجي والمتزامن هو 'الساعة'. في التموجي، مخرج القلاب هو ساعة القلاب التالي. في المتزامن، ساعة واحدة تشغل الجميع في نفس اللحظة.
فخ امتحاني M7
نسيان إضافة 1 عند إجراء عملية الطرح باستخدام المتمم الثاني. المتمم الثاني = المتمم الأول + 1. في العتاد، يتم إضافة هذا الـ 1 عن طريق جعل الحمل الابتدائي C0 = 1.
فخ امتحاني M8
عند تنفيذ دالة باستخدام مفكك التشفير، ينسى الطلاب إضافة بوابة OR. مفكك التشفير يولد الحدود الصغرى (Minterms) فقط؛ يجب جمعها ببوابة OR لتكوين الدالة النهائية.
سر الامتحان M13
الاختيار المتزامن (Coincident Selection) ليس مجرد تحسين بسيط، بل هو ضرورة هندسية. بدونه، ستحتاج ذاكرة صغيرة نسبياً إلى مفكك شفرة يحتوي على بوابات أكثر من الذاكرة نفسها!
مفهوم أساسي M13
في كود هامينغ، مواقع بتات التماثل ليست عشوائية. يتم وضعها في مضاعفات الرقم 2 (1، 2، 4، 8) لأن كل بت تماثل يراقب مجموعة محددة من البتات بناءً على تمثيلها الثنائي.
فخ امتحاني M11
الخلط بين التحليل والتصميم: تذكر أن التحليل يبدأ بالدائرة (موجودة بالفعل)، بينما التصميم يبدأ بالمواصفات (أنت تبنيها).
مفهوم أساسي M10
الجدول المميز (Characteristic Table) هو الأداة السحرية التي تحول 'معادلات الإدخال' (ما يدخل للقلاب) إلى 'الحالة التالية' (ما سيخزنه القلاب). لا يمكنك إكمال جدول الحالة بدونه (إلا في حالة قلاب D حيث المدخل هو نفسه الحالة التالية).
فخ امتحاني M12
الخلط بين عداد 4-بت عادي وعداد BCD. العداد العادي يصل إلى 1111 (15)، بينما عداد BCD يجب أن يُجبر على العودة إلى 0000 بعد 1001 (9).
فخ امتحاني M8
الخلط بين المشفر (Encoder) ومفكك التشفير (Decoder). تذكر: مفكك التشفير 'يفك' الرمز الصغير إلى خطوط كثيرة (n إلى 2^n)، بينما المشفر 'يضغط' الخطوط الكثيرة إلى رمز صغير (2^n إلى n).
فخ امتحاني M11
الاعتقاد بأن تقليل الحالات يقلل دائماً من عدد القلابات. تقليل الحالات من 8 إلى 5 لا يغير عدد القلابات (كلاهما يحتاج 3)، لكنه يبسط البوابات المنطقية.
فخ امتحاني M9
الخلط بين المواسك (Latches) والنطاطات (Flip-Flops). تذكر دائماً: المواسك حساسة لمستوى الإشارة (Level-sensitive)، بينما النطاطات حساسة لحافة النبضة (Edge-triggered). هذا هو سؤال الامتحان الكلاسيكي!
سر الامتحان M8
طرف التمكين (Enable) هو السر وراء توسيع مفككات التشفير. بدونه، ستحتاج إلى تصميم شريحة جديدة بالكامل لكل حجم. باستخدامه، يمكنك بناء مفكك تشفير بأي حجم باستخدام شرائح أصغر.
مفهوم أساسي M11
التكافؤ في تقليل الحالات يتطلب شرطين: نفس الخرج ونفس الحالة التالية (أو حالة متكافئة). تطابق أحدهما فقط لا يكفي لإزالة الحالة.
فخ امتحاني M10
في مخطط الحالة لآلة ميلي، التسمية x/y تعني (المدخل / المخرج). لا تعكس الترتيب أبداً! المدخل هو الذي يسبب الانتقال، والمخرج هو النتيجة.
فخ امتحاني M13
الخلط بين PAL و PLA. تذكر: PAL لديه مصفوفة OR ثابتة (Fixed)، بينما PLA يسمح ببرمجة كلتا المصفوفتين (AND و OR).
مفهوم أساسي M7
في الجامع العشري (BCD)، نضيف 0110 (6) لتصحيح النتيجة لأن نظام BCD يستخدم 10 حالات فقط من أصل 16 حالة ممكنة في 4 بتات. إضافة 6 تقفز فوق الحالات الست غير المستخدمة.
مفهوم أساسي M9
مسار التغذية الراجعة (Feedback Path) هو ما يمنح الدوائر التتابعية 'ذاكرتها'. بدون هذا المسار، ستكون الدائرة توافقية بحتة.
فخ امتحاني M12
الاعتقاد بأن قلابات D تحتفظ ببياناتها تلقائياً إذا لم نرسل بيانات جديدة. الحقيقة: قلاب D يفتقر لحالة 'عدم تغيير'، ويجب استخدام MUX أو بوابات لعمل تغذية راجعة (Feedback) للاحتفاظ بالبيانات.
سر الامتحان M9
نطاط السيد والتابع (Master-Slave) هو ببساطة ماسكي D متصلين على التوالي مع عاكس على إشارة الساعة للماسك الثاني. هذا العاكس هو سر العزل بين المدخل والمخرج!
فخ امتحاني M9
نسيان أن ماسك SR المبني بـ NAND يعمل بشكل عكسي (Active Low). الحالة غير المحددة فيه تحدث عند S=0 و R=0، وليس 1 و 1 كما في ماسك NOR.
فخ امتحاني M13
الاعتقاد بأن دورة القراءة ودورة الكتابة تستغرقان نفس الوقت دائماً. في الواقع، دورة القراءة عادة ما تكون أقصر من دورة الكتابة.
مفهوم أساسي M13
الـ FPGAs الحديثة لا تستخدم بوابات AND و OR فيزيائية لتنفيذ المنطق. بدلاً من ذلك، تستخدم جداول البحث (LUTs) التي تعمل كمجمعات (Multiplexers) صغيرة تقرأ من خلايا ذاكرة.
فخ امتحاني M7
الاعتقاد بأن الجامع الكامل (Full Adder) يجمع رقمين فقط. في الواقع، هو يجمع ثلاثة بتات: بت من الرقم الأول، بت من الرقم الثاني، وبت الحمل (Carry-in) من المرحلة السابقة.
مفهوم أساسي M8
المجمع (MUX) هو في الأساس 'جدول بحث' (Lookup Table) برمجي مطبق في الأجهزة (Hardware). يمكنك تنفيذ أي دالة منطقية بمجرد توصيل الأصفار والآحاد الصحيحة بمدخلاته.
مفهوم أساسي M12
مسجل الإزاحة الشامل (Universal Shift Register) هو التطبيق الأمثل لمضاعفات الإرسال (MUX) في الدوائر التتابعية، حيث يتيح MUX 4x1 اختيار 4 وظائف مختلفة لكل قلاب بسهولة.
فخ امتحاني M10
الخلط بين نموذج ميلي ومور في الاختبار: تذكر دائماً أن 'ميلي' (Mealy) يبدأ بحرف M مثل 'Mixed' (مختلط) لأنه يخلط بين المدخلات والحالة لتحديد المخرجات. بينما 'مور' (Moore) يعتمد على الحالة فقط.
مفهوم أساسي M7
منطق استباق الحمل (Carry Lookahead) يحل مشكلة التأخير الزمني عن طريق حساب جميع الحمولات بشكل متوازٍ باستخدام معادلتي التوليد (Generate) والتمرير (Propagate)، بدلاً من انتظار انتشارها.
سر الامتحان M11
قلابات D لا تحتاج فعلياً إلى جدول إثارة معقد لأن D = Q(t+1). يمكنك نسخ عمود 'الحالة التالية' مباشرة كمعادلة دخل لـ D.
مفهوم أساسي M8
التنفيذ المحسن للمجمع (Optimized MUX) يوفر حجم المجمع للنصف. بدلاً من استخدام مجمع 8:1 لدالة من 3 متغيرات، نستخدم مجمع 4:1 وندخل المتغير الثالث مباشرة في البيانات.