राउटिंग (इलेक्ट्रॉनिक डिजाइन ऑटोमेशन)

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

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

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

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

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

ऑटोराउटर के मुख्य प्रकार हैं:


 * भूलभुलैया राउटर ** ली राउटर   ** हैडलॉक राउटर ** फ्लड राउटर * लाइन-जांच राउटर
 * मिकामी-ताहुची राउटर ** हाईटॉवर राउटर   *पैटर्न राउटर  *चैनल राउटर    ** स्विचबॉक्स राउटर **नदी रूटर **स्पाइन और स्टिच राउटर *ग्रिडलेस राउटर    ** एरिया राउटर
 * ग्राफ सिद्धांत-आधारित राउटर *** ब्लडहाउंड राउटर  (रैकल-रेडैक / ज़ुकेन द्वारा कैडस्टार)
 * स्पेक्ट्रा (उर्फ एलेग्रो पीसीबी राउटर) (संस्करण 10 के बाद से ग्रिड रहित)
 * टोपोलॉजिकल राउटर
 * फ्री स्टाइल राउटर (उर्फ स्पीडवे, पी-सीएडी के लिए एक डॉस-आधारित ऑटोराउटर)
 * TopoR (एक Microsoft Windows-आधारित ऑटोराउटर, जिसका उपयोग Eremex के डेल्टा डिज़ाइन में भी किया जाता है)
 * टॉपराउटर (जीईडीए सूट के पीसीबी (सॉफ्टवेयर) में एंथनी ब्लेक का ओपन-सोर्स राउटर)
 * टॉपराउटर (कैडसॉफ्ट कंप्यूटर/ऑटोडेस्क के ईगल 7.0 और उच्चतर में टोपोलॉजिकल प्री-राउटर)
 * SimplifyPCB (हैंड-रूटिंग परिणामों के साथ बंडल रूटिंग पर ध्यान देने वाला एक टोपोलॉजिकल राउटर)

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

विस्तृत रूटिंग के लिए, सबसे आम तकनीक रिप-अप और रीरूट उर्फ ​​रिप-अप और पुनः प्रयास है: * उस क्रम का चयन करें जिसमें जालों को रूट किया जाना है। यह प्रक्रिया तब तक दोहराई जाती है जब तक कि सभी नेट रूट नहीं हो जाते या प्रोग्राम (या उपयोगकर्ता) हार नहीं मान लेता।
 * प्रत्येक नेट को क्रम से रूट करें
 * यदि सभी जालों को सफलतापूर्वक रूट नहीं किया जा सकता है, तो विभिन्न प्रकार की सफाई विधियों में से कोई भी लागू करें, जिसमें चयनित रूटिंग हटा दी जाती हैं, रूट किए जाने वाले शेष नेट का क्रम बदल दिया जाता है, और शेष रूटिंग को फिर से करने का प्रयास किया जाता है।

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

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

यह भी देखें

 * इलेक्ट्रॉनिक डिजाइन स्वचालन
 * डिजाइन प्रवाह (ईडीए)
 * एकीकृत सर्किट डिजाइन
 * स्थान और मार्ग
 * ऑटो ध्रुवीयता (अंतर जोड़े)
 * ऑटो क्रॉसओवर (ईथरनेट)

बाहरी संबंध

 * http://www.eecs.northwestern.edu/~haizhou/357/lec6.pdf
 * http://www.facweb.iitkgp.ernet.in/~isg/CAD/SLIDES/10-grid-routing.pdf