अंकीय इलेक्ट्रॉनिकी

लाभ

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

डिजिटल सर्किट में एनालॉग मुद्दे

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

निर्माण

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

डिजिटल प्रणाली की संरचना

लॉजिक क्रियाओं को कम करने के लिए इंजीनियर कई तरीकों को अपनाते हैं, ताकि सर्किट की जटिलता को कम किया जा सके। जब जटिलता कम होती है तब सर्किट में त्रुटियां और इलेक्ट्रॉनिक्स भी कम होती हैं और इसलिए ये कम महंगे होते हैं।
एक CAD प्रणाली के भीतर एस्प्रेसो हिउरिस्टिक लॉजिक मिनिमाईज़र की तरह एक न्यूनतम एल्गोरिथ्म सबसे व्यापक रूप से इस्तेमाल किया गया सरलीकरण है हालांकि ऐतिहासिक रूप से द्विआधारी निर्णय रेखाचित्र एक स्वचालित Quine-McCluskey एल्गोरिथ्म, ट्रूथ टेबल, करनॉग मानचित्र और बूलियन बीजगणित का प्रयोग किया गया है।
इंजीनियर के डिजिटल सर्किट के डिजाइन के लिए प्रतिनिधित्व महत्वपूर्ण हैं। कुछ विश्लेषण विधियां केवल विशेष प्रतिनिधित्व के साथ काम करती हैं।
लॉजिक गेटों के समकक्ष सेट के साथ डिजिटल सर्किट का प्रतिनिधित्व शास्त्रीय तरीका है। प्रायः कम से कम इलेक्ट्रॉनिक के साथ इलेक्ट्रॉनिक स्विचों के समकक्ष प्रणाली का निर्माण एक दूसरा तरीका है (आम तौर पर ट्रांजिस्टर करता है)। सिर्फ एक ट्रूथ टेबल से युक्त स्मृति आसान तरीकों में से एक होता है। मेमोरी के पते पर इनपुट डाले जाते हैं और मेमोरी के डाटा आऊट्पुट, आऊट्पुट बन जाते हैं।
स्वचालित विश्लेषण के लिए इन प्रतिवेदनों के पास डिजिटल फ़ाइल स्वरूप होते हैं जिसे कंप्यूटर प्रोग्राम द्वारा प्रोसेस किया जा सकता है। अधिकांश डिजिटल इंजीनियर अनुकूल फ़ाइल स्वरूप के साथ कंप्यूटर प्रोग्राम ("उपकरण") के चयन में सावधानी बरतते हैं।
प्रतिवेदन के लिए इंजीनियर डिजिटल सिस्टम के प्रकारों पर विचार करते हैं। अधिकांश डिजिटल सिस्टम "संयोजन सिस्टम" और "अनुक्रमिक सिस्टम" में विभाजित हो जाते हैं। संयोजन प्रणाली में हमेशा जो इनपुट दिया जाता है वही आउटपुट वह देता है। यह मूल रूप से लॉजिक प्रक्रिया के सेट का प्रतिनिधित्व करता है और जिसकी चर्चा पहले ही की जा चुकी है।
अनुक्रमिक प्रणाली इनपुट के रूप में डाले गए आउटपुट के साथ एक संयोजन प्रणाली है। इससे डिजिटल मशीन ऑपेरशन का क्रम से संचालन करता है। सबसे सरल अनुक्रमिक प्रणाली शायद एक फ्लिप फ्लॉप है, एक यंत्रावली जो कि एक बाइनरी अंक या "बिट" का प्रतिनिधित्व करता है।
अनुक्रमिक प्रणाली को अक्सर स्टेट मशीन के रूप में डिजाइन किया जाता है। इस तरीके से इंजीनियर एक सिस्टम के सकल व्यवहार को डिजाइन कर सकते हैं और यहां तक कि लॉजिक प्रक्रियायों के विवरण पर विचार किए बिना सतत अनुकरण में भी इसका परीक्षण कर सकते हैं, बिना तर्क कार्यों के सभी विवरण पर विचार किए।
अनुक्रमिक सिस्टम इसके अतिरिक्त दो उपश्रेणियों में विभाजित होता है। जब एक "क्लॉक" सिग्नल स्टेट को परिवर्तित करता है तब "तुल्यकालिक" अनुक्रमिक प्रणाली एक ही बार में स्टेट को बदल देता है। जब भी इनपुट बदलते हैं "अतुल्यकालिक" अनुक्रमिक प्रणाली परिवर्तन को प्रसारित करता है। तुल्यकालिक अनुक्रमिक सिस्टम अतुल्यकालिक सर्किट की विशेषता से बना होता है जैसे फ्लिप फ्लॉप, जो क्लॉक जब परिवर्तन करता है तभी ये परिवर्तन करता है और जिसमें टाइमिंग मार्जिन को ध्यान से डिजाइन किया जाता है।
हमेशा की तरह एक तुल्यकालिक अनुक्रमिक स्टेट मशीन को एक संयोजन लॉजिक में विभाजित करके लागू करने का व्यावहारिक तरीका होता है और फ्लिप फ्लॉप के सेट को "स्टेट रजिस्टर" कहा जाता है। हर बार एक घड़ी टिक टिक की सिग्नल देती है और स्टेट रजिस्टर संयोजन लॉजिक के पिछले स्टेट से उत्पन्न प्रतिक्रिया पर कब्जा कर लेती है और स्टेट मशीन के संयोजन भाग में अपरिवर्तिनीय इनपुट के रूप में फिर से इसे डाल देती है। संयोजन लॉजिक में समय के खपत वाले अधिकांश लॉजिक आकलन द्वारा घड़ी की सबसे तेज दर सेट होती है।
स्टेट रजिस्टर सिर्फ एक द्विआधारी संख्या का प्रतिनिधित्व करती है। अगर स्टेट मशीन में स्टेट बहुत ज्यादा हैं (आसानी से क्रमबद्ध) तो लॉजिक प्रक्रिया कुछ संयोजन लॉजिक होते हैं जो कई संख्या में स्टेट का उत्पादन करती हैं।
इसकी तुलना में अतुल्यकालिक सिस्टम का डिजाइन बहुत कठिन होता है क्योंकि सभी संभव समय में भी संभावित स्टेट का विचार किया जाना चाहिए। न्यूनतम और अधिकतम समय के टेबल के निर्माण के सबसे सामान्य विधि के अनुसार इसमें सारे स्टेट विद्यमान हो और वैसे स्टेट के मिनीमाइज के लिए सर्किट को समायोजित किया जाता है और जो इसके सभी हिस्सों के सुसंगत स्टेट में समय-समय पर जाने के लिए सर्किट को बाध्य करे. (इसे "सेल्फ-रीसिंक्रोनाइज़ेशन" कहा जाता है।) ऐसे सावधान डिजाइन के बिना संयोगवश अतुल्यकालिक लॉजिक का उत्पादन करना आसान है जो "अस्थिर" है और वास्तविक इलेक्ट्रॉनिक्स है जिसमें अप्रत्याशित परिणाम होते हैं क्योंकि इलेक्ट्रॉनिक उपकरणों के मूल्यों में छोटे बदलावों की वजह से संचित विलम्ब होता है। कुछ सर्किट (जैसे सिंक्रोनाइज़र-फ्लिप फ्लॉप, स्विच डेबाउंसर और जो बाहरी अनसिंक्रोनाइज़ड को अतुल्यकालिक लॉजिक सर्किट में प्रवेश करने की अनुमति देता है) सहज रूप से अपने डिजाइन में अंतर्निहित अतुल्यकालिक रहे हैं और इस तरह ही विश्लेषण किया जाना चाहिए।
2005 के रूप में लगभग सभी डिजिटल मशीनें तुल्यकालिक डिजाइन होते हैं क्योंकि तुल्यकालिक डिजाइन को बनाना और सत्यापित करना बहुत आसान है-वर्तमान में डिजिटल मशीनों की नक़ल करने वाले सॉफ्टवेर, अतुल्यकालिक डिजाइन को नहीं संभालते. तथापि, अतुल्यकालिक तर्क को बेहतर समझा जाता है, यदि उससे काम निकाला जा सके तो, क्योंकि उसकी गति घड़ी द्वारा मनमाने ढंग से गति सीमित नहीं है, बजाय, यह उन लॉजिक गेटों द्वारा अनुमत गति पर सामान्य रूप से चलती है, जिनसे इनका निर्माण किया गया है। तेज़ भागों के उपयोग द्वारा एक अतुल्यकालिक सर्किट निर्माण, अप्रत्यक्ष रूप से सर्किट को तेज़ी से "दौड़ाती" है।
आम तौर पर, कई डिजिटल सिस्टम, डाटा प्रवाह मशीनें हैं। अक्सर इन्हें तुल्यकालिक रजिस्टर हस्तांतरण लॉजिक का उपयोग कर डिजाइन किया जाता है और इसमें VHDL या वेरिलोग हार्डवेयर वर्णन भाषाओं के रूप में प्रयोग किया गया है।
रजिस्टर हस्तांतरण लॉजिक में द्विआधारी संख्या फ्लिप फ्लॉप के समूहों में संग्रहीत हैं जिसे रजिस्टर कहा जाता था। प्रत्येक रजिस्टर का आउटपुट तारों का बंडल है जिसे एक "बस" कहा जाता है जो अन्य आकलन के लिए उस नम्बर को पास रखता है। यह आकलन केवल संयोजन लॉजिक का एक भाग है। प्रत्येक आकलन के पास एक बस आउटपुट होता है और ये कई इनपुट रजिस्टरों से जुड़ा हो सकता है। कभी-कभी एक रजिस्टर के पास इनके इनपुट पर बहुसंकेतक होता है जिससे यह कई बसों में से किसी एक से नम्बर को स्टोर कर सकता है। वैकल्पिक रूप से कई चीजों के आउटपुट को बफर्स के माध्यम से जोड़ा जा सकता है जो एक को छोड़कर सभी उपकरणों के आउटपुट को बंद कर सकता है। इनपुट से प्रत्येक रजिस्टर के नये डाटा को स्वीकार करने पर अनुक्रमिक स्टेट मशीन नियंत्रण करता है।
1980 के दशक में कुछ शोधकर्ताओं ने पाया कि लगभग सभी तुल्यकालिक रजिस्टर-ट्रांसफर मशीनों को फर्स्ट-इन-फर्स्ट-आउट तुल्यकालन लॉजिक का उपयोग करके अतुल्यकालिक डिजाइनों में परिवर्तित किया जा सकता था। इस योजना में डिजिटल मशीन, एक डाटा प्रवाह के एक सेट के रूप में पहचानी जाती है। प्रवाह के हर कदम में, एक अतुल्यकालिक "तुल्यकालन सर्किट" निर्धारित करता है जब उस स्टेप का आउटपुट ठोस और एक प्रस्तुत संकेत देता है कि उन स्टेजों को "डेटा को पकड़ो" जिसमें उन स्टेजों के इनपुट में प्रयोग हुआ है। इसके लिए कुछ अपेक्षाकृत सरल तुल्यकालन सर्किट की आवश्यकता है।
सबसे सामान्य-उद्देश्य ट्रांसफर-लॉजिक मशीन एक कंप्यूटर है। यह मूलतः एक स्वत: बाइनरी अबेकस है। आम तौर पर कंप्यूटर की नियंत्रण इकाई का डिजाइन एक माइक्रो प्रोग्राम के रूप में किया गया है जिसे एक माइक्रोसीक्वेंसर द्वारा चलाया जाता है। यह माइक्रो प्रोग्राम एक प्लेयर-पियानो रोल की तरह होती है। हर तालिका प्रविष्टि या सूक्ष्म प्रोग्राम के "शब्द" स्टेट के हर बिट को कमांड देती है जो कि कंप्यूटर पर नियंत्रण करती है। अनुक्रमक फिर उसे गिनती करता है और मेमोरी या संयोजन लॉजिक मशीन में यह गिनती सम्बोधित करता है जिसमें माइक्रो प्रोग्राम समाहित होता है। माइक्रोप्रोग्राम से बिट्स अंकगणितीय लॉजिक इकाई, मेमोरी और कंप्यूटर के अन्य भागों और स्वयं माइक्रोसिक्योंसर पर नियंत्रण करता है।
इस तरह कंप्यूटर के नियंत्रण की डिजाइनिंग के जटिल कार्य को अपेक्षाकृत काफी सरल लॉजिक मशीनों के संग्रह के सरल कार्यों में परिवर्तित कर दिया गया।
कंप्यूटर आर्किटेक्चर एक विशेष इंजीनियरिंग गतिविधि है जो रजिस्टर, आकलन लॉजिक, बसों और कम्प्यूटर के अन्य भागों को कुछ प्रयोजन के लिए सबसे अच्छे तरीकों से श्रेणीबद्ध करने की कोशिश करता है। कंप्यूटर वास्तुकार ने लागत कम करने और गति को तीव्र करने और कम्प्यूटर प्रोग्रामिंग त्रुटियों की प्रतिरक्षा के लिए कंप्यूटर के डिजाइन में वृहद मात्रा में सुप्रयोग को लगाया है। और तेजी से बैटरी पावर्ड कम्प्यूटर प्रणाली में बिजली को कम करना इसका साधारण उद्देश्य है। कई कंप्यूटर आर्कीटेक माइक्रोप्रोग्रामर्स के रूप में विस्तृत प्रशिक्षुता की सेवा दे रहे हैं।
"विशिष्ट कंप्यूटर" आम तौर पर एक विशेष उद्देश्य के सूक्ष्म प्रोग्राम के साथ एक पारंपरिक कंप्यूटर हैं।

स्वचालित डिजाइन उपकरण

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

परीक्षण योग्यता के लिए डिज़ाइन

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

ट्रेड-ऑफ़

डिजिटल लॉजिक की एक प्रणाली की व्यावहारिकता का निर्धारण कई चीज़ें करती हैं। फैनआउट, गति, कम लागत और विश्वसनीयता का एक आदर्श संयोजन प्राप्त करने के लिए, इंजीनियरों ने कई इलेक्ट्रॉनिक उपकरणों का निरीक्षण किया।
एक लॉजिक गेट की लागत महत्वपूर्ण होती है। 1930 के दशक में, प्रारंभिक डिजिटल लॉजिक सिस्टम, टेलीफोन रिले से बनाए जाते थे क्योंकि ये सस्ते और अपेक्षाकृत विश्वसनीय थे। उसके बाद, इंजीनियरों ने हमेशा सबसे सस्ता उपलब्ध इलेक्ट्रॉनिक स्विच उपयोग किया, जो अभी भी आवश्यकताओं को पूरा कर सकता है।
प्रारंभिक एकीकृत परिपथ एक आनंददायक संयोग थे। उन्हें पैसे बचाने के लिए निर्मित नहीं किया गया था, बल्कि वजन बचाने के लिए और अपोलो गाइडेंस कंप्यूटर को एक अंतरिक्ष यान को एक इनर्शिअल गाइडेंस सिस्टम को नियंत्रित करने की अनुमति देने के लिए बनाया गया था। पहला एकीकृत परिपथ लॉजिक गेट की कीमत करीब $50 थी (1960 डॉलर में, जब एक इंजीनियर $10,000/वर्ष कमाता था)। सभी को आश्चर्यचकित करते हुए, जब सर्किट का थोक में उत्पादन होने लगा तो वे डिजिटल लॉजिक निर्माण की सबसे सस्ती विधि बन गए। इस प्रौद्योगिकी में सुधार ने लागत में सभी बाद के सुधारों को प्रेरित किया।
एकीकृत परिपथों की वृद्धि के साथ, प्रयुक्त चिप्स की निरपेक्ष संख्या को कम करने से लागत बचाने का एक और तरीका पेश हुआ। एक डिजाइनर का लक्ष्य सिर्फ आसान सर्किट बनाना नहीं है, बल्कि घटक की गिनती कम रखना है। कभी-कभी यह अंतर्निहित डिजिटल लॉजिक के संबंध में थोड़े अधिक जटिल डिज़ाइन में परिणत होता है, लेकिन फिर भी घटकों की संख्या, बोर्ड आकार और यहां तक कि बिजली की खपत को कम कर देता है।
उदाहरण के लिए, कुछ लॉजिक परिवारों में, NAND गेट, निर्माण होने वाले सरलतम डिजिटल गेट हैं। अन्य सभी लॉजिक वाली कार्रवाई NAND गेट द्वारा कार्यान्वित की जा सकती हैं। यदि एक सर्किट को पहले से ही एक NAND गेट की आवश्यकता है और एक एकल चिप आम तौर पर चार NAND गेट रखता है, तो बाकी के गेट को अन्य लॉजिक कार्रवाईयों को जैसे लॉजिकल एंड लागू करने के लिए प्रयोग किया जा सकता है। यह, उन विभिन्न प्रकार के गेट से युक्त चिप की आवश्यकता को समाप्त कर सकता है।
एक लॉजिक गेट की "विश्वसनीयता", असफलता (MTBF) के बीच उसके औसत समय का वर्णन करती है। डिजिटल मशीनों में अक्सर लाखों लॉजिक गेट होते है। इसके अलावा, अधिकांश डिजिटल मशीनों को उनकी लागत को कम करने के लिए "अनुकूलित" किया जाता है। नतीजा साफ़ होता है, एक एकल लॉजिक गेट की विफलता, एक डिजिटल मशीन के काम बंद करने का कारण बनेगी.
डिजिटल मशीनें, पहली बार उपयोगी तब बनीं जब एक स्विच के लिए MTBF कुछ सौ घंटे से ऊपर हो गया। फिर भी, इनमें से कई मशीनों में जटिलताएं थीं, अच्छी तरह से अभ्यास की जाने वाली मरम्मत प्रक्रियाएं और एक ट्यूब के जल जाने या एक कीट के एक रिले में फंस जाने के कारण कई घंटों तक काम नहीं करतीं थी। आधुनिक ट्रांजिस्टर कृत एकीकृत परिपथ लॉजिक गेट में लगभग एक ट्रीलियन घंटे का MTBFs है (1 × 10¹²⁾), और उनकी जरूरत है क्योंकि उनके पास बहुत सारे लॉजिक गेट है।
फैनआउट यह वर्णन करता है कि एक एकल लॉजिक आउटपुट से कितने लॉजिक इनपुट नियंत्रित किये जा सकते हैं। न्यूनतम व्यावहारिक फैनआउट करीब पांच है। आधुनिक इलेक्ट्रॉनिक लॉजिक जो स्विच के लिए CMOS ट्रांजिस्टर का उपयोग करते हैं, उनके पास करीब पचास के आस-पास फैनआउट होते हैं और कभी-कभी बहुत ऊंचे जा सकते हैं।
"स्विचिंग गति" यह बताती है कि एक इनवर्टर प्रति सेकण्ड कितनी बार ट्रू से फाल्स और वापस में बदल सकता है ("लॉजिकल नहीं" प्रक्रिया की एक इलेक्ट्रॉनिक प्रस्तुति)। तेज़ लॉजिक कम समय में अधिक कार्य को पूरा कर सकते हैं। डिजिटल लॉजिक पहली बार तब उपयोगी बन गए जब स्विचन गति पचास हर्ट्ज से ऊपर हो गई, क्योंकि वह यांत्रिक कैलकुलेटर का संचालन कर रहे मनुष्यों के एक दल से तेज थी। आधुनिक इलेक्ट्रॉनिक डिजिटल लॉजिक नियमित रूप से पांच गीगाहर्ट्ज़ (5 × 10⁹ हर्ट्ज़) पर परिवर्तित होते हैं और कुछ प्रयोगशाला प्रणाली एक टेराहर्ट्ज़ (1 × 10¹² हर्ट्ज) से अधिक पर परिवर्तित होती है।

लॉजिक परिवार

डिज़ाइन, रिले के साथ शुरू हुए. रिले लॉजिक अपेक्षाकृत सस्ता और विश्वसनीय लेकिन धीमा था। कभी-कभी एक यांत्रिक विफलता भी घटित होती थी। फैनआउट आम तौर पर दस थे, जो कॉयल के प्रतिरोध द्वारा सीमित थे और उच्च वोल्टेज से संपर्क पर चाप निर्मित करते थे।
बाद में, निर्वात ट्यूब का इस्तेमाल किया गया। ये बहुत तेज़ थे, लेकिन गर्मी उत्पन्न करते थे और फिलामेंट्स के जल जाने के कारण अविश्वसनीय थे। फैनआउट आम तौर पर पांच से सात थे, जो ट्यूब के विद्युत् से हीटिंग द्वारा सीमित थे। 1950 के दशक में, फिलामेंट के साथ विशेष "कंप्यूटर ट्यूब" विकसित किये गए जो सिलिकॉन की तरह अस्थिर तत्वों को निकाल देते थे। ये कई हजारों घंटे तक चलते हैं।
पहला अर्धचालक लॉजिक परिवार, रेज़िस्टर-ट्रांजिस्टर लॉजिक था। यह ट्यूब से हज़ार गुना अधिक विश्वसनीय था, आराम से चलता था और कम बिजली इस्तेमाल करता था, लेकिन तीनों में से बहुत न्यून फैन-इन था। डायोड-ट्रांजिस्टर लॉजिक ने फैनआउट में सात तक सुधार किया और बिजली में कमी की। कुछ DTL डिजाइनों ने फैनआउट में वृद्धि के लिए NPN और PNP ट्रांजिस्टरों की पर्यायक्रमिक परतों के साथ दो बिजली-आपूर्ति का उपयोग किया।
ट्रांजिस्टर ट्रांजिस्टर लॉजिक (TTL) इन पर एक महान सुधार था। आरंभिक उपकरणों में, फैनआउट दस तक सुधरा और बाद के विकसित प्रकार ने बीस तक हासिल किया। TTL भी तेज था, कुछ परिवर्तित रूप ने स्विचन का बीस नैनोसेकंड तक का कम समय प्राप्त कर लिया। TTL अभी भी कुछ डिजाइन में इस्तेमाल किया जाता है।
एक अन्य दावेदार एमिटर कपल्ड लॉजिक था। यह बहुत तेज़ है लेकिन बहुत बिजली उपयोग करता है। अब इसका इस्तेमाल ज्यादातर रेडियो फ्रीक्वेंसी सर्किट में किया जाता है।
आधुनिक एकीकृत परिपथ, ज्यादातर CMOS के रूपांतरों का उपयोग करते हैं, जो स्वीकार्य रूप से तेज़, बहुत छोटे और बहुत कम बिजली का प्रयोग करते हैं। कुछ गति जुर्माने के साथ चालीस या और अधिक के फैनआउट संभव हैं।

गैर इलेक्ट्रॉनिक लॉजिक

गैर इलेक्ट्रॉनिक डिजिटल तंत्र निर्माण संभव है। सिद्धांत रूप में, असतत स्टेट का प्रतिनिधित्व और लॉजिक कार्यों का प्रतिनिधित्व करने में सक्षम किसी भी तकनीक का इस्तेमाल यांत्रिक लॉजिक बनाने के लिए किया जा सकता है। MIT के छात्रों, एर्लीन गी, एडवर्ड हार्डबेक, डैनी हिलिस (द कनेक्शन मशीन के सह-लेखक), मार्गरेट मिन्सकी और बैरी और ब्रायन सिल्वरमन भाई, ने टिंकर खिलौने, स्ट्रिंग, एक ईंट और एक तीव्र पेंसिल से दो कंप्यूटर का निर्माण किया। टिंकरटॉय कंप्यूटर, बोस्टन विज्ञान संग्रहालय में है।
लॉजिक गेट के हाइड्रोलिक, वायवीय और यांत्रिक संस्करण मौजूद हैं और ऐसी स्थितियों में इस्तेमाल किये जाते हैं जहां बिजली का उपयोग नहीं किया जा सकता. पहले दो प्रकार को फ्लुडीक्स के तहत माना जाता है। फ्लुडीक लॉजिक का एक प्रयोग, सैन्य हार्डवेयर में है जिसके एक विद्युत् चुम्बकीय पल्स में उजागर होने की संभावना है (परमाणु EMP, या NEMP) जो बिजली के सर्किट को नष्ट करता है।
यांत्रिक तर्क अक्सर ऐसी वाशिंग मशीन में उन लोगों के रूप में सस्ते नियंत्रकों में प्रयोग किया जाता है। मशहूर रूप से, चार्ल्स बैबेज द्वारा पहला कम्प्यूटर डिजाइन को यांत्रिक लॉजिक के प्रयोग के लिए डिज़ाइन किया गया था। यांत्रिक लॉजिक को, बहुत छोटे कंप्यूटर में भी इस्तेमाल किया जा सकता है जिसे नैनो तकनीक द्वारा बनाया जा सकता है।
एक अन्य उदाहरण है कि यदि दो विशेष एंजाइम की आवश्यकता एक विशेष प्रोटीन के निर्माण को रोकने के लिए हो तो, यह एक जैविक "NAND गेट के बराबर है।

हाल के घटनाक्रम

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