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

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

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

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

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

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

स्थैतिक तर्क की कोई न्यूनतम घड़ी दर नहीं है - घड़ी को अनिश्चित काल तक रोका जा सकता है। हालांकि ऐसा लग सकता है कि लंबे समय तक कुछ भी नहीं करना विशेष रूप से उपयोगी नहीं है, इससे तीन फायदे होते हैं: किसी भी समय किसी भी अवधि के लिए सिस्टम को रोकने में सक्षम होने का उपयोग सीपीयू को एसिंक्रोनस इवेंट में सिंक्रनाइज़ करने के लिए भी किया जा सकता है। जबकि ऐसा करने के लिए अन्य तंत्र हैं, जैसे इंटरप्ट, पोलिंग लूप, प्रोसेसर निष्क्रिय इनपुट पिन (उदाहरण के लिए, एमओएस टेक्नोलॉजी 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.