नेटलिस्ट

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

इलेक्ट्रॉनिक डिजाइन स्वचालन, इलेक्ट्रॉनिक कैड, इलेक्ट्रॉनिक तन्त्रों के डिजाइन में प्रयुक्त सॉफ्टवेयरों का सामान्य नाम है। इसके अन्तर्गत मुख्यतः एकीकृत परिपथ डिजाइन, प्रिन्टेड परिपथ बोर्ड डिजाइन, इलेक्ट्रॉनिक परिपथों के आरेख बनाने वाले सॉफ्टवेयर, और परिपथ सिमुलेशन के सॉफ्टवेयर आदि आते हैं।

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

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

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

ये विवरण सामान्यतः उन कनेक्शनों को सूचीबद्ध करते हैं जो उस प्रकार के डिवाइस से बने होते हैं, और उस डिवाइस के कुछ बुनियादी गुणों को सूचीबद्ध करते हैं। कई अन्य नामों के अलावा, इन कनेक्शन बिंदुओं को टर्मिनल या पिन कहा जाता है।

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

इनके सभी उदाहरणों में टर्मिनल होते हैं जैसे कि वैक्यूम क्लीनर के सन्दर्भ में, ये टर्मिनल प्लग में धातु के तीन पिन होंगे। प्रत्येक टर्मिनल का एक नाम होता है, और वैक्यूम क्लीनर के उदाहरण को जारी रखने में वे न्यूट्रल, लाइव और ग्राउंड हो सकते हैं। सामान्यतः, प्रत्येक उदाहरण का एक विशिष्ट नाम होगा, ताकि यदि आपके पास वैक्यूम क्लीनर के दो उदाहरण हों, तो एक वीएसी1 और दूसरा वीएसी2 हो सकता है। उनके नाम के अलावा, वे अन्यथा समान हो सकते हैं।

नेटवर्क (जाल) वे तार होते हैं जो परिपथ में चीजों को एक साथ जोड़ते हैं। नेटलिस्ट जिस विशेष भाषा में लिखी गई है, और उस भाषा की विशेषताओं के आधार पर, डिज़ाइन में नेट से जुड़ी कोई विशेष विशेषताएँ हो सकती हैं या नहीं भी हो सकती हैं।

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

नेट-आधारित नेटलिस्ट सामान्यतः सभी उदाहरणों और उनकी विशेषताओं का वर्णन करते हैं, फिर प्रत्येक नेट का वर्णन करते हैं, और कहते हैं कि प्रत्येक उदाहरण पर वे किस पोर्ट से संलग्न हैं। यह एट्रिब्यूट को नेट से संबद्ध करने की अनुमति देता है। ईडीआईएफ अनुमानतः नेट-आधारित नेटलिस्ट्स में सबसे प्रसिद्ध है।

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

एक परिभाषा जिसमें कोई उदाहरण सम्मिलित नहीं है, उसे परंपरागत (या एक पत्ता, या अन्य नाम) कहा जाता है; जबकि एक परिभाषा जिसमें उदाहरण सम्मिलित हैं, या पदानुक्रमित है।

एक मुड़ा हुआ पदानुक्रम एक एकल परिभाषा को उदाहरणों द्वारा कई बार प्रदर्शित करने की अनुमति देता है। अनफोल्डेड पदानुक्रम एक परिभाषा को पदानुक्रम में एक से अधिक बार उपयोग करने की अनुमति नहीं देता है।

मुड़ा हुआ पदानुक्रम बेहद संक्षिप्त हो सकता है। कुछ उदाहरणों की एक छोटी नेटलिस्ट बहुत बड़ी संख्या में उदाहरणों के साथ डिज़ाइन का वर्णन कर सकती है। उदाहरण के लिए, मान लें कि परिभाषा ए एक मेमोरी सेल की तरह एक साधारण परंपरागत है। फिर मान लीजिए कि परिभाषा बी में ए के 32 उदाहरण हैं; सी में बी के 32 उदाहरण हैं; डी में सी के 32 उदाहरण हैं; और ई में डी के 32 उदाहरण हैं। डिज़ाइन में अब 5 परिभाषाएँ (ए से ई तक) और 128 उदाहरण हैं। फिर भी, ई एक परिपथ का वर्णन करता है जिसमें दस लाख से अधिक मेमोरी सेल होते हैं।

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

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

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

अग्रिम पठन

 * स्पाइस ‘Quick’ Reference Sheet, THE GENERAL ANATOMY OF A स्पाइस DECK, Stanford 2001


 * Wolfram Alpha - sequences of Mathematica lists encapsulated by the Analog Insydes command Netlist.