احتمال الخطر (المنطق)
حدوث الخطر (بالإنجليزية: Hazard) في نظام رقميّ أمر غير مرغوب به، وسبب هذا الخطر إما خلل في النظام نفسه أو نتيجة لتأثيرات خارجية.المخاطر المنطقية هي مشكلة تتعلق بحدوث تغيرات في المدخلات دون حدوث تغيرات صحيحة في المخرجات نتيجة لبطء (Delay) أو تأخر في البوابات المنطقية (العاكس، الاقتران، الاختيار، الخ).هذه المخاطر تؤدي إلى عدم أداء دوائر المنطق الرقمي وظائفها بالشكل الصحيح.هنالك ثلاثة أنواع شائعة للمخاطر وهي المخاطر الثابتة، والمتغيرة، والوظيفية. المخاطر عبارة عن مشكلة مؤقتة، حيث ان الدارة المنطقية ستستقر في النهاية على القيمة النهائية المطلوبة. لذا فإنه من الأساسي في التصاميم المتزامنة حفظ المخرجات الخاصة بالدوائر قبل توجيهها إلى النظام، حيث نضمن بذلك ان المخاطر لن تسبب مشكلة في حال حدوثها.أما إذا كان من الصعب حفظ المخرجات فانه من الضرورة التخلص من المخاطر لأنها ستؤثر على بقية النظام.
المخاطر الثابتة
عندما تتغير إحدى المدخلات، فان الخرج يتغير لحظيا قبل ان يستقر على القيمة الصحيحة.هنالك نوعان للمخاطر الثابتة:
- الخطر الثابت - 1 : عندما يكون الخرج 1، ثم تتغير المدخلات، فان الخرج ينتقل لحظيا إلى 0 قبل ان يستقر على 1.
- الخطر الثابت - 0 : عندما يكون الخرج 0، ثم تتغير المدخلات، فان الخرج ينتقل لحظيا إلى 1 قبل ان يستقر على 0.
في المنطق المؤلف من من البوابتان (AND-OR)، المبني على جمع المضروب (Sum Of Products) لن يكون هنالك حالة الخطر الثابت 0، والعكس كذلك حيث انه لن يكون هنالك الخطر الثابت 1 في المنطق المؤلف من (AND-OR) المبني على ضرب المجموع (Product Of Sums).
الحل الأكثر شيوعا للقضاء على المخاطر الثابتة هو عن طريق إضافة إضافات معينة لدارة المنطق.
مثال على الخطر الثابت
لنأخذ على سبيل المثال دارة تعاني من بطء (Delay) في إحدى البوابات المنطقية، البوابة (بوابة اقتران) مثلا:
f = X1 * X2 + X1' * X3
إذا لم يتواجد بطء في هذه الدارة فإنها بالطبع ستعمل بشكل صحيح.على كل حال لا يوجد قطعتان تعملان بنفس الأداء بالضبط، نتيجة لهذه المشكلة فان سرعة (AND) الأولى لن تكون مطابقة لسرعة (AND) الثانية.لذلك سيحدث مشكلة عندما تتغير المدخلات من 111 إلى 011 (تغير X1).
الآن نعلم كيف يحدث الخطر، ولتوضيح الصورة ومعرفة كيفية حل هذه المشكلة علينا ان ننظر إلى خريطة كارنوف. حيث يظهر شكل البوابتان على شكل حلقات متصلة، والخطر يظهر أسفل الحلقة المتقطعة. هنالك نظرية تم اثباتها عن طريق هافمان[1] تخبرنا بانه عند إضافة حلقات "X2X3" للدارة فانه سيتم القضاء على المخاطر. لذا سيبدو الاقتران الجديد كالتالي:
f = X1 * X2 + X1' * X3 + X2 * X3
الآن يمكننا ان نرى بانه حتى لو كان هنالك عيوب (بطء) في بوابات المنطق، فان مثالنا السابق لن يظهر فيه اية مخاطر عندما تتغير X1. هذه النظرية يمكن تطبيقها على اية نظام منطقي. تتعامل أجهزة الحاسوب حاليا مع هذه المخاطر، لكن يمكن القيام بهذه العملية يدويا بسهولة مع الأمثلة البسيطة. لكن عندما يكون هنالك متغيرات كثيرة (ستة فاكثر) فانه سيكون من الصعب رؤية الأخطاء على خريطة كارنوف وحلها باليد.
المخاطر المتغيرة
الخطر المتغير هو تغير الخرج أكثر من مرة نتيجة لتغير أحد المدخلات. الخطر المتغير يحدث عادة لدوائر المنطق الكبيرة حيث يوجد عدة مسارات للخرج (من الدخل للخرج).إذا كان هنالك لكل مسار بطء مختلف، فانه في هذه الحالة من الممكن الحصول على قيم خرج مختلفة عن القيم المتوقعة. على سبيل المثال إذا كان مطلوب من دارة منطقية تغيير حالة الخرج من 1 إلى 0، ولكنها تغيرت من 1 إلى 0 ثم إلى 1 وهكذا حتى استقرت على الحالة النهائية 0 .
على كل الأحوال، المخاطر المتغيرة من الصعب حلها، لكن اعلم انه إذا تم التخلص من جميع المخاطر الثابتة فإنه لا يمكن للمخاطر المتغيرة الحدوث.
انظر أيضا
المراجع
- ^ Huffman, D. A. (1957)، The Design and Use of Hazard-Free Switching Networks، J. ACM 4, 47، مؤرشف من الأصل في 2019-12-16
2. http://www.ee.surrey.ac.uk/Projects/Labview/Sequential/Course/02-Hazards/hazards.htm#FunctionHazards