जेटीजी: Difference between revisions
From Vigyanwiki
No edit summary |
No edit summary |
||
| Line 18: | Line 18: | ||
=== [[डिबगिंग]] === | === [[डिबगिंग]] === | ||
हालांकि जेटीएजी के | हालांकि जेटीएजी के प्रारंभिक अनुप्रयोगों ने बोर्ड स्तर के परीक्षण को लक्षित किया, यहाँ जेटीएजी मानक को डिवाइस, बोर्ड और प्रणाली परीक्षण, [[निदान]] और दोष अलगाव में सहायता के लिए डिज़ाइन किया गया था। आज जेटीएजी का उपयोग एकीकृत परिपथों के उप-ब्लॉकों तक पहुँचने के प्राथमिक साधन के रूप में किया जाता है, जिससे यह [[ अंतः स्थापित प्रणाली ]] को डीबग करने के लिए एक आवश्यक तंत्र बन जाता है जिसमें कोई अन्य डीबग-सक्षम संचार चैनल नहीं हो सकता है।{{citation needed|reason=This statement claims that JTAG is of critical use for a certain application but doesn't provide any source that supports the statement.|date=October 2017}} अधिकांश प्रणालियों पर, जेटीएजी-आधारित [[डिबग|डिबगिंग]] सीपीयू रीसेट के बाद पहले निर्देश से उपलब्ध है, जो इसे प्रारंभिक बूट सॉफ़्टवेयर के विकास में सहायता देता है जो कुछ भी सेट होने से पहले चलता है। एक [[इन-सर्किट एमुलेटर]] (या, अधिक सही विधि से, एक जेटीएजी एडॉप्टर) जेटीएजी का उपयोग लक्ष्य सेंट्रल प्रोसेसिंग यूनिट के अंदर ऑन-चिप डिबग मॉड्यूल तक पहुँचने के लिए परिवहन तंत्र के रूप में करता है। वे मॉड्यूल सॉफ़्टवेयर विकासकर्ता को एक एम्बेडेड प्रणाली के सॉफ़्टवेयर को आवश्यकता पड़ने पर सीधे मशीन निर्देश स्तर पर, या (अधिक विशिष्ट रूप से) उच्च स्तरीय भाषा स्रोत कोड के संदर्भ में डीबग करने देते हैं। | ||
प्रणाली सॉफ़्टवेयर डिबग समर्थन कई सॉफ़्टवेयर | प्रणाली सॉफ़्टवेयर डिबग समर्थन कई सॉफ़्टवेयर विकासकर्ता के लिए जेटीएजी में रुचि रखने का मुख्य कारण है। कई सिलिकॉन आर्किटेक्चर जैसे कि पावरपीसी, एमआईपीएस, एआरएम, और एक्स86 ने मूल जेटीएजी प्रोटोकॉल के आसपास एक संपूर्ण सॉफ़्टवेयर डीबग, निर्देश ट्रेसिंग और डेटा ट्रेसिंग इन्फ्रास्ट्रक्चर का निर्माण किया। अक्सर व्यक्तिगत सिलिकॉन विक्रेता इन एक्सटेंशनों के कुछ हिस्सों को ही प्रायुक्त करते हैं। कुछ उदाहरण एआरएम [[कोरसाइट]] और [[नेक्सस (मानक)]] के साथ-साथ इंटेल के बीटीएस (ब्रांच ट्रेस स्टोरेज), एलबीआर (लास्ट ब्रांच रिकॉर्ड), और आईपीटी (इंटेल प्रोसेसर ट्रेस) कार्यान्वयन हैं। ऐसे कई अन्य सिलिकॉन विक्रेता-विशिष्ट एक्सटेंशन हैं, जिन्हें गैर-प्रकटीकरण समझौते के अलावा प्रलेखित नहीं किया जा सकता है। जेटीएजी मानक को अपनाने से जेटीएजी-केंद्रित डिबगिंग वातावरण को प्रारंभिक प्रोसेसर-विशिष्ट डिज़ाइनों से दूर करने में मदद मिली। प्रोसेसर को सामान्य रूप से रोका जा सकता है, सिंगल स्टेप किया जा सकता है, या स्वतंत्र रूप से चलने दिया जा सकता है। रैम में कोड के लिए (अक्सर एक विशेष मशीन निर्देश का उपयोग करके) और रैम/फ़्लैश दोनों में कोड ब्रेकप्वाइंट सेट कर सकते हैं। डेटा ब्रेकप्वाइंट अक्सर उपलब्ध होते हैं, जैसा कि रैम में बल्क डेटा डाउनलोड होता है। अधिकांश डिज़ाइनों में हाल्ट मोड डिबगिंग है, लेकिन कुछ डिबगर्स को रजिस्टरों और डेटा बसों तक पहुंचने की अनुमति देते हैं, बिना कोर को डिबग किए रोकने की आवश्यकता होती है। कुछ टूलचेन एआरएम एंबेडेड ट्रेस मैक्रोसेल (ईटीएम) मॉड्यूल या अन्य आर्किटेक्चर में समकक्ष कार्यान्वयन का उपयोग कर सकते हैं, जो [[तर्क विश्लेषक]] जैसे जटिल हार्डवेयर घटनाओं पर डिबगर (या ट्रेसिंग) गतिविधि को ट्रिगर करने के लिए प्रोग्राम किया जाता है, जो एक विशेष सबरूटीन से एक रजिस्टर में पहले सात एक्सेस को अनदेखा करने के लिए प्रोग्राम किया जाता है। | ||
कभी-कभी [[एफपीजीए]] डेवलपर डीबगिंग टूल विकसित करने के लिए जेटीएजी का भी उपयोग करते हैं।<ref name="fpga">[http://www.embeddeddesignindia.co.in/ART_8800568419_2800006_TA_d2d96055.HTM Select the right FPGA debug method] {{Webarchive|url=https://web.archive.org/web/20100427145744/http://www.embeddeddesignindia.co.in/ART_8800568419_2800006_TA_d2d96055.HTM |date=27 April 2010 }} presents one of the models for such tools.</ref> [[ CPU | सीपीयू]] के अंदर चलने वाले सॉफ़्टवेयर को डिबग करने के लिए उपयोग की जाने वाली वही जेटीएजी तकनीकें | कभी-कभी [[एफपीजीए]] डेवलपर डीबगिंग टूल विकसित करने के लिए जेटीएजी का भी उपयोग करते हैं।<ref name="fpga">[http://www.embeddeddesignindia.co.in/ART_8800568419_2800006_TA_d2d96055.HTM Select the right FPGA debug method] {{Webarchive|url=https://web.archive.org/web/20100427145744/http://www.embeddeddesignindia.co.in/ART_8800568419_2800006_TA_d2d96055.HTM |date=27 April 2010 }} presents one of the models for such tools.</ref> [[ CPU | सीपीयू]] के अंदर चलने वाले सॉफ़्टवेयर को डिबग करने के लिए उपयोग की जाने वाली वही जेटीएजी तकनीकें एफपीजीए के अंदर अन्य डिजिटल डिज़ाइन ब्लॉक को डीबग करने में मदद कर सकती हैं। उदाहरण के लिए, कस्टम जेटीएजी निर्देश एफपीजीए के अंदर संकेतों के मनमाने सेट से निर्मित पठन रजिस्टरों को अनुमति देने के लिए प्रदान किए जा सकते हैं, जो उन व्यवहारों के लिए दृश्यता प्रदान करते हैं जो सीमा स्कैन संचालन के लिए अदृश्य हैं। इसी तरह, ऐसे रजिस्टर लिखने से नियंत्रणीयता मिल सकती है जो अन्यथा उपलब्ध नहीं है। | ||
=== फर्मवेयर भंडारण === | === फर्मवेयर भंडारण === | ||
जेटीएजी [[प्रोग्रामर (हार्डवेयर)]] को डेटा को आंतरिक गैर-वाष्पशील डिवाइस मेमोरी (जैसे [[ जटिल प्रोग्रामेबल लॉजिक डिवाइस ]]) में स्थानांतरित करने की अनुमति देता है। कुछ डिवाइस प्रोग्रामर प्रोग्रामिंग के साथ-साथ डिवाइस को डिबग करने के लिए एक दोहरे उद्देश्य की पूर्ति करते हैं। | जेटीएजी [[प्रोग्रामर (हार्डवेयर)]] को डेटा को आंतरिक गैर-वाष्पशील डिवाइस मेमोरी (जैसे [[ जटिल प्रोग्रामेबल लॉजिक डिवाइस ]]) में स्थानांतरित करने की अनुमति देता है। कुछ डिवाइस प्रोग्रामर प्रोग्रामिंग के साथ-साथ डिवाइस को डिबग करने के लिए एक दोहरे उद्देश्य की पूर्ति करते हैं। एफपीजीए के मामले में, सामान्य रूप से विकास कार्य के दौरान जेटीएजी पोर्ट के माध्यम से अस्थिर स्मृति उपकरणों को भी प्रोग्राम किया जा सकता है। इसके अलावा, आंतरिक निगरानी क्षमताओं (तापमान, वोल्टेज और करंट) को जेटीएजी पोर्ट के माध्यम से एक्सेस किया जा सकता है। | ||
जेटीएजी प्रोग्रामर का उपयोग सॉफ्टवेयर और डेटा को [[फ्लैश मेमोरी]] में लिखने के लिए भी किया जाता है। यह आमतौर पर उसी डेटा बस एक्सेस का उपयोग करके किया जाता है जिसका सीपीयू उपयोग करेगा, और कभी-कभी सीपीयू द्वारा नियंत्रित किया जाता है। अन्य मामलों में मेमोरी चिप्स में स्वयं जेटीएजी इंटरफेस होता है। कुछ आधुनिक डिबग आर्किटेक्चर सीपीयू को रोकने और लेने की आवश्यकता के बिना आंतरिक और बाहरी बस मास्टर एक्सेस प्रदान करते हैं। सबसे खराब स्थिति में, सीमा स्कैन सुविधा का उपयोग करके बाहरी बस संकेतों को चलाना आमतौर पर संभव है। | जेटीएजी प्रोग्रामर का उपयोग सॉफ्टवेयर और डेटा को [[फ्लैश मेमोरी]] में लिखने के लिए भी किया जाता है। यह आमतौर पर उसी डेटा बस एक्सेस का उपयोग करके किया जाता है जिसका सीपीयू उपयोग करेगा, और कभी-कभी सीपीयू द्वारा नियंत्रित किया जाता है। अन्य मामलों में मेमोरी चिप्स में स्वयं जेटीएजी इंटरफेस होता है। कुछ आधुनिक डिबग आर्किटेक्चर सीपीयू को रोकने और लेने की आवश्यकता के बिना आंतरिक और बाहरी बस मास्टर एक्सेस प्रदान करते हैं। सबसे खराब स्थिति में, सीमा स्कैन सुविधा का उपयोग करके बाहरी बस संकेतों को चलाना आमतौर पर संभव है। | ||
एक व्यावहारिक मामले के रूप में, एक एम्बेडेड प्रणाली विकसित करते समय, निर्देश स्टोर का अनुकरण करना डिबग चक्र (संपादन, संकलन, डाउनलोड, परीक्षण और डिबग) को प्रायुक्त करने का सबसे तेज़ तरीका है।{{citation needed|date=June 2015}} इसका कारण यह है कि इन-सर्किट इम्यूलेटर एक इंस्ट्रक्शन स्टोर का अनुकरण करता है, जिसे | एक व्यावहारिक मामले के रूप में, एक एम्बेडेड प्रणाली विकसित करते समय, निर्देश स्टोर का अनुकरण करना डिबग चक्र (संपादन, संकलन, डाउनलोड, परीक्षण और डिबग) को प्रायुक्त करने का सबसे तेज़ तरीका है।{{citation needed|date=June 2015}} इसका कारण यह है कि इन-सर्किट इम्यूलेटर एक इंस्ट्रक्शन स्टोर का अनुकरण करता है, जिसे यूएसबी के माध्यम से डेवलपमेंट होस्ट से बहुत जल्दी अपडेट किया जा सकता है। फ्लैश पर फर्मवेयर अपलोड करने के लिए सीरियल यूएआरटी पोर्ट और बूटलोडर का उपयोग करना इस डीबग चक्र को उपकरणों के मामले में काफी धीमा और संभवतः महंगा बनाता है; जेटीएजी के माध्यम से फर्मवेयर को फ्लैश (या फ्लैश के बजाय एसरैम) में स्थापित करना इन चरम सीमाओं के बीच एक मध्यवर्ती समाधान है। | ||
=== सीमा स्कैन परीक्षण === | === सीमा स्कैन परीक्षण === | ||
| Line 36: | Line 36: | ||
जेटीएजी सीमा स्कैन तकनीक डिवाइस पिन सहित एक जटिल एकीकृत सर्किट के कई तर्क संकेतों तक पहुंच प्रदान करती है। टीएपी के माध्यम से सुलभ सीमा स्कैन रजिस्टर (बीएसआर) में संकेतों का प्रतिनिधित्व किया जाता है। यह परीक्षण और डिबगिंग के लिए संकेतों की स्थिति को नियंत्रित करने के साथ-साथ परीक्षण की अनुमति देता है। इसलिए, सॉफ्टवेयर और हार्डवेयर (निर्माण) दोनों दोषों का पता लगाया जा सकता है और एक ऑपरेटिंग डिवाइस की निगरानी की जा सकती है। | जेटीएजी सीमा स्कैन तकनीक डिवाइस पिन सहित एक जटिल एकीकृत सर्किट के कई तर्क संकेतों तक पहुंच प्रदान करती है। टीएपी के माध्यम से सुलभ सीमा स्कैन रजिस्टर (बीएसआर) में संकेतों का प्रतिनिधित्व किया जाता है। यह परीक्षण और डिबगिंग के लिए संकेतों की स्थिति को नियंत्रित करने के साथ-साथ परीक्षण की अनुमति देता है। इसलिए, सॉफ्टवेयर और हार्डवेयर (निर्माण) दोनों दोषों का पता लगाया जा सकता है और एक ऑपरेटिंग डिवाइस की निगरानी की जा सकती है। | ||
[[ अंतर्निहित स्व-परीक्षण ]] (बिल्ट-इन सेल्फ-टेस्ट) के साथ संयुक्त होने पर, जेटीएजी स्कैन चेन कुछ स्थैतिक दोषों (शॉर्ट्स, ओपन्स और लॉजिक एरर्स) के लिए आईसी का परीक्षण करने के लिए कम ओवरहेड, एम्बेडेड समाधान को सक्षम करती है। स्कैन श्रृंखला तंत्र आम तौर पर होने वाले समय, तापमान या अन्य गतिशील परिचालन त्रुटियों के निदान या परीक्षण में मदद नहीं करता है। [[ परीक्षण मामला ]] अक्सर मानकीकृत प्रारूपों जैसे [[सीरियल वेक्टर प्रारूप]], या इसके बाइनरी सिबलिंग | [[ अंतर्निहित स्व-परीक्षण ]] (बिल्ट-इन सेल्फ-टेस्ट) के साथ संयुक्त होने पर, जेटीएजी स्कैन चेन कुछ स्थैतिक दोषों (शॉर्ट्स, ओपन्स और लॉजिक एरर्स) के लिए आईसी का परीक्षण करने के लिए कम ओवरहेड, एम्बेडेड समाधान को सक्षम करती है। स्कैन श्रृंखला तंत्र आम तौर पर होने वाले समय, तापमान या अन्य गतिशील परिचालन त्रुटियों के निदान या परीक्षण में मदद नहीं करता है। [[ परीक्षण मामला ]] अक्सर मानकीकृत प्रारूपों जैसे [[सीरियल वेक्टर प्रारूप]], या इसके बाइनरी सिबलिंग एक्सएसवीएफ में प्रदान किए जाते हैं, और उत्पादन परीक्षणों में उपयोग किए जाते हैं। तैयार बोर्डों पर इस तरह के परीक्षण करने की क्षमता आज के उत्पादों में [[परीक्षण के लिए डिजाइन]] का एक अनिवार्य हिस्सा है, जिससे ग्राहकों को उत्पाद भेजने से पहले पाए जाने वाले दोषों की संख्या बढ़ जाती है। | ||
== विद्युत विशेषताएँ == | == विद्युत विशेषताएँ == | ||
जेटीएजी इंटरफ़ेस चिप में जोड़ा गया एक विशेष इंटरफ़ेस है। जेटीएजी के संस्करण के आधार पर, दो, चार या पाँच पिन जोड़े जाते हैं। चार और पांच पिन इंटरफेस को डिज़ाइन किया गया है | जेटीएजी इंटरफ़ेस चिप में जोड़ा गया एक विशेष इंटरफ़ेस है। जेटीएजी के संस्करण के आधार पर, दो, चार या पाँच पिन जोड़े जाते हैं। चार और पांच पिन इंटरफेस को डिज़ाइन किया गया है कि यदि विशिष्ट शर्तें पूरी होती हैं तो एक बोर्ड पर कई चिप्स अपनी जेटीएजी लाइनों को एक साथ [[डेज़ी चेन (इलेक्ट्रिकल इंजीनियरिंग)]] से जोड़ सकते हैं।<ref>{{cite web|url=http://www.jtagtest.com/faq/jtag-ieee-1149-1/under-what-conditions-can-i-daisy-chain-jtag|title=FAQ: Under what conditions can I daisy-chain JTAG?|website=www.jtagtest.com}}</ref> दो पिन इंटरफ़ेस को इस तरह से डिज़ाइन किया गया है कि एक [[ तारक संस्थिति ]] में कई चिप्स को जोड़ा जा सकता है। किसी भी मामले में एक [[सर्किट बोर्ड]] पर सभी चिप्स तक पहुंच के लिए एक [[परीक्षण जांच]] को केवल एक जेटीएजी पोर्ट से कनेक्ट करने की आवश्यकता होती है। | ||
=== डेज़ी-जंजीर जेटीएजी (आईईईई 1149.1) === | === डेज़ी-जंजीर जेटीएजी (आईईईई 1149.1) === | ||
[[Image:Jtag chain.svg|center|जेटीएजी श्रृंखला का उदाहरण। टेस्ट रीसेट सिग्नल नहीं दिखाया गया है]]कनेक्टर पिन हैं: | [[Image:Jtag chain.svg|center|जेटीएजी श्रृंखला का उदाहरण। टेस्ट रीसेट सिग्नल नहीं दिखाया गया है]]कनेक्टर पिन हैं: | ||
# | #'''टीडीआई''' (टेस्ट डेटा इन) | ||
# | #'''टीडीओ'''(टेस्ट डेटा आउट) | ||
# | #'''टीकेके''' (परीक्षण घड़ी) | ||
# | #'''टीएमएस''' (टेस्ट मोड सेलेक्ट) | ||
# | #'''टीआरएसटी''' (टेस्ट रीसेट) वैकल्पिक। | ||
टीआरएसटी पिन परीक्षण तर्क के लिए एक वैकल्पिक सक्रिय-निम्न रीसेट है, आमतौर पर एसिंक्रोनस, लेकिन कभी-कभी सिंक्रोनस, चिप पर निर्भर करता है। यदि पिन उपलब्ध नहीं है, तो टीसीके और टीएमएस का उपयोग करके समकालिक रूप से रीसेट स्थिति में स्विच करके परीक्षण तर्क को रीसेट किया जा सकता है। ध्यान दें कि टेस्ट लॉजिक को रीसेट करने का मतलब किसी और चीज को रीसेट करना जरूरी नहीं है। आम तौर पर कुछ प्रोसेसर-विशिष्ट जेटीएजी ऑपरेशन होते हैं जो डिबग किए जा रहे चिप के सभी या हिस्से को रीसेट कर सकते हैं। | |||
चूंकि केवल एक डेटा लाइन उपलब्ध है, प्रोटोकॉल [[सीरियल संचार]] है। क्लॉक इनपुट | चूंकि केवल एक डेटा लाइन उपलब्ध है, प्रोटोकॉल [[सीरियल संचार]] है। क्लॉक इनपुट टीकेके पिन पर है। एक बिट डेटा टीडीआई से स्थानांतरित किया जाता है, और टीडीओप्रति टीकेके राइजिंग क्लॉक एज में स्थानांतरित किया जाता है। विभिन्न निर्देश लोड किए जा सकते हैं। विशिष्ट आईसी के लिए निर्देश चिप आईडी, नमूना इनपुट पिन, ड्राइव (या फ्लोट) आउटपुट पिन पढ़ सकते हैं, चिप कार्यों या बाईपास (कई चिप्स की श्रृंखला को तार्किक रूप से छोटा करने के लिए टीडीओ को पाइप टीडीआई) में हेरफेर कर सकते हैं। | ||
किसी भी क्लॉक्ड सिग्नल की तरह, | किसी भी क्लॉक्ड सिग्नल की तरह, टीडीआई को प्रस्तुत किया गया डेटा कुछ चिप-विशिष्ट ''सेटअप'' समय से पहले और प्रासंगिक (यहाँ, बढ़ते हुए) क्लॉक एज के बाद ''होल्ड'' समय के लिए मान्य होना चाहिए। टीडीओडेटा टीकेके के गिरने के बाद कुछ चिप-विशिष्ट समय के लिए मान्य है। | ||
टीसीके की अधिकतम ऑपरेटिंग आवृत्ति श्रृंखला में सभी चिप्स के आधार पर भिन्न होती है (न्यूनतम गति का उपयोग किया जाना चाहिए), लेकिन यह आमतौर पर 10-100 मेगाहर्ट्ज (100-10 एनएस प्रति बिट) है। साथ ही | टीसीके की अधिकतम ऑपरेटिंग आवृत्ति श्रृंखला में सभी चिप्स के आधार पर भिन्न होती है (न्यूनतम गति का उपयोग किया जाना चाहिए), लेकिन यह आमतौर पर 10-100 मेगाहर्ट्ज (100-10 एनएस प्रति बिट) है। साथ ही टीकेके आवृत्तियाँ बोर्ड लेआउट और जेटीएजी अडैप्टर क्षमताओं और स्थिति पर निर्भर करती हैं। एक चिप में 40 मेगाहर्टज जेटीएजी घड़ी हो सकती है, लेकिन केवल तभी जब वह गैर-जेटीएजी संचालन के लिए 200 मेगाहर्टज घड़ी का उपयोग कर रही हो; और कम पावर मोड में होने पर इसे बहुत धीमी घड़ी का उपयोग करने की आवश्यकता हो सकती है। तदनुसार, कुछ जेटीएजी एडेप्टरों में Rटीकेके (रिटर्न टीकेके) सिग्नल का उपयोग करते हुए ''अनुकूली क्लॉकिंग'' होती है। तेज़ टीकेके फ़्रीक्वेंसी सबसे अधिक उपयोगी होती है जब जेटीएजी का उपयोग बहुत अधिक डेटा स्थानांतरित करने के लिए किया जाता है, जैसे कि किसी प्रोग्राम को निष्पादन योग्य फ्लैश मेमोरी में संग्रहीत करना। | ||
एक मानकीकृत जेटीएजी [[राज्य मशीन]] के माध्यम से | एक मानकीकृत जेटीएजी [[राज्य मशीन]] के माध्यम से टीएमएस चरणों पर क्लॉकिंग परिवर्तन। जेटीएजी स्टेट मशीन रीसेट कर सकती है, एक इंस्ट्रक्शन रजिस्टर को एक्सेस कर सकती है, या इंस्ट्रक्शन रजिस्टर द्वारा चुने गए डेटा को एक्सेस कर सकती है। | ||
जेटीएजी प्लेटफॉर्म अक्सर आईईईई 1149.1 विनिर्देश द्वारा परिभाषित मुट्ठी भर संकेतों को जोड़ते हैं। एक प्रणाली रीसेट ( | जेटीएजी प्लेटफॉर्म अक्सर आईईईई 1149.1 विनिर्देश द्वारा परिभाषित मुट्ठी भर संकेतों को जोड़ते हैं। एक प्रणाली रीसेट (एसआरएसटी) सिग्नल काफी सामान्य है, डिबगर्स को पूरे प्रणाली को रीसेट करने देता है, न कि केवल जेटीएजी समर्थन वाले हिस्से को रीसेट करता है। कभी-कभी मेजबान द्वारा गतिविधि को ट्रिगर करने के लिए या जेटीएजी या शायद अतिरिक्त नियंत्रण रेखाओं के माध्यम से मॉनिटर किए जा रहे डिवाइस द्वारा ईवेंट सिग्नल का उपयोग किया जाता है। | ||
भले ही कुछ उपभोक्ता उत्पाद एक स्पष्ट जेटीएजी पोर्ट कनेक्टर प्रदान करते हैं, संयोजन अक्सर मुद्रित सर्किट बोर्ड पर विकास [[प्रोटोटाइप]] और/या उत्पादन के अवशेष के रूप में उपलब्ध होते हैं। उपयोग किए जाने पर, ये संयोजन अक्सर [[रिवर्स इंजीनियरिंग]] के लिए सबसे व्यवहार्य साधन प्रदान करते हैं। | भले ही कुछ उपभोक्ता उत्पाद एक स्पष्ट जेटीएजी पोर्ट कनेक्टर प्रदान करते हैं, संयोजन अक्सर मुद्रित सर्किट बोर्ड पर विकास [[प्रोटोटाइप]] और/या उत्पादन के अवशेष के रूप में उपलब्ध होते हैं। उपयोग किए जाने पर, ये संयोजन अक्सर [[रिवर्स इंजीनियरिंग]] के लिए सबसे व्यवहार्य साधन प्रदान करते हैं। | ||
| Line 68: | Line 68: | ||
[[File:Example of reduced pin count JTAG interface.svg|thumb|कम पिन संख्या के साथ जेटीएजी का उदाहरण]]कम पिन काउंट जेटीएजी केवल दो तारों, एक क्लॉक वायर और एक डेटा वायर का उपयोग करता है। इसे आईईईई 1149.7 मानक के भाग के रूप में परिभाषित किया गया है।<ref name="ieee-1149.7"/>कनेक्टर पिन हैं: | [[File:Example of reduced pin count JTAG interface.svg|thumb|कम पिन संख्या के साथ जेटीएजी का उदाहरण]]कम पिन काउंट जेटीएजी केवल दो तारों, एक क्लॉक वायर और एक डेटा वायर का उपयोग करता है। इसे आईईईई 1149.7 मानक के भाग के रूप में परिभाषित किया गया है।<ref name="ieee-1149.7"/>कनेक्टर पिन हैं: | ||
# | #टीएमएससी (टेस्ट सीरियल डेटा) | ||
# | #टीकेके (परीक्षण घड़ी) | ||
कॉम्पैक्ट जेटीएजी के लिए इसे | कॉम्पैक्ट जेटीएजी के लिए इसे सीजेटीएजी कहा जाता है। | ||
दो वायर इंटरफेस ने पिनों की संख्या पर दबाव कम कर दिया, और उपकरणों को स्टार टोपोलॉजी में जोड़ा जा सकता है।<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> स्टार टोपोलॉजी प्रणाली के कुछ हिस्सों को संचालित करने में सक्षम बनाती है, जबकि अन्य को अभी भी जेटीएजी पर एक्सेस किया जा सकता है; एक डेज़ी श्रृंखला के लिए सभी जेटीएजी इंटरफेस को संचालित करने की आवश्यकता होती है। अन्य दो-तार इंटरफेस मौजूद हैं, जैसे समान इंटरफ़ेस मानक। | ||
== संचार मॉडल == | == संचार मॉडल == | ||
जेटीएजी में, डिवाइस एक या अधिक टेस्ट एक्सेस पोर्ट्स ( | जेटीएजी में, डिवाइस एक या अधिक टेस्ट एक्सेस पोर्ट्स (TAP) को उजागर करते हैं। ऊपर दी गई तस्वीर तीन टीएपी दिखाती है, जो अलग-अलग चिप्स हो सकती हैं या एक चिप के अंदर मॉड्यूल हो सकती हैं। टीएपी की एक डेज़ी श्रृंखला को स्कैन श्रृंखला या (शिथिल रूप से) लक्ष्य कहा जाता है। स्कैन चेन मनमाने विधि से लंबी हो सकती हैं, लेकिन व्यवहार में बीस टीएपी असामान्य रूप से लंबी होती हैं।{{Citation needed|date=June 2010}} | ||
जेटीएजी का उपयोग करने के लिए, एक होस्ट लक्ष्य के जेटीएजी सिग्नल ( | जेटीएजी का उपयोग करने के लिए, एक होस्ट लक्ष्य के जेटीएजी सिग्नल (टीएमएस, टीकेके, टीडीआई, TDO, आदि) से किसी प्रकार के जेटीएजी एडॉप्टर के माध्यम से जुड़ा होता है, जिसे लेवल शिफ्टिंग और [[ विद्युत अपघटन ]] जैसे मुद्दों को संभालने की आवश्यकता हो सकती है। एडॉप्टर कुछ इंटरफ़ेस जैसे यूएसबी, PCI, ईथरनेट, और इसके आगे के उपयोग से होस्ट से जुड़ता है। | ||
=== आदिम === | === आदिम === | ||
मेजबान टीएपी के साथ संचार करता है टीसीएस और टीडीआई को टीसीके के संयोजन के साथ जोड़कर, और टीडीओ (जो केवल मानक होस्ट-साइड इनपुट है) के माध्यम से परिणाम पढ़ता है। | मेजबान टीएपी के साथ संचार करता है टीसीएस और टीडीआई को टीसीके के संयोजन के साथ जोड़कर, और टीडीओ (जो केवल मानक होस्ट-साइड इनपुट है) के माध्यम से परिणाम पढ़ता है। टीएमएस/टीडीआई/टीकेके आउटपुट ट्रांज़िशन मूल जेटीएजी संचार आदिम बनाता है जिस पर उच्च परत प्रोटोकॉल का निर्माण होता है: | ||
* स्टेट स्विचिंग ... सभी TAP एक ही स्थिति में हैं, और | * स्टेट स्विचिंग ... सभी TAP एक ही स्थिति में हैं, और टीकेके ट्रांज़िशन पर वह स्थिति बदल जाती है। यह जेटीएजी स्टेट मशीन जेटीएजी स्पेक का हिस्सा है, और इसमें सोलह राज्य शामिल हैं। छह स्थिर अवस्थाएँ हैं जहाँ टीएमएस को स्थिर रखना अवस्था को बदलने से रोकता है। अन्य सभी राज्यों में, टीसीके हमेशा उस स्थिति को बदलता है। इसके अलावा, टीआरएसटी को जोर देकर उन स्थिर अवस्थाओं (Test_Logic_Reset) में से एक में प्रवेश करने के लिए बाध्य करता है, जो टीएमएस को पांच बार ऊपर रखने और टीसीके को साइकिल चलाने के विकल्प की तुलना में थोड़े तेज तरीके से करता है। | ||
* स्थानांतरण ... जेटीएजी राज्य मशीन के अधिकांश भाग दो स्थिर अवस्थाओं का समर्थन करते हैं जिनका उपयोग डेटा स्थानांतरित करने के लिए किया जाता है। प्रत्येक TAP में एक निर्देश रजिस्टर (IR) और एक डेटा रजिस्टर (DR) होता है। उन रजिस्टरों का आकार | * स्थानांतरण ... जेटीएजी राज्य मशीन के अधिकांश भाग दो स्थिर अवस्थाओं का समर्थन करते हैं जिनका उपयोग डेटा स्थानांतरित करने के लिए किया जाता है। प्रत्येक TAP में एक निर्देश रजिस्टर (IR) और एक डेटा रजिस्टर (DR) होता है। उन रजिस्टरों का आकार TAP के बीच भिन्न होता है, और उन रजिस्टरों को टीडीआई और टीडीओके माध्यम से जोड़कर एक बड़ा शिफ्ट रजिस्टर बनाया जाता है। (DR का आकार उस TAP के वर्तमान IR में मान का एक कार्य है, और संभवतः SCAN_N निर्देश द्वारा निर्दिष्ट मान का है।) उस शिफ्ट रजिस्टर पर परिभाषित तीन ऑपरेशन हैं: | ||
** एक अस्थायी मूल्य पर कब्जा | ** एक अस्थायी मूल्य पर कब्जा | ||
*** Shift_IR स्थिर स्थिति में प्रवेश Capture_IR स्थिति से होकर जाता है, शिफ्ट रजिस्टर को आंशिक रूप से निश्चित मान के साथ लोड करना (वर्तमान निर्देश नहीं) | *** Shift_IR स्थिर स्थिति में प्रवेश Capture_IR स्थिति से होकर जाता है, शिफ्ट रजिस्टर को आंशिक रूप से निश्चित मान के साथ लोड करना (वर्तमान निर्देश नहीं) | ||
| Line 92: | Line 92: | ||
** उस मान को बिट-दर-बिट स्थानांतरित करना, या तो Shift_IR या Shift_DR स्थिर स्थिति में; टीसीके ट्रांज़िशन शिफ्ट रजिस्टर को एक बिट शिफ्ट करता है, टीडीआई से टीडीओ की ओर, बिल्कुल एक [[सीरियल पेरिफेरल इंटरफेस बस]] मोड 1 डेटा ट्रांसफर की तरह डिवाइस की डेज़ी चेन के माध्यम से (टीएमएस = 0 के साथ चिप सेलेक्ट सिग्नल की तरह काम करता है, टीडीआई एमओएसआई, आदि के रूप में)। . | ** उस मान को बिट-दर-बिट स्थानांतरित करना, या तो Shift_IR या Shift_DR स्थिर स्थिति में; टीसीके ट्रांज़िशन शिफ्ट रजिस्टर को एक बिट शिफ्ट करता है, टीडीआई से टीडीओ की ओर, बिल्कुल एक [[सीरियल पेरिफेरल इंटरफेस बस]] मोड 1 डेटा ट्रांसफर की तरह डिवाइस की डेज़ी चेन के माध्यम से (टीएमएस = 0 के साथ चिप सेलेक्ट सिग्नल की तरह काम करता है, टीडीआई एमओएसआई, आदि के रूप में)। . | ||
** अपडेट_आईआर या अपडेट_डीआर स्थिति के माध्यम से संक्रमण पर, स्थानांतरित अस्थायी मूल्य से आईआर या डीआर अपडेट करना। ध्यान दें कि एक रजिस्टर को बिना लिखे (अपडेट) किए पढ़ना (कैप्चर) करना संभव नहीं है, और इसके विपरीत। एक सामान्य मुहावरा यह कहने के लिए फ्लैग बिट्स जोड़ता है कि क्या अपडेट के साइड इफेक्ट होने चाहिए, या हार्डवेयर ऐसे साइड इफेक्ट को निष्पादित करने के लिए तैयार है या नहीं। | ** अपडेट_आईआर या अपडेट_डीआर स्थिति के माध्यम से संक्रमण पर, स्थानांतरित अस्थायी मूल्य से आईआर या डीआर अपडेट करना। ध्यान दें कि एक रजिस्टर को बिना लिखे (अपडेट) किए पढ़ना (कैप्चर) करना संभव नहीं है, और इसके विपरीत। एक सामान्य मुहावरा यह कहने के लिए फ्लैग बिट्स जोड़ता है कि क्या अपडेट के साइड इफेक्ट होने चाहिए, या हार्डवेयर ऐसे साइड इफेक्ट को निष्पादित करने के लिए तैयार है या नहीं। | ||
* चल रहा है ... एक स्थिर अवस्था को रन_टेस्ट/निष्क्रिय कहा जाता है। भेद टीएपी-विशिष्ट है। निष्क्रिय स्थिति में | * चल रहा है ... एक स्थिर अवस्था को रन_टेस्ट/निष्क्रिय कहा जाता है। भेद टीएपी-विशिष्ट है। निष्क्रिय स्थिति में टीकेके को क्लॉक करने का कोई विशेष साइड इफेक्ट नहीं है, लेकिन इसे Run_Test स्थिति में क्लॉक करने से प्रणाली की स्थिति बदल सकती है। उदाहरण के लिए, कुछ [[ARM9]] कोर डिबगिंग मोड का समर्थन करते हैं जहां Run_Test अवस्था में टीकेके चक्र निर्देश पाइपलाइन को चलाते हैं। | ||
एक बुनियादी स्तर पर, जेटीएजी के उपयोग में निर्देश पढ़ना और लिखना और उनसे जुड़े डेटा रजिस्टर शामिल हैं; और कभी-कभी इसमें कई परीक्षण चक्र चलाना शामिल होता है। उन रजिस्टरों के पीछे हार्डवेयर है जो जेटीएजी द्वारा निर्दिष्ट नहीं है, और जिसके अपने राज्य हैं जो जेटीएजी गतिविधियों से प्रभावित हैं। | एक बुनियादी स्तर पर, जेटीएजी के उपयोग में निर्देश पढ़ना और लिखना और उनसे जुड़े डेटा रजिस्टर शामिल हैं; और कभी-कभी इसमें कई परीक्षण चक्र चलाना शामिल होता है। उन रजिस्टरों के पीछे हार्डवेयर है जो जेटीएजी द्वारा निर्दिष्ट नहीं है, और | ||