مخطط الحالة
مثال تصميمي

سوف نقوم في هذه الفقرة بتصميم كاشف تتابع آخر وذلك لإعطاء المزيد من الرؤية لعملية توليد مخطط الحالة من مواصفات المشكلة المطروحة بشكل كلمات وبنفس الوقت لتطبيق الخطوات المشروحة في الفقرة السابقة والمستخدمة في التخلص من الحالات الزائدة.
يجب أن يتصف كاشف التتابع المطلوب بكونه نظاماً من نوع ميلي وباحتوائه على مدخل وحيد (x) ومخرج وحيد (z) وأن يعطي على مخرجه (z=1) في أي فترة ساعة يكون فيها الدخل (x=0) بشرط أن يكون الدخل في الفترات الأربع السابقة (x=1001). أي أن التتابع المطلوب لتوليد (z=1) هو (x=10010) لزيادة التوضيح نورد الشكل التالي الذي يبين تتابع لقيم الدخل والخرج الموافقة.
نلاحظ من الشكل السابق أن قيم (x) في الفترات (2.3.4.5.6) تشكل تتابعاً ناجحاً. لذلك لدينا في الفترة السادسة (z=1) كما نلاحظ جواز تداخل التتابعات الناجحة مع بعضها. لذا تشكل آخر خانتين في التتابع الأول الخانتين الأوليتين للتابع الثاني الناجح والذي يلي التتابع الأول مباشرة. نجد أيضاً أن عدم تحديد قيمة (x) في الفترة الزمنية الأولى يجعل من الصعب معرفة هل القيمة (x=0) في الفترة الثالثة هي نهاية تتابع ناجح أم لا.
وبالتالي من الصعب معرفة قيمة (z) في الفترة الثالثة.
لنبدأ مباشرة بمخطط الحالة متجاوزين مخطط الانسياب ولنعرف الحالة الأولى عن طريق تحديد التاريخ الذي أدى إلى الوصول إلى هذه الحالة بشكل لا يدع حاجة أبداً للرجوع إلى ما قبل هذه الحالة. هناك عدة طرق لتعريف الحالة الأولى في مثالنا الحالي. إحدى هذه الطرق والتي سنعتمدها في مثالنا الحالي هي اعتبار الحالة الأولى الحالة التي يصل إليها النظام بعد حصول تتابع لاثنين أو أكثر من الواحدات (1). وهذه الحالة هي الحالة التي يصل إليها النظام في الفترة الزمنية الثالثة المبينة في الشكل السابق (يجب تذكر أن الحالة في أي فترة زمنية لا تتأثر بالدخل في نفس الفترة ولكن بالدخل في الفترات السابقة فقط) على كل حال أن الحالة الأولى (A) المبينة في الشكل التالي هي الحالة التي يتم عندها وصول أول خانة من التتابع الناجح وكل شيء يحدث قبل ذلك (أي قبل الفترتين الزمنيتين المتتاليتين التي يكون فيهما x=1 و z=0 يعتبر غير مهم).
إن حدث الآن وكانت قيمة (x) في الفترة الثالثة (x=1)فإن هذا الواحد سيصبح الخانة الأولى في التتابع المطلوب. وبما أنه لم يطرأ أي تغيير نتيجة لذلك يشار إلى الفترة الثالثة بواسطة السهم المبتدأ من الحالة (A) والمنتهي عند الحالة (A) ويوضع على هذا السهم اللافتة (0/1) للإشارة إلى أن (z=0) عندما (x=1) وأن الحالة الثالثة هي الحالة (A) نفسها.
لنفترض الآن أن القيم الأربعة التالية للدخل هي (x=0010) أي أن تتابعا صحيحياً قد ظهر في هذه الحالة يجب تذكر حدوث كل خطوة من هذه الخطوات لذلك يولد كل دخل حالة جديدة كما هو مبين في الشكل السابق تولد القيمة الأخيرة (x=0) خرجاً (z=1) وعند الحافة القادحة التالية يعود النظام إلى الحالة (E).
يظهر المخطط (آ) مخطط الحالة كاملاً (سواء كان المخطط صحيحاً أم غير صحيح لا يصبح المخطط كاملاً ما لم ينطلق من كل حالة سهمان). وكما هو مبين عندما يكون النظام في الحالة (B) وتأخذ (x) القيمة (x=1) يصبح التتابع غير مقبول ولا يمكن الانتقال من الحالة (B) إلى الحالة (C). لذلك نقدم حالة جديدة وهي (F). ومن الملاحظ أن (F) هي الحالة التي يتم الوصول إليها بعد التتابع (1001) أي هي حالة تذكر أن الخانة الأولى (آخر واحد) للتتابع المطلوب قد تم استلامها.
إذا افترضنا الآن أن الدخل التالي هو (x=0) والنظام موجود في (F) يصبح التتابع (11010) وكل ما نحتاج تذكره عن هذا التتابع هو أن آخر خانتين أي (10) هما أول خانتين في التتابع المطلوب. ولكن هذا هو بالضبط ما يتم حفظه في الحالة (B) لذلك نرى في المخطط (آ) أن (x=0) يعطي (z=0) والحالة التالية هي (B) (انظر السهم الخارج من F والمتجه إلى B). أما إذا كان الدخل التالي هو (x=1) فإن آخر خانتين هما
(11) وينتقل النظام إلى الحالة (A) لأن تعريف هذه الحالة هو أنها الحالة التي يصل إليها النظام بعد واحدين متتاليين (انظر السهم الخارج من F والمتجه إلى A).
إذا كان الدخل التالي (x=0) والنظام موجود في الحالة (C) يصبح لدينا ثلاث أصفار متتالية وبالتالي يكون التتابع غير مقبول ولا يمكن الانتقال من (C) إلى (D). لذلك نقدم الحالة الجديدة (G) التي تعرف بأنها التي تتذكر بأن التتابع لم يعد مقبولاً لوجود أكثر من صفرين وأنه لا يمكن الحصول على تتابع صحيح ما لم يظهر واحد (1).
عندما يكون النظام في الحالة (G) لا تسبب أي أصفار تالية تغيير ما يجب تذكره. لذلك يسبب الدخل (x=0) بقاء النظام في الحالة (G). من ناحية أخرى إذا كان النظام في الحالة (G) وجاء الدخل مساوياً إلى (x=1) نكون قد حصلنا على أول خانة في التتابع المطلوب لذلك
ينتقل النظام إلى الحالة (F) التي تتذكر أن أول خانة قد تم استلامها معطياً على الخرج (z=0).
عندما تكون (x=1) والنظام في الحالة (D) فهذا يعني بأن واحدين متتاليين قد تم استلامهما. وهذه الحقيقة كما وجدنا مخزنة في الحالة (A) لذلك عند ورود (x=1) يتم الانتقال من الحالة (D) إلى الحالة (A) ويكون الخرج مساوياً إلى (z=0) وأخيراً لنتذكر بأن تداخل التتابعات مسموح لذا فإن الوصول إلى الحالة
(E) لا يعني فقط الحصول على التتابع الصحيح وإنا يعني أيضاً الحصول على أول خانتين في التتابع المطلوب التالي.
لذلك إذا كانت (x=0) ونحن في الحالة (E) نحصل على التتابع (100) أي الخانات الثلاث الأولى من التتابع المطلوب وبما أن هذا التتابع هو بالضبط التتابع الذي يقود إلى الحالة (C) فإن مجيء (x=0) يسبب الانتقال من (E) إلى (C) وبهذا يكمل مخطط الحالة.
عند إنشاء مخطط الحالة من الممكن أن يصل أشخاص مختلفون إلى مخططات مختلفة في الشكل ومع ذلك صحيحة. لكن عندما يتم التخلص من الحالات الزائدة يجب أن تصبح هذه المخططات متطابقة (بالطبع هناك احتمال لاختلاف أسماء الحالات فقط بين مخطط وآخر). ولإعطاء مثال عن كيف يؤدي التفكير المختلف إلى الوصول إلى مخططات مختلفة نورد المخطط المبين في الشكل (ب) والذي يختلف عن المخطط المبين في الشكل (آ) بنقطة واحدة فقط وهي أن النظام ينتقل عندما (x=0) من الحالة (F) إلى (B) في المخطط الأول بينما ينتقل من (F) إلى (E) في المخطط الثاني وهذا الفرق مسموح به لأن الحالة (B) هي الحالة التي يتم فيها تذكر أن الخانتين السابقتين مباشرة هما الواحد أولاً ثم الصفر وهذا التتابع هو بالضبط الذي يؤدي إلى الوصول إلى الحالة (E) وما عداه من معلومات غير مهم.
لنقوم الآن بتطبيق خطوات التخلص من الحالات الزائدة التي استعرضناها سابقاً على مخططي الحالة المبينين في الشكل (آ) و(ب) ولنبدأ أولاً بتشكيل جدول الحالة (12) للمخطط المبين في الشكل (آ) بتفحص الجدول نلاحظ أن الحالة (F) هي نفس الحالة (A). لذلك تم حذف الحالة (A) لنحصل على الجدول (13) الذي بتفحصه أيضاً نلاحظ أن الحالة (E) هي نفس الحالة (B) لذلك تحذف الحالة (E) منه فنحصل على الجدول (14) الذي لا يمكن اختصار أي حالة منه بطريقة الفحص. وإذا أجرينا الآن طريقة التقسيم نتأكد من عدم إمكانية الاختصار.
نعود الآن إلى مخطط الحالة المبين في الشكل (ب) لنشكل منه جدول الحالة (15) الذي نلاحظ بتفحصه عدم إمكانية اختصار أي حالة. لذلك نلجأ إلى طريقة التقسيم وتظهر الجداول (16) (17) (18) (19) (20) خطوات هذه الطريقة التي تعطي في النهاية الجدول (20) المتطابق مع الجدول (14).
نلاحظ من الأمثلة السابقة أن فحص مخطط الحالة أو الجدول يؤدي في بعض الأحيان إلى اختصار الصيغ الزائدة بشكل كامل وأحياناً لا يؤدي إلى ذلك. ونضطر عندها إلى استخدام طريقة التقسيم. ومع أن استخدام طريقة التقسيم مباشرة يمكن أن يؤدي إلى الاختصار لكن يفضل تجريب طريقة الفحص أولاً لأنها أسهل استخداماً.
عندما يتم توليد جدول الحالة والتخلص من الحالات الزائدة نتابع تطبيق خطوات التصميم الموضحة في الشكل (14) وبما أن عدد الحالات في المثال الراهن هو خمسة فسنحتاج إلى ثلاثة قلابات. فإذا اخترنا القلابات (JK) وجب توليد سبع مخططات كارناف (واحد لكل مدخل من مداخل القلابات وواحد للمخرج z). وهذه الجداول يجب أن يتكون كل منها من أربعة متحولات لأن الحالة التالية تعتمد على الحالة الحاضرة والمحددة بواسطة القلابات الثلاثة وعلى الدخل (x).
بعد ملء هذه الجداول بالقيم المناسبة يتم استخراج العلاقات المنطقية الممثلة لكل مدخل من مداخل القلابات (J) و(K) وللخرج (z). وبالاعتماد على هذه القلابات يمكن رسم مخطط الدارة النهائي.