गतिशील तर्क (डिजिटल इलेक्ट्रॉनिक्स)

इंटीग्रेटेड सर्किट डिज़ाइन में, डायनेमिक लॉजिक (या कभी-कभी क्लॉक्ड लॉजिक) कॉम्बिनेशन लॉजिक सर्किट में एक डिज़ाइन पद्धति है, जो विशेष रूप से मेटल-ऑक्साइड-अर्धचालक (एमओएस) कार्यविधि में कार्यान्वित की जाती है। स्ट्रे और गेट कैपेसिटेंस में सूचना के अस्थायी संचयन का उपयोग करके इसे तथाकथित स्टैटिक लॉजिक से भिन्न किया जाता है। यह 1970 के दशक में लोकप्रिय था और वर्तमान में हाई-स्पीड डिजिटल इलेक्ट्रॉनिक्स विशेष रूप से केंद्रीय प्रसंस्करण इकाइयों (सीपीयू) के डिजाइन में पुनरुत्थान देखा गया है। डायनेमिक लॉजिक सर्किट सामान्यतः स्थिर समकक्षों की तुलना में तेज़ होते हैं और कम सतह क्षेत्र की आवश्यकता होती है, किन्तु इन्हें डिज़ाइन करना अधिक कठिन होता है। स्टैटिक लॉजिक की तुलना में डायनेमिक लॉजिक में वोल्टेज संक्रमण की औसत दर अधिक होती है, किन्तु परिवर्तित होने वाले कैपेसिटिव लोड छोटे होते हैं इसलिए विभिन्न ट्रेडऑफ़ के आधार पर डायनेमिक लॉजिक की कुल बिजली व्यय अधिक या कम हो सकती है। किसी विशेष लॉजिक वर्ग का उल्लेख करते समय, डायनेमिक विशेषण सामान्यतः डिज़ाइन पद्धति जैसे डायनेमिक सीएमओएस या डायनेमिक एसओआई डिज़ाइन को भिन्न करने के लिए पर्याप्त होता है।

कैपेसिटेंस पर वोल्टेज के माध्यम से डायनेमिक स्थिति संचयन के उपयोग के अतिरिक्त, डायनेमिक लॉजिक को तथाकथित स्टैटिक लॉजिक से भिन्न किया जाता है क्योंकि डायनेमिक लॉजिक संयोजन लॉजिक के कार्यान्वयन में एक घड़ी संकेत का उपयोग करता है। क्लॉक सिग्नल का सामान्य उपयोग अनुक्रमिक लॉजिक सर्किट में संक्रमण को सिंक्रनाइज़ करना है। संयोजन लॉजिक के अधिकांश कार्यान्वयन के लिए, घड़ी संकेत की भी आवश्यकता नहीं होती है। कॉम्बिनेटरियल सर्किट को संदर्भित करने के लिए उपयोग की जाने वाली स्थिर/डायनेमिक शब्दावली मेमोरी उपकरणों को भिन्न करने के लिए उपयोग किए जाने वाले समान विशेषणों के उपयोग से संबंधित है, उदाहरण के लिए डायनेमिक रैम से स्थिर रैम, उस डायनेमिक रैम में कैपेसिटेंस पर वोल्टेज के रूप में स्थिति को डायनेमिक रूप से संग्रहीत किया जाता है, जिसे समय-समय पर रिफ्रेश किया जाना चाहिए। किन्तु उपयोग में भी अंतर हैं; डायनेमिक लॉजिक और स्टैटिक स्टोरेज वाले सिस्टम में घड़ी को उचित चरण में रोका जा सकता है।

स्थिर बनाम डायनेमिक लॉजिक
स्थिर और डायनेमिक लॉजिक के बीच सबसे बड़ा अंतर यह है कि डायनेमिक लॉजिक में, संयोजन लॉजिक का मूल्यांकन करने के लिए घड़ी संकेत का उपयोग किया जाता है। अधिकांश प्रकार के लॉजिक डिज़ाइन में, जिसे स्टैटिक लॉजिक कहा जाता है, आउटपुट को उच्च या निम्न स्तर पर चलाने के लिए हमेशा कुछ तंत्र होता है। कई लोकप्रिय लॉजिक शैलियों में, जैसे कि ट्रांजिस्टर-ट्रांजिस्टर लॉजिक और पारंपरिक सीएमओएस, इस सिद्धांत को बयान के रूप में दोहराया जा सकता है कि आउटपुट और या तो आपूर्ति वोल्टेज या ग्राउंड (बिजली) के बीच हमेशा कम-प्रतिबाधा डीसी पथ होता है।. साइड नोट के रूप में, निश्चित रूप से, उच्च विद्युत प्रतिबाधा आउटपुट के मामले में इस परिभाषा में अपवाद है, जैसे कि त्रि-राज्य बफर; हालाँकि, इन मामलों में भी, सर्किट को बड़े सिस्टम के भीतर उपयोग करने का इरादा है जहां कुछ तंत्र आउटपुट चलाएंगे, और वे स्टैटिक लॉजिक से भिन्न नहीं हैं।

इसके विपरीत, डायनेमिक लॉजिक में, हमेशा आउटपुट को उच्च या निम्न चलाने वाला कोई तंत्र नहीं होता है। इस अवधारणा के सबसे सामान्य संस्करण में, घड़ी चक्र के भिन्न-भिन्न हिस्सों के दौरान आउटपुट उच्च या निम्न संचालित होता है। समय अंतराल के दौरान जब आउटपुट को सक्रिय रूप से संचालित नहीं किया जा रहा है, आवारा कैपेसिटेंस इसे संचालित स्तर की कुछ सहनशीलता सीमा के भीतर स्तर बनाए रखने का कारण बनता है।

डायनेमिक लॉजिक के लिए इतनी तेज़ न्यूनतम क्लॉक दर की आवश्यकता होती है कि प्रत्येक डायनेमिक गेट की आउटपुट स्थिति का उपयोग या रिफ्रेश किया जा सके, इससे पहले कि आउटपुट कैपेसिटेंस में चार्ज इतना लीक हो जाए कि क्लॉक चक्र के भाग के दौरान आउटपुट की डिजिटल स्थिति बदल जाए। आउटपुट सक्रिय रूप से संचालित नहीं हो रहा है.

स्टैटिक लॉजिक की कोई न्यूनतम घड़ी दर नहीं है - घड़ी को अनिश्चित काल तक रोका जा सकता है। हालांकि ऐसा लग सकता है कि लंबे समय तक कुछ भी नहीं करना विशेष रूप से उपयोगी नहीं है, इससे तीन फायदे होते हैं: किसी भी समय किसी भी अवधि के लिए सिस्टम को रोकने में सक्षम होने का उपयोग सीपीयू को एसिंक्रोनस इवेंट में सिंक्रनाइज़ करने के लिए भी किया जा सकता है। जबकि ऐसा करने के लिए अन्य तंत्र हैं, जैसे इंटरप्ट, पोलिंग लूप, प्रोसेसर निष्क्रिय इनपुट पिन (उदाहरण के लिए, एमओएस टेक्नोलॉजी 6502 पर आरडीवाई), या प्रोसेसर बस चक्र विस्तार तंत्र जैसे WAIT इनपुट, घड़ी को गेट करने के लिए हार्डवेयर का उपयोग करना स्टेटिक-कोर सीपीयू सरल है, अस्थायी रूप से अधिक सटीक है, कोई प्रोग्राम कोड मेमोरी का उपयोग नहीं करता है, और प्रतीक्षा करते समय सीपीयू में लगभग कोई शक्ति का उपयोग नहीं होता है। मूल डिज़ाइन में, प्रतीक्षा शुरू करने के लिए, सीपीयू बाइनरी लैच बिट सेट करने के लिए रजिस्टर को लिखेगा जो प्रोसेसर घड़ी के साथ ANDed या ORed होगा, जिससे प्रोसेसर रुक जाएगा। परिधीय उपकरण से सिग्नल इस कुंडी को रीसेट कर देगा, जिससे सीपीयू संचालन फिर से शुरू हो जाएगा। यह सुनिश्चित करने के लिए हार्डवेयर लॉजिक को आवश्यक रूप से लैच नियंत्रण इनपुट को गेट करना चाहिए कि लैच आउटपुट ट्रांज़िशन के कारण क्लॉक सिग्नल का स्तर तुरंत नहीं बदलता है और क्लॉक पल्स, या तो उच्च या निम्न, जो सामान्य से कम है, का कारण नहीं बनता है।
 * किसी भी समय किसी सिस्टम को रोकने में सक्षम होने से डिबगिंग और परीक्षण बहुत आसान हो जाता है, जिससे निर्देश चरण जैसी तकनीकें सक्षम हो जाती हैं।
 * किसी सिस्टम को बेहद कम घड़ी की दर  पर चलाने में सक्षम होने से कम-शक्ति वाले इलेक्ट्रॉनिक्स को दी गई बैटरी पर लंबे समय तक चलने की अनुमति मिलती है।
 * पूर्णतः स्टैटिक प्रणाली तुरंत वहीं से शुरू हो सकती है जहां से इसे छोड़ा था; किसी व्यक्ति को सिस्टम के बूट होने या फिर से शुरू होने का इंतजार नहीं करना पड़ता है।

विशेष रूप से, हालांकि कई लोकप्रिय सीपीयू डायनेमिक लॉजिक का उपयोग करते हैं, केवल स्टैटिक कोर - पूरी तरह से स्टैटिक प्रौद्योगिकी के साथ डिजाइन किए गए सीपीयू - अपने उच्च विकिरण सख्त होने के कारण अंतरिक्ष उपग्रहों में उपयोग करने योग्य हैं।

जब ठीक से डिज़ाइन किया जाता है, तो डायनेमिक लॉजिक स्टैटिक लॉजिक से दोगुना तेज़ हो सकता है। यह केवल MOSFET#सिंगल-टाइप का उपयोग करता है, जो ट्रांजिस्टर आकार अनुकूलन में सुधार करता है। स्टैटिक लॉजिक धीमा है क्योंकि इसमें संधारित्र  इलेक्ट्रॉनिक लोड दोगुना है, उच्च  सीमा वोल्टेज  है, और लॉजिक के लिए धीमे पी ट्रांजिस्टर का उपयोग करता है। डायनेमिक लॉजिक के साथ काम करना कठिन हो सकता है, किन्तु बढ़ी हुई प्रसंस्करण गति की आवश्यकता होने पर यह एकमात्र विकल्प हो सकता है। आजकल अधिकांश इलेक्ट्रॉनिक्स 2 गीगाहर्ट्ज़ से अधिक पर चल रहे हैं  को डायनेमिक लॉजिक की आवश्यकता होती है, हालांकि इंटेल जैसे कुछ निर्माताओं ने बिजली की व्यय को कम करने के लिए पूरी तरह से स्थिर लॉजिक का उपयोग करके चिप्स डिजाइन किए हैं। ध्यान दें कि बिजली के उपयोग को कम करने से न केवल सीमित बिजली स्रोतों जैसे बैटरी या सौर सरणी (अंतरिक्ष यान में) के साथ चलने का समय बढ़ जाता है, बल्कि यह थर्मल डिजाइन आवश्यकताओं को भी कम कर देता है, आवश्यक हीटसिंक, पंखे आदि के आकार को कम कर देता है, जो कि टर्न से सिस्टम का वजन और लागत कम हो जाती है।

सामान्य तौर पर, डायनेमिक लॉजिक किसी भी समय स्विच करने वाले ट्रांजिस्टर की संख्या को काफी बढ़ा देता है, जिससे स्टैटिक सीएमओएस पर बिजली की व्यय बढ़ जाती है। ऐसे कई कम-शक्ति वाले इलेक्ट्रॉनिक्स हैं जिन्हें डायनेमिक लॉजिक आधारित प्रणाली में लागू किया जा सकता है। इसके अतिरिक्त, प्रत्येक रेल मनमाने ढंग से बिट्स की संख्या बता सकती है, और बिजली बर्बाद करने वाली कोई गड़बड़ नहीं है। डायनेमिक लॉजिक में पावर-सेविंग क्लॉक गेटिंग और एसिंक्रोनस कार्यविधि बहुत अधिक स्वाभाविक हैं।

स्टैटिक लॉजिक उदाहरण
उदाहरण के तौर पर, CMOS NAND गेट के स्थिर लॉजिक कार्यान्वयन पर विचार करें:

यह सर्किट लॉजिक फ़ंक्शन को कार्यान्वित करता है
 * $$Out = \overline{AB}$$

यदि ए और बी दोनों ऊंचे हैं, तो आउटपुट कम खींचा जाएगा। यदि A या B में से कोई भी कम है, तो आउटपुट उच्च खींचा जाएगा। हर समय, आउटपुट या तो कम या अधिक खींचा जाता है।

डायनेमिक लॉजिक उदाहरण
अब उसी लॉजिक फ़ंक्शन के डायनेमिक लॉजिक कार्यान्वयन पर विचार करें:

डायनेमिक लॉजिक सर्किट को दो चरणों की आवश्यकता होती है। पहला चरण, जब क्लॉक कम होती है, सेटअप चरण या प्रीचार्ज चरण कहा जाता है, और दूसरा चरण, जब क्लॉक अधिक होता है, मूल्यांकन चरण कहा जाता है। सेटअप चरण में, आउटपुट को बिना किसी शर्त के उच्च संचालित किया जाता है (इनपुट ए और बी के मूल्यों पर कोई फर्क नहीं पड़ता)। संधारित्र, जो इस गेट की भार धारिता का प्रतिनिधित्व करता है, आवेशित हो जाता है। चूँकि नीचे का ट्रांजिस्टर बंद है, इस चरण के दौरान आउटपुट को कम गति पर चलाना असंभव है।

मूल्यांकन चरण के दौरान, घड़ी ऊँची होती है। यदि ए और बी भी ऊंचे हैं, तो आउटपुट कम खींचा जाएगा। अन्यथा, आउटपुट उच्च रहता है (लोड कैपेसिटेंस के कारण)।

डायनेमिक लॉजिक में कुछ संभावित समस्याएँ हैं जो स्टैटिक लॉजिक में नहीं हैं। उदाहरण के लिए, यदि घड़ी की गति बहुत धीमी है, तो आउटपुट उपयोग के लिए बहुत जल्दी खराब हो जाएगा। इसके अतिरिक्त, आउटपुट प्रत्येक घड़ी चक्र के केवल भाग के लिए मान्य है, इसलिए इससे जुड़े डिवाइस को वैध होने पर इसे समकालिक रूप से नमूना करना होगा।

इसके अतिरिक्त, जब ए और बी दोनों उच्च होते हैं, ताकि आउटपुट कम हो, तो सर्किट प्रत्येक घड़ी चक्र के लिए वीडीडी से जमीन पर चार्ज के कैपेसिटर लोड को पहले चार्ज करके और फिर प्रत्येक घड़ी चक्र में कैपेसिटर को डिस्चार्ज करके पंप करेगा। यह सर्किट को (उच्च प्रतिबाधा से जुड़े आउटपुट के साथ) स्थिर संस्करण की तुलना में कम कुशल बनाता है (जो सैद्धांतिक रूप से आउटपुट के अतिरिक्त किसी भी धारा को प्रवाहित करने की अनुमति नहीं देनी चाहिए), और जब ए और बी इनपुट स्थिर होते हैं और दोनों उच्च होते हैं, डायनेमिक NAND गेट, जब तक यह सही ढंग से कार्य करता है, घड़ी दर के अनुपात में शक्ति का उपयोग करता है। भार धारिता को कम रखकर बिजली अपव्यय को कम किया जा सकता है। यह, बदले में, अधिकतम चक्र समय को कम कर देता है, जिसके लिए उच्च न्यूनतम घड़ी आवृत्ति की आवश्यकता होती है; उच्च आवृत्ति तब उल्लिखित संबंध द्वारा बिजली की व्यय को बढ़ाती है। इसलिए, घड़ी की गति और लोड कैपेसिटेंस के बीच संतुलन से प्राप्त निश्चित सीमा से नीचे निष्क्रिय बिजली की व्यय (जब दोनों इनपुट अधिक हों) को कम करना असंभव है।

लोकप्रिय कार्यान्वयन डोमिनोज़ लॉजिक है।

यह भी देखें

 * डोमिनोज़ लॉजिक
 * अनुक्रमिक लॉजिक

संदर्भ
General references
 * Chapter 9, "Dynamic logic circuits" (chapter 7 in the 2nd edition)
 * Chapter 14, "Dynamic logic gates"
 * Chapter 7, "Dynamic SOI Design"

बाहरी संबंध

 * Introduction to CMOS VLSI Design – Lecture 9: Circuit Families – David Harris' lecture notes on the subject.