माइक्रोसेमी लोगो

माइक्रोसेमी इन-सर्किट FPGA डिबग

माइक्रोसेमी-इन-सर्किट-FPGA-डिबग-उत्पादन

उत्पादन जानकारी

निर्दिष्टीकरणहरू

  • उपकरणको प्रकार: माइक्रोसेमी स्मार्टफ्यूजन२ SoC FPGA
  • रिलीज मिति: मे 2014
  • डिबगिङ क्षमताहरू: इन-सर्किट FPGA डिबग, इम्बेडेड लजिक विश्लेषक
  • अधिकतम डेटा क्याप्चर फ्रिक्वेन्सी: १०० मेगाहर्ट्ज सम्म

सार
FPGA हरू धेरै डिजाइन फाइदाहरू सहित एम्बेडेड प्रणालीहरूमा शक्तिशाली डिजाइन तत्वहरू हुन्tages, तर यी उपकरणहरूमा जटिल डिजाइन समस्याहरू भएका जटिल डिजाइनहरू हुन सक्छन् जसलाई डिबग गर्न आवश्यक पर्दछ। परिभाषा त्रुटिहरू, प्रणाली अन्तरक्रिया समस्याहरू, र प्रणाली समय त्रुटिहरू जस्ता डिजाइन समस्याहरू ट्र्याक गर्नु चुनौतीपूर्ण हुन सक्छ। FPGA मा इन-सर्किट डिबग क्षमताहरूको समावेशले हार्डवेयर डिबगलाई नाटकीय रूपमा सुधार गर्न सक्छ, र काउन्टेस घण्टाको निराशाबाट बच्न सक्छ। यो पेपरले FPGA हरूको लागि इन-सर्किट डिबग गर्न धेरै फरक दृष्टिकोणहरू वर्णन गर्दछ, प्रमुख ट्रेड-अफहरू पहिचान गर्दछ, र एक पूर्व मार्फतampमाइक्रोसेमी स्मार्टफ्यूजन®२ SoC FPGA उपकरणको लागि लक्षित ले डिजाइनले डिबग र परीक्षणलाई गति दिन नयाँ क्षमताहरू कसरी प्रयोग गर्न सकिन्छ भनेर देखाउनेछ।

परिचय

FPGA हरू व्यापक र शक्तिशाली डिजाइन तत्वहरू हुन् र अब लगभग हरेक एम्बेडेड प्रणालीमा पाइन्छन्। बढ्दो क्षमता, जटिल अन-चिप कार्यात्मक ब्लकहरू र उन्नत सिरियल इन्टरफेसहरूको समावेशको साथ यी उपकरणहरूमा जटिल डिजाइन समस्याहरू पनि हुन सक्छन् जुन डिबग गर्न आवश्यक छ। कार्यात्मक परिभाषा त्रुटिहरू (FPGA वा प्रणाली स्तरमा), कार्यात्मक प्रणाली अन्तरक्रिया समस्याहरू, प्रणाली समय समस्याहरू, र IC हरू बीच सिग्नल फिडेलिटी समस्याहरू (जस्तै आवाज, क्रसटलक, वा प्रतिबिम्ब) जस्ता समस्याहरू ट्र्याक गर्ने सबै उन्नत FPGA हरू प्रयोग गर्दा धेरै जटिल हुन्छन्। सिमुलेशन निश्चित रूपमा धेरै डिजाइन समस्याहरू पहिचान गर्न ठूलो मद्दत हो, तर धेरै वास्तविक संसार अन्तरक्रियाहरू हार्डवेयरमा डिजाइन लागू नभएसम्म देखा पर्दैनन्। प्रक्रियालाई सरल बनाउन जटिल डिजाइन समस्याहरू डिबग गर्नका लागि धेरै फरक प्रविधिहरू विकास गरिएको छ। यी प्रत्येक प्रमुख प्रविधिहरूको सावधानीपूर्वक बुझाइ, विभिन्न फाइदाहरू सहितtages र disadvantages, कुनै विशेष डिजाइनको लागि कुन प्रविधि वा प्रविधिहरूको संयोजन उपयुक्त छ भनेर विचार गर्दा उपयोगी हुन्छ।
एक पूर्वampमाइक्रोसेमी स्मार्टफ्यूजन२ SoC FPGA उपकरणको लागि लक्षित FPGA डिजाइन, केही फाइदाहरू प्रदर्शन गर्न प्रयोग गर्न सकिन्छtages र disadvantagयी मानक प्रविधिहरूको साथै नवीनतम इन-सर्किट डिबग क्षमताहरूको es। यो उदाहरणात्मक उदाहरणampले हार्डवेयर डिबग गर्दा हार्डवेयर समस्याहरूको पहिचान र उन्मूलनलाई छिटो बनाउन यी विभिन्न प्रविधिहरू कसरी प्रयोग गर्न सकिन्छ भनेर देखाउनेछ।

FPGA डिबगिङ किन प्रणाली डिजाइन र विकासको एक महत्वपूर्ण पक्ष हो?
FPGA हरूमा दुई मुख्य प्रयोग मोडेलहरू छन् जसले तिनीहरूलाई अन्य डिजाइन तत्वहरूबाट फरक पार्छ। FPGA हरू उत्पादन उत्पादनमा प्रयोग गर्न सकिन्छ वा उत्पादन डिजाइन अवधारणा प्रमाणित गर्न वा प्रोटोटाइप गर्न विकास वाहनको रूपमा प्रयोग गर्न सकिन्छ। उत्पादन वाहनको रूपमा प्रयोग गर्दा, FPGA हरू ASIC वा CPU-आधारित उत्पादन वाहनहरू भन्दा धेरै लचिलो लक्ष्य हुन सक्छन्। यो विशेष गरी नयाँ डिजाइनको लागि महत्त्वपूर्ण छ, जुन हार्डवेयरमा अझै लागू गरिएको छैन। विभिन्न वास्तुकला विकल्पहरू भएका डिजाइनहरू सजिलै सिर्जना गर्न र परीक्षण गर्न सकिन्छ ताकि इष्टतम डिजाइन पहिचान गर्न सकियोस्। अन-चिप प्रोसेसरहरू (SoC FPGAs) भएका FPGAs ले हार्डवेयर सहायता प्राप्त FPGA-आधारित त्वरण प्रकार्यहरूसँग CPU-आधारित प्रशोधनलाई व्यापार-अफ गर्न पनि सम्भव बनाउँछ। यी फाइदाहरूtagनयाँ उत्पादन विकासको लागि डिजाइन, प्रमाणीकरण, परीक्षण, र विफलता विश्लेषणको लागि आवश्यक समयलाई es ले नाटकीय रूपमा घटाउन सक्छ।
डिजाइनको प्रोटोटाइपको लागि प्रयोग गर्दा, सायद उत्पादन ASIC को लागि, FPGA लचिलोपन एक प्रमुख फाइदा हो। वास्तविक हार्डवेयर प्लेटफर्म, पूर्ण गतिमा नचल्ने भए पनि, विस्तृत प्रणाली प्रदर्शन मेट्रिक्स, थ्रुपुट विश्लेषण डेटा र वास्तुकला प्रमाण-अफ-कन्सेप्ट परिणामहरू प्राप्त गर्न धेरै सजिलो बनाउँछ। उद्योग मानक बसहरू (जस्तै PCIe®, Gigabit Ethernet, XAUI, USB, CAN, र अन्य) को कडा कार्यान्वयनको लागि FPGA समर्थनले यी इन्टरफेसहरूसँग सम्बन्धित परीक्षणलाई सरल बनाउँछ। अन-चिप ARM प्रोसेसरहरू (SoC FPGAs) भएका FPGAs का नयाँ परिवारहरूले एम्बेडेड प्रोसेसरहरूसँग प्रोटोटाइप कार्यान्वयनहरू गर्न सजिलो बनाउँछ। पहिले विकसित प्रोसेसर कोड प्रोटोटाइपमा पोर्ट गर्न सकिन्छ र हार्डवेयर डिजाइन प्रयाससँग समानान्तरमा सिर्जना गरिएको नयाँ कोड।

मानक इन्टरफेस बसहरूसँग मानक प्रोसेसरको यो संयोजनले उपलब्ध कोड लाइब्रेरीहरू, ड्राइभरहरू, कार्यात्मक API हरू, वास्तविक समय अपरेटिङ सिस्टमहरू, र पूर्ण अपरेटिङ सिस्टमहरूको ठूलो इकोसिस्टमलाई धेरै छिटो काम गर्ने प्रोटोटाइप सिर्जना गर्न सम्भव बनाउँछ। थप रूपमा, एक पटक डिजाइन ठोस भएपछि, FPGA प्रोटोटाइपलाई वास्तविक प्रणाली डेटा प्रतिबिम्बित गर्ने व्यापक सिमुलेशन परीक्षण सेटहरू (उत्तेजना र प्रतिक्रिया दुवैको लागि) खिच्न प्रयोग गर्न सकिन्छ। यी डेटा सेटहरू ASIC वा अन्य उत्पादन कार्यान्वयनको लागि अन्तिम सिमुलेशनहरू सिर्जना गर्न अमूल्य हुन सक्छन्। फाइदाtagडिजाइन प्रोटोटाइपको रूपमा FPGA प्रयोग गर्ने तरिकाले अन्तिम उत्पादन कार्यान्वयनको लागि डिजाइन, प्रमाणीकरण, परीक्षण, र विफलता विश्लेषणको लागि लाग्ने समयलाई नाटकीय रूपमा घटाउन सक्छ।
यी दुवै सामान्य FPGA प्रयोग मोडेलहरूमा डिजाइन लक्ष्यको रूपमा FPGA को लचिलोपन एक प्रमुख फाइदा हो।tage. यसको अर्थ धेरै डिजाइन परिवर्तनहरू र पुनरावृत्तिहरू सामान्य हुनेछन्, र यसरी डिजाइन त्रुटिहरू द्रुत रूपमा डिबग गर्ने क्षमता सकेसम्म धेरै डिजाइन विकल्पहरू सक्षम पार्न महत्त्वपूर्ण हुनेछ। कुशल डिबग क्षमता बिना धेरैजसो अग्रिमtagआवश्यक पर्ने अतिरिक्त डिबगिङ समयले FPGA डिजाइन लचिलोपन घटाउनेछ। भाग्यवश, FPGA हरूले अतिरिक्त हार्डवेयर सुविधाहरू पनि प्रदान गर्न सक्छन् जसले वास्तविक-समय डिबगिङलाई नाटकीय रूपमा सरल बनाउँछ। यी क्षमताहरू हेर्नु अघि, पहिले FPGA डिजाइनले सामना गर्न सक्ने सबैभन्दा सामान्य प्रकारका समस्याहरू हेरौं ताकि हामीसँग विभिन्न डिबगिङ उपकरणहरूको दक्षता र सम्बन्धित ट्रेड-अफहरूको मूल्याङ्कन गर्न उचित पृष्ठभूमि होस्।

FPGA डिजाइनहरू डिबग गर्दा हुने सामान्य समस्याहरू

आधुनिक FPGA हरूले ल्याउने विस्तारित क्षमताहरूसँगै, सम्बन्धित बढ्दो जटिलताले त्रुटिरहित डिजाइनहरू सिर्जना गर्न अझ गाह्रो बनाउँछ। वास्तवमा, यो अनुमान गरिएको छ कि डिबगिङले एम्बेडेड प्रणाली डिजाइन चक्रको ५०% भन्दा बढी लिन सक्छ। समय-देखि-बजार दबाबले विकास चक्रलाई निचोड्न जारी राख्दा, प्रारम्भिक प्रणालीको हार्डवेयर डिबगिङ पछिको विचारमा खस्छ - प्रायः यो मानिन्छ कि प्रमाणीकरण (आफैंमा ठूलो प्रतिशत)tagविकास तालिकाको e), प्रारम्भिक प्रणाली ल्याउनु अघि सबै बगहरू समात्नेछ। प्रारम्भिक प्रणाली ल्याउने क्रममा एक सामान्य डिजाइनले सामना गर्ने चुनौतीहरूलाई राम्रोसँग बुझ्नको लागि केही सामान्य प्रकारका प्रणाली समस्याहरू हेरौं।

डिजाइनरले कुनै विशेष आवश्यकतालाई गलत बुझेको हुनाले कार्यात्मक परिभाषा त्रुटिहरू फेला पार्न दोब्बर गाह्रो हुन सक्छ, त्यसैले डिजाइनको विवरणहरू ध्यानपूर्वक हेर्दा पनि त्रुटिलाई बेवास्ता गर्न सकिन्छ। एक पूर्वampसामान्य कार्यात्मक परिभाषा त्रुटिको एक भाग भनेको मेसिनको अवस्था परिवर्तन सही अवस्थामा नपुग्नु हो। त्रुटिहरू प्रणाली इन्टरफेसमा अन्तरक्रिया समस्याको रूपमा पनि देखा पर्न सक्छन्। इन्टरफेस विलम्बता, उदाहरणका लागिample, गलत तरिकाले निर्दिष्ट गरिएको हुन सक्छ जसको परिणामस्वरूप अप्रत्याशित बफर ओभरफ्लो वा अन्डरफ्लो अवस्था हुन सक्छ।
प्रणाली स्तरको समय समस्याहरू डिजाइन त्रुटिहरूको अर्को धेरै सामान्य स्रोत हो। विशेष गरी, एसिन्क्रोनस घटनाहरू त्रुटिहरूको एक सामान्य स्रोत हुन् जब सिंक्रोनाइजेसन वा क्रसिङ टाइमिङ डोमेन प्रभावहरूलाई ध्यानपूर्वक विचार गरिँदैन। गतिमा सञ्चालन गर्दा यी प्रकारका त्रुटिहरू धेरै समस्याग्रस्त हुन सक्छन् र धेरै कम मात्र देखा पर्न सक्छन्, सायद जब विशिष्ट डेटा ढाँचाहरू प्रकट हुन्छन्। धेरै सामान्य समय उल्लङ्घनहरू यस श्रेणीमा पर्छन् र सामान्यतया धेरै गाह्रो हुन्छन्, यदि अनुकरण गर्न असम्भव छैन भने।

समय उल्लङ्घनहरू एकीकृत सर्किटहरू बीच कम सिग्नल फिडेलिटीको परिणाम पनि हुन सक्छ, विशेष गरी प्रत्येक सर्किटको लागि धेरै पावर रेलहरू भएका प्रणालीहरूमा। कम सिग्नल फिडेलिटीले सिग्नल आवाज, क्रसटलक, परावर्तन, अत्यधिक लोडिङ र इलेक्ट्रो-चुम्बकीय हस्तक्षेप (EMI) समस्याहरू निम्त्याउन सक्छ जुन प्रायः समय उल्लङ्घनको रूपमा देखा पर्दछ। पावर आपूर्ति समस्याहरू, जस्तै ट्रान्जियन्टहरू (विशेष गरी प्रणाली स्टार्ट-अप वा बन्द-डाउनको समयमा), लोड भिन्नताहरू र उच्च पावर अपव्यय तनावहरूले पनि रहस्यमय त्रुटिहरू निम्त्याउन सक्छ, प्रायः सजिलै पावर आपूर्ति स्रोतमा पत्ता लगाउन सकिँदैन। डिजाइन पूर्ण रूपमा सही हुँदा पनि बोर्ड निर्माण समस्याहरूले त्रुटिहरू निम्त्याउन सक्छ। दोषपूर्ण सोल्डर जोइन्टहरू र अनुचित रूपमा जोडिएका कनेक्टरहरू, उदाहरणका लागिampले, त्रुटिहरूको स्रोत हुन सक्छ र तापक्रम वा बोर्ड स्थानमा निर्भर पनि हुन सक्छ। उन्नत FPGA प्याकेजिङ प्रविधिहरूको प्रयोगले प्रिन्टेड सर्किट बोर्डमा सिग्नलहरू जाँच गर्न गाह्रो बनाउन सक्छ, त्यसैले केवल इच्छित सिग्नलमा पहुँच प्राप्त गर्नु प्रायः समस्याग्रस्त हुन सक्छ। प्रायः धेरै डिजाइन समस्याहरूले तत्काल त्रुटि सिर्जना गर्दैनन् र त्रुटि वास्तवमा प्रकट नभएसम्म डिजाइन मार्फत तरंगित हुनुपर्छ। सुरुवाती त्रुटिलाई मूल कारणमा फर्काउनु प्रायः निराशाजनक, कठिन र समय खपत गर्ने कार्य हुन सक्छ।

पूर्वका लागिampतर, अनुवाद तालिकामा एउटा सानो गल्तीले धेरै चक्र पछिसम्म त्रुटि निम्त्याउन सक्दैन। यस पत्रमा हामीले पछि छलफल गर्ने केही उपकरणहरू, जसले समर्पित इन-सर्किट डिबग हार्डवेयर प्रयोग गर्दछ, विशेष गरी यी 'बग हन्टहरू' लाई छिटो र सजिलो बनाउन लक्षित छन्। यी उपकरणहरूको विवरणमा जानु अघि, पहिले अग्रिमलाई राम्रोसँग बुझ्नको लागि लोकप्रिय सफ्टवेयर-आधारित डिबगिङ प्रविधि सिमुलेशन हेरौं।tages र disadvantagडिबगिङको लागि सिमुलेशन प्रयोग गर्ने तरिका।

डिबगिङको लागि सिमुलेशनको प्रयोग
सामान्यतया डिजाइन सिमुलेशनमा, डिजाइन भित्र र बाहिरका सबै वास्तविक जीवनका घटकहरूलाई गणितीय रूपमा सफ्टवेयर प्रक्रियाहरूको रूपमा मोडेल गरिन्छ जुन मानक CPU मा क्रमिक रूपमा कार्यान्वयन गरिन्छ। डिजाइनमा विस्तृत दायरा उत्तेजना लागू गर्नु र सिमुलेटेड डिजाइन आउटपुट विरुद्ध अपेक्षित आउटपुट जाँच गर्नु, सबैभन्दा स्पष्ट डिजाइन त्रुटिहरू समात्ने सजिलो तरिका हो। सामान्य सिमुलेशन रन देखाउने विन्डो तलको चित्र १ मा दिइएको छ। स्पष्ट फाइदाtagहार्डवेयर-आधारित डिबगिङको सिमुलेशनको एउटा मुख्य कुरा भनेको सफ्टवेयरमा सिमुलेशन गर्न सकिन्छ - कुनै वास्तविक हार्डवेयर-आधारित डिजाइन र टेस्टबेन्च आवश्यक पर्दैन। सिमुलेशनले धेरै डिजाइन त्रुटिहरू द्रुत रूपमा समात्न सक्छ, विशेष गरी गलत विशिष्टताहरूसँग सम्बन्धित, इन्टरफेस आवश्यकताहरूको गलतफहमी, प्रकार्य त्रुटिहरू, र धेरै अन्य 'घन' प्रकारका त्रुटिहरू जुन साधारण उत्तेजना भेक्टरहरू मार्फत सजिलै पत्ता लगाइन्छ।

माइक्रोसेमी-इन-सर्किट-FPGA-डिबग- (१)

डिजाइनरलाई व्यापक उत्तेजना संयोजनहरू उपलब्ध हुँदा र परिणामस्वरूप आउटपुटहरू राम्ररी परिचित हुँदा सिमुलेशन विशेष गरी प्रभावकारी हुन्छ। यी अवस्थाहरूमा, सिमुलेशनले डिजाइनको लगभग पूर्ण परीक्षण गर्न सक्छ। दुर्भाग्यवश, धेरैजसो डिजाइनहरूमा व्यापक परीक्षण सुइटहरूमा सजिलो पहुँच हुँदैन र तिनीहरूलाई सिर्जना गर्ने प्रक्रिया धेरै समय लाग्ने हुन सक्छ। ठूला FPGA-आधारित डिजाइनहरूको लागि डिजाइनको १००% कभर गर्ने परीक्षण सुइट सिर्जना गर्नु लगभग असम्भव छ र डिजाइनको मुख्य तत्वहरूलाई कभर गर्न प्रयास गर्न छोटो कटौतीहरू प्रयोग गर्नुपर्छ। सिमुलेशनको साथ अर्को कठिनाई यो हो कि यो 'वास्तविक संसार' कार्यान्वयन होइन र एसिन्क्रोनस घटनाहरू, गतिमा प्रणाली अन्तरक्रियाहरू, वा समय उल्लङ्घनहरू समात्न सक्दैन। अन्तमा, सिमुलेशन प्रक्रिया धेरै ढिलो हुन सक्छ र यदि धेरै पुनरावृत्तिहरू आवश्यक छन् भने सिमुलेशन चाँडै सबैभन्दा समय खपत गर्ने, र प्रायः विकास प्रक्रियाको सबैभन्दा महँगो भाग बन्छ।

विकल्पको रूपमा (वा सायद अझ राम्रोसँग भन्नुपर्दा, सिमुलेशनको थपको रूपमा) FPGA डिजाइनरहरूले पत्ता लगाए कि तिनीहरूले उपकरण भित्र प्रमुख संकेतहरू अवलोकन र नियन्त्रण गर्न FPGA डिजाइनमा डिबग हार्डवेयर थप्न सक्छन्। यी प्रविधिहरू मूल रूपमा तदर्थ दृष्टिकोणको रूपमा विकसित भएका थिए, तर बिस्तारै मानक हार्डवेयर डिबग रणनीतिमा विकसित भएका छन्। इन-सर्किट डिबग क्षमताहरूको यो प्रयोगले महत्त्वपूर्ण फाइदा प्रदान गर्दछ।tagFPGA-आधारित डिजाइनहरूको लागि es र अर्को खण्डले तीन सबैभन्दा सामान्य रणनीतिहरू र तिनीहरूका विभिन्न फाइदाहरूको अन्वेषण गर्नेछ।tages र disadvantages.

FPGA हरूको लागि सामान्य इन-सर्किट डिबग दृष्टिकोणहरू
FPGA हरूमा इन-सर्किट डिबग क्षमताहरू कार्यान्वयन गर्ने सबैभन्दा सामान्य प्रविधिहरूले या त एम्बेडेड लजिक विश्लेषक, बाह्य परीक्षण उपकरण, वा FPGA कपडा भित्र एम्बेडेड समर्पित सिग्नल प्रोब हार्डवेयर प्रयोग गर्दछ। एम्बेडेड लजिक विश्लेषक सामान्यतया FPGA कपडा प्रयोग गरेर कार्यान्वयन गरिन्छ र डिजाइनमा सम्मिलित गरिन्छ। JTAG पोर्ट विश्लेषक पहुँच गर्न प्रयोग गरिन्छ र क्याप्चर गरिएको डेटा पीसीमा प्रदर्शन गर्न सकिन्छ। बाह्य परीक्षण उपकरणहरू प्रयोग गर्दा, परीक्षण अन्तर्गत FPGA डिजाइन परिमार्जन गरिन्छ ताकि चयन गरिएका आन्तरिक FPGA सिग्नलहरू आउटपुट पिनहरूमा रुट हुन्छन्। यी पिनहरू त्यसपछि बाह्य परीक्षण उपकरणहरू मार्फत अवलोकन गर्न सकिन्छ। समर्पित सिग्नल प्रोब हार्डवेयर प्रयोग गर्दा, आन्तरिक सिग्नलहरूको विस्तृत चयन वास्तविक समयमा पढ्न सकिन्छ। केही प्रोब कार्यान्वयनहरू दर्ता गर्न वा मेमोरी स्थानहरूमा लेख्न पनि प्रयोग गर्न सकिन्छ जसले डिबग क्षमताहरूलाई अझ बढाउँछ। एडभानमा थप विवरणमा हेरौं।tages र disadvantagयी प्रत्येक प्रविधिहरूको es र त्यसपछि एक पूर्व हेर्नुहोस्ampयी फरक दृष्टिकोणहरूले समग्र डिबगिङ समयलाई कसरी असर गर्न सक्छन् भनेर हेर्नको लागि डिजाइन गर्नुहोस्।

इन-सर्किट FPGA डिबग-एम्बेडेड लजिक विश्लेषक
एम्बेडेड लजिक एनालाइजरको अवधारणा FPGA हरू पहिलो पटक प्रयोग गर्दा डिजाइनरहरूले लागू गरेको एड-हक इन-सर्किट डिबगिङ क्षमताहरूको प्रत्यक्ष परिणाम थियो। एम्बेडेड लजिक एनालाइजरहरूले नयाँ क्षमताहरू थपे र डिजाइनरलाई आफ्नै विश्लेषक विकास गर्ने आवश्यकतालाई हटाए। धेरैजसो FPGA हरूले यी क्षमताहरू प्रदान गर्छन् र तेस्रो पक्षहरूले मानक विश्लेषकहरू प्रदान गर्छन् (Synopsys बाट Identify®, एक लोकप्रिय उदाहरण हो)।ample) जसले उत्पादकत्वलाई अझ सुधार गर्न उच्च स्तरका उपकरणहरूसँग सजिलैसँग अन्तर्क्रिया गर्न सक्छ।

चित्र २ मा देखाइए अनुसार, FPGA कपडा र एम्बेडेड मेमोरी ब्लकहरूलाई ट्रेस बफरको रूपमा प्रयोग गरेर तर्क विश्लेषक कार्यक्षमता डिजाइनमा सम्मिलित गरिएको छ। जटिल सिग्नल अन्तरक्रियाहरू सजिलै चयन र क्याप्चर गर्न सकियोस् भनेर ट्रिगरिङ स्रोतहरू पनि सिर्जना गरिन्छ। नियन्त्रण र डेटा स्थानान्तरणको लागि विश्लेषकमा पहुँच सामान्यतया मानक J मार्फत गरिन्छ।TAG इन्टरफेस आवश्यकताहरूलाई सरल बनाउन पोर्ट। क्याप्चर गरिएको डाटा सामान्य प्रयोग गरेर पीसीमा प्रदर्शन गर्न सकिन्छ viewसफ्टवेयर ing गर्दछ र सामान्यतया तर्क सिम्युलेटर वेभफॉर्म आउटपुट प्रतिबिम्बित गर्दछ viewशैलीमा।

माइक्रोसेमी-इन-सर्किट-FPGA-डिबग- (१)

एडभानtagयस दृष्टिकोणको मुख्य विशेषता भनेको कुनै पनि अतिरिक्त FPGA I/O पिनहरू प्रयोग गरिँदैन, केवल मानक J पिनहरू मात्र प्रयोग गरिन्छ।TAG संकेतहरू। एम्बेडेड लजिक विश्लेषक आईपी कोरहरू सामान्यतया तुलनात्मक रूपमा सस्तो हुन्छन् र केही अवस्थामा अवस्थित FPGA संश्लेषण, वा सिमुलेशन उपकरणहरूको विकल्प हुन सक्छन्। केही अवस्थामा, एम्बेडेड लजिक विश्लेषकले प्रयोग नगरिएका I/Os मा अतिरिक्त आउटपुटहरू पनि प्रदान गर्न सक्छ, यदि यो अधिक सुविधाजनक छ भने। बेफाइदाहरू मध्ये एकtagयस दृष्टिकोणको मुख्य कारण भनेको ठूलो मात्रामा FPGA स्रोतहरू आवश्यक पर्दछ। विशेष गरी, यदि ट्रेस बफरहरू प्रयोग गरियो भने यसले उपलब्ध ब्लक मेमोरीहरूको संख्या घटाउनेछ। यदि फराकिलो बफर आवश्यक छ भने यो मेमोरी डेप्थ विरुद्धको ट्रेड-अफ पनि हुनेछ (किनकि फराकिलो मेमोरीको प्रयोगले मेमोरी डेप्थ कम गर्छ) - एउटा ठूलो बेफाइदाtagसाना उपकरणहरू प्रयोग गर्दा। सायद यस प्रविधिको सबैभन्दा ठूलो कमजोरी यो हो कि प्रत्येक पटक प्रोब प्लेसमेन्टमा समायोजन गर्दा, डिजाइनलाई पुन: कम्पाइल र पुन: प्रोग्राम गर्न आवश्यक हुन्छ। ठूलो उपकरण प्रयोग गर्दा यो प्रक्रियाले धेरै समय लिन सक्छ। डिजाइनमा सिग्नल प्रोबहरू राख्ने तरिकाले गर्दा सिग्नल समय सम्बन्धहरू सहसम्बन्ध गर्न गाह्रो हुन सक्छ। थप रूपमा, सिग्नल प्रोबहरू बीचको ढिलाइहरू एकरूप हुँदैनन् र त्यसैले समय सम्बन्धहरू तुलना गर्न गाह्रो हुन्छ। विभिन्न समय डोमेनहरूबाट एसिन्क्रोनस सिग्नलहरू वा सिग्नलहरू तुलना गर्दा यो एक विशेष कठिनाई हो।

इन-सर्किट FPGA डिबग - बाह्य परीक्षण उपकरण
बाह्य परीक्षण उपकरणहरूसँग संयोजनमा इन-सर्किट डिबग कोडको प्रयोग एक प्राकृतिक विकास थियो जब बाह्य तर्क विश्लेषक पहिले नै प्रणाली परीक्षणको लागि उपलब्ध थियो। चित्र ३ मा देखाइए अनुसार, आन्तरिक परीक्षण संकेतहरू पहिचान गर्न र चयन गर्न र FPGA I/Os मा लागू गर्न केही सरल डिबग कोड सिर्जना गरेर, विश्लेषकहरूको उन्नत क्षमताहरू (जस्तै ठूला ट्रेस बफरहरू, जटिल ट्रिगरिङ अनुक्रमहरू, र बहुविध) लाई लाभ उठाउन सम्भव थियो। viewing विकल्पहरू) सरल तर शक्तिशाली डिबग वातावरण सिर्जना गर्न। उन्नत ट्रिगरिङ विकल्पहरूको लागि थप जटिल इन-सर्किट क्षमताहरूले आवश्यक आउटपुटहरूको संख्या कम गर्न सक्छ। उदाहरणका लागिampवा, यदि बाह्य पिनहरू आवश्यक भएमा चौडा बसमा विशिष्ट ठेगानाहरू चयन गर्नु निषेधात्मक हुन सक्छ।
आन्तरिक FPGA तर्क प्रयोग गर्नाले I/O आवश्यकताहरूलाई नाटकीय रूपमा कम गर्छ र थप जटिल समस्याहरू डिबग गर्नको लागि विशिष्ट ठेगाना ढाँचाहरू (सायद कल र फिर्ता अनुक्रम) पनि खोज्न सक्छ। यदि एक साझा प्रयोगकर्ता इन्टरफेस उपलब्ध छ भने, यसले सिकाइ कर्भलाई सरल बनाउन सक्छ र उत्पादकता सुधार गर्न सक्छ।

माइक्रोसेमी-इन-सर्किट-FPGA-डिबग- (१)

एडभानtagयस दृष्टिकोणको मुख्य विशेषता यो हो कि यसले बाह्य परीक्षण उपकरणको लागतलाई बढावा दिन्छ र यसरी कुनै थप उपकरण लागत हुँदैन। केही डिबग सर्किट IP कोरहरू उपकरण निर्माताहरू वा FPGA निर्माताहरूबाट उपलब्ध छन्, र धेरै कम लागत वा नि:शुल्क पनि हुन सक्छन्। सिग्नल चयन तर्क कार्यान्वयन गर्न आवश्यक FPGA स्रोतहरूको मात्रा धेरै सानो छ, र ट्रेस प्रकार्य बाह्य तर्क विश्लेषक प्रयोग गरेर गरिएको हुनाले, कुनै ब्लक मेमोरीहरू आवश्यक पर्दैन। चयन तर्क सस्तो भएकोले, फराकिलो ट्रिगरिङ भएका च्यानलहरूको ठूलो संख्यालाई पनि समर्थन गर्न सकिन्छ। तर्क विश्लेषकले समय मोड र राज्य मोड दुवैमा काम गर्न सक्छ जसले केही समय समस्याहरूलाई अलग गर्न मद्दत गर्दछ।
Disadvantagयस दृष्टिकोणका केही पक्षहरूमा परियोजनामा ​​पहिले नै छुट्याइएको छैन भने, तर्क विश्लेषक खरिद गर्नुपर्ने आवश्यकता समावेश हुन सक्छ। यो बेफाइदाtagधेरै अवस्थामा यो दृष्टिकोणलाई निरुत्साहित गर्न e पर्याप्त हुन सक्छ। यद्यपि, ध्यान दिनुहोस् कि केही कम लागतको तर्क विश्लेषक विकल्पहरू उपलब्ध हुँदैछन् जसले प्रदर्शनको लागि पीसी वा ट्याब्लेट प्रयोग गर्दछ, जसले गर्दा यो विकल्प साधारण डिबग आवश्यकताहरूको लागि धेरै लागत-प्रभावी हुन्छ।
खपत गरिएको FPGA पिनको संख्या अर्को बेफाइदा हुन सक्छtage र यदि चौडा बसहरू अवलोकन गर्न आवश्यक छ भने, बोर्ड लेआउटको लागि महत्त्वपूर्ण योजना र डिबग कनेक्टरहरूको थप आवश्यक छ। यो आवश्यकता डिजाइन चरणको सुरुमा भविष्यवाणी गर्न धेरैजसो गाह्रो हुन्छ र अर्को अवांछित जटिलता। एम्बेडेड तर्क विश्लेषक दृष्टिकोण जस्तै बाह्य परीक्षण रणनीतिलाई प्रत्येक नयाँ प्रयोग आवश्यक पर्दा डिजाइनको पुन: संकलन र पुन: प्रोग्रामिङ आवश्यक पर्दछ।

सामान्य बेफाइदाtagयी दुई प्रविधिहरूको प्रयोग - अन-चिप स्रोतहरूको प्रयोग (जसले डिजाइनको समय कार्यसम्पादनलाई पनि असर गर्न सक्छ र थप डिबगिङ आवश्यकताहरू सिर्जना गर्न सक्छ) डिजाइनलाई पुन: कम्पाइल र पुन: प्रोग्राम गर्ने आवश्यकता (जसले डिबग तालिकामा घण्टा वा दिनहरू पनि थप्न सक्छ) सम्भावित परीक्षण परिदृश्यहरू पहिचान गर्न आवश्यक अग्रिम योजना, र थप चिप I/O स्रोतहरूको प्रयोगले यी कमजोरीहरू बिनाको दृष्टिकोणको आवश्यकता सिर्जना गर्‍यो। एउटा प्रतिक्रिया केही उपकरणहरूमा FPGA कपडामा समर्पित डिबग तर्कको थप थियो। हार्डवेयर प्रोबहरू प्रयोग गरेर इन-सर्किट डिबग परिणाम थियो।

इन-सर्किट FPGA डिबग - हार्डवेयर प्रोबहरू
हार्डवेयर प्रोबहरूको प्रयोगले FPGA हरूको लागि इन-सर्किट डिबग प्रविधिहरूलाई नाटकीय रूपमा सरल बनाउँछ। SmartFusion2®SoC FPGA र IGLOO®2 FPGA उपकरणहरूमा लाइभ प्रोब सुविधाको रूपमा लागू गरिएको यो प्रविधिले कुनै पनि तर्क तत्व दर्ता बिटको आउटपुट अवलोकन गर्न FPGA कपडामा समर्पित प्रोब लाइनहरू थप्छ। चित्र ४ मा ब्लक रेखाचित्रमा देखाइए अनुसार, हार्डवेयर प्रोबहरू दुई प्रोब च्यानलहरू A र B मा उपलब्ध छन्।

माइक्रोसेमी-इन-सर्किट-FPGA-डिबग- (१)

चयन गरिएका दर्ता आउटपुटहरू (प्रोब पोइन्टहरू), चित्रको तलको स्रोत जस्तै, दुई प्रोब च्यानलहरू माथि राउट गरिन्छन् र यदि चयन गरियो भने A वा B च्यानलमा लागू गर्न सकिन्छ। यी वास्तविक-समय च्यानल सिग्नलहरू त्यसपछि उपकरणमा समर्पित प्रोब A र प्रोब B पिनहरूमा पठाउन सकिन्छ। प्रोब A र प्रोब B सिग्नलहरूलाई आन्तरिक रूपमा एम्बेडेड तर्क विश्लेषकमा पनि राउट गर्न सकिन्छ।

ध्यान दिनुहोस् कि प्रोब पिनहरूको समय विशेषताहरू नियमित छन् र एक प्रोब बिन्दुबाट अर्कोमा नगण्य विचलन छ, जसले गर्दा वास्तविक-समय संकेतहरूको समय विशेषताहरू तुलना गर्न धेरै सजिलो हुन्छ। डेटा १००MHz सम्ममा कैद गर्न सकिन्छ जसले गर्दा यो अधिकांश लक्षित डिजाइनहरूको लागि उपयुक्त हुन्छ।
सायद सबैभन्दा महत्त्वपूर्ण कुरा, प्रोब पोइन्ट स्थानहरू, किनकि तिनीहरू कार्यान्वयन गरिएको डिजाइनको भागको रूपमा चयन गरिएका छैनन् (डिजाइन FPGA मा चलिरहेको बेला तिनीहरू समर्पित हार्डवेयर मार्फत चयन गरिएका छन्), केवल उपकरणमा चयन डेटा पठाएर द्रुत रूपमा परिवर्तन गर्न सकिन्छ। कुनै डिजाइन पुन: कम्पाइल र पुन: प्रोग्रामिङ आवश्यक छैन।
लाइभ प्रोब क्षमताको प्रयोगलाई अझ सरल बनाउन, सम्बन्धित डिबग सफ्टवेयर उपकरणले स्वचालित रूपमा उत्पन्न डिबग मार्फत सबै प्रोब सिग्नल स्थानहरूमा पहुँच राख्छ। file। चित्र ५ मा देखाइए अनुसार, सिग्नलको नाम सिग्नल सूचीबाट चयन गर्न सकिन्छ र इच्छित च्यानलमा लागू गर्न सकिन्छ। यो डिजाइन चलिरहेको बेला पनि गर्न सकिन्छ ताकि डिजाइन भित्रको प्रोबिङ गतिविधि निर्बाध र धेरै कुशल होस्।

माइक्रोसेमी-इन-सर्किट-FPGA-डिबग- (१)

धेरै अवस्थामा, लाइभ प्रोब जस्तै हार्डवेयर प्रोब क्षमतालाई पहिले वर्णन गरिएको एम्बेडेड लॉजिक एनालाइजर र बाह्य परीक्षण प्रविधिहरूसँग संयोजनमा प्रयोग गर्न सकिन्छ।

चित्र ६ मा देखाइएझैं, 'अन द फ्लाई' सिग्नलहरू चयन गर्ने लाइभ प्रोब क्षमताले डिजाइन पुन: कम्पाइल नगरीकनै अवलोकन अन्तर्गत सिग्नलहरूलाई छिटो र सजिलै परिवर्तन गर्न सम्भव बनाउँछ। समर्पित प्रोब आउटपुट पिनहरूमा चित्रको माथिल्लो दायाँ भागमा देखाइएझैं बाह्य तर्क विश्लेषक वा स्कोपले सजिलैसँग प्रोब गरिएका सिग्नलहरू अवलोकन गर्न सक्छ। वैकल्पिक रूपमा (वा सायद यसको अतिरिक्त) आन्तरिक तर्क विश्लेषक (चित्रमा देखाइएको ILA पहिचान ब्लक) प्रोब पिनहरू अवलोकन गर्न प्रयोग गर्न सकिन्छ। प्रोब सिग्नलहरू ILA द्वारा क्याप्चर गर्न सकिन्छ र वेभफर्म विन्डोमा अवलोकन गर्न सकिन्छ। लक्षित डिजाइन पुन: कम्पाइल नगरीकनै प्रोब स्थानहरू परिवर्तन गर्न सकिन्छ।
ध्यान दिनुहोस् कि ट्रिगरिङ र ट्रेसको लागि अतिरिक्त क्षमताहरू प्रोब कार्यक्षमता बढाउन प्रयोग गर्न सकिन्छ, जसले गर्दा जटिल डिजाइन समस्याहरू पनि पत्ता लगाउन सजिलो हुन्छ।

माइक्रोसेमी-इन-सर्किट-FPGA-डिबग- (१)

SmartFusion2 SoC FPGA र IGLOO2 FPGA उपकरणहरूमा अतिरिक्त हार्डवेयर डिबग क्षमताहरू पनि उपलब्ध छन्। यी क्षमताहरू मध्ये एक, जसलाई Active Probe भनिन्छ, ले गतिशील र एसिन्क्रोनस रूपमा कुनै पनि तर्क तत्व दर्ता बिटमा पढ्न वा लेख्न सक्छ। लिखित मान एकल घडी चक्रको लागि रहन्छ ताकि सामान्य सञ्चालन जारी रहन सक्छ, यसलाई धेरै मूल्यवान डिबगिङ उपकरण बनाउँछ। यदि आन्तरिक संकेतको द्रुत अवलोकन चाहियो भने (सायद यो सक्रिय छ वा इच्छित अवस्थामा छ कि छैन भनेर जाँच गर्न, जस्तै रिसेट सिग्नल), वा यदि प्रोब पोइन्टमा लेखेर तर्क प्रकार्य द्रुत रूपमा परीक्षण गर्न आवश्यक छ भने सक्रिय प्रोब विशेष चासोको विषय हो।
(सायद नियन्त्रण प्रवाह समस्यालाई अलग गर्न इनपुट मान द्रुत रूपमा सेट गरेर राज्य मेसिन संक्रमण सुरु गर्न)।

माइक्रोसेमीद्वारा प्रदान गरिएको अर्को डिबग क्षमता मेमोरी डिबग हो। यो सुविधाले डिजाइनरलाई चयन गरिएको FPGA कपडा SRAM ब्लकमा गतिशील र एसिन्क्रोनस रूपमा पढ्न वा लेख्न अनुमति दिन्छ। डिबग उपकरण (चित्र ७) को स्क्रिनशटमा देखाइएझैं, मेमोरी ब्लक ट्याब चयन गर्दा प्रयोगकर्ताले पढ्नको लागि इच्छित मेमोरी चयन गर्न, मेमोरीको स्न्यापसट क्याप्चर कार्यान्वयन गर्न, मेमोरी मानहरू परिमार्जन गर्न, र त्यसपछि मानहरू उपकरणमा फिर्ता लेख्न सक्छ। यो विशेष गरी गणना उन्मुख स्क्र्याच-प्याडको लागि सञ्चार पोर्टहरूमा प्रयोग हुने डेटा बफरहरू जाँच गर्न वा सेट गर्न वा एम्बेडेड CPU द्वारा निष्पादित कोडको लागि पनि उपयोगी हुन सक्छ। जटिल डेटा निर्भर त्रुटिहरू डिबग गर्नु उल्लेखनीय रूपमा छिटो र सजिलो हुन्छ जब सम्झनाहरू यति छिटो अवलोकन र नियन्त्रण गर्न सकिन्छ।

माइक्रोसेमी-इन-सर्किट-FPGA-डिबग- (१)

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

इन-सर्किट डिबग तुलना चार्ट
अब त्यो विस्तृत पुन:view तीन मुख्य इन-सर्किट हार्डवेयर डिबग प्रविधिहरू मध्ये चित्र ८ मा देखाइए अनुसार सारांश चार्ट सिर्जना गरिएको छ जसले विभिन्न फाइदाहरूको विवरण दिन्छ।tages र disadvantagप्रत्येक विधिको es। केही प्रविधिहरू संयोजनमा प्रयोग गर्न सकिन्छ भन्ने कुरा सम्झँदै (लाइभ प्रोब र इन्टरनल लजिक एनालाइजर (ILA), जस्तै Synopsys Identify, उदाहरणका लागिample), हामी प्रत्येक प्रविधिको प्रमुख शक्ति र कमजोरीहरू देख्न सक्छौं। इन-सर्किट हार्डवेयर डिबग क्षमताहरूको संग्रह (लाइभ प्रोब, एक्टिभ प्रोब, र मेमोरी डिबग—सामूहिक रूपमा स्मार्टडिबग भनिन्छ), उपलब्ध कुल प्रोबहरूको संख्या (रातो सर्कल) को हिसाबले अन्य प्रविधिहरूको तुलनामा सबैभन्दा कमजोर हुन्छन् र क्याप्चर गतिलाई विचार गर्दा उत्तम (पहेंलो सर्कल) भन्दा कमजोर हुन्छन् (बाह्य परीक्षण उपकरणहरू छिटो हुन सक्छन्)।
Synopsys Identify जस्ता ILA-आधारित प्रविधिहरू, अन्य प्रविधिहरूको तुलनामा र FPGA स्रोत आवश्यकताहरूलाई विचार गर्दा सबैभन्दा कमजोर हुन्छन्। बाह्य परीक्षण उपकरण-आधारित प्रविधिहरू लागत, डिजाइन समय प्रभाव, र प्रोब आन्दोलन ओभरहेड (डिजाइन पुन: कम्पाइल गर्ने आवश्यकताको कारणले) सबैभन्दा कठिन भएका धेरै विचारहरूमा सबैभन्दा कमजोर हुन्छन्। सायद इष्टतम समाधान SmartDebug र अन्य प्रविधिहरू मध्ये एकको संयोजन हो, ताकि SmartDebug को च्यानलहरूको संख्या कमजोरीलाई कम गर्न सकियोस् र प्रोब पोइन्ट आन्दोलनको हानि कम गर्न सकियोस्।tagअन्य प्रविधिहरूको प्रयोग पनि घट्यो।

माइक्रोसेमी-इन-सर्किट-FPGA-डिबग- (१)

सिग्नल वर्गीकरण
केही सामान्य प्रकारका संकेतहरू बीच उपयोगी भिन्नता छुट्याउन सकिन्छ र यसले डिबगिङ दृष्टिकोणको योजना बनाउँदा मद्दत गर्न सक्छ। उदाहरणका लागिampले, प्रणाली स्टार्ट-अपको समयमा बाहेक अन्य समयमा परिवर्तन नहुने संकेतहरू, जस्तै प्रणाली रिसेट, ब्लक रिसेट वा इनिसियलाइजेसन रजिस्टरहरूलाई स्थिर संकेतहरूको रूपमा वर्गीकृत गर्न सकिन्छ। यी प्रकारका संकेतहरू लामो पुन: संकलन चक्रको आवश्यकता बिना सजिलै अवलोकन गर्न र सिग्नल नियन्त्रण गर्न सक्ने सुविधा मार्फत सबैभन्दा कुशलतापूर्वक पहुँच गरिन्छ। सक्रिय प्रोब स्थिर संकेतहरू डिबग गर्नको लागि एक उत्कृष्ट सुविधा हो। त्यसैगरी, धेरै पटक परिवर्तन हुने तर धेरैजसो समय स्थिर रहने संकेतहरूलाई छद्म-स्थिरको रूपमा वर्गीकृत गर्न सकिन्छ र सक्रिय प्रोब प्रयोग गरेर सबैभन्दा प्रभावकारी रूपमा डिबग पनि गरिन्छ। बारम्बार परिवर्तन हुने संकेतहरू, जस्तै घडी संकेतहरू, गतिशीलको रूपमा वर्गीकृत गर्न सकिन्छ र सक्रिय प्रोब मार्फत सजिलै पहुँच गर्न सकिँदैन। लाइभ प्रोब यी संकेतहरू अवलोकन गर्नको लागि राम्रो विकल्प हो।

साधारण डिबग प्रयोग केस

अब हामीसँग विभिन्न इन-सर्किट डिबग विकल्पहरूको राम्रो बुझाइ छ, अब एउटा साधारण डिजाइन उदाहरण हेरौंampयी प्रविधिहरूले कसरी प्रदर्शन गर्छन् भनेर हेर्नको लागि। चित्र ९ ले SmartFusion9 SoC FPGA उपकरणमा एक साधारण FPGA डिजाइन देखाउँछ। माइक्रोकन्ट्रोलर सबसिस्टम (MSS) CoreSF2Reset Soft IP ब्लक द्वारा रिसेट गरिएको छ। यस ब्लकमा इनपुटहरू पावर अन रिसेट, प्रयोगकर्ता कपडा रिसेट, र बाह्य रिसेट हुन्। आउटपुटहरू प्रयोगकर्ता कपडामा रिसेट, MSS रिसेट, र M2 रिसेट हुन्। त्रुटिका लक्षणहरू यो हुन् कि उपकरण POR अवस्था सफलतापूर्वक बाहिर निस्के पनि I/Os मा कुनै गतिविधि छैन। यो त्रुटि डिबग गर्नका लागि तीन फरक विकल्पहरू चित्रमा पनि चित्रण गरिएको छ: नीलो बक्स (लेबल गरिएको ETE) बाह्य परीक्षण उपकरण विधिको लागि हो; हरियो बक्स (लेबल गरिएको ILA) आन्तरिक तर्क विश्लेषक विधिको लागि हो; र सुन्तला बक्स (लेबल गरिएको AP) सक्रिय प्रोब विधिको लागि हो। हामी त्रुटिको सम्भावित मूल कारणहरू CoreSF3Reset Soft IP ब्लकमा अनुचित रूपमा दाबी गरिएको रिसेट इनपुटहरू हुन् भनेर मान्नेछौं।

माइक्रोसेमी-इन-सर्किट-FPGA-डिबग- (१)

अब पहिले वर्णन गरिएका तीन इन-सर्किट विधिहरूको लागि डिबग प्रक्रिया हेरौं।

बाह्य परीक्षण उपकरण
यो विधि प्रयोग गरेर, यो मानिन्छ कि परीक्षण उपकरण उपलब्ध छ र उच्च प्राथमिकता परियोजना द्वारा प्रयोग भइरहेको छैन। थप रूपमा, केही FPGA I/O उपलब्ध छन् र परीक्षण उपकरणमा सजिलै जडान गर्न सकिन्छ भनेर पहिले नै योजना बनाउनु महत्त्वपूर्ण छ। उदाहरणका लागि PCB मा हेडर हुनुampले, धेरै उपयोगी हुनेछ र 'सम्भावित संदिग्ध' वा प्रोबिङको क्रममा पिनको सम्भावित छोटोपन पहिचान गर्न र जडान गर्न प्रयास गर्दा बिताएको समयलाई कम गर्नेछ। हामीले अनुसन्धान गर्न चाहने संकेतहरू चयन गर्न डिजाइन पुन: कम्पाइल गर्नुपर्नेछ। आशा छ, हामी 'प्याज फिर्ता बोक्ने' छैनौं र थप अनुसन्धानको लागि थप संकेतहरू चयन गर्नुपर्नेछ, किनकि प्रायः हाम्रो प्रारम्भिक अनुसन्धानले थप प्रश्नहरू मात्र निम्त्याउँछ। कुनै पनि अवस्थामा, पुन: कम्पाइल र पुन: प्रोग्रामिङ प्रक्रियाले महत्त्वपूर्ण समय लिन सक्छ, र यदि यसले समय उल्लङ्घनको परिणाम दिन्छ भने पुन: डिजाइन आवश्यक पर्दछ (हामी सबैलाई समय बन्द गर्ने समस्याहरू समाधान गर्ने प्रयास कत्तिको निराशाजनक हुन सक्छ भन्ने कुरा थाहा छ, विशेष गरी, जब तपाईं डिजाइन बग फेला पार्न डिजाइन परिवर्तनहरू गर्दै हुनुहुन्छ - सम्पूर्ण प्रक्रिया मिनेटदेखि घण्टासम्म लाग्न सक्छ)! यो सम्झना पनि महत्त्वपूर्ण छ कि यदि डिजाइनमा कुनै नि:शुल्क प्रयोगकर्ता I/Os छैन भने, यो विधि लागू गर्न सकिँदैन। यसबाहेक, यो विधि डिजाइनमा संरचनात्मक रूपमा हस्तक्षेपकारी छ - र समय सम्बन्धित बगहरू पुनरावृत्तिहरू बीचमा गायब हुन वा पुनरावृत्तिहरू बीचमा पुन: देखा पर्न सक्छन्।

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

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

रिसेट सिग्नलको क्षणिक टगलिङ रजिस्टरलाई एसिन्क्रोनस रूपमा हेरफेर गरेर बाँकी सिग्नलहरू उत्पन्न गरेर प्राप्त गर्न सकिन्छ।

माइक्रोसेमी-इन-सर्किट-FPGA-डिबग- (१)

थप जटिल डिबग प्रयोग केस
माथिको डिजाइन धेरै सरल थियो र वर्णन गरिएका डिजाइन प्रविधिहरू प्रयोग गर्ने परिचयको रूपमा उपयोगी छ, तर अझ जटिल उदाहरणample अझ बढी उदाहरणीय हुन सक्छ। धेरै पटक रुचिको संकेत स्थिर संकेत हुँदैन जस्तो कि यो हाम्रो साधारण पूर्वमा थियो।ample तर गतिशील छ। एक सामान्य गतिशील संकेत एक मध्यवर्ती घडी हो, सायद सिरियल इन्टरफेसको लागि ह्यान्डशेकको समयको लागि प्रयोग गरिन्छ। चित्र ११ ले प्रयोगकर्ता सफ्ट आईपी कोरसँग यस्तो डिजाइन देखाउँछ, यस अवस्थामा, प्रणाली APB बसमा जडान गरिएको अनुकूल सिरियल इन्टरफेस। त्रुटि लक्षणहरू प्रयोगकर्ता अनुकूल सिरियल इन्टरफेसमा कुनै गतिविधि छैन भन्ने हो, र जब APB बस मास्टरले सिरियल इन्टरफेस पहुँच गर्न लेनदेन जारी गर्दछ यो गलत ह्यान्डशेक संकेत गर्ने अपवाद अवस्थामा जान्छ। यी अवस्थाहरूले गलत रिसेट सिग्नल जस्तै स्थिर कारणलाई अस्वीकार गरेको देखिन्छ, किनकि लेनदेन अवस्था मेसिन अपेक्षित दरमा सञ्चालन भइरहेको छैन जस्तो देखिन्छ र यसरी अपवाद निम्त्याउँछ। मूल कारण प्रयोगकर्ता आईपी कोर भित्र घडी आवृत्ति जेनेरेटर मानिन्छ।

यदि यो सही फ्रिक्वेन्सीमा चलिरहेको छैन भने वर्णन गरिएका त्रुटिहरू हुनेछन्।

माइक्रोसेमी-इन-सर्किट-FPGA-डिबग- (१)

यस अवस्थामा सक्रिय प्रोब दृष्टिकोणलाई लाइभ प्रोबले प्रतिस्थापन गर्नु सम्भवतः राम्रो रणनीति हो। माथिको चित्रमा सुन्तला रंगको LP बक्सले J प्रयोग गरेर यसलाई चित्रण गरेको छ।TAG प्रोब स्रोत चयनको लागि संकेत।

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

आन्तरिक तर्क विश्लेषक
यो केस साधारण पूर्व जस्तै धेरै मिल्दोजुल्दो छ।ample. ILA सम्मिलित हुनुपर्छ, वा इच्छित संकेत परिभाषित गर्नुपर्छ, र पुन: कम्पाइल र पुन: प्रोग्राम चक्र कार्यान्वयन गर्नुपर्छ। पहिले वर्णन गरिएका सबै समस्याहरूले अझै पनि महत्त्वपूर्ण डिबग चक्र समयमा परिणाम दिन्छ। यद्यपि, त्यहाँ एक अतिरिक्त जटिलता छ। ILA चलाउने घडी सिंक्रोनस हुनुपर्छ, र प्रयोगकर्ता सफ्ट IP कोरबाट अवलोकन गरिने घडीको सन्दर्भमा आदर्श रूपमा धेरै छिटो हुनुपर्छ। यदि यी घडीहरू एसिन्क्रोनस छन्, वा सही समय सम्बन्धहरू छैनन् भने, डेटा क्याप्चर अप्रत्याशित हुनेछ र डिबग प्रक्रियाको लागि भ्रमको सम्भावित स्रोत हुनेछ।
ध्यान दिनुहोस् कि यदि प्रयोगकर्ताको सफ्ट आईपी घडी अन-चिप उत्पन्न गरिएको छैन (सायद यो सिरियल इन्टरफेसबाट पुन: प्राप्त गरिएको छ) भने डिजाइनरले थप स्रोतहरू प्रयोग गरेर र सम्भवतः समय उल्लङ्घन सिर्जना गरेर छिटो ILA घडी उत्पन्न गर्न घडी मोड्युल थप्न आवश्यक पर्दछ।

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

सिरियल इन्टरफेसका लागि अन्य डिबग सुविधाहरू
यो पनि औंल्याउन महत्त्वपूर्ण छ कि SmartFusion2 SoC FPGA र IGLOO2 FPGA उपकरणहरूमा धेरै अतिरिक्त डिबग क्षमताहरू छन् जुन सिरियल इन्टरफेसहरूमा प्रयोग गर्न सकिन्छ, जस्तै अघिल्लो पूर्वमा।ampले डिजाइन जहाँ त्रुटिहरू अझ जटिल हुन्छन्। SERDES डिबग, उदाहरणका लागिampले, समर्पित उच्च-गति सिरियल इन्टरफेसहरूको लागि विशिष्ट डिबग क्षमताहरू प्रदान गर्दछ। SERDES डिबग सुविधाहरूमध्ये केहीमा PMA परीक्षण समर्थन (जस्तै PRBS ढाँचा उत्पादन र लूपब्याक परीक्षण) कन्फिगरेसन परिवर्तनहरू गर्न पूर्ण डिजाइन प्रवाहको प्रयोगबाट बच्न दर्ता-स्तर पुन: कन्फिगरेसनको साथ धेरै SERDES परीक्षण कन्फिगरेसनहरूको लागि समर्थन, र कन्फिगर गरिएको प्रोटोकलहरू, SERDES कन्फिगरेसन दर्ताहरू, र लेन कन्फिगरेसन दर्ताहरू देखाउने पाठ रिपोर्टहरू समावेश छन्। यी सुविधाहरूले SERDES डिबगलाई धेरै सजिलो बनाउँछन् र जटिल सर्किटहरूको डिबगिङलाई थप गति दिन लाइभ प्रोब र सक्रिय प्रोबसँग संयोजनमा प्रयोग गर्न सकिन्छ।
पहिले वर्णन गरिएको मेमोरी डिबग उपकरणलाई SERDES डिबगसँग संयोजनमा पनि गति परीक्षणको लागि प्रयोग गर्न सकिन्छ। मेमोरी बफरहरू छिटो र सजिलैसँग निरीक्षण गर्न र मेमोरी डिबगसँग परिवर्तन गर्न सकिने भएकोले, द्रुत रूपमा 'परीक्षण प्याकेटहरू' सिर्जना गर्न र लूपब्याक वा अन्तर-प्रणाली सञ्चार परिणामहरू अवलोकन गर्न सम्भव छ। डिजाइनरले यी क्षमताहरूको लाभ उठाउन सक्छ र यसरी अतिरिक्त FPGA कपडा खपत गर्ने विशेष 'परीक्षण हार्नेस' को आवश्यकतालाई कम गर्न सक्छ र यसले चिप समयलाई असर गर्न सक्छ।

निष्कर्ष
यस पेपरले FPGAs र SoC FPGAs को लागि इन-सर्किट डिबग लागू गर्ने धेरै फरक दृष्टिकोणहरूको विस्तृत रूपमा वर्णन गरेको छ - एकीकृत तर्क विश्लेषकको प्रयोग, बाह्य परीक्षण उपकरणको प्रयोग, र FPGA कपडामा एकीकृत समर्पित प्रोब सर्किटहरूको प्रयोग। SmartFusion2 SoC FPGA र IGLOO2 FPGA उपकरणहरूमा माइक्रोसेमीद्वारा प्रस्ताव गरिएको सक्रिय प्रोब र लाइभ प्रोब जस्ता विशेष र समर्पित प्रोब सर्किटहरूको थपले डिबग प्रक्रियालाई उल्लेखनीय रूपमा गति र सरलीकृत गरेको देखाइएको छ। आन्तरिक संकेतहरूको चयनलाई द्रुत रूपमा परिमार्जन गर्ने क्षमता (धेरै समय खपत गर्ने पुन: संकलन र पुन: कार्यक्रम चक्र कार्यान्वयन गर्ने आवश्यकता बिना), र आन्तरिक संकेतहरूको जाँच गर्ने क्षमता (FPGA कपडा प्रयोग गर्ने र सम्भावित रूपमा समय उल्लङ्घनहरू परिचय गर्ने आवश्यकता बिना) प्रमुख फाइदा देखाइएको थियो।tagFPGA डिजाइनहरू डिबग गर्दा es। थप रूपमा, धेरै विधिहरूको प्रयोग, जसले अझ व्यापक डिबग क्षमता प्रदान गर्न सँगै काम गर्न सक्छ, वर्णन गरिएको थियो। अन्तमा, दुई उदाहरणहरूampवर्णन गरिएका विधिहरू बीचको व्यापार-अफहरू चित्रण गर्न डिबग प्रयोग केसहरू दिइएको थियो।

थप जान्नको लागि

  1. IGLOO2 FPGA हरू
  2. स्मार्टफ्यूजन२ SoC FPGA हरू

माइक्रोसेमी कर्पोरेशन (Nasdaq: MSCC) ले संचार, रक्षा र सुरक्षा, एयरोस्पेस र औद्योगिक बजारहरूको लागि अर्धचालक र प्रणाली समाधानहरूको व्यापक पोर्टफोलियो प्रदान गर्दछ। उत्पादनहरूमा उच्च-प्रदर्शन र विकिरण-कठोर एनालॉग मिश्रित-सिग्नल एकीकृत सर्किटहरू, FPGAs, SoCs र ASICs समावेश छन्; शक्ति व्यवस्थापन उत्पादनहरू; समय र सिंक्रोनाइजेसन उपकरणहरू र सटीक समय समाधानहरू, समयको लागि विश्व मानक सेट गर्दै; आवाज प्रशोधन उपकरणहरू; आरएफ समाधान; अलग घटक; सुरक्षा प्रविधिहरू र स्केलेबल एन्टि-टीamper उत्पादनहरू; पावर-ओभर-इथरनेट आईसीहरू र मिडस्प्यानहरू; साथै अनुकूलन डिजाइन क्षमताहरू र सेवाहरू। माइक्रोसेमीको मुख्यालय क्यालिफोर्नियाको एलिसो भिजोमा छ र विश्वव्यापी रूपमा लगभग ३,४०० कर्मचारीहरू छन्। थप जान्नुहोस् www.microsemi.com.

© 2014 माइक्रोसेमी निगम। सबै अधिकार सुरक्षित। माइक्रोसेमी र माइक्रोसेमी लोगो माइक्रोसेमी कर्पोरेशनका ट्रेडमार्क हुन्। अन्य सबै ट्रेडमार्क र सेवा चिन्हहरू तिनीहरूका सम्बन्धित मालिकहरूको सम्पत्ति हुन्।

माइक्रोसेमी कर्पोरेट मुख्यालय

FAQ

  • प्रश्न: उपकरणको अधिकतम डेटा क्याप्चर फ्रिक्वेन्सी कति हो?
    A: उपकरणले १००MHz सम्मको डेटा क्याप्चरलाई समर्थन गर्दछ, जुन धेरैजसो लक्षित डिजाइनहरूको लागि उपयुक्त छ।
  • प्रश्न: के मलाई डिबगिङको लागि प्रोब सर्किटहरू प्रयोग गर्दा डिजाइन पुन: कम्पाइल गर्न आवश्यक छ?
    A: होइन, डिजाइन पुन: संकलन वा पुन: प्रोग्रामिङ बिना नै प्रोब पोइन्ट स्थानहरू द्रुत रूपमा परिवर्तन गर्न सकिन्छ।

कागजातहरू / स्रोतहरू

माइक्रोसेमी इन-सर्किट FPGA डिबग [pdf] निर्देशनहरू
इन-सर्किट FPGA डिबग, FPGA डिबग, डिबग

सन्दर्भहरू

एक टिप्पणी छोड्नुहोस्

तपाईंको इमेल ठेगाना प्रकाशित गरिने छैन। आवश्यक क्षेत्रहरू चिन्ह लगाइएका छन् *