काउंटर (डिजिटल)

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

काउंटर सर्किट सामान्यतः कई फ्लिप-फ्लॉप (इलेक्ट्रॉनिक्स) से बना होता है। फ्लिप-फ्लॉप कैस्केड में जुड़े होते हैं। काउंटर डिजिटल सर्किट में बहुत व्यापक रूप से उपयोग किए जाने वाले घटक हैं, और अलग-अलग एकीकृत सर्किट के रूप में निर्मित होते हैं और बड़े एकीकृत सर्किट के भाग के रूप में भी सम्मलित होते हैं।

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

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

कुछ काउंटर एक टर्मिनल काउंट आउटपुट प्रदान करते हैं जो इंगित करता है कि अगली घड़ी ओवरफ्लो या अंडरफ्लो का कारण बनेगी। यह सामान्यतः एक काउंटर के टर्मिनल काउंट आउटपुट को अगले काउंटर के इनेबल इनपुट से जोड़कर काउंटर कैस्केडिंग (दो या दो से अधिक काउंटरों को मिलाकर एक सिंगल, बड़ा काउंटर बनाने के लिए) को लागू करने के लिए उपयोग किया जाता है।

काउंटर का मॉड्यूलस काउंट श्रृंखला में राज्यों की संख्या होता है। अधिकतम संभावित मॉड्यूलस फ्लिप-फ्लॉप्स की संख्या द्वारा निर्धारित होता है। उदाहरण के लिए, एक चार-बिट काउंटर का मॉड्यूलस 16 (2^4) तक हो सकता है।

काउंटरों को सामान्यतः सिंक्रोनस या एसिंक्रोनस के रूप में वर्गीकृत किया जाता है। तुल्यकालिक काउंटरों में, सभी फ्लिप-फ्लॉप एक सामान्य घड़ी साझा करते हैं और एक ही समय में स्थिति बदलते हैं। अतुल्यकालिक काउंटरों में, प्रत्येक फ्लिप-फ्लॉप में एक अनूठी घड़ी होती है, और फ्लिप-फ्लॉप राज्य अलग-अलग समय पर बदलते हैं।

तुल्यकालिक काउंटरों को विभिन्न तरीकों से वर्गीकृत किया जाता है। उदाहरण के लिए:
 * मापांक काउंटर–राज्यों की एक विशेष संख्या के माध्यम से गिना जाता है।
 * दशक काउंटर - मापांक दस काउंटर (दस राज्यों के माध्यम से गिना जाता है)।
 * ऊपर/नीचे काउंटर - एक नियंत्रण इनपुट द्वारा निर्देशित के रूप में ऊपर और नीचे गिना जाता है।
 * रिंग काउंटर - एक सर्कुलर शिफ्ट का रजिस्टर द्वारा गठित।
 * जॉनसन काउंटर - एक मुड़ा हुआ रिंग काउंटर।
 * ग्रे-कोड काउंटर - ग्रे कोड के अनुक्रम को आउटपुट करता है।

काउंटरों को विभिन्न विधि से लागू किया जाता है, जिसमें समर्पित मध्यम-स्तरीय एकीकरण और बड़े पैमाने पर एकीकरण एकीकृत सर्किट सम्मलित हैं, ASICs के भीतर एम्बेडेड काउंटरों के रूप में, माइक्रोकंट्रोलर में सामान्य-उद्देश्य काउंटर और टाइमर बाह्य उपकरणों के रूप में, और FPGAs में सेमीकंडक्टर बौद्धिक संपदा कोर के रूप में होते है।

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

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

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

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

तुल्यकालिक काउंटर
एक तुल्यकालिक काउंटर में, फ्लिप-फ्लॉप के क्लॉक इनपुट जुड़े होते हैं, और सामान्य घड़ी एक साथ सभी फ्लिप-फ्लॉप को ट्रिगर करती है। परिणाम स्वरुप, सभी फ्लिप-फ्लॉप एक ही समय में (समानांतर में) स्थिति बदलते हैं।

उदाहरण के लिए, दाईं ओर दिखाया गया सर्किट जेके फ्लिप-फ्लॉप के साथ कार्यान्वित एक आरोही (अप-काउंटिंग) चार-बिट सिंक्रोनस काउंटर है। इस काउंटर के प्रत्येक बिट को टॉगल करने की अनुमति दी जाती है जब सभी कम महत्वपूर्ण बिट तर्क उच्च स्थिति में होते हैं। क्लॉक राइजिंग एज पर, बिट 1 टॉगल करता है यदि बिट 0 लॉजिक हाई है; बिट 2 टॉगल करता है यदि बिट 0 और 1 दोनों उच्च हैं; यदि बिट 2, 1, और 0 सभी उच्च हैं तो बिट 3 टॉगल करता है।

दशक काउंटर
एक दशक का काउंटर बाइनरी के बजाय दशमलव अंकों में गिना जाता है। एक दशक के काउंटर में प्रत्येक हो सकता है (अर्थात, यह बाइनरी-कोडेड दशमलव में गिना जा सकता है, जैसा कि 7400 श्रृंखला एकीकृत सर्किट एकीकृत सर्किट की सूची में किया गया था) या अन्य बाइनरी एनकोडिंग। एक दशक काउंटर एक बाइनरी काउंटर है जिसे 1001 (दशमलव 9) तक गिनने के लिए डिज़ाइन किया गया है। एक साधारण चार-चरण काउंटर को एक NAND गेट जोड़कर एक दशक काउंटर में आसानी से संशोधित किया जा सकता है जैसा कि योजनाबद्ध में दाईं ओर है। ध्यान दें कि FF2 और FF4 NAND गेट को इनपुट प्रदान करते हैं। NAND गेट आउटपुट प्रत्येक FF के CLR इनपुट से जुड़े होते हैं।. यह 0 से 9 तक गिनता है और फिर शून्य पर रीसेट हो जाता है। रीसेट रेखा को कम करके काउंटर आउटपुट को शून्य पर सेट किया जा सकता है। गिनती तब तक प्रत्येक घड़ी पल्स पर बढ़ जाती है जब तक कि यह 1001 (दशमलव 9) तक नहीं पहुंच जाती। जब यह बढ़कर 1010 (दशमलव 10) हो जाता है, तो NAND गेट के दोनों इनपुट उच्च हो जाते हैं। इसका परिणाम यह होता है कि NAND आउटपुट कम हो जाता है, और काउंटर को शून्य पर रीसेट कर देता है। D नीचे जाना एक CARRY OUT संकेत हो सकता है, यह दर्शाता है कि दस की गिनती हुई है।

रिंग काउंटर
एक रिंग काउंटर एक सर्कुलर शिफ्ट रजिस्टर है जिसे इस तरह प्रारंभ किया जाता है कि इसका केवल एक फ्लिप-फ्लॉप राज्य है जबकि अन्य अपने शून्य राज्यों में हैं।

एक रिंग काउंटर एक शिफ्ट रजिस्टर (फ्लिप-फ्लॉप (इलेक्ट्रॉनिक्स) | फ्लिप-फ्लॉप का एक कैस्केड कनेक्शन) होता है, जिसमें पहले के इनपुट से जुड़ा अंतिम आउटपुट होता है, जो कि एक रिंग में होता है। सामान्यतः, एक बिट से युक्त एक पैटर्न परिचालित किया जाता है, इसलिए यदि एन फ्लिप-फ्लॉप का उपयोग किया जाता है तो राज्य प्रत्येक एन घड़ी चक्र दोहराता है।

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

कंप्यूटर विज्ञान काउंटर
कम्प्यूटेबिलिटी संगणनीयता सिद्धांत, एक काउंटर को एक प्रकार की मेमोरी माना जाता है। एक काउंटर एक एकल प्राकृतिक संख्या (प्रारंभिक में 0 (संख्या)) को संग्रहीत करता है और इच्छानुसार से लंबा हो सकता है। एक काउंटर को सामान्यतः परिमित-राज्य मशीन (एफएसएम) के संयोजन के रूप में माना जाता है, जो काउंटर पर निम्नलिखित कार्य कर सकता है:
 * जांचें कि क्या काउंटर शून्य है
 * काउंटर को एक से बढ़ाएं।
 * काउंटर को एक से कम करें (यदि यह पहले से ही शून्य है, तो यह इसे अपरिवर्तित छोड़ देता है)।

निम्नलिखित मशीनों को शक्ति के क्रम में सूचीबद्ध किया गया है, जिनमें से प्रत्येक अपने से नीचे वाले की समानता में सख्ती से अधिक शक्तिशाली है:
 * 1) नियतात्मक या गैर-नियतात्मक FSM प्लस दो काउंटर
 * 2) गैर-नियतात्मक एफएसएम प्लस वन स्टैक (डेटा संरचना)
 * 3) गैर-नियतात्मक FSM प्लस एक काउंटर
 * 4) नियतात्मक FSM प्लस एक काउंटर
 * 5) नियतात्मक या गैर-नियतात्मक FSM।

पहले और आखिरी के लिए, इससे कोई फर्क नहीं पड़ता कि एफएसएम एक नियतात्मक परिमित स्वचालक है या एक अअनिर्णीत परिमित स्वचालक है। उनके पास समान शक्ति है। पहले दो और आखिरी चॉम्स्की पदानुक्रम के स्तर हैं।

पहली मशीन, एक एफएसएम प्लस टू काउंटर, एक ट्यूरिंग मशीन की शक्ति के बराबर है। प्रमाण के लिए काउंटर मशीन पर लेख देखें।

वेब काउंटर
एक वेब काउंटर या हिट काउंटर एक कंप्यूटर प्रोग्राम है जो आगंतुकों की संख्या या किसी विशेष वेब पृष्ठ को प्राप्त हिट को इंगित करता है। एक बार सेट हो जाने के बाद, वेब ब्राउज़र में वेब पेज तक पहुंचने पर हर बार इन काउंटरों में एक की वृद्धि होगी।

संख्या सामान्यतः एक इनरेखा डिजिटल छवि के रूप में या सादे पाठ में या यांत्रिक काउंटर जैसे भौतिक काउंटर पर प्रदर्शित होती है। छवियों को विभिन्न प्रकार के फ़ॉन्ट, या शैलियों में प्रस्तुत किया जा सकता है; क्लासिक उदाहरण ओडोमीटर के पहिए हैं।

1990 के दशक के मध्य से लेकर 2000 के दशक के प्रारंभ तक वेब काउंटर लोकप्रिय था, बाद में इसकी जगह अधिक विस्तृत और पूर्ण वेब यातायात उपायों ने ले ली थी।

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

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

हैंडहेल्ड टैली काउंटरों का उपयोग मुख्य रूप से घटनाओं में भाग लेने वाले लोगों का जाँचना लेने और उनकी गिनती करने के लिए किया जाता है।

विद्युत काउंटरों का उपयोग टेबुलेटिंग मशीन में कुल योग जमा करने के लिए किया जाता था जो डाटा प्रोसेसिंग उद्योग का नेतृत्व करते थे।

यह भी देखें

 * डिजिटल कनवर्टर का समय समय
 * जिनेवा ड्राइव
 * गति गिनती मोती
 * तसबीह
 * अतुल्यकालिक सर्किट
 * तुल्यकालिक सर्किट