منطق تسلسلي
في نظرية الدوائر الرقمية، يعتبر المنطق التسلسلي واحدًا من أنواع المنطق الرقمي الذي لا تعتمد مخرجاته على القيمة الحالية للإشارات المدخل فقط بل تعتمد أيضا على تسلسل المدخات السابقة أو تاريخ المدخلات..
وهذا يعاكس الحال في المنطق التوافقي (Combinational Logic) الذي تعتمد مخرجاته على قيمة المدخلات الحالية فقط، هذا يعني أن المنطق التسلسلي يملك ما يسمى بالحالات (States)، تمثل ذاكرة تؤثر على المخرجات بينما لا يمتلك المنطق التوافقي ذلك.
يستعمل المنطق التسلسلي لبناء ما يسمى الأجهزة الحالية المحدودة (Finite State Machines)، وهي وحدة بناء أساسية في كل الدارات الرقمية، حيث أن كل الدارات في الأجهزة الرقمية العملية هي خليط بين المنطقين التوافقي و التسلسلي.
من الأمثلة المألوفة للمنطق التسلسلي هو التلفاز العادي اللذي يملك مفتاحين لتغيير القناة (للأعلى أو للأسفل)، عند الضغط على مفتاح "أعلى" فإن ذلك يصدر أمر للتلفازبالانتقال للقناة اللتي تقع "فوق" القناة اللتي كان عليها أصلًا، فإذا كان على قناة 5 مثلًا فإنه ينتقل لقناة 6، بينما إذا كان على قناة 8 فإن الضغط على زر "أعلى" ينقله إلى قناة 9. لكي يعمل التلفز بطريقة صحيحة ويختار القناة الصحيحة على التلفاز أن يكون مدركًا للقناة اللتي يتلقاها حاليًا، واللتي تم تجديدها من القنوات السابقة، حيث يقوم التلفاز بتخزين القناة الحالية كجزء من "حالة" هذا التلفاز، وعند إعطاء أمر "أعلى" أو "أسفل"، تقو الدارة المنطقية التسلسلية في التلفاز بحساب القناة التالية بناءً على الأمر المدخل والحالة السابقة (القناة الحالية).
تقسم دارات المنطق الرقمي التسلسلي إلى نوعين: متزامن (Synchronous) وغير متزامن (Asynchronous)، في الدارات المتزامنة، يتم تغيير حالة الجهاز في أزمنة محددة فقط تبعًا لإشارة ساعة (Clock Signal)، بينما في الدارات غير المتزامنة، يمكن تغيير حالة الجهاز في أي وقت تبعًا لتغير في المدخلات.
إن الأغلبية الساحقة من الدارات المنطقية التلسلية تملك "ساعات" وبالتالي متزامنة، في تلك الدارات يوجد هنالك متذبذب إلكتروني يدعى "الساعة" أو "مولد الساعة" يقوم بتوليد سلسلة من النبضات المترددة تدعى "إشارة الساعة" ويتم توزيع هذه الإشارة إلى جميع العناصر اللتي تعتمد على الذاكرة في الدارة. إن عنصر الذاكرة الأساسي في الدارات المتسلسلة هو "القلاب" (Flip Flop)، اللذي يتغير مخرجه فقط عند "وصول" إشارة من الساعة، هذا يعني أن التغير في حالة كل العناصر في الدارة بأكملها يتم في نفس الوقت، وبأزمنة ثابتة، يتم مزامنتها من قبل الساعة.
إن مخرج كل العناصر الذاكرة (اللتي تملك ذاكرة أو القلابات) في الدارة في زمن معين، والمعلومات الرقمية الثنائية (Binary) اللتي تحتويها تلك المدخلات، تسمى "الحالة" (State) لتلك الدارة. وتلك الحالة تتغير في المنطق المتزامن فقط عند وصول إشار من الساعة، وفي كل دورة، يتم تحديد الحالة القادمة من الحالة الحالية ومن قيمة المدخلات عند لحظة وصول إشارة الساعة.
إن بساطة تلك الدارات هي المميزة الكبرى لها، والبوابات المنطقية اللتي تقوم بعمليات محددة على البيانات تستغرق وقتًا محددًا للاستجابة للتغييرات على مدخلاتها. هذا الوقت يدعى "زمن الانتشار" (Propagation Delay)، وبالتالي، فإن المدة بين نبضات الساعة يجب أن تكون كافية لإعطاء البوابات المنطقية الوقت الكاف للاستجابة للتغيرات على مدخلاتها و"الاستقرار" على قيمة منطقية محددة قبل حدوث نبضة الساعة التالية. ما دام هذا الشرط متحققًا، وبإهمال بعض التفاصيل الأخرى، يتم ضمان أن الدارة مستقرة وعملية، كما يحدد ذلك السرعة العملية القصوى للدارة المتزامنة.
يمتلك المنطق المتزامن ميزتان رئيستان:
المنطق التسلسلي غير المتزامن لا تتم مزامنته من قبل الساعة، حيث أن مخرجاته تستجيب مباشرة عند تغير مدخل معين، وميزة هذا هو أنه يمكن أن يكون أسرع من المنطق التسلسلي المتزامن، لأن الدارة لا تحتاج لانتظار إشارة الساعة لتقوم بمعالجة المدخلات، وسرعة الجهاز يتحدد من زمن الانتشار والبوابات المنطقية المستعملة.
مع ذلك فإن المنطق التسلسلي غير المتزامن صعب التصميم وهو عرضة لمشاكل لا يتعرض لها المنطق المتزامن، من تلك المشاكل هي أن العناصر الذاكرة الرقمية حساسة للترتيب اللذي تصل به إشارات مدخلاتهم، فإذا وصلت إشارتان على قلاب في نفس الوقت تقريبًا، فإن الحالة اللتي يذهب إليها القلاب تعتمد على أي من الإشارتين وصلت للبوابة أولًا، لهذا فإن الدارة يمكن أن تذهب للحالة الخطأ بسبب فروقات بسيطة في زمن الانتشار لتلك البوابات المنطقية.هذا يدعى "حالة السباق" (Race Condition)، وهذه المشكلة ليست كبيرة في المنطق المتسلسل لأن الحالة تتغير في المنطق المتزامن فقط عند وصول إشار من الساعة، والمدة بين نبضات الساعة تكون كافية لإعطاء البوابات المنطقية الوقت الكاف للاستجابة للتغيرات على مدخلاتها و"الاستقرار" على قيمة منطقية محددة قبل حدوث نبضة الساعة التالية، ولهذا تكون مشكلة التوقيت الوحيدة هي من "المدخلات غير المتزمنة" اللتي تأتي من نظام آخر غير متزامن مع ساعة هذا النظام.
تستعمل الدارات غير المتزامنة فقط مع الدارات المتزامنة في الحالات اللتي تكون فيها السرعة أمرًا بالغ الأهمية، ويكون ذلك في المعالجات الدقبقة ودارات معالجة الإشارات الرقمية.
أما تصميم دارات المنطق غير المتزامن فيستخدم به نماذج رياضية وطرق مختلفة عن تلك في المنطق المتزامن، وهي محل دراسة جارية.