जेटीजी: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(12 intermediate revisions by 4 users not shown)
Line 2: Line 2:


{{Short description|Serial interface for testing integrated circuits}}
{{Short description|Serial interface for testing integrated circuits}}
जेटीएजी (जॉइंट टेस्ट एक्शन ग्रुप के नाम पर रखा गया है जिसने इसे संहिताबद्ध किया है) निर्माण के बाद [[मुद्रित सर्किट बोर्ड|मुद्रित सर्किट बोर्डों]] के डिजाइन और परीक्षण के सत्यापन के लिए एक [[तकनीकी मानक|प्रौद्योगिक मानक]] है।
जेटीएजी (जॉइंट टेस्ट एक्शन ग्रुप के नाम पर रखा गया है जिसने इसे संहिताबद्ध किया है) निर्माण के बाद [[मुद्रित सर्किट बोर्ड|मुद्रित परिपथ बोर्डों]] के डिजाइन और परीक्षण के सत्यापन के लिए एक [[तकनीकी मानक|प्रौद्योगिक मानक]] है।


जेटीएजी [[तर्क अनुकरण]] के पूरक उपकरण के रूप में [[इलेक्ट्रॉनिक डिजाइन स्वचालन]] (EDA) में ऑन-चिप इंस्ट्रूमेंटेशन के लिए मानकों को लागू करता है।<ref name=stollon>{{cite book|author=Neal Stollon|title=ऑन-चिप इंस्ट्रूमेंटेशन|publisher=Springer|year=2011}}</ref> यह सिस्टम एड्रेस और डेटा बसों के लिए सीधे बाहरी एक्सेस की आवश्यकता के बिना लो-ओवरहेड एक्सेस के लिए [[धारावाहिक संचार]] इंटरफेस को लागू करने वाले एक समर्पित [[डिबग पोर्ट]] के उपयोग को निर्दिष्ट करता है। इंटरफ़ेस एक ऑन-चिप टेस्ट एक्सेस पोर्ट (टीएपी) से जुड़ता है जो परीक्षण रजिस्टरों के एक सेट तक पहुंचने के लिए एक [[राज्य (कंप्यूटर विज्ञान)]] प्रोटोकॉल को लागू करता है जो चिप तर्क स्तर और विभिन्न भागों की डिवाइस क्षमताओं को प्रस्तुत करता है।
जेटीएजी [[तर्क अनुकरण]] के पूरक उपकरण के रूप में [[इलेक्ट्रॉनिक डिजाइन स्वचालन]] (ईडीए) में ऑन-चिप उपकरण के लिए मानकों को प्रायुक्त करता है।<ref name=stollon>{{cite book|author=Neal Stollon|title=ऑन-चिप इंस्ट्रूमेंटेशन|publisher=Springer|year=2011}}</ref> यह प्रणाली एड्रेस और डेटा बसों के लिए सीधे बाहरी एक्सेस की आवश्यकता के बिना लो-ओवरहेड एक्सेस के लिए [[धारावाहिक संचार]] इंटरफेस को प्रायुक्त करने वाले एक समर्पित [[डिबग पोर्ट]] के उपयोग को निर्दिष्ट करता है। इंटरफ़ेस एक ऑन-चिप टेस्ट एक्सेस पोर्ट (टीएपी) से जुड़ता है जो परीक्षण रजिस्टरों के एक सेट तक पहुंचने के लिए एक [[राज्य (कंप्यूटर विज्ञान)]] प्रोटोकॉल को प्रायुक्त करता है जो चिप तर्क स्तर और विभिन्न भागों की डिवाइस क्षमताओं को प्रस्तुत करता है।


निर्माण के बाद मुद्रित सर्किट बोर्डों के डिजाइन और परीक्षण की पुष्टि करने की एक विधि विकसित करने के लिए 1985 में ज्वाइंट टेस्ट एक्शन ग्रुप का गठन किया गया। 1990 में [[इंस्टीट्यूट ऑफ़ इलेक्ट्रिकल एंड इलेक्ट्रॉनिक्स इंजीनियर्स]] ने प्रयास के परिणामों को IEEE मानक 1149.1-1990 में संहिताबद्ध किया, जिसका शीर्षक ''मानक टेस्ट एक्सेस पोर्ट और सीमा-स्कैन आर्किटेक्चर'' था।
निर्माण के बाद मुद्रित परिपथ बोर्डों के डिजाइन और परीक्षण की पुष्टि करने की एक विधि विकसित करने के लिए 1985 में ज्वाइंट टेस्ट एक्शन ग्रुप का गठन किया गया। 1990 में [[इंस्टीट्यूट ऑफ़ इलेक्ट्रिकल एंड इलेक्ट्रॉनिक्स इंजीनियर्स]] ने प्रयास के परिणामों को आईईईई मानक 1149.1-1990 में संहिताबद्ध किया, जिसका शीर्षक ''मानक टेस्ट एक्सेस पोर्ट और सीमा-स्कैन आर्किटेक्चर'' था।


जेटीएजी मानकों को कई सेमीकंडक्टर चिप निर्माताओं द्वारा विक्रेता-विशिष्ट सुविधाएँ प्रदान करने के लिए विशेष वेरिएंट के साथ बढ़ाया गया है।<ref>[https://web.archive.org/web/20170830070123/http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/jtag-101-ieee-1149x-paper.pdf Randy Johnson, Steward Christie (Intel Corporation, 2009), ''JTAG 101—IEEE 1149.x and Software Debug'']</ref>
जेटीएजी मानकों को कई सेमीकंडक्टर चिप निर्माताओं द्वारा विक्रेता-विशिष्ट सुविधाएँ प्रदान करने के लिए विशेष प्रकार के साथ बढ़ाया गया है।<ref>[https://web.archive.org/web/20170830070123/http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/jtag-101-ieee-1149x-paper.pdf Randy Johnson, Steward Christie (Intel Corporation, 2009), ''JTAG 101—IEEE 1149.x and Software Debug'']</ref>




== इतिहास ==
== इतिहास ==
1980 के दशक में, [[बॉल ग्रिड ऐरे]] और इसी तरह की माउंटिंग तकनीकों का उपयोग करने वाले मल्टी-लेयर सर्किट बोर्ड और [[ एकीकृत परिपथ ]] (ICs) मानक बन रहे थे, और IC के बीच कनेक्शन बनाए जा रहे थे जो जांच के लिए उपलब्ध नहीं थे। सर्किट बोर्डों में अधिकांश विनिर्माण और फील्ड दोष बोर्डों पर खराब [[ मिलाप ]] जोड़ों, बोर्ड कनेक्शनों के बीच की खामियों, या आईसी पैड से लीड फ्रेम को पिन करने के लिए बांड और बांड तारों के कारण थे। ज्वाइंट टेस्ट एक्शन ग्रुप (जेटीएजी) का गठन 1985 में एक आईसी पैड से दूसरे में पिन-आउट दृश्य प्रदान करने के लिए किया गया था ताकि इन दोषों का पता लगाया जा सके।
1980 के दशक में, [[बॉल ग्रिड ऐरे]] और इसी तरह की माउंटिंग विधियों का उपयोग करने वाले मल्टी-लेयर परिपथ बोर्ड और [[ एकीकृत परिपथ ]] (आईसीएस) मानक बन रहे थे, और आईसी के बीच संयोजन बनाए जा रहे थे जो जांच के लिए उपलब्ध नहीं थे। परिपथ बोर्डों में अधिकांश विनिर्माण और फील्ड दोष बोर्डों पर खराब [[ मिलाप ]] जोड़ों, बोर्ड संयोजनों के बीच की खामियों, या आईसी पैड से लीड फ्रेम को पिन करने के लिए बांड और बांड तारों के कारण थे। ज्वाइंट टेस्ट एक्शन ग्रुप (जेटीएजी) का गठन 1985 में एक आईसी पैड से दूसरे में पिन-आउट दृश्य प्रदान करने के लिए किया गया था ताकि इन दोषों का पता लगाया जा सके।


उद्योग मानक 1990 में [[IEEE]] Std के रूप में IEEE मानक बन गया। 1149.1-1990<ref name="ieee1149.1-1990">Copies of [http://standards.ieee.org/reading/ieee/std_public/description/testtech/1149.1-1990_desc.html IEEE 1149.1-1990] or its 2001 update may be bought from the IEEE.</ref> कई वर्षों के प्रारंभिक उपयोग के बाद। उसी वर्ष, [[इंटेल]] ने जेटीएजी ([[80486]]) के साथ अपनी पहली [[सेंट्रल प्रोसेसिंग यूनिट]] जारी की, जिसके कारण सभी निर्माताओं ने तेजी से उद्योग को अपनाया। 1994 में, एक पूरक जिसमें [[सीमा स्कैन विवरण भाषा]] (बीएसडीएल) का विवरण शामिल था, जोड़ा गया था। EXTEST के लिए सभी-शून्य के उपयोग के संबंध में और परिशोधन, SAMPLE के उपयोग को PRELOAD से अलग करना और OBSERVE_ONLY कोशिकाओं के लिए बेहतर कार्यान्वयन को 2001 में जारी किया गया और जारी किया गया।<ref name="ieee1149.1-2001">{{cite web|url=http://standards.ieee.org/reading/ieee/std_public/description/testtech/1149.1-2001_desc.html|title=IEEE 1149.1-2001}}</ref> 1990 के बाद से, इस मानक को दुनिया भर की [[ इलेक्ट्रानिक्स ]] कंपनियों द्वारा अपनाया गया है। [[सीमा स्कैन]] अब ज्यादातर जेटीएजी का पर्याय बन गया है, लेकिन जेटीएजी का ऐसे निर्माण अनुप्रयोगों से परे आवश्यक उपयोग है।
उद्योग मानक 1990 में [[IEEE|आईईईई]] मानक 1149.1-1990<ref name="ieee1149.1-1990">Copies of [http://standards.ieee.org/reading/ieee/std_public/description/testtech/1149.1-1990_desc.html IEEE 1149.1-1990] or its 2001 update may be bought from the IEEE.</ref> के रूप में प्रारंभिक उपयोग के कई वर्षों के बाद आईईईई मानक बन गया। उसी वर्ष, [[इंटेल]] ने जेटीएजी ([[80486]]) के साथ अपनी पहली [[सेंट्रल प्रोसेसिंग यूनिट]] जारी किया, जिसके कारण सभी निर्माताओं ने तेजी से उद्योग को अपना लिया था। 1994 में, एक पूरक जिसमें [[सीमा स्कैन विवरण भाषा]] (बीएसडीएल) का विवरण सम्मिलित  था, जो जोड़ा गया था। परीक्षा के लिए सभी शून्यों के उपयोग के संबंध में और परिशोधन, मानक के उपयोग को प्रीलोड से अलग करने और केवल अवलोकन के लिए उत्तम कार्यान्वयन के लिए किया गया था और 2001 में जारी किया गया था।<ref name="ieee1149.1-2001">{{cite web|url=http://standards.ieee.org/reading/ieee/std_public/description/testtech/1149.1-2001_desc.html|title=IEEE 1149.1-2001}}</ref> 1990 के बाद से, इस मानक को संसार भर की [[ इलेक्ट्रानिक्स ]] कंपनियों द्वारा अपनाया गया है। [[सीमा स्कैन]] अब अधिकतर जेटीएजी का पर्याय बन गया है, किन्तु जेटीएजी का ऐसे निर्माण अनुप्रयोगों से परे आवश्यक उपयोग है।


=== [[डिबगिंग]] ===
=== [[डिबगिंग]] ===


हालांकि जेटीएजी के शुरुआती अनुप्रयोगों ने बोर्ड स्तर के परीक्षण को लक्षित किया, यहाँ जेटीएजी मानक को डिवाइस, बोर्ड और सिस्टम परीक्षण, [[निदान]] और दोष अलगाव में सहायता के लिए डिज़ाइन किया गया था। आज जेटीएजी का उपयोग एकीकृत परिपथों के उप-ब्लॉकों तक पहुँचने के प्राथमिक साधन के रूप में किया जाता है, जिससे यह [[ अंतः स्थापित प्रणाली ]] को डीबग करने के लिए एक आवश्यक तंत्र बन जाता है जिसमें कोई अन्य डीबग-सक्षम संचार चैनल नहीं हो सकता है।{{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}} अधिकांश प्रणालियों पर, जेटीएजी-आधारित [[डिबग]]िंग CPU रीसेट के बाद पहले निर्देश से उपलब्ध है, जो इसे शुरुआती बूट सॉफ़्टवेयर के विकास में सहायता देता है जो कुछ भी सेट होने से पहले चलता है। एक [[इन-सर्किट एमुलेटर]] (या, अधिक सही ढंग से, एक जेटीएजी एडॉप्टर) जेटीएजी का उपयोग लक्ष्य सेंट्रल प्रोसेसिंग यूनिट के अंदर ऑन-चिप डिबग मॉड्यूल तक पहुँचने के लिए परिवहन तंत्र के रूप में करता है। वे मॉड्यूल सॉफ़्टवेयर डेवलपर्स को एक एम्बेडेड सिस्टम के सॉफ़्टवेयर को आवश्यकता पड़ने पर सीधे मशीन निर्देश स्तर पर, या (अधिक विशिष्ट रूप से) उच्च स्तरीय भाषा स्रोत कोड के संदर्भ में डीबग करने देते हैं।
चूंकि जेटीएजी के प्रारंभिक अनुप्रयोगों ने बोर्ड स्तर के परीक्षण को लक्षित किया, यहाँ जेटीएजी मानक को डिवाइस, बोर्ड और प्रणाली परीक्षण, [[निदान]] और दोष अलगाव में सहायता के लिए डिज़ाइन किया गया था। आज जेटीएजी का उपयोग एकीकृत परिपथों के उप-ब्लॉकों तक पहुँचने के प्राथमिक साधन के रूप में किया जाता है, जिससे यह [[ अंतः स्थापित प्रणाली ]] को डीबग करने के लिए एक आवश्यक तंत्र बन जाता है जिसमें कोई अन्य डीबग-सक्षम संचार चैनल नहीं हो सकता है।{{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}} अधिकांश प्रणालियों पर, जेटीएजी-आधारित [[डिबग|डिबगिंग]] सीपीयू रीसेट के बाद पहले निर्देश से उपलब्ध है, जो इसे प्रारंभिक बूट सॉफ़्टवेयर के विकास में सहायता देता है जो कुछ भी सेट होने से पहले चलता है। एक [[इन-सर्किट एमुलेटर|इन-परिपथ एमुलेटर]] (या, अधिक सही विधि से, एक जेटीएजी एडॉप्टर) जेटीएजी का उपयोग लक्ष्य सेंट्रल प्रोसेसिंग यूनिट के अंदर ऑन-चिप डिबग मॉड्यूल तक पहुँचने के लिए परिवहन तंत्र के रूप में करता है। वे मॉड्यूल सॉफ़्टवेयर विकासकर्ता को एक एम्बेडेड प्रणाली के सॉफ़्टवेयर को आवश्यकता पड़ने पर सीधे यंत्र निर्देश स्तर पर, या (अधिक विशिष्ट रूप से) उच्च स्तरीय भाषा स्रोत कोड के संदर्भ में डीबग करने देते हैं।


सिस्टम सॉफ़्टवेयर डिबग समर्थन कई सॉफ़्टवेयर डेवलपर्स के लिए जेटीएजी में रुचि रखने का मुख्य कारण है। कई सिलिकॉन आर्किटेक्चर जैसे कि PowerPC, MIPS, ARM, और x86 ने मूल जेटीएजी प्रोटोकॉल के आसपास एक संपूर्ण सॉफ़्टवेयर डीबग, निर्देश ट्रेसिंग और डेटा ट्रेसिंग इन्फ्रास्ट्रक्चर का निर्माण किया। अक्सर व्यक्तिगत सिलिकॉन विक्रेता इन एक्सटेंशनों के कुछ हिस्सों को ही लागू करते हैं। कुछ उदाहरण एआरएम [[कोरसाइट]] और [[नेक्सस (मानक)]] के साथ-साथ इंटेल के बीटीएस (ब्रांच ट्रेस स्टोरेज), एलबीआर (लास्ट ब्रांच रिकॉर्ड), और आईपीटी (इंटेल प्रोसेसर ट्रेस) कार्यान्वयन हैं। ऐसे कई अन्य सिलिकॉन विक्रेता-विशिष्ट एक्सटेंशन हैं, जिन्हें गैर-प्रकटीकरण समझौते के अलावा प्रलेखित नहीं किया जा सकता है। जेटीएजी मानक को अपनाने से जेटीएजी-केंद्रित डिबगिंग वातावरण को शुरुआती प्रोसेसर-विशिष्ट डिज़ाइनों से दूर करने में मदद मिली। प्रोसेसर को सामान्य रूप से रोका जा सकता है, सिंगल स्टेप किया जा सकता है, या स्वतंत्र रूप से चलने दिया जा सकता है। RAM में कोड के लिए (अक्सर एक विशेष मशीन निर्देश का उपयोग करके) और ROM/फ़्लैश दोनों में कोड ब्रेकप्वाइंट सेट कर सकते हैं। डेटा ब्रेकप्वाइंट अक्सर उपलब्ध होते हैं, जैसा कि रैम में बल्क डेटा डाउनलोड होता है। अधिकांश डिज़ाइनों में हाल्ट मोड डिबगिंग है, लेकिन कुछ डिबगर्स को रजिस्टरों और डेटा बसों तक पहुंचने की अनुमति देते हैं, बिना कोर को डिबग किए रोकने की आवश्यकता होती है। कुछ टूलचेन जटिल हार्डवेयर घटनाओं पर डीबगर (या ट्रेसिंग) गतिविधि को ट्रिगर करने के लिए एआरएम एंबेडेड ट्रेस मैक्रोसेल (ईटीएम) मॉड्यूल या अन्य आर्किटेक्चर में समकक्ष कार्यान्वयन का उपयोग कर सकते हैं, जैसे कि एक विशेष सबरूटीन से एक रजिस्टर में पहले सात एक्सेस को अनदेखा करने के लिए प्रोग्राम किए गए [[तर्क विश्लेषक]] .
प्रणाली सॉफ़्टवेयर डिबग समर्थन कई सॉफ़्टवेयर विकासकर्ता के लिए जेटीएजी में रुचि रखने का मुख्य कारण है। कई सिलिकॉन आर्किटेक्चर जैसे कि पावरपीसी, एमआईपीएस, एआरएम, और एक्स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 ]] के अंदर चलने वाले सॉफ़्टवेयर को डिबग करने के लिए उपयोग की जाने वाली वही जेटीएजी तकनीकें FPGA के अंदर अन्य डिजिटल डिज़ाइन ब्लॉक को डीबग करने में मदद कर सकती हैं। उदाहरण के लिए, कस्टम जेटीएजी निर्देश FPGA के अंदर संकेतों के मनमाने सेट से निर्मित पठन रजिस्टरों को अनुमति देने के लिए प्रदान किए जा सकते हैं, जो उन व्यवहारों के लिए दृश्यता प्रदान करते हैं जो सीमा स्कैन संचालन के लिए अदृश्य हैं। इसी तरह, ऐसे रजिस्टर लिखने से नियंत्रणीयता मिल सकती है जो अन्यथा उपलब्ध नहीं है।
कभी-कभी [[एफपीजीए]] डेवलपर डीबगिंग टूल विकसित करने के लिए जेटीएजी का भी उपयोग करते हैं।<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 | सीपीयू]] के अंदर चलने वाले सॉफ़्टवेयर को डिबग करने के लिए उपयोग की जाने वाली वही जेटीएजी विधि एफपीजीए के अंदर अन्य डिजिटल डिज़ाइन ब्लॉक को डीबग करने में सहायता कर सकती हैं। उदाहरण के लिए, कस्टम जेटीएजी निर्देश एफपीजीए के अंदर संकेतों के इच्छानुसार सेट से निर्मित पठन रजिस्टरों को अनुमति देने के लिए प्रदान किए जा सकते हैं, जो उन व्यवहारों के लिए दृश्यता प्रदान करते हैं जो सीमा स्कैन संचालन के लिए अदृश्य हैं। इसी तरह, ऐसे रजिस्टर लिखने से नियंत्रणीयता मिल सकती है जो अन्यथा उपलब्ध नहीं है।


=== फर्मवेयर भंडारण ===
=== फर्मवेयर भंडारण ===


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


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


एक व्यावहारिक मामले के रूप में, एक एम्बेडेड सिस्टम विकसित करते समय, निर्देश स्टोर का अनुकरण करना डिबग चक्र (संपादन, संकलन, डाउनलोड, परीक्षण और डिबग) को लागू करने का सबसे तेज़ तरीका है।{{citation needed|date=June 2015}} इसका कारण यह है कि इन-सर्किट इम्यूलेटर एक इंस्ट्रक्शन स्टोर का अनुकरण करता है, जिसे USB के माध्यम से डेवलपमेंट होस्ट से बहुत जल्दी अपडेट किया जा सकता है। फ्लैश पर फर्मवेयर अपलोड करने के लिए सीरियल यूएआरटी पोर्ट और बूटलोडर का उपयोग करना इस डीबग चक्र को उपकरणों के मामले में काफी धीमा और संभवतः महंगा बनाता है; जेटीएजी के माध्यम से फर्मवेयर को फ्लैश (या फ्लैश के बजाय SRAM) में स्थापित करना इन चरम सीमाओं के बीच एक मध्यवर्ती समाधान है।
एक व्यावहारिक मामले के रूप में, एक एम्बेडेड प्रणाली विकसित करते समय, निर्देश स्टोर का अनुकरण करना डिबग चक्र (संपादन, संकलन, डाउनलोड, परीक्षण और डिबग) को प्रायुक्त करने का सबसे तेज़ विधि है।{{citation needed|date=June 2015}} इसका कारण यह है कि इन-परिपथ इम्यूलेटर एक इंस्ट्रक्शन स्टोर का अनुकरण करता है, जिसे यूएसबी के माध्यम से डेवलपमेंट होस्ट से बहुत जल्दी अपडेट किया जा सकता है। फ्लैश पर फर्मवेयर अपलोड करने के लिए सीरियल यूएआरटी पोर्ट और बूटलोडर का उपयोग करना इस डीबग चक्र को उपकरणों के मामले में काफी धीमा और संभवतः महंगा बनाता है; जेटीएजी के माध्यम से फर्मवेयर को फ्लैश (या फ्लैश के अतिरिक्त एसरैम) में स्थापित करना इन चरम सीमाओं के बीच एक मध्यवर्ती समाधान है।


=== सीमा स्कैन परीक्षण ===
=== सीमा स्कैन परीक्षण ===


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


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


== विद्युत विशेषताएँ ==
== विद्युत विशेषताएँ ==


जेटीएजी इंटरफ़ेस चिप में जोड़ा गया एक विशेष इंटरफ़ेस है। जेटीएजी के संस्करण के आधार पर, दो, चार या पाँच पिन जोड़े जाते हैं। चार और पांच पिन इंटरफेस को डिज़ाइन किया गया है ताकि एक बोर्ड पर कई चिप्स में उनकी जेटीएजी लाइनें [[डेज़ी चेन (इलेक्ट्रिकल इंजीनियरिंग)]] हो सकें। यदि विशिष्ट शर्तें पूरी होती हैं तो एक साथ डेज़ी-जंजीर।<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> दो पिन इंटरफ़ेस को इस तरह से डिज़ाइन किया गया है कि एक [[ तारक संस्थिति ]] में कई चिप्स को जोड़ा जा सकता है। किसी भी मामले में एक [[सर्किट बोर्ड]] पर सभी चिप्स तक पहुंच के लिए एक [[परीक्षण जांच]] को केवल एक जेटीएजी पोर्ट से कनेक्ट करने की आवश्यकता होती है।
जेटीएजी इंटरफ़ेस चिप में जोड़ा गया एक विशेष इंटरफ़ेस है। जेटीएजी के संस्करण के आधार पर, दो, चार या पाँच पिन जोड़े जाते हैं। चार और पांच पिन इंटरफेस को डिज़ाइन किया गया है कि यदि विशिष्ट शर्तें पूरी होती हैं तो एक बोर्ड पर कई चिप्स अपनी जेटीएजी लाइनों को एक साथ [[डेज़ी चेन (इलेक्ट्रिकल इंजीनियरिंग)]] से जोड़ सकते हैं।<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> दो पिन इंटरफ़ेस को इस तरह से डिज़ाइन किया गया है कि एक [[ तारक संस्थिति ]] में कई चिप्स को जोड़ा जा सकता है। किसी भी मामले में एक [[सर्किट बोर्ड|परिपथ बोर्ड]] पर सभी चिप्स तक पहुंच के लिए एक [[परीक्षण जांच]] को केवल एक जेटीएजी पोर्ट से कनेक्ट करने की आवश्यकता होती है।


=== डेज़ी-जंजीर जेटीएजी (IEEE 1149.1) ===
=== डेज़ी-जंजीर जेटीएजी (आईईईई 1149.1) ===
[[Image:Jtag chain.svg|center|जेटीएजी श्रृंखला का उदाहरण। टेस्ट रीसेट सिग्नल नहीं दिखाया गया है]]कनेक्टर पिन हैं:
[[Image:Jtag chain.svg|center|जेटीएजी श्रृंखला का उदाहरण। टेस्ट रीसेट सिग्नल नहीं दिखाया गया है]]कनेक्टर पिन हैं:


#TDI (टेस्ट डेटा इन)
#'''टीडीआई''' (टेस्ट डेटा इन)
#TDO (टेस्ट डेटा आउट)
#'''टीडीओ'''(टेस्ट डेटा आउट)
#TCK (परीक्षण घड़ी)
#'''टीकेके''' (परीक्षण घड़ी)
#TMS (टेस्ट मोड सेलेक्ट)
#'''टीएमएस''' (टेस्ट मोड सेलेक्ट)
#TRST (टेस्ट रीसेट) वैकल्पिक।
#'''टीआरएसटी''' (टेस्ट रीसेट) वैकल्पिक।


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


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


किसी भी क्लॉक्ड सिग्नल की तरह, TDI को प्रस्तुत किया गया डेटा कुछ चिप-विशिष्ट ''सेटअप'' समय से पहले और प्रासंगिक (यहाँ, बढ़ते हुए) क्लॉक एज के बाद ''होल्ड'' समय के लिए मान्य होना चाहिए। TDO डेटा TCK के गिरने के बाद कुछ चिप-विशिष्ट समय के लिए मान्य है।
किसी भी क्लॉक्ड सिग्नल की तरह, टीडीआई को प्रस्तुत किया गया डेटा कुछ चिप-विशिष्ट ''सेटअप'' समय से पहले और प्रासंगिक (यहाँ, बढ़ते हुए) क्लॉक एज के बाद ''होल्ड'' समय के लिए मान्य होना चाहिए। टीडीओडेटा टीकेके के गिरने के बाद कुछ चिप-विशिष्ट समय के लिए मान्य है।


टीसीके की अधिकतम ऑपरेटिंग आवृत्ति श्रृंखला में सभी चिप्स के आधार पर भिन्न होती है (न्यूनतम गति का उपयोग किया जाना चाहिए), लेकिन यह आमतौर पर 10-100 मेगाहर्ट्ज (100-10 एनएस प्रति बिट) है। साथ ही TCK आवृत्तियाँ बोर्ड लेआउट और जेटीएजी अडैप्टर क्षमताओं और स्थिति पर निर्भर करती हैं। एक चिप में 40 MHz जेटीएजी घड़ी हो सकती है, लेकिन केवल तभी जब वह गैर-जेटीएजी संचालन के लिए 200 MHz घड़ी का उपयोग कर रही हो; और कम पावर मोड में होने पर इसे बहुत धीमी घड़ी का उपयोग करने की आवश्यकता हो सकती है। तदनुसार, कुछ जेटीएजी एडेप्टरों में RTCK (रिटर्न TCK) सिग्नल का उपयोग करते हुए ''अनुकूली क्लॉकिंग'' होती है। तेज़ TCK फ़्रीक्वेंसी सबसे अधिक उपयोगी होती है जब जेटीएजी का उपयोग बहुत अधिक डेटा स्थानांतरित करने के लिए किया जाता है, जैसे कि किसी प्रोग्राम को निष्पादन योग्य फ्लैश मेमोरी में संग्रहीत करना।
टीसीके की अधिकतम ऑपरेटिंग आवृत्ति श्रृंखला में सभी चिप्स के आधार पर भिन्न होती है (न्यूनतम गति का उपयोग किया जाना चाहिए), किन्तु यह सामान्यतः 10-100 मेगाहर्ट्ज (100-10 एनएस प्रति बिट) है। साथ ही टीकेके आवृत्तियाँ बोर्ड लेआउट और जेटीएजी अडैप्टर क्षमताओं और स्थिति पर निर्भर करती हैं। एक चिप में 40 मेगाहर्टज जेटीएजी घड़ी हो सकती है, किन्तु केवल तभी जब वह गैर-जेटीएजी संचालन के लिए 200 मेगाहर्टज घड़ी का उपयोग कर रही हो; और कम पावर मोड में होने पर इसे बहुत धीमी घड़ी का उपयोग करने की आवश्यकता हो सकती है। तदनुसार, कुछ जेटीएजी एडेप्टरों में Rटीकेके (रिटर्न टीकेके) सिग्नल का उपयोग करते हुए ''अनुकूली क्लॉकिंग'' होती है। तेज़ टीकेके फ़्रीक्वेंसी सबसे अधिक उपयोगी होती है जब जेटीएजी का उपयोग बहुत अधिक डेटा स्थानांतरित करने के लिए किया जाता है, जैसे कि किसी प्रोग्राम को निष्पादन योग्य फ्लैश मेमोरी में संग्रहीत करना।


एक मानकीकृत जेटीएजी [[राज्य मशीन]] के माध्यम से TMS चरणों पर क्लॉकिंग परिवर्तन। जेटीएजी स्टेट मशीन रीसेट कर सकती है, एक इंस्ट्रक्शन रजिस्टर को एक्सेस कर सकती है, या इंस्ट्रक्शन रजिस्टर द्वारा चुने गए डेटा को एक्सेस कर सकती है।
एक मानकीकृत जेटीएजी [[राज्य मशीन|राज्य यंत्र]] के माध्यम से टीएमएस चरणों पर क्लॉकिंग परिवर्तन। जेटीएजी स्टेट यंत्र रीसेट कर सकती है, एक इंस्ट्रक्शन रजिस्टर को एक्सेस कर सकती है, या इंस्ट्रक्शन रजिस्टर द्वारा चुने गए डेटा को एक्सेस कर सकती है।


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


भले ही कुछ उपभोक्ता उत्पाद एक स्पष्ट जेटीएजी पोर्ट कनेक्टर प्रदान करते हैं, कनेक्शन अक्सर मुद्रित सर्किट बोर्ड पर विकास [[प्रोटोटाइप]] और/या उत्पादन के अवशेष के रूप में उपलब्ध होते हैं। उपयोग किए जाने पर, ये कनेक्शन अक्सर [[रिवर्स इंजीनियरिंग]] के लिए सबसे व्यवहार्य साधन प्रदान करते हैं।
तथापि  कुछ उपभोक्ता उत्पाद एक स्पष्ट जेटीएजी पोर्ट कनेक्टर प्रदान करते हैं, संयोजन अधिकांशतः मुद्रित परिपथ बोर्ड पर विकास [[प्रोटोटाइप]] और/या उत्पादन के अवशेष के रूप में उपलब्ध होते हैं। उपयोग किए जाने पर, ये संयोजन अधिकांशतः [[रिवर्स इंजीनियरिंग]] के लिए सबसे व्यवहार्य साधन प्रदान करते हैं।


=== कम पिन काउंट जेटीएजी (IEEE 1149.7) ===
=== कम पिन काउंट जेटीएजी (आईईईई 1149.7) ===
[[File:Example of reduced pin count JTAG interface.svg|thumb|कम पिन संख्या के साथ जेटीएजी का उदाहरण]]कम पिन काउंट जेटीएजी केवल दो तारों, एक क्लॉक वायर और एक डेटा वायर का उपयोग करता है। इसे IEEE 1149.7 मानक के भाग के रूप में परिभाषित किया गया है।<ref name="ieee-1149.7"/>कनेक्टर पिन हैं:
[[File:Example of reduced pin count JTAG interface.svg|thumb|कम पिन संख्या के साथ जेटीएजी का उदाहरण]]कम पिन काउंट जेटीएजी केवल दो तारों, एक क्लॉक वायर और एक डेटा वायर का उपयोग करता है। इसे आईईईई 1149.7 मानक के भाग के रूप में परिभाषित किया गया है।<ref name="ieee-1149.7"/>कनेक्टर पिन हैं:


#