دوائر ذاتية التزامن. حساب الوظائف المنطقية مباشرة على الرسم البياني للأحداث. الجزء 3. التحلل

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

1)

x=ab...c+xf+g+h+...+i،



حيث a * b * ... * c هي المتورط في واحد أو أكثر من المتغيرات. g + h + ... + i - ربما تكون هذه مجموعة فارغة من المتورطين تتكون من متغير واحد. x * f هي عملية زرع لمتغيرين ، لا يعد وجودهما في شكل بسيط أمرًا ضروريًا. يمكن تضمين كل المتغيرات ، باستثناء x ، في الصيغة سواء في شكل مباشر أو معكوس ، اعتمادًا على ترتيب علامات الأحداث المقابلة. يتم تضمين جميع المتغيرات في الصيغة كوسائط مرة واحدة بدقة.

قبل الانتقال ، سوف نلقي نظرة فاحصة على ظاهرة مثل التحلل. أولاً وقبل كل شيء ، التحلل مهم ، والذي يحافظ على التزامن الذاتي. عند تحليل دالة NOT-AND-OR منطقية ، يمكن التمييز كعنصر جديد:

أ) واحد أو أكثر من المتورطين ،
ب) عدة إشارات (متغيرات) لزرع واحد ،
ج) واحد مدخلات العاكس.

بادئ ذي بدء ، فإننا نعتبر حالة خاصة من الدالة NOR AND. سلوك هذه الوظيفة المنطقية (x = a + b + c + d) للنموذج المعني:

صورة

يمكنها التمييز بين عدة إشارات كعنصر منفصل.

في الواقع ، فإن اختيار عنصر جديد أثناء التحلل هو إضافة إشارة جديدة (و). من أجل الحفاظ على السلوك الصحيح وشبه النموذجية والمزامنة الذاتية ، يجب أن يكون لتبديل الإشارة المضافة حديثًا f عواقب. نظرًا لأن التحلل يؤثر على عنصر واحد فقط من الدائرة (في هذه الحالة ، x) ولا يؤثر على العناصر المتبقية من الدائرة ، فإن تبديل الإشارة f يمكن أن يتسبب فقط في تبديل الإشارة x. وإلا ، فإن الوظيفة المنطقية لإشارة أخرى تعتمد على الإشارة f. بالنظر إلى هذا الاستنتاج ، دعونا نحاول إبراز أي متغيرات متعددة باستثناء المتغير كعنصر جديد f. خذ على سبيل المثال المتغيرات b و c. إنها تشكل العنصر المنطقي f = b + c.

صورة

كما يتضح ، بالنسبة لحدث f + ، من المستحيل تحديد الحدث الناتج دون انتهاك صحة السلوك. لا يمكن تخصيص أي مجموعة من الإشارات التي لا تحتوي على المتغير a كعنصر منفصل مع الحفاظ على المزامنة الذاتية.

سيتم استدعاء إشارة مثل في هذا المثال التبديل. في الحالة العامة ، تكون إشارة التبديل الخاصة بالوظيفة OR (AND) إشارة ، ويؤدي تبديلها إلى 1 (0) إلى تغيير قيمة الوظيفة من 0 إلى 1 (من 1 إلى 0). للحفاظ على المزامنة الذاتية أثناء تحلل الوظيفة المنطقية OR (AND) عند اختيار عنصر جديد ، يجب عليك استخدام إشارة التبديل. عند اختيار عنصر جديد ، من الضروري أيضًا استخدام الإشارات التي تشكل سلسلة متصلة فقط (في المثال أدناه a + b). x = f + c + d ، f = a + b.

صورة

عند استخدام إشارات + b + d ، لا يتم الحفاظ على المزامنة الذاتية.

صورة

وبالتالي ، بالنسبة للسلوكيات المتسلسلة بدون إشارات متعددة أثناء تحلل الوظيفة المنطقية OR (I) ، مع إبراز العنصر الأول في عملية نشر عملية الإشارة ، بدءاً من التبديل ، كعنصر جديد ، يضمن المزامنة الذاتية للدائرة.

الآن خذ بعين الاعتبار الدالة غير OR (x =! A +! B). كعنصر منفصل (f) مع الحفاظ على التزامن الذاتي ، يمكننا فقط تحديد عاكس الإدخال الذي يتوافق مع إشارة التبديل (x = f +! B ، f =! A). فصل محولات الإدخال الأخرى كعنصر منفصل سيؤدي إلى انتهاك المزامنة الذاتية.

صورة

دعنا ننتقل إلى وظيفة AND-OR. وبالمثل ، كإشارة التبديل لوظيفة OR ، فإننا نحدد المتورط في التبديل لوظيفة AND-OR. هذا عبارة عن متورط ، حيث يؤدي تغيير القيمة من 0 إلى 1 إلى تغيير في قيمة الوظيفة من 0 إلى 1. وبالمثل ، كما تم اكتشافه لوظيفة OR ، للسلوكيات المتسلسلة دون إشارات متعددة عند تحليل وظيفة AND-OR المنطقية ، مع إبراز القيم القليلة الأولى في عملية النشر ، يضمن المتورط ، بدءًا من التضمين ، الحفاظ على التزامن الذاتي للدائرة. خلاف ذلك ، سيتم كسر التزامن الذاتي. في المثال أدناه ، قبل التحلل x = a * b + c. بعد التحلل ، x = f + c ، f = a * b.

صورة

الآن بالنسبة لوظيفة AND-OR ، فإننا نعتبر الاختيار عنصرًا جديدًا للعديد من المتغيرات المضمّنة في المتضمّن نفسه. تعتبر وظائف الحد الأدنى فقط. فيما يلي جميع الخيارات الممكنة لمثال الوظيفة x = a * b * c + d (للخيار 4 - x = a * b * c + d + e ، للخيار 6 - x = a * b * c * d + e) . العنصر المميز هو f = a * b.

صورة

في الخيار 1 ، يكون تبديل إحدى الإشارات المخصصة (a +) هو سبب الحدث x +. في الخيار 2 ، يكون تبديل إحدى الإشارات المخصصة (أ) هو سبب الحدث x. في الخيارين 3 و 4 ، يقع تبديل إحدى الإشارات المخصصة (a + و a ، على التوالي) بين الحدثين x + و x- ، وليس سبب الحدث x-. الخيار 5 هو حالة خاصة للخيار 4 ، عندما يكون المتورط ، الذي يتم فيه توزيع الإشارات ، شاملاً. الخيار الباقي 6 - تقع جميع تحويلات الإشارات المخصصة بين الأحداث x و x + ، وليست أسباب الحدث x +.

كما ترون ، في الخيارين 1 و 6 ، لا يمكن وضع الحدث f بشكل صحيح. هذه التحولات ليست تحللًا مع الحفاظ على التزامن الذاتي. في الخيارات 2 و 3 و 4 ، يتم الحفاظ على التزامن الذاتي. ولكن تبين أن قيمة الدالة x مختلفة عن f * c + d (f * c + d + e لـ 4 خيارات). لخيارين - x = f * (d + c) ، لـ 3 خيارات x = c * x + d *! F + x *! F ، لـ 4 خيارات x = (f + d) * (e + c). هذه التحولات ليست تحلل.

الخيار 5 فقط هو تحلل مع الحفاظ على التزامن الذاتي (x = f * c + d). في هذه الحالة ، كعنصر منفصل في تضمين التضمين ، يتم تحديد أول عدة إشارات ، بدءًا من التضمين (الإشارة بما في ذلك المتضمنة من و هي نفس الإشارة بما في ذلك وظيفة AND). ولكن ، كما هو مبين أعلاه ، يتم تحقيق نتيجة مماثلة في خطوتين. أولاً ، يتم تمييز إدراج عملية الزرع. في الخطوة الثانية ، يتم تحديد الإشارات القليلة الأولى في العنصر الجديد ، بدءًا من إشارة التبديل.

دعنا ننتقل إلى وظيفة NON-AND-OR. دعونا نفرد العاكس المدخلات كعنصر منفصل. تقابل الإشارة a مدخلات العنصر x ، والتي يتصل بها محول إدخال مخصص (f =! A).

صورة

الخياران 1 و 2 - إشارة التبديل a هي سبب الحدث x + (1 - x =! A + b * c ، 2 - x = b *! A + c). الخياران 3 و 4 - تبديل الإشارة a هو سبب الحدث x- (3 - x =! A + b * c ، 4 - x =! A * b + c). الخياران 5 و 6 - التبديل بين الإشارة a يقع بين الحدثين x + و x- ، وليس سبب الحدث x- (5 - x = b *! A + c ، 6 - x =! A * b + d + c). الخيار 7 هو حالة خاصة للخيار 6 ، عندما تكون الإشارة a إشارة تبديل بما في ذلك المتورطون (x =! A * b + c). الخيار المتبقي 8 - كل تبديل الإشارة يقع بين الأحداث x و x + ، وليست أسباب الحدث x + (x = c *! A * b + d).

كما ترون ، فإن الخيارات 2 و 3 و 8 ليست تحللًا مع الحفاظ على التزامن الذاتي ، لأنه من المستحيل وضع إشارة التبديل بشكل صحيح. بالنسبة للخيار 4 ، بعد التحويل x = f * (c + b). بالنسبة للخيار 5 ، بعد التحويل x = c *! F +! F * x + b * x. بالنسبة للخيار 6 ، بعد التحويل x = (f + c) * (d + b). هذه التحولات (الخيارات 4 و 5 و 6) ليست تحاليل. بالنسبة للخيار 7 ، بعد التحويل x = f * b + c. الخيار 7 هو تحلل مع الحفاظ على التزامن الذاتي. في هذه الحالة ، يتم تخصيص عاكس يتوافق مع إشارة التبديل بما في ذلك يزرع كعنصر منفصل. يتم تحقيق نتيجة مماثلة في خطوتين باستخدام التحويلات المذكورة أعلاه. أولاً ، يتم تمييز إدراج المتورط ، ثم يتم تخصيص محول دخل إشارة التشغيل. بالنسبة للخيار 1 ، بعد التحويل x = f + b * c. الخيار 1 هو أيضا تحلل مع الحفاظ على التزامن الذاتي. هذه حالة خاصة للخيار 7 ، عندما يتكون إدراج المتورط من إشارة واحدة.

نحن تنظيم النتائج التي تم الحصول عليها. بالنسبة للنموذج قيد النظر ، عند تحليل دالة NOT-AND-OR منطقية للحفاظ على التزامن الذاتي ، تكون التحويلات التالية ممكنة فقط - التخصيص كعنصر منفصل:

1 - واحد أو أكثر ، بدءًا من المتضمن الشامل المتداخل (حالة خاصة - لوظيفة اختيار NON-OR من عدة إشارات متداخلة ، بدءًا من الشامل) ؛

2 - في إدراج المتورطين عدة ، بدءا من إدراج ، إشارات متداخلة ؛

3 - مدخلات العاكس المقابلة لإشارة التبديل بما في ذلك المتورطين (حالة خاصة - لوظيفة اختيار NON-OR من العاكس المدخلات المقابلة لإشارة التبديل).

هذه التحولات لا تسمح للمتورط أن يكون شاملاً إذا لم يكن قبل التحول. ومن هنا الاستنتاج: إذا كانت الوظيفة المنطقية تحتوي على متضمن ، يتكون من أكثر من إشارة واحدة وليست شاملة ، لا يمكن تجزئة هذه الوظيفة باستخدام تحلل يحافظ على التزامن الذاتي ، حتى عنصرين من المدخلات. يمكن تقسيم أي دالة NOT-AND-OR منطقية فيها أكثر من متغير واحد ضمني ضمني فقط إلى عنصرين من المدخلات (2AND-NOT ، 2OR-NOT) باستخدام تحلل يحافظ على التزامن الذاتي.

الخطوة 1 - إذا كان العنصر المنطقي يحتوي على متضمن واحد فقط (أو تتكون كل المتضمنات من متغير واحد) ، انتقل إلى الخطوة 3 ، وإلا ، انتقل إلى الخطوة 2.
الخطوة 2 - حدد كعنصر منفصل جميع يزرع ، باستثناء واحد ، بدءا من التضمين. بعد ذلك ، نحن نعمل مع العنصر الذي تم استلامه حديثًا. انتقل إلى الخطوة 1.
الخطوة 3 - إذا كان العنصر يتكون من متغيرين ، انتقل إلى الخطوة 5 ، وإلا انتقل إلى الخطوة 4.
الخطوة 4 - نختار كعناصر منفصلة جميع المتغيرات ، باستثناء واحد ، بدءاً من التضمين. بعد ذلك ، نحن نعمل مع العنصر الذي تم استلامه حديثًا. انتقل إلى الخطوة 3.
الخطوة 5 - تنطبق على جميع عناصر المدخلات المستلمة.
الخطوة 5.1 - إذا كانت محولات الإدخال على كلا المدخلات ، فسوف نقوم بتحويل العنصر إلى مزدوج.
الخطوة 5.2 - إذا كان العاكس الإدخال واحد ويتوافق مع إشارة لا يتم تشغيل ، سنقوم بتحويل العنصر إلى المزدوج.
الخطوة 5.3 - يتم تمييز العاكس المدخلات ، إن وجدت ، كعنصر منفصل. الانتهاء من التكسير

عد الآن إلى الصيغة 1 في بداية النص. إذا لم يكن x * f المتورط في التعبير المنطقي ، فإن الوظيفة تبدو كما يلي: x = a * b * c + g + h + i. سلوكها:

صورة

كما ترون ، فإن المتورط الوحيد لأكثر من متغير واحد (a * b * c) شامل. وهذه الوظيفة بمساعدة التحلل يمكن تجزئتها إلى الحد الأدنى من المكونات مع الحفاظ على التزامن الذاتي.

إذا كانت x * f الضالعة موجودة في تعبير منطقي ، فإن الوظيفة تبدو كما يلي: x = a * b * c + x * f + g + h + i. سلوكها:

صورة

يتكون x * f implicant غير الشامل من أكثر من متغير. لا يمكن تجزئة هذه الوظيفة مع الحفاظ على المزامنة الذاتية. لكننا نطبق تحولًا يحافظ على التزامن الذاتي: أضف الإشارة y - المزدوجة إلى الإشارة x. تؤدي إضافة الإشارة y إلى تغيير وظيفة الإشارة x والإشارة فقط ، والتي كان تبديلها نتيجة للحدث x- (يتم استبدال المتغير x بالمتغير y).

صورة

الآن x = (f + i + h + g) * y ، y = c * b * a + x. المتضمنون f + i + h + g و c * b * a بما في ذلك و ، على التوالي ، يمكن تقسيم الدالتين x و y إلى الحد الأدنى من المكونات مع الحفاظ على المزامنة الذاتية.

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

Source: https://habr.com/ru/post/ar444780/


All Articles