जेटीजी: Difference between revisions
From Vigyanwiki
No edit summary |
No edit summary |
||
| Line 75: | Line 75: | ||
दो वायर इंटरफेस ने पिनों की संख्या पर दबाव कम कर दिया, और उपकरणों को स्टार टोपोलॉजी में जोड़ा जा सकता है।<ref>{{cite web|url=https://www.corelis.com/education/design-testability-tips-guidelines/major-benefits-ieee-1149-7/|title=Major Benefits of IEEE 1149.7}}</ref> स्टार टोपोलॉजी प्रणाली के कुछ हिस्सों को संचालित करने में सक्षम बनाती है, जबकि अन्य को अभी भी जेटीएजी पर एक्सेस किया जा सकता है; एक डेज़ी श्रृंखला के लिए सभी जेटीएजी इंटरफेस को संचालित करने की आवश्यकता होती है। अन्य दो-तार इंटरफेस मौजूद हैं, जैसे समान इंटरफ़ेस मानक। | दो वायर इंटरफेस ने पिनों की संख्या पर दबाव कम कर दिया, और उपकरणों को स्टार टोपोलॉजी में जोड़ा जा सकता है।<ref>{{cite web|url=https://www.corelis.com/education/design-testability-tips-guidelines/major-benefits-ieee-1149-7/|title=Major Benefits of IEEE 1149.7}}</ref> स्टार टोपोलॉजी प्रणाली के कुछ हिस्सों को संचालित करने में सक्षम बनाती है, जबकि अन्य को अभी भी जेटीएजी पर एक्सेस किया जा सकता है; एक डेज़ी श्रृंखला के लिए सभी जेटीएजी इंटरफेस को संचालित करने की आवश्यकता होती है। अन्य दो-तार इंटरफेस मौजूद हैं, जैसे समान इंटरफ़ेस मानक। | ||
== संचार मॉडल | == संचार मॉडल == | ||
जेटीएजी में, डिवाइस एक या अधिक टेस्ट एक्सेस पोर्ट्स ( | जेटीएजी में, डिवाइस एक या अधिक टेस्ट एक्सेस पोर्ट्स (टीएपी) को प्रकाशित करते हैं। ऊपर दी गई तस्वीर तीन टीएपी दिखाती है, जो अलग-अलग चिप्स हो सकती हैं या एक चिप के अंदर मॉड्यूल हो सकती हैं। टीएपी की एक डेज़ी श्रृंखला को स्कैन श्रृंखला या (शिथिल रूप से) लक्ष्य कहा जाता है। स्कैन चेन मनमाने विधि से लंबी हो सकती हैं, लेकिन व्यवहार में बीस टीएपी असामान्य रूप से लंबी होती हैं।{{Citation needed|date=June 2010}} | ||
जेटीएजी का उपयोग करने के लिए, एक होस्ट लक्ष्य के जेटीएजी सिग्नल (टीएमएस, टीकेके, टीडीआई, TDO, आदि) से किसी प्रकार के जेटीएजी एडॉप्टर के माध्यम से जुड़ा होता है, जिसे लेवल शिफ्टिंग और [[ विद्युत अपघटन ]] जैसे मुद्दों को संभालने की आवश्यकता हो सकती है। एडॉप्टर कुछ इंटरफ़ेस जैसे यूएसबी, PCI, ईथरनेट, और इसके आगे के उपयोग से होस्ट से जुड़ता है। | जेटीएजी का उपयोग करने के लिए, एक होस्ट लक्ष्य के जेटीएजी सिग्नल (टीएमएस, टीकेके, टीडीआई, TDO, आदि) से किसी प्रकार के जेटीएजी एडॉप्टर के माध्यम से जुड़ा होता है, जिसे लेवल शिफ्टिंग और [[ विद्युत अपघटन ]] जैसे मुद्दों को संभालने की आवश्यकता हो सकती है। एडॉप्टर कुछ इंटरफ़ेस जैसे यूएसबी, PCI, ईथरनेट, और इसके आगे के उपयोग से होस्ट से जुड़ता है। | ||
| Line 85: | Line 85: | ||
मेजबान टीएपी के साथ संचार करता है टीसीएस और टीडीआई को टीसीके के संयोजन के साथ जोड़कर, और टीडीओ (जो केवल मानक होस्ट-साइड इनपुट है) के माध्यम से परिणाम पढ़ता है। टीएमएस/टीडीआई/टीकेके आउटपुट ट्रांज़िशन मूल जेटीएजी संचार आदिम बनाता है जिस पर उच्च परत प्रोटोकॉल का निर्माण होता है: | मेजबान टीएपी के साथ संचार करता है टीसीएस और टीडीआई को टीसीके के संयोजन के साथ जोड़कर, और टीडीओ (जो केवल मानक होस्ट-साइड इनपुट है) के माध्यम से परिणाम पढ़ता है। टीएमएस/टीडीआई/टीकेके आउटपुट ट्रांज़िशन मूल जेटीएजी संचार आदिम बनाता है जिस पर उच्च परत प्रोटोकॉल का निर्माण होता है: | ||
* स्टेट स्विचिंग ... सभी | * स्टेट स्विचिंग ... सभी टीएपी एक ही स्थिति में हैं, और टीकेके ट्रांज़िशन पर वह स्थिति बदल जाती है। यह जेटीएजी स्टेट मशीन जेटीएजी स्पेक का हिस्सा है, और इसमें सोलह राज्य शामिल हैं। छह स्थिर अवस्थाएँ हैं जहाँ टीएमएस को स्थिर रखना अवस्था को बदलने से रोकता है। अन्य सभी राज्यों में, टीसीके हमेशा उस स्थिति को बदलता है। इसके अलावा, टीआरएसटी को जोर देकर उन स्थिर अवस्थाओं (Test_Logic_Reset) में से एक में प्रवेश करने के लिए बाध्य करता है, जो टीएमएस को पांच बार ऊपर रखने और टीसीके को साइकिल चलाने के विकल्प की तुलना में थोड़े तेज तरीके से करता है। | ||
* स्थानांतरण ... जेटीएजी राज्य मशीन के अधिकांश भाग दो स्थिर अवस्थाओं का समर्थन करते हैं जिनका उपयोग डेटा स्थानांतरित करने के लिए किया जाता है। प्रत्येक | * स्थानांतरण ... जेटीएजी राज्य मशीन के अधिकांश भाग दो स्थिर अवस्थाओं का समर्थन करते हैं जिनका उपयोग डेटा स्थानांतरित करने के लिए किया जाता है। प्रत्येक टीएपी में एक निर्देश रजिस्टर (IR) और एक डेटा रजिस्टर (DR) होता है। उन रजिस्टरों का आकार टीएपी के बीच भिन्न होता है, और उन रजिस्टरों को टीडीआई और टीडीओके माध्यम से जोड़कर एक बड़ा शिफ्ट रजिस्टर बनाया जाता है। (DR का आकार उस टीएपी के वर्तमान IR में मान का एक कार्य है, और संभवतः SCAN_N निर्देश द्वारा निर्दिष्ट मान का है।) उस शिफ्ट रजिस्टर पर परिभाषित तीन ऑपरेशन हैं: | ||
** एक अस्थायी मूल्य पर कब्जा | ** एक अस्थायी मूल्य पर कब्जा | ||
*** Shift_IR स्थिर स्थिति में प्रवेश Capture_IR स्थिति से होकर जाता है, शिफ्ट रजिस्टर को आंशिक रूप से निश्चित मान के साथ लोड करना (वर्तमान निर्देश नहीं) | *** Shift_IR स्थिर स्थिति में प्रवेश Capture_IR स्थिति से होकर जाता है, शिफ्ट रजिस्टर को आंशिक रूप से निश्चित मान के साथ लोड करना (वर्तमान निर्देश नहीं) | ||
*** Shift_DR स्थिर स्थिति में प्रवेश Capture_DR स्थिति से होकर जाता है, | *** Shift_DR स्थिर स्थिति में प्रवेश Capture_DR स्थिति से होकर जाता है, टीएपी के वर्तमान IR द्वारा निर्दिष्ट डेटा रजिस्टर के मान को लोड करता है। | ||
** उस मान को बिट-दर-बिट स्थानांतरित करना, या तो Shift_IR या Shift_DR स्थिर स्थिति में; टीसीके ट्रांज़िशन शिफ्ट रजिस्टर को एक बिट शिफ्ट करता है, टीडीआई से टीडीओ की ओर, बिल्कुल एक [[सीरियल पेरिफेरल इंटरफेस बस]] मोड 1 डेटा ट्रांसफर की तरह डिवाइस की डेज़ी चेन के माध्यम से (टीएमएस = 0 के साथ चिप सेलेक्ट सिग्नल की तरह काम करता है, टीडीआई एमओएसआई, आदि के रूप में)। . | ** उस मान को बिट-दर-बिट स्थानांतरित करना, या तो Shift_IR या Shift_DR स्थिर स्थिति में; टीसीके ट्रांज़िशन शिफ्ट रजिस्टर को एक बिट शिफ्ट करता है, टीडीआई से टीडीओ की ओर, बिल्कुल एक [[सीरियल पेरिफेरल इंटरफेस बस]] मोड 1 डेटा ट्रांसफर की तरह डिवाइस की डेज़ी चेन के माध्यम से (टीएमएस = 0 के साथ चिप सेलेक्ट सिग्नल की तरह काम करता है, टीडीआई एमओएसआई, आदि के रूप में)। . | ||
** अपडेट_आईआर या अपडेट_डीआर स्थिति के माध्यम से संक्रमण पर, स्थानांतरित अस्थायी मूल्य से आईआर या डीआर अपडेट करना। ध्यान दें कि एक रजिस्टर को बिना लिखे (अपडेट) किए पढ़ना (कैप्चर) करना संभव नहीं है, और इसके विपरीत। एक सामान्य मुहावरा यह कहने के लिए फ्लैग बिट्स जोड़ता है कि क्या अपडेट के साइड इफेक्ट होने चाहिए, या हार्डवेयर ऐसे साइड इफेक्ट को निष्पादित करने के लिए तैयार है या नहीं। | ** अपडेट_आईआर या अपडेट_डीआर स्थिति के माध्यम से संक्रमण पर, स्थानांतरित अस्थायी मूल्य से आईआर या डीआर अपडेट करना। ध्यान दें कि एक रजिस्टर को बिना लिखे (अपडेट) किए पढ़ना (कैप्चर) करना संभव नहीं है, और इसके विपरीत। एक सामान्य मुहावरा यह कहने के लिए फ्लैग बिट्स जोड़ता है कि क्या अपडेट के साइड इफेक्ट होने चाहिए, या हार्डवेयर ऐसे साइड इफेक्ट को निष्पादित करने के लिए तैयार है या नहीं। | ||
| Line 96: | Line 96: | ||
एक बुनियादी स्तर पर, जेटीएजी के उपयोग में निर्देश पढ़ना और लिखना और उनसे जुड़े डेटा रजिस्टर शामिल हैं; और कभी-कभी इसमें कई परीक्षण चक्र चलाना शामिल होता है। उन रजिस्टरों के पीछे हार्डवेयर है जो जेटीएजी द्वारा निर्दिष्ट नहीं है, और जिसके अपने राज्य हैं जो जेटीएजी गतिविधियों से प्रभावित हैं। | एक बुनियादी स्तर पर, जेटीएजी के उपयोग में निर्देश पढ़ना और लिखना और उनसे जुड़े डेटा रजिस्टर शामिल हैं; और कभी-कभी इसमें कई परीक्षण चक्र चलाना शामिल होता है। उन रजिस्टरों के पीछे हार्डवेयर है जो जेटीएजी द्वारा निर्दिष्ट नहीं है, और जिसके अपने राज्य हैं जो जेटीएजी गतिविधियों से प्रभावित हैं। | ||
अधिकांश जेटीएजी होस्ट दो राज्यों के बीच सबसे छोटे रास्ते का उपयोग करते हैं, शायद एडॉप्टर की विचित्रताओं से विवश। (उदाहरण के लिए, एक एडेप्टर{{Which|date=March 2010}} केवल उन पथों को संभालता है जिनकी लंबाई सात बिट्स के गुणक हैं।) जेटीएजी के शीर्ष पर निर्मित कुछ परतें राज्य के संक्रमणों की निगरानी करती हैं, और उच्च स्तर के संचालन को ट्रिगर करने के लिए असामान्य पथों का उपयोग करती हैं। कुछ एआरएम कोर दो-तार (गैर-जेटीएजी) [[सीरियल वायर डिबग]] मोड में प्रवेश करने और बाहर निकलने के लिए ऐसे अनुक्रमों का उपयोग करते हैं। आईईईई 1149.7 में जीरो बिट स्कैन (जेडबीएस) अनुक्रम का उपयोग किया जाता है<ref name="ieee-1149.7">Texas Instruments is one adopter behind this standard, and has an [http://tiexpressdsp.com/wiki/index.php?title=IEEE_1149.7 IEEE 1149.7 wiki page] {{Webarchive|url=https://web.archive.org/web/20140406214032/http://tiexpressdsp.com/wiki/index.php?title=IEEE_1149.7 |date=6 April 2014 }} with more information.</ref> उन्नत कार्यक्षमता तक पहुँचने के लिए जैसे | अधिकांश जेटीएजी होस्ट दो राज्यों के बीच सबसे छोटे रास्ते का उपयोग करते हैं, शायद एडॉप्टर की विचित्रताओं से विवश। (उदाहरण के लिए, एक एडेप्टर{{Which|date=March 2010}} केवल उन पथों को संभालता है जिनकी लंबाई सात बिट्स के गुणक हैं।) जेटीएजी के शीर्ष पर निर्मित कुछ परतें राज्य के संक्रमणों की निगरानी करती हैं, और उच्च स्तर के संचालन को ट्रिगर करने के लिए असामान्य पथों का उपयोग करती हैं। कुछ एआरएम कोर दो-तार (गैर-जेटीएजी) [[सीरियल वायर डिबग]] मोड में प्रवेश करने और बाहर निकलने के लिए ऐसे अनुक्रमों का उपयोग करते हैं। आईईईई 1149.7 में जीरो बिट स्कैन (जेडबीएस) अनुक्रम का उपयोग किया जाता है<ref name="ieee-1149.7">Texas Instruments is one adopter behind this standard, and has an [http://tiexpressdsp.com/wiki/index.php?title=IEEE_1149.7 IEEE 1149.7 wiki page] {{Webarchive|url=https://web.archive.org/web/20140406214032/http://tiexpressdsp.com/wiki/index.php?title=IEEE_1149.7 |date=6 April 2014 }} with more information.</ref> उन्नत कार्यक्षमता तक पहुँचने के लिए जैसे टीएपी को स्कैन चेन, पावर प्रबंधन और एक अलग दो-तार मोड में स्विच करना और बाहर करना। | ||
=== जेटीएजी आईईईई Std 1149.1 (सीमा स्कैन) निर्देश === | === जेटीएजी आईईईई Std 1149.1 (सीमा स्कैन) निर्देश === | ||
निर्देश रजिस्टर का आकार छोटा होता है, शायद चार या सात बिट चौड़ा। BYPASS और परीक्षा को छोड़कर, सभी निर्देश ऑपकोड को | निर्देश रजिस्टर का आकार छोटा होता है, शायद चार या सात बिट चौड़ा। BYPASS और परीक्षा को छोड़कर, सभी निर्देश ऑपकोड को टीएपी कार्यान्वयनकर्ता द्वारा परिभाषित किया गया है, जैसा कि उनके संबंधित डेटा रजिस्टर हैं; अपरिभाषित निर्देश कोड का उपयोग नहीं किया जाना चाहिए। दो प्रमुख निर्देश हैं: | ||
* BYPASS निर्देश, | * BYPASS निर्देश, टीएपी के निर्देश रजिस्टर आकार की परवाह किए बिना सभी का एक ओपकोड, सभी टीएपी द्वारा समर्थित होना चाहिए। निर्देश एक बिट डेटा रजिस्टर (जिसे बायपास भी कहा जाता है) का चयन करता है। निर्देश इस उपकरण को बायपास करने की अनुमति देता है (कुछ नहीं करें) जबकि स्कैन पथ में अन्य उपकरणों का प्रयोग किया जाता है।<ref name="ieee1149.1-2001" />* वैकल्पिक IDCODE निर्देश, एक कार्यान्वयनकर्ता-परिभाषित ओपकोड के साथ। IDCODE 32-बिट रजिस्टर (IDCODE) से जुड़ा है। इसका डेटा एक मानकीकृत प्रारूप का उपयोग करता है जिसमें एक निर्माता कोड ([[JEDEC]] मानक निर्माता की पहचान कोड मानक, JEP-106 से प्राप्त), निर्माता द्वारा निर्दिष्ट एक भाग संख्या और एक भाग संस्करण कोड शामिल होता है। IDCODE व्यापक रूप से समर्थित है, लेकिन सार्वभौमिक रूप से समर्थित नहीं है। | ||
RESET स्थिति से बाहर निकलने पर, निर्देश रजिस्टर या तो BYPASS या IDCODE के साथ पहले से लोड होता है। यह जेटीएजी मेजबानों को स्कैन श्रृंखला के आकार और कम से कम आंशिक रूप से सामग्री की पहचान करने की अनुमति देता है जिससे वे जुड़े हुए हैं। (वे RESET स्थिति में प्रवेश कर सकते हैं और फिर डेटा रजिस्टर को तब तक स्कैन कर सकते हैं जब तक कि वे अपने द्वारा लिखे गए डेटा को वापस न पढ़ लें। एक BYPASS रजिस्टर में केवल एक शून्य बिट होता है, जबकि एक IDCODE रजिस्टर 32-बिट होता है और एक से शुरू होता है। इसलिए बिट्स द्वारा नहीं लिखा जाता है। मेजबान को आसानी से टीएपी में मैप किया जा सकता है।) इस तरह की पहचान अक्सर मैन्युअल कॉन्फ़िगरेशन की जांच करने के लिए उपयोग की जाती है, क्योंकि IDCODE अक्सर विशिष्ट नहीं होता है। उदाहरण के लिए यह माइक्रोकंट्रोलर विक्रेता या मॉडल को निर्दिष्ट किए बिना ARM Cortex-M3 आधारित माइक्रोकंट्रोलर की पहचान कर सकता है; या एक विशेष एफपीजीए, लेकिन यह नहीं कि इसे कैसे प्रोग्राम किया गया है। | RESET स्थिति से बाहर निकलने पर, निर्देश रजिस्टर या तो BYPASS या IDCODE के साथ पहले से लोड होता है। यह जेटीएजी मेजबानों को स्कैन श्रृंखला के आकार और कम से कम आंशिक रूप से सामग्री की पहचान करने की अनुमति देता है जिससे वे जुड़े हुए हैं। (वे RESET स्थिति में प्रवेश कर सकते हैं और फिर डेटा रजिस्टर को तब तक स्कैन कर सकते हैं जब तक कि वे अपने द्वारा लिखे गए डेटा को वापस न पढ़ लें। एक BYPASS रजिस्टर में केवल एक शून्य बिट होता है, जबकि एक IDCODE रजिस्टर 32-बिट होता है और एक से शुरू होता है। इसलिए बिट्स द्वारा नहीं लिखा जाता है। मेजबान को आसानी से टीएपी में मैप किया जा सकता है।) इस तरह की पहचान अक्सर मैन्युअल कॉन्फ़िगरेशन की जांच करने के लिए उपयोग की जाती है, क्योंकि IDCODE अक्सर विशिष्ट नहीं होता है। उदाहरण के लिए यह माइक्रोकंट्रोलर विक्रेता या मॉडल को निर्दिष्ट किए बिना ARM Cortex-M3 आधारित माइक्रोकंट्रोलर की पहचान कर सकता है; या एक विशेष एफपीजीए, लेकिन यह नहीं कि इसे कैसे प्रोग्राम किया गया है। | ||
एक सामान्य मुहावरे में बायपास को एक को छोड़कर सभी टीएपी के निर्देश रजिस्टरों में स्थानांतरित करना शामिल है, जो कुछ अन्य निर्देश प्राप्त करता है। इस तरह एक को छोड़कर सभी टीएपी एक बिट डेटा रजिस्टर को | एक सामान्य मुहावरे में बायपास को एक को छोड़कर सभी टीएपी के निर्देश रजिस्टरों में स्थानांतरित करना शामिल है, जो कुछ अन्य निर्देश प्राप्त करता है। इस तरह एक को छोड़कर सभी टीएपी एक बिट डेटा रजिस्टर को प्रकाशित करते हैं, और मूल्यों को किसी अन्य टीएपी को प्रभावित किए बिना चुनिंदा रूप से उस एक टीएपी के डेटा रजिस्टर में या उससे बाहर स्थानांतरित किया जा सकता है। | ||
आईईईई 1149.1 (जेटीएजी) मानक सीमा स्कैन अनुप्रयोगों का समर्थन करने के लिए कई निर्देशों का वर्णन करता है। इनमें से कुछ निर्देश अनिवार्य हैं, लेकिन सीमा स्कैन परीक्षण के बजाय डिबग के लिए उपयोग किए जाने वाले टीएपी कभी-कभी इन निर्देशों के लिए न्यूनतम या कोई समर्थन नहीं देते हैं। वे अनिवार्य निर्देश सीमा स्कैन विवरण भाषा फ़ाइल में परिभाषित सीमा स्कैन रजिस्टर (बीएसआर) पर काम करते हैं और इसमें शामिल हैं: | आईईईई 1149.1 (जेटीएजी) मानक सीमा स्कैन अनुप्रयोगों का समर्थन करने के लिए कई निर्देशों का वर्णन करता है। इनमें से कुछ निर्देश अनिवार्य हैं, लेकिन सीमा स्कैन परीक्षण के बजाय डिबग के लिए उपयोग किए जाने वाले टीएपी कभी-कभी इन निर्देशों के लिए न्यूनतम या कोई समर्थन नहीं देते हैं। वे अनिवार्य निर्देश सीमा स्कैन विवरण भाषा फ़ाइल में परिभाषित सीमा स्कैन रजिस्टर (बीएसआर) पर काम करते हैं और इसमें शामिल हैं: | ||
| Line 138: | Line 138: | ||
सीमा स्कैनिंग को सक्षम करने के लिए, आईसी विक्रेता प्रत्येक सिग्नल पिन के लिए स्कैन सेल सहित अपने प्रत्येक डिवाइस में तर्क जोड़ते हैं। इन कोशिकाओं को फिर सीमा स्कैन शिफ्ट रजिस्टर (बीएसआर) बनाने के लिए एक साथ जोड़ा जाता है, जो एक टीएपी नियंत्रक से जुड़ा होता है। ये डिज़ाइन अधिकांश Verilog या VHDL पुस्तकालयों के भाग हैं। इस अतिरिक्त तर्क के लिए ओवरहेड न्यूनतम है, और आम तौर पर बोर्ड स्तर पर कुशल परीक्षण को सक्षम करने के लिए कीमत के लायक है। | सीमा स्कैनिंग को सक्षम करने के लिए, आईसी विक्रेता प्रत्येक सिग्नल पिन के लिए स्कैन सेल सहित अपने प्रत्येक डिवाइस में तर्क जोड़ते हैं। इन कोशिकाओं को फिर सीमा स्कैन शिफ्ट रजिस्टर (बीएसआर) बनाने के लिए एक साथ जोड़ा जाता है, जो एक टीएपी नियंत्रक से जुड़ा होता है। ये डिज़ाइन अधिकांश Verilog या VHDL पुस्तकालयों के भाग हैं। इस अतिरिक्त तर्क के लिए ओवरहेड न्यूनतम है, और आम तौर पर बोर्ड स्तर पर कुशल परीक्षण को सक्षम करने के लिए कीमत के लायक है। | ||
== उदाहरण: [[ARM11]] डिबग | == उदाहरण: [[ARM11]] डिबग टीएपी == | ||
एक उदाहरण वास्तविक प्रणालियों में जेटीएजी के संचालन को दिखाने में मदद करता है। यहाँ उदाहरण ARM11 प्रोसेसर, ARM1136 का डिबग | एक उदाहरण वास्तविक प्रणालियों में जेटीएजी के संचालन को दिखाने में मदद करता है। यहाँ उदाहरण ARM11 प्रोसेसर, ARM1136 का डिबग टीएपी है<ref name="ARM1136">[http://infocenter.arm.com/help/topic/com.arm.doc.ddi0211k/DDI0211K_arm1136_r1p5_trm.pdf ARM1136JF-S and ARM1136J-S Technical Reference Manual] revision r1p5, ARM DDI 0211K. Chapter 14 presents the Debug TAP. Other ARM11 cores present the same model through their Debug TAPs.</ref> मुख्य। प्रोसेसर में स्वयं व्यापक जेटीएजी क्षमता है, जो कि अन्य सीपीयू कोर में पाई जाती है, और इसे जेटीएजी के माध्यम से और भी व्यापक क्षमताओं के साथ चिप्स में एकीकृत किया गया है। | ||
यह एक गैर-तुच्छ उदाहरण है, जो जेटीएजी-सक्षम प्रणाली के एक महत्वपूर्ण क्रॉस सेक्शन का प्रतिनिधि है। इसके अलावा, यह दिखाता है कि जेटीएजी के रजिस्टर रीड/राइट प्रिमिटिव का उपयोग करके नियंत्रण तंत्र कैसे बनाए जाते हैं, और कैसे वे जटिल तर्क तत्वों के परीक्षण और डिबगिंग की सुविधा के लिए गठबंधन करते हैं; सीपीयू आम हैं, लेकिन एफपीजीए और एप्लिकेशन-विशिष्ट एकीकृत सर्किट में अन्य जटिल तत्व शामिल हैं जिन्हें डीबग करने की आवश्यकता है। | यह एक गैर-तुच्छ उदाहरण है, जो जेटीएजी-सक्षम प्रणाली के एक महत्वपूर्ण क्रॉस सेक्शन का प्रतिनिधि है। इसके अलावा, यह दिखाता है कि जेटीएजी के रजिस्टर रीड/राइट प्रिमिटिव का उपयोग करके नियंत्रण तंत्र कैसे बनाए जाते हैं, और कैसे वे जटिल तर्क तत्वों के परीक्षण और डिबगिंग की सुविधा के लिए गठबंधन करते हैं; सीपीयू आम हैं, लेकिन एफपीजीए और एप्लिकेशन-विशिष्ट एकीकृत सर्किट में अन्य जटिल तत्व शामिल हैं जिन्हें डीबग करने की आवश्यकता है। | ||
| Line 146: | Line 146: | ||
इस कोर के लाइसेंसधारी इसे चिप्स में एकीकृत करते हैं, आमतौर पर इसे अन्य टीएपी के साथ-साथ कई बाह्य उपकरणों और मेमोरी के साथ जोड़ते हैं। उन अन्य टीएपी में से एक संपूर्ण चिप के लिए सीमा स्कैन परीक्षण को संभालता है; यह डीबग टीएपी द्वारा समर्थित नहीं है। ऐसे चिप्स के उदाहरणों में शामिल हैं: | इस कोर के लाइसेंसधारी इसे चिप्स में एकीकृत करते हैं, आमतौर पर इसे अन्य टीएपी के साथ-साथ कई बाह्य उपकरणों और मेमोरी के साथ जोड़ते हैं। उन अन्य टीएपी में से एक संपूर्ण चिप के लिए सीमा स्कैन परीक्षण को संभालता है; यह डीबग टीएपी द्वारा समर्थित नहीं है। ऐसे चिप्स के उदाहरणों में शामिल हैं: | ||
[[टेक्सास इंस्ट्रूमेंट्स ओएमएपी]] OMAP, जिसमें सीमा स्कैन | [[टेक्सास इंस्ट्रूमेंट्स ओएमएपी]] OMAP, जिसमें सीमा स्कैन टीएपी, ARM1136 डिबग टीएपी, ETB11 ट्रेस बफर टीएपी, [[टेक्सास इंस्ट्रूमेंट्स TMS320|टेक्सास इंस्ट्रूमेंट्स टीएमएस320]], और [[ARM7]] TDMI-आधारित इमेजिंग इंजन के लिए एक टीएपी शामिल है, सीमा स्कैन टीएपी (ICEpick-B) के साथ ) टीएपी को जेटीएजी स्कैन श्रृंखला के अंदर और बाहर विभाजित करने की क्षमता रखता है।<ref name="omap2420">Documentation for the OMAP2420 is not publicly available. However, a [[Texas Instruments]] document [http://wiki.davincidsp.com/images/9/90/Dbjtag_users_guide.pdf The User's Guide to DBGJTAG] discussing a JTAG diagnostic tool presents this OMAP2420 scan chain example (and others).</ref> | ||
* i.MX31 प्रोसेसर, जो समान है, हालांकि इसका प्रणाली जेटीएजी बाउंड्री स्कैन | * i.MX31 प्रोसेसर, जो समान है, हालांकि इसका प्रणाली जेटीएजी बाउंड्री स्कैन टीएपी है,<ref name="iMX31">See "i.MX35 (MCIMX35) Multimedia Applications Processor Reference Manual" from the [[Freescale]] web site. Chapter 44 presents its "Secure JTAG Controller" (SJC).</ref> जो ICEpick से बहुत अलग है, और इसमें DSP और इमेजिंग इंजन के बजाय इसके DMA इंजन के लिए टीएपी शामिल है। | ||
वे प्रोसेसर दोनों वायरलेस हैंडसेट जैसे सेल फोन में उपयोग के लिए अभिप्रेत हैं, जो इस कारण का हिस्सा है कि वे | वे प्रोसेसर दोनों वायरलेस हैंडसेट जैसे सेल फोन में उपयोग के लिए अभिप्रेत हैं, जो इस कारण का हिस्सा है कि वे टीएपी नियंत्रकों को शामिल करते हैं जो जेटीएजी स्कैन श्रृंखला को संशोधित करते हैं: कम बिजली के संचालन को डिबग करने के लिए चिप्स तक पहुँचने की आवश्यकता होती है जब वे बड़े पैमाने पर संचालित होते हैं, और इस प्रकार जब नहीं सभी टीएपी चालू हैं। वह स्कैन चेन संशोधन आगामी आईईईई 1149.7 का एक विषय है<ref name="ieee-1149.7"/>मानक। | ||
=== जेटीजी सुविधाएं === | === जेटीजी सुविधाएं === | ||
यह डिबग | यह डिबग टीएपी कई मानक निर्देशों को प्रकाशित करता है, और कुछ विशेष रूप से हार्डवेयर-सहायता प्राप्त डिबगिंग के लिए डिज़ाइन किए गए हैं, जहाँ एक सॉफ़्टवेयर टूल (डीबगर) जेटीएजी का उपयोग डीबग किए जा रहे प्रणाली के साथ संवाद करने के लिए करता है: | ||
* <code>BYPASS</code> और <code>IDCODE</code>, मानक निर्देश जैसा कि ऊपर वर्णित है | * <code>BYPASS</code> और <code>IDCODE</code>, मानक निर्देश जैसा कि ऊपर वर्णित है | ||
| Line 172: | Line 172: | ||
=== हॉल्ट मोड डिबगिंग === | === हॉल्ट मोड डिबगिंग === | ||
सॉफ़्टवेयर डिबग करने का एक मूल तरीका एकल थ्रेडेड मॉडल प्रस्तुत करना है, जहां डीबगर समय-समय पर प्रोग्राम के निष्पादन को रोकता है और रजिस्टर सामग्री और मेमोरी (परिधीय नियंत्रक रजिस्टरों सहित) द्वारा | सॉफ़्टवेयर डिबग करने का एक मूल तरीका एकल थ्रेडेड मॉडल प्रस्तुत करना है, जहां डीबगर समय-समय पर प्रोग्राम के निष्पादन को रोकता है और रजिस्टर सामग्री और मेमोरी (परिधीय नियंत्रक रजिस्टरों सहित) द्वारा प्रकाशित की गई स्थिति की जांच करता है। जब दिलचस्प कार्यक्रम की घटनाएँ सामने आती हैं, तो एक व्यक्ति एक विशेष दुर्व्यवहार कैसे होता है, यह देखने के लिए एकल चरण निर्देश (या स्रोत कोड की पंक्तियाँ) लेना चाहता है। | ||
तो उदाहरण के लिए एक जेटीएजी होस्ट कोर को रोक सकता है, डिबग मोड में प्रवेश कर सकता है, और फिर ITR और DCC का उपयोग करके सीपीयू रजिस्टर पढ़ सकता है। प्रोसेसर स्थिति को सहेजने के बाद, यह उन रजिस्टरों को किसी भी मूल्य के साथ लिख सकता है, फिर सीपीयू पर मनमाने विधि से एल्गोरिदम निष्पादित कर सकता है, प्रणाली स्थिति को चित्रित करने में सहायता के लिए स्मृति और बाह्य उपकरणों तक पहुंच सकता है। डिबगर द्वारा उन कार्यों को करने के बाद, राज्य को पुनर्स्थापित किया जा सकता है और RESTART निर्देश का उपयोग करके निष्पादन जारी रखा जा सकता है। | तो उदाहरण के लिए एक जेटीएजी होस्ट कोर को रोक सकता है, डिबग मोड में प्रवेश कर सकता है, और फिर ITR और DCC का उपयोग करके सीपीयू रजिस्टर पढ़ सकता है। प्रोसेसर स्थिति को सहेजने के बाद, यह उन रजिस्टरों को किसी भी मूल्य के साथ लिख सकता है, फिर सीपीयू पर मनमाने विधि से एल्गोरिदम निष्पादित कर सकता है, प्रणाली स्थिति को चित्रित करने में सहायता के लिए स्मृति और बाह्य उपकरणों तक पहुंच सकता है। डिबगर द्वारा उन कार्यों को करने के बाद, राज्य को पुनर्स्थापित किया जा सकता है और RESTART निर्देश का उपयोग करके निष्पादन जारी रखा जा सकता है। | ||
डिबग मोड को अतुल्यकालिक रूप से डिबग मॉड्यूल द्वारा वॉचपॉइंट या ब्रेकपॉइंट को ट्रिगर करके, या डीबग किए जा रहे सॉफ़्टवेयर से बीकेपीटी (ब्रेकपॉइंट) निर्देश जारी करके भी दर्ज किया जाता है। जब इसका उपयोग निर्देश अनुरेखण के लिए नहीं किया जा रहा है, तो ETM डिबग मोड में प्रवेश को भी ट्रिगर कर सकता है; यह राज्य और इतिहास के प्रति संवेदनशील जटिल ट्रिगर्स का समर्थन करता है, साथ ही डिबग मॉड्यूल द्वारा | डिबग मोड को अतुल्यकालिक रूप से डिबग मॉड्यूल द्वारा वॉचपॉइंट या ब्रेकपॉइंट को ट्रिगर करके, या डीबग किए जा रहे सॉफ़्टवेयर से बीकेपीटी (ब्रेकपॉइंट) निर्देश जारी करके भी दर्ज किया जाता है। जब इसका उपयोग निर्देश अनुरेखण के लिए नहीं किया जा रहा है, तो ETM डिबग मोड में प्रवेश को भी ट्रिगर कर सकता है; यह राज्य और इतिहास के प्रति संवेदनशील जटिल ट्रिगर्स का समर्थन करता है, साथ ही डिबग मॉड्यूल द्वारा प्रकाशित की गई सरल पता तुलनाओं का भी समर्थन करता है। डिबग मोड में एसिंक्रोनस ट्रांज़िशन DSCR रजिस्टर पोलिंग द्वारा पता लगाया जाता है। इस तरह सिंगल स्टेपिंग को प्रायुक्त किया जाता है: कोर को रोकें, अगले निर्देश या अगले उच्च-स्तरीय स्टेटमेंट पर एक अस्थायी ब्रेकपॉइंट सेट करें, RESTART, पोल DSCR जब तक आप डिबग स्टेट में एसिंक्रोनस एंट्री का पता नहीं लगाते हैं, उस अस्थायी ब्रेकपॉइंट को हटा दें, दोहराएं। | ||
=== मॉनिटर मोड डिबगिंग === | === मॉनिटर मोड डिबगिंग === | ||
| Line 201: | Line 201: | ||
**उपभोक्ता उत्पाद जैसे नेटवर्किंग उपकरण और उपग्रह टेलीविजन एकीकृत रिसीवर/डिकोडर अक्सर माइक्रोप्रोसेसर का उपयोग करते हैं जो जेटीएजी का समर्थन करते हैं, फ़र्मवेयर को फिर से लोड करने का वैकल्पिक साधन प्रदान करते हैं यदि मौजूदा [[बूटलोडर]] किसी तरह से दूषित हो गया है। | **उपभोक्ता उत्पाद जैसे नेटवर्किंग उपकरण और उपग्रह टेलीविजन एकीकृत रिसीवर/डिकोडर अक्सर माइक्रोप्रोसेसर का उपयोग करते हैं जो जेटीएजी का समर्थन करते हैं, फ़र्मवेयर को फिर से लोड करने का वैकल्पिक साधन प्रदान करते हैं यदि मौजूदा [[बूटलोडर]] किसी तरह से दूषित हो गया है। | ||
*[[ पेरिफ़ेरल कंपोनेंट इंटरकनेक्ट ]] बस कनेक्टर मानक में पिन 1-5 पर वैकल्पिक जेटीएजी सिग्नल होते हैं;<ref>{{cite web|url=http://www.techfest.com/hardware/bus/pci.htm#4.10|title=PCI Local Bus Technical Summary, 4.10 JTAG/Boundary Scan Pins|access-date=13 July 2007|archive-url=https://web.archive.org/web/20061107201536/http://www.techfest.com/hardware/bus/pci.htm#4.10|archive-date=7 November 2006|url-status=dead}}</ref> [[PCI Express]] में 5-9 पिनों पर जेटीएजी सिग्नल होते हैं।<ref>{{cite web|url=http://www.interfacebus.com/Design_PCI_Express_16x_PinOut.html|title=Serial PCI Express Bus 16x Pinout and PCIe Pin out Signal names|website=www.interfacebus.com}}</ref> एक भ्रष्ट [[BIOS]] को रिफ़्लेश करने के लिए एक विशेष जेटीएजी कार्ड का उपयोग किया जा सकता है। | *[[ पेरिफ़ेरल कंपोनेंट इंटरकनेक्ट ]] बस कनेक्टर मानक में पिन 1-5 पर वैकल्पिक जेटीएजी सिग्नल होते हैं;<ref>{{cite web|url=http://www.techfest.com/hardware/bus/pci.htm#4.10|title=PCI Local Bus Technical Summary, 4.10 JTAG/Boundary Scan Pins|access-date=13 July 2007|archive-url=https://web.archive.org/web/20061107201536/http://www.techfest.com/hardware/bus/pci.htm#4.10|archive-date=7 November 2006|url-status=dead}}</ref> [[PCI Express]] में 5-9 पिनों पर जेटीएजी सिग्नल होते हैं।<ref>{{cite web|url=http://www.interfacebus.com/Design_PCI_Express_16x_PinOut.html|title=Serial PCI Express Bus 16x Pinout and PCIe Pin out Signal names|website=www.interfacebus.com}}</ref> एक भ्रष्ट [[BIOS]] को रिफ़्लेश करने के लिए एक विशेष जेटीएजी कार्ड का उपयोग किया जा सकता है। | ||
* बाउंड्री स्कैन टेस्टिंग और इन-प्रणाली (डिवाइस) प्रोग्रामिंग एप्लिकेशन को कभी-कभी सीरियल वेक्टर फॉर्मेट का उपयोग करके प्रोग्राम किया जाता है, जो एक साधारण सिंटैक्स का उपयोग करके जेटीएजी संचालन का एक शाब्दिक प्रतिनिधित्व है। अन्य प्रोग्रामिंग प्रारूपों में 'JAM' और | * बाउंड्री स्कैन टेस्टिंग और इन-प्रणाली (डिवाइस) प्रोग्रामिंग एप्लिकेशन को कभी-कभी सीरियल वेक्टर फॉर्मेट का उपयोग करके प्रोग्राम किया जाता है, जो एक साधारण सिंटैक्स का उपयोग करके जेटीएजी संचालन का एक शाब्दिक प्रतिनिधित्व है। अन्य प्रोग्रामिंग प्रारूपों में 'JAM' और SटीएपीL और हाल ही में आईईईई Std शामिल हैं। 1532 परिभाषित प्रारूप 'आईएससी' (इन-प्रणाली कॉन्फ़िगरेशन के लिए संक्षिप्त)। ISC प्रारूप का उपयोग प्रोग्रामेबल लॉजिक डिवाइसेस (यानी एफपीजीए और CPLDs) के लिए उन्नत BSDL मॉडल के संयोजन में किया जाता है जिसमें बुनियादी न्यूनतम आईईईई 1149.1 निर्देशों के अलावा अतिरिक्त ISC_<ऑपरेशन> निर्देश शामिल होते हैं। [[Xilinx]], Altera, Lattice, Cypress, Actel, आदि से एफपीजीए प्रोग्रामिंग टूल आमतौर पर ऐसी फ़ाइलों को निर्यात करने में सक्षम होते हैं। | ||
* जैसा कि उल्लेख किया गया है, कई बोर्डों में विनिर्माण कार्यों का समर्थन करने के लिए जेटीएजी कनेक्टर, या सिर्फ पैड शामिल हैं, जहां सीमा स्कैन परीक्षण बोर्ड की गुणवत्ता (खराब मिलाप जोड़ों की पहचान, आदि) को सत्यापित करने और फ्लैश मेमोरी या एफपीजीए को आरंभ करने में मदद करता है। | * जैसा कि उल्लेख किया गया है, कई बोर्डों में विनिर्माण कार्यों का समर्थन करने के लिए जेटीएजी कनेक्टर, या सिर्फ पैड शामिल हैं, जहां सीमा स्कैन परीक्षण बोर्ड की गुणवत्ता (खराब मिलाप जोड़ों की पहचान, आदि) को सत्यापित करने और फ्लैश मेमोरी या एफपीजीए को आरंभ करने में मदद करता है। | ||
* जेटीएजी फील्ड अपडेट और समस्या निवारण का भी समर्थन कर सकता है। | * जेटीएजी फील्ड अपडेट और समस्या निवारण का भी समर्थन कर सकता है। | ||
| Line 222: | Line 222: | ||
* [[MIPI डिबग आर्किटेक्चर]]10-/20-कनेक्टर्स (1.27 mm 050 ) जेटीएजी, cजेटीएजी और SWD के लिए | * [[MIPI डिबग आर्किटेक्चर]]10-/20-कनेक्टर्स (1.27 mm 050 ) जेटीएजी, cजेटीएजी और SWD के लिए | ||
उन कनेक्टर्स में केवल चार मानकीकृत सिग्नल (टीएमएस, टीकेके, टीडीआई, TDO) से अधिक शामिल होते हैं। आमतौर पर रीसेट सिग्नल प्रदान किए जाते हैं, टीआरएसटी ( | उन कनेक्टर्स में केवल चार मानकीकृत सिग्नल (टीएमएस, टीकेके, टीडीआई, TDO) से अधिक शामिल होते हैं। आमतौर पर रीसेट सिग्नल प्रदान किए जाते हैं, टीआरएसटी (टीएपी रीसेट) और एसआरएसटी (प्रणाली रीसेट) में से एक या दोनों। कनेक्टर आमतौर पर बोर्ड-अंडर-टेस्ट का लॉजिक सप्लाई वोल्टेज प्रदान करता है ताकि जेटीएजी एडेप्टर उपयुक्त लॉजिक स्तरों का उपयोग करें<!-- eg 5, 3.3, ..., 1V, ... -->. बोर्ड वोल्टेज बोर्ड के वर्तमान डिबगर इनपुट के रूप में भी काम कर सकता है। अधिक जटिल डिबगिंग आर्किटेक्चर का समर्थन करने के लिए अन्य ईवेंट इनपुट या आउटपुट सिग्नल प्रदान किए जा सकते हैं, या सामान्य प्रयोजन इनपुट/आउटपुट | सामान्य प्रयोजन I/O (GPIO) लाइनें। | ||
जेटीएजी संचालन के संयोजन के साथ हाई-स्पीड [[ अनुरेखण (सॉफ्टवेयर) ]] का समर्थन करने के लिए उच्च अंत उत्पाद अक्सर घने कनेक्टर (अक्सर 38-पिन [[MICTOR]] कनेक्टर) का उपयोग करते हैं। एक हालिया चलन है कि विकास बोर्ड जेटीएजी में एक यूएसबी इंटरफ़ेस को एकीकृत करते हैं, जहाँ एक सीरियल पोर्ट के लिए एक दूसरे चैनल का उपयोग किया जाता है। (छोटे बोर्ड यूएसबी के माध्यम से भी संचालित किए जा सकते हैं। चूंकि आधुनिक पीसी सीरियल पोर्ट को छोड़ देते हैं, ऐसे एकीकृत डिबग लिंक विकासकर्ता के लिए अव्यवस्था को काफी कम कर सकते हैं।) प्रोडक्शन बोर्ड अक्सर [[नाखून परीक्षक का बिस्तर]] पर भरोसा करते हैं। परीक्षण बिंदुओं के लिए बेड-ऑफ-नेल संयोजन परीक्षण और प्रोग्रामिंग के लिए। | जेटीएजी संचालन के संयोजन के साथ हाई-स्पीड [[ अनुरेखण (सॉफ्टवेयर) ]] का समर्थन करने के लिए उच्च अंत उत्पाद अक्सर घने कनेक्टर (अक्सर 38-पिन [[MICTOR]] कनेक्टर) का उपयोग करते हैं। एक हालिया चलन है कि विकास बोर्ड जेटीएजी में एक यूएसबी इंटरफ़ेस को एकीकृत करते हैं, जहाँ एक सीरियल पोर्ट के लिए एक दूसरे चैनल का उपयोग किया जाता है। (छोटे बोर्ड यूएसबी के माध्यम से भी संचालित किए जा सकते हैं। चूंकि आधुनिक पीसी सीरियल पोर्ट को छोड़ देते हैं, ऐसे एकीकृत डिबग लिंक विकासकर्ता के लिए अव्यवस्था को काफी कम कर सकते हैं।) प्रोडक्शन बोर्ड अक्सर [[नाखून परीक्षक का बिस्तर]] पर भरोसा करते हैं। परीक्षण बिंदुओं के लिए बेड-ऑफ-नेल संयोजन परीक्षण और प्रोग्रामिंग के लिए। | ||