منطق تسلسلي

في نظرية الدوائر الرقمية، يعتبر المنطق التسلسلي واحدًا من أنواع المنطق الرقمي الذي لا تعتمد مخرجاته على القيمة الحالية للإشارات المدخل فقط بل تعتمد أيضا على تسلسل المدخلاات السابقة أو تاريخ المدخلات.

وهذا يعاكس الحال في المنطق التوافقي الذي تعتمد مخرجاته على قيمة المدخلات الحالية فقط، هذا يعني أن المنطق التسلسلي يملك ما يسمى بالحالات (States)، تمثل ذاكرة تؤثر على المخرجات بينما لا يمتلك المنطق التوافقي ذلك.

يستعمل المنطق التسلسلي لبناء ما يسمى الأجهزة الحالية المحدودة (Finite State Machines)، وهي وحدة بناء أساسية في كل الدارات الرقمية، حيث أن كل الدارات في الأجهزة الرقمية العملية هي خليط بين المنطقين التوافقي والتسلسلي.

من الأمثلة المألوفة للمنطق التسلسلي هو التلفاز العادي اللذي يملك مفتاحين لتغيير القناة (للأعلى أو للأسفل)، عند الضغط على مفتاح «أعلى» فإن ذلك يصدر أمر للتلفاز بالانتقال للقناة اللتي تقع «فوق» القناة اللتي كان عليها أصلًا، فإذا كان على قناة 5 مثلًا فإنه ينتقل لقناة 6، بينما إذا كان على قناة 8 فإن الضغط على زر «أعلى» ينقله إلى قناة 9. لكي يعمل التلفاز بطريقة صحيحة ويختار القناة الصحيحة على التلفاز أن يكون مدركًا للقناة اللتي يتلقاها حاليًا، واللتي تم تجديدها من القنوات السابقة، حيث يقوم التلفاز بتخزين القناة الحالية كجزء من «حالة» هذا التلفاز، وعند إعطاء أمر «أعلى» أو «أسفل»، تقوم الدارة المنطقية التسلسلية في التلفاز بحساب القناة التالية بناءً على الأمر المدخل والحالة السابقة (القناة الحالية).

تقسم دارات المنطق الرقمي التسلسلي إلى نوعين: متزامن (Synchronous) وغير متزامن (Asynchronous)، في الدارات المتزامنة، يتم تغيير حالة الجهاز في أزمنة محددة فقط تبعًا لإشارة ساعة (Clock Signal)، بينما في الدارات غير المتزامنة، يمكن تغيير حالة الجهاز في أي وقت تبعًا لتغير في المدخلات.

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

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

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

يمتلك المنطق المتزامن ميزتان رئيستان:
 ·يتم تحديد السرعة القصوى لنبضات الساعة من قبل أبطأ ممر منطقي في الدارة وما يعرف بالممر الحرج (Critical Path)، وكل عملية حسابية منطقية من الأبسط إلى الأكثر تعقيدًا يجب أن تتم خلال دورة ساعة واحدة.بالتالي، فإن الممرات المنطقية اللتي تتم عملياتها الحسابية بسرعة تكون فاترة أغلب الوقت، تنتظر الدورة القادمة، لهذا السبب فإن المنطق المتزامن يمكن أن يكون أبطأ من المنطق غير المتزامن. هناك طريقة لتسريع تلك العملية عن طريق تقسيم العمليات المعقدة إلى مجموعة من العمليات البسيطة اللتي يمكن تنفيذها بدورات ساعية متتالية، تدعى هذه الطريقة «التوزيع» (Pipe-lining)، واللتي يتم استعمالها بشكل كبير في تصميم المعالجات الدقيقة حيث تحسن من أداء تلك المعالجات. 
   يجب توزيع إشارة الساعة لكل قلاب في الدارة، ولأن تردد إشارة الساعة يكون في العادة عاليًا جدًا، فإن ذلك التوزيع يستنفذ كمية كبيرة نسبيًا من الطاقة ويولد مقدارًا عاليًا من الحرارة، وحتى القلابات اللتي لاتعمل شيئًا تستهلك مقدارًا من الطاقة، وهذا يولد حرارة لا فائدة منها في الرقاقة الإلكترونية، هذا يعني أنه في الأجهزة المحمولة اللتي تمتلك مقدارًا محدودًا من الطاقة، تبقى إشارة الساعة تعمل وتستهلك الطاقة حتى عند عدم استعمال الجهاز.

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

مع ذلك فإن المنطق التسلسلي غير المتزامن صعب التصميم وهو عرضة لمشاكل لا يتعرض لها المنطق المتزامن، من تلك المشاكل هي أن العناصر الذاكرة الرقمية حساسة للترتيب اللذي تصل به إشارات مدخلاتهم، فإذا وصلت إشارتان على قلاب في نفس الوقت تقريبًا، فإن الحالة اللتي يذهب إليها القلاب تعتمد على أي من الإشارتين وصلت للبوابة أولًا، لهذا فإن الدارة يمكن أن تذهب للحالة الخطأ بسبب فروقات بسيطة في زمن الانتشار لتلك البوابات المنطقية.هذا يدعى «حالة السباق» (Race Condition)، وهذه المشكلة ليست كبيرة في المنطق المتسلسل لأن الحالة تتغير في المنطق المتزامن فقط عند وصول إشار من الساعة، والمدة بين نبضات الساعة تكون كافية لإعطاء البوابات المنطقية الوقت الكاف للاستجابة للتغيرات على مدخلاتها و«الاستقرار» على قيمة منطقية محددة قبل حدوث نبضة الساعة التالية، ولهذا تكون مشكلة التوقيت الوحيدة هي من «المدخلات غير المتزمنة» اللتي تأتي من نظام آخر غير متزامن مع ساعة هذا النظام.

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

أما تصميم دارات المنطق غير المتزامن فيستخدم به نماذج رياضية وطرق مختلفة عن تلك في المنطق المتزامن، وهي محل دراسة جارية.

مراجع 

إلكترونيات رقمية
منطق في علم الحاسوب
نظرية التشغيل الذاتي