हार्डवेयर अनुकरण: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(7 intermediate revisions by 4 users not shown)
Line 3: Line 3:
{{Use mdy dates|date = March 2019}}
{{Use mdy dates|date = March 2019}}
{{about|emulating hardware with other hardware|emulation of hardware using software|emulator}}
{{about|emulating hardware with other hardware|emulation of hardware using software|emulator}}
[[Image:Ikos-NSIM-64.jpg|thumb|right|Ikos NSIM-64 हार्डवेयर अनुरूपण त्वरक।]]
[[Image:Ikos-NSIM-64.jpg|thumb|right|Ikos NSIM-64 हार्डवेयर सिमुलेशन त्वरक।]]
[[ एकीकृत सर्किट डिजाइन |एकीकृत परिपथ प्रारूप]] में, हार्डवेयर अनुकरण हार्डवेयर के एक या एक से अधिक टुकड़ों (सामान्यतः प्रारूप के तहत एक प्रणाली) के हार्डवेयर के दूसरे टुकड़े के साथ व्यवहार की नकल करने की प्रक्रिया है, सामान्यतः एक विशेष उद्देश्य अनुकरण प्रणाली। अनुकरण मॉडल आमतौर पर हार्डवेयर विवरण भाषा (जैसे [[ Verilog |वेरिलॉग]]) स्रोत कोड पर आधारित होता है, जिसे अनुकरण प्रणाली द्वारा उपयोग किए जाने वाले प्रारूप में संकलित किया जाता है। लक्ष्य सामान्य रूप से रूपरेखित (डिज़ाइन) की जा रही प्रणाली का दोषमार्जन (डिबगिंग) और [[ कार्यात्मक सत्यापन |कार्यात्मक सत्यापन]] है। प्रायः एक यंत्रानुकरणकारी (एम्यूलेटर) इतना तेज़ होता है कि उसे अभी तक बनने वाली चिप के स्थान पर कार्य लक्ष्य प्रणाली में प्लग किया जा सकता है, इसलिए पूरे तंत्र को लाइव डेटा के साथ दोष दोषमार्जित (डिबग) किया जा सकता है। यह इन-सर्किट अनुकरण का एक विशिष्ट मामला है।
[[ एकीकृत सर्किट डिजाइन |एकीकृत परिपथ डिजाइन]] में, हार्डवेयर अनुकरण हार्डवेयर के एक या एक से अधिक टुकड़ों (सामान्यतः डिजाइन के तहत एक प्रणाली) के हार्डवेयर के दूसरे टुकड़े के साथ व्यवहार की नकल करने की एक विशेष उद्देश्य अनुकरण प्रणाली प्रक्रिया है। अनुकरण मॉडल सामान्यतः हार्डवेयर विवरण भाषा (जैसे [[ Verilog |वेरिलॉग]]) स्रोत कोड पर आधारित होता है, जिसे अनुकरण प्रणाली द्वारा उपयोग किए जाने वाले डिजाइन में संकलित किया जाता है। लक्ष्य सामान्य रूप से डिज़ाइन की जा रही प्रणाली का डिबगिंग और [[ कार्यात्मक सत्यापन |कार्यात्मक सत्यापन]] है। प्रायः एक एमुलेटर इतना तेज़ होता है कि उसे अभी तक बनने वाली चिप के स्थान पर कार्य लक्ष्य प्रणाली में प्लग किया जा सकता है, इसलिए पूरे तंत्र को लाइव डेटा के साथ डिबग किया जा सकता है। यह अंतःपरिपथ अनुकरण का एक विशिष्ट प्रारूप है।


कभी-कभी हार्डवेयर अनुकरण को हार्डवेयर उपकरणों के साथ भ्रमित किया जा सकता है जैसे हार्डवेयर संसाधित्र (प्रोसेसर) के साथ विस्तार कार्ड जो सॉफ़्टवेयर अनुकरण के कार्यों में सहायता करते हैं, जैसे कि x86 चिप्स के साथ पुराने डॉटर बोर्ड x86 OSes को विभिन्न संसाधित्र श्रेणी के मदरबोर्ड पर चलाने की अनुमति देते हैं।
कभी-कभी हार्डवेयर अनुकरण को हार्डवेयर उपकरणों के साथ भ्रमित किया जा सकता है जैसे हार्डवेयर संसाधित्र (प्रोसेसर) के साथ विस्तार कार्ड जो सॉफ़्टवेयर अनुकरण के कार्यों में सहायता करते हैं, जैसे कि x86 चिप्स के साथ पुराने डॉटर बोर्ड x86 OSes को विभिन्न संसाधित्र श्रेणी के मदरबोर्ड पर चलाने की अनुमति देते हैं।
Line 10: Line 10:
== परिचय ==
== परिचय ==


सिलिकॉन [[एकीकृत परिपथ]] रेस्पिन और प्रारंभिक स्तर का सबसे बड़ा हिस्सा कम से कम कार्यात्मक त्रुटियों और दोष (बग) के कारण अनजाने में प्र्रारूप प्रक्रिया के [[ रजिस्टर-स्थानांतरण स्तर]] के चरण में प्रस्तुत किया गया है। इस प्रकार, व्यापक कार्यात्मक सत्यापन विकास लागत को कम करने और उत्पाद को समय पर वितरित करने की कुंजी है। एक प्र्रारूप का कार्यात्मक सत्यापन अक्सर तर्क अनुरूपण या FPGA आदिप्ररूप (प्रोटोटाइप) का उपयोग करके किया जाता है | [[क्षेत्र में प्रोग्राम की जा सकने वाली द्वार श्रंखला]] (FPGAs) पर आदिप्ररूप। प्रत्येक के लाभ व हानि हैं और अक्सर दोनों का उपयोग किया जाता है। [[तर्क अनुकरण]] आसान, सटीक, लचीला और कम लागत वाला है। हालांकि, अनुरूपण प्रायः बड़े प्र्रारूपों के लिए पर्याप्त तीव्र नहीं होता है और हार्डवेयर प्र्रारूप के विरुद्ध एप्लिकेशन सॉफ़्टवेयर चलाने के लिए लगभग हमेशा धीमा होता है। फील्ड-प्रोग्रामेबल गेट ऐरे-आधारित आदिप्ररूप तीव्र और सस्ते होते हैं, लेकिन कई FPGAs में एक बड़े प्र्रारूप को लागू करने के लिए आवश्यक समय बहुत लंबा व त्रुटि-प्रवण हो सकता है। प्र्रारूप की खामियों को ठीक करने के लिए परिवर्तनों को लागू करने में भी लंबा समय लगता है और इसके लिए बोर्ड वायरिंग में बदलाव की आवश्यकता हो सकती है। परंपरागत विक्रेता उपकरणों के साथ, FPGA आदिप्ररूप में दोषमार्जन क्षमता कम होती है, वास्तविक समय में FPGAs के अंदर संकेतों की जांच करना बहुत मुश्किल होता है और जांच को स्थानांतरित करने के लिए FPGAs को फिर से संकलित करने में बहुत लंबा समय लगता है। यह अधिक उन्नत FPGA आदिप्ररूप दोषमार्जित यंत्र के निर्गमन के साथ बदल रहा है<ref>{{cite web|url=http://www.eejournal.com/archives/articles/20121030-tektronix/ | title=Tektronix Shakes Up Prototyping, Embedded Instrumentation Boosts Boards to Emulator Status| publisher=Electronic Engineering Journal | date= 2012-10-30|accessdate=2012-10-30}}</ref> जो सिग्नल की दृश्यता की सीमाओं को हटाते हैं। सामान्य समझौता सत्यापन प्रक्रिया में अनुरूपण का उपयोग करना है जब दोष (बग) और फिक्स नियमित होते हैंऔर विकास चक्र के अंत में आदिप्ररूप (प्रोटोटाइप) होते हैं जब प्र्रारूप मूल रूप से पूर्ण होता है और किसी भी शेष तंत्र-स्तरीय दोष को उजागर करने के लिए पर्याप्त परीक्षण प्राप्त करने के लिए गति की आवश्यकता होती है। FPGA आदिप्ररूप सॉफ्टवेयर परीक्षण के लिए भी लोकप्रिय है।
सिलिकॉन [[एकीकृत परिपथ]] रेस्पिन और प्रारंभिक स्तर का सबसे बड़ा हिस्सा कम से कम कार्यात्मक त्रुटियों और दोष (बग) के कारण अनजाने में डिजाइन प्रक्रिया के [[ रजिस्टर-स्थानांतरण स्तर|रजिस्टर-स्थानांतरण स्तर]] के चरण में प्रस्तुत किया गया है। इस प्रकार, व्यापक कार्यात्मक सत्यापन विकास लागत को कम करने और उत्पाद को समय पर वितरित करने की कुंजी है। एक डिजाइन का कार्यात्मक सत्यापन यद्यपि तर्क सिमुलेशन या FPGA प्रोटोटाइप का उपयोग करके किया जाता है | [[क्षेत्र में प्रोग्राम की जा सकने वाली द्वार श्रंखला]] (FPGAs) पर प्रोटोटाइप प्रत्येक के लाभ व हानि हैं और यद्यपि दोनों का उपयोग किया जाता है। [[तर्क अनुकरण]] आसान, सटीक, लचीला और कम लागत वाला है। हालांकि, सिमुलेशन प्रायः बड़े डिजाइन के लिए पर्याप्त तेज नहीं होता है और हार्डवेयर डिजाइन के विरुद्ध एप्लिकेशन सॉफ़्टवेयर चलाने के लिए लगभग हमेशा धीमा होता है। फील्ड-प्रोग्रामेबल गेट ऐरे-आधारित प्रोटोटाइप तीव्र और सस्ते होते हैं, लेकिन कई FPGAs में एक बड़े डिजाइन को लागू करने के लिए आवश्यक समय बहुत लंबा व त्रुटि-प्रवण हो सकता है। डिजाइन की गयी कमियों को ठीक करने के लिए परिवर्तनों को लागू करने में भी लंबा समय लगता है और इसके लिए बोर्ड वायरिंग में बदलाव की आवश्यकता हो सकती है। परंपरागत विक्रेता उपकरणों के साथ, FPGA प्रोटोटाइप में डिजाइन डिबगिंग क्षमता कम होती है, वास्तविक समय में FPGAs के अंदर संकेतों की जांच करना बहुत मुश्किल होता है और जांच को स्थानांतरित करने के लिए FPGAs को फिर से संकलित करने में बहुत लंबा समय लगता है। यह अधिक उन्नत FPGA प्रोटोटाइप डिबग यंत्र के निर्गमन के साथ बदल रहा है<ref>{{cite web|url=http://www.eejournal.com/archives/articles/20121030-tektronix/ | title=Tektronix Shakes Up Prototyping, Embedded Instrumentation Boosts Boards to Emulator Status| publisher=Electronic Engineering Journal | date= 2012-10-30|accessdate=2012-10-30}}</ref> जो संकेत की दृश्यता की सीमाओं को हटा रहा हैं। सामान्य समझौता सत्यापन प्रक्रिया में सिमुलेशन का उपयोग करना है जब बग और फिक्स नियमित होते हैं और विकास चक्र के अंत में प्रोटोटाइप होते हैं जब डिजाइन मूल रूप से पूर्ण होता है और किसी भी शेष तंत्र-स्तरीय दोष को उजागर करने के लिए पर्याप्त परीक्षण प्राप्त करने के लिए गति की आवश्यकता होती है। FPGA प्रोटोटाइप सॉफ्टवेयर परीक्षण के लिए भी लोकप्रिय है।


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


अंतःपरिपथ अनुकरण FPGA आदिप्ररूप के कार्यान्वयन के समय में कुछ सीमा तक सुधार करता है और एक व्यापक, कुशल दोषमार्जन क्षमता प्रदान करता है। FPGA आदिप्ररूप ($75K) की तुलना में अनुकरण चलने की गति और उच्च लागत ($1M+) की कीमत पर ऐसा करता है। दूसरी दिशा से अनुकरण को देखते हुए, यह नकली टेस्टबेंच के लिए लाइव उद्दीपक को प्रतिस्थापित करके त्वरण के प्रदर्शन में सुधार करता है। यह उद्दीपक एक लक्ष्य प्रणाली (विकसित किया जा रहा उत्पाद) या परीक्षण उपकरण से आ सकता है। अनुरूपण की गति से 10,000 से 100,000 गुना अधिक, अनुकरण एक व्यापक हार्डवेयर दोषमार्जन (डिबग) वातावरण प्रदान करते हुए एप्लिकेशन सॉफ़्टवेयर का परीक्षण करना संभव बनाता है।
अंतःपरिपथ अनुकरण FPGA प्रोटोटाइप के कार्यान्वयन के समय में कुछ सीमा तक सुधार करता है और एक व्यापक, कुशल दोषमार्जन क्षमता प्रदान करता है। FPGA प्रोटोटाइप ($75K) की तुलना में अनुकरण चलने की गति और उच्च लागत ($1M+) की कीमत पर ऐसा करता है। दूसरी दिशा से अनुकरण को देखते हुए, यह नकली टेस्टबेंच के लिए लाइव उद्दीपक को प्रतिस्थापित करके त्वरण के प्रदर्शन में सुधार करता है। यह उद्दीपक (स्टिमुलस) एक लक्ष्य प्रणाली (विकसित किया जा रहा उत्पाद) या परीक्षण उपकरण से आ सकता है। सिमुलेशन की गति से 10,000 से 100,000 गुना अधिक, अनुकरण एक व्यापक हार्डवेयर डिबग वातावरण प्रदान करते हुए एप्लिकेशन सॉफ़्टवेयर का परीक्षण करना संभव बनाता है।
== दोषमार्जन अनुरूपण बनाम अनुकरण/आदिप्ररूप ==
== डिबगिंग सिमुलेशन बनाम अनुकरण/प्रोटोटाइप ==


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


एक आदिप्ररूप के साथ:
एक प्रोटोटाइप के साथ:
*उपयोगकर्ता दृश्यता के लिए एक तर्क विश्लेषक को नियुक्त करता है और इसलिए केवल सीमित संख्या में संकेत देख सकता है जिसे उन्होंने समय से पहले निर्धारित किया था (जांच पर क्लिप करके)। यह उभरते हुए FPGA आदिप्ररूप टूल के साथ बदल रहा है जो 10,000s आंतरिक संकेतों, जैसे सर्टुस को पूर्ण दृश्यता प्रदान करते हैं।<ref name="certus">{{cite web|url=http://www.eetimes.com/electronics-products/electronic-product-reviews/ip-eda-products/4399727/Tektronix-hopes-to-shake-up-ASIC-prototyping?Ecosystem=eda-design|title=Tektronix hopes to shake up ASIC prototyping|publisher=EE Times|date=2012-10-30|accessdate=2012-10-30}}{{Dead link|date=April 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>
*उपयोगकर्ता दृश्यता के लिए एक तर्क विश्लेषक को नियुक्त करता है और इसलिए केवल सीमित संख्या में संकेत देख सकता है जिसे उन्होंने समय से पहले निर्धारित किया था (जांच पर क्लिप करके)। यह उभरते हुए FPGA प्रोटोटाइप टूल के साथ बदल रहा है जो 10,000s आंतरिक संकेतों, जैसे सर्टुस को पूर्ण दृश्यता प्रदान करते हैं।<ref name="certus">{{cite web|url=http://www.eetimes.com/electronics-products/electronic-product-reviews/ip-eda-products/4399727/Tektronix-hopes-to-shake-up-ASIC-prototyping?Ecosystem=eda-design|title=Tektronix hopes to shake up ASIC prototyping|publisher=EE Times|date=2012-10-30|accessdate=2012-10-30}}{{Dead link|date=April 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>
* तर्क विश्लेषक के प्रारंभ होने पर लक्ष्य नहीं रुकता है, इसलिए हर बार जब उपयोगकर्ता जांच या प्रारंभ की स्थिति बदलता है, तो उन्हें पर्यावरण को पुन:आरंभ (रीसेट) करना होगा और शुरुआत से फिर से शुरू करना होगा।
* तर्क विश्लेषक के प्रारंभ होने पर लक्ष्य नहीं रुकता है, इसलिए हर बार जब उपयोगकर्ता जांच या प्रारंभ की स्थिति बदलता है, तो उन्हें पर्यावरण को पुन:आरंभ (रीसेट) करना होगा और शुरुआत से फिर से शुरू करना होगा।
* अवलोकन के लिए विशिष्ट संकेत उपलब्ध कराने के लिए जांच को सीधे आरटीएल प्रारूप में जोड़ा जाता है। जब तंत्र चलाया जाता है, तो प्रत्येक यंत्रीकृत संकेतो से जुड़ी RTL-आधारित जांच प्रत्येक क्लॉक साइकिल (सी पी यू का क्षमता मापक) पर संकेतो का मान एकत्र करती है। डेटा को FPGA ब्लॉक RAM में अनुरेख प्रतिरोधक (ट्रेस बफर) में संग्रहीत किया जाता है। आदिप्ररूप से जुड़ा एक विश्लेषक उपयोगकर्ता को प्रभावी दोषमार्जन के लिए तंत्र में ऑफ़लाइन दृश्यता देने वाली जानकारी को डाउनलोड करता है।<ref>{{cite web|url=http://www.tek.com/document/whitepaper/break-through-your-asic-prototyping-bottlenecks | title=Break Through Your ASIC Prototyping Bottlenecks| date= 2012-10-23|accessdate=2012-10-30}}</ref>
* अवलोकन के लिए विशिष्ट संकेत उपलब्ध कराने के लिए जांच को सीधे आरटीएल डिजाइन में जोड़ा जाता है। जब तंत्र चलाया जाता है, तो प्रत्येक यंत्रीकृत संकेतो से जुड़ी RTL-आधारित जांच प्रत्येक क्लॉक साइकिल (सी पी यू का क्षमता मापक) पर संकेतो का मान एकत्र करती है। डेटा को FPGA ब्लॉक RAM में अनुरेख प्रतिरोधक (ट्रेस बफर) में संग्रहीत किया जाता है। प्रोटोटाइप से जुड़ा एक विश्लेषक उपयोगकर्ता को प्रभावी डिबगिंग के लिए तंत्र में ऑफ़लाइन दृश्यता देने वाली जानकारी को डाउनलोड करता है।<ref>{{cite web|url=http://www.tek.com/document/whitepaper/break-through-your-asic-prototyping-bottlenecks | title=Break Through Your ASIC Prototyping Bottlenecks| date= 2012-10-23|accessdate=2012-10-30}}</ref>
त्वरण और अनुकरण आरटीएल निष्पादन और दोषमार्जन के संदर्भ में आदिप्ररूप और सिलिकॉन की तरह अधिक हैं क्योंकि संपूर्ण प्रारूप एक साथ निष्पादित होता है जैसा कि सिलिकॉन में होगा। चूंकि एक ही हार्डवेयर का उपयोग अक्सर अनुरूपण त्वरण और अंतःपरिपथ अनुकरण दोनों प्रदान करने के लिए किया जाता है, ये प्रणाली इन दो बहुत अलग दोषमार्जन शैलियों का मिश्रण प्रदान करती हैं।
त्वरण और अनुकरण आरटीएल निष्पादन और डिबगिंग के संदर्भ में प्रोटोटाइप और सिलिकॉन की तरह अधिक हैं क्योंकि संपूर्ण डिजाइन एक साथ निष्पादित होता है जैसा कि सिलिकॉन में होगा। चूंकि एक ही हार्डवेयर का उपयोग यद्यपि सिमुलेशन त्वरण और अंतःपरिपथ अनुकरण दोनों प्रदान करने के लिए किया जाता है, ये प्रणाली इन दो बहुत अलग डिबगिंग शैलियों का मिश्रण प्रदान करती हैं।


उच्च अंत हार्डवेयर अनुकरण कई विशेषताओं के साथ एक दोषमार्जन वातावरण प्रदान करते हैं जो तर्क अनुरूपक में पाए जा सकते हैं और कुछ मामलों में उनकी दोषमार्जन क्षमताओं से भी आगे निकल जाते हैं:
उच्च अंत हार्डवेयर अनुकरण कई विशेषताओं के साथ एक डिबगिंग वातावरण प्रदान करते हैं जो तर्क अनुरूपक में पाए जा सकते हैं और कुछ मामलों में उनकी डिबगिंग क्षमताओं से भी आगे निकल जाते हैं:


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


== अनुकरण और द्वि-अवस्था तर्क ==
== अनुकरण और द्वि-अवस्था तर्क ==


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


इन कार्यों को तर्क अनुरूपण (सिमुलेशन) के दौरान या [[ स्थिर समय विश्लेषण |स्थिर समय विश्लेषण]] उपकरण के साथ ठीक से किया जाता है।
इन कार्यों को तर्क सिमुलेशन के दौरान या [[ स्थिर समय विश्लेषण |स्थिर समय विश्लेषण]] उपकरण के साथ ठीक से किया जाता है।


== अनुकरण बनाम आदिप्ररूप ==
== अनुकरण बनाम प्रोटोटाइप ==


एक अनुकरण और एक FPGA आदिप्ररूप प्रणाली (प्रोटोटाइप सिस्टम) के बीच एक प्रमुख पारंपरिक अंतर यह रहा है कि यंत्रानुकरणकारी एक समृद्ध दोषमाजिैत वातावरण प्रदान करता है, जबकि एक आदिप्ररूप प्रणाली में बहुत कम या कोई दोषमार्जित (डिबग) क्षमता नहीं होती है और मुख्य रूप से प्रणाली विश्लेषण व सॉफ्टवेयर विकास के लिए कई प्रतियां बनाने के लिए प्रारूप को दोषमाजिैत करने के बाद इसका उपयोग किया जाता है। नए उपकरण जो छोटे FPGA LUT प्रभाव के साथ पूर्ण RTL संकेत दृश्यता को सक्षम करते हैं, गहरी प्रग्रहण गहराई की अनुमति देते हैं और मल्टी-चिप और घड़ी प्रक्षेत्र (क्लॉक डोमेन) विश्लेषण प्रदान करते हैं, जो अनुकरण की तुलना में कुशल दोषमार्जन की अनुमति देने के लिए उभर रहे हैं।<ref name=certus/>
एक अनुकरण और एक FPGA प्रोटोटाइप प्रणाली (सिस्टम) के बीच एक प्रमुख पारंपरिक अंतर यह रहा है कि एमुलेटर एक समृद्ध डिबग वातावरण प्रदान करता है, जबकि एक प्रोटोटाइप प्रणाली में बहुत कम या कोई डिबग क्षमता नहीं होती है और मुख्य रूप से प्रणाली विश्लेषण व सॉफ्टवेयर विकास के लिए कई प्रतियां बनाने के लिए डिजाइन को डिबग करने के बाद इसका उपयोग किया जाता है। नए उपकरण जो छोटे FPGA LUT प्रभाव के साथ पूर्ण RTL संकेत दृश्यता को सक्षम करते हैं, गहरी प्रग्रहण (कैप्चर) गहराई की अनुमति देते हैं और मल्टी-चिप और घड़ी प्रक्षेत्र (क्लॉक डोमेन) विश्लेषण प्रदान करते हैं, जो अनुकरण की तुलना में कुशल डिबगिंग की अनुमति देने के लिए उभर रहे हैं।<ref name=certus/>




Line 56: Line 56:
*[[ पृष्ठभूमि डिबग मोड इंटरफ़ेस |पृष्ठभूमि डिबग मोड अंतरापृष्ठ]]
*[[ पृष्ठभूमि डिबग मोड इंटरफ़ेस |पृष्ठभूमि डिबग मोड अंतरापृष्ठ]]
* उदाहरण:
* उदाहरण:
** सूक्ष्म संसाधित्र यंत्रानुकरणकारी [[ एचपी 64000 |एचपी 64000]] (विभिन्न सीपीयू)
** सूक्ष्म संसाधित्र एमुलेटर [[ एचपी 64000 |एचपी 64000]] (विभिन्न सीपीयू)


== संदर्भ ==
== संदर्भ ==
Line 63: Line 63:
*''Electronic Design Automation For Integrated Circuits Handbook'', by Lavagno, Martin, and Scheffer, {{ISBN|0-8493-3096-3}} A survey of the field, from which the above summary was derived, with permission.
*''Electronic Design Automation For Integrated Circuits Handbook'', by Lavagno, Martin, and Scheffer, {{ISBN|0-8493-3096-3}} A survey of the field, from which the above summary was derived, with permission.


==इस पृष्ठ में अनुपलब्ध आंतरिक कड़ियों की सूची==
*विशिष्ट एकीकृत परिपथ आवेदन
*डिजिटल डाटा
*आंकड़े
*के माध्यम से (इलेक्ट्रॉनिक्स)
*संवहन दस्तावेज़ स्वरूप
*विनिर्माण क्षमता के लिए प्रारूप(आईसी)
*सिलिकॉन सत्यापन पोस्ट करें
*मास्क डेटा तैयारी
*असफलता विश्लेषण
*रजिस्टर ट्रांसफर लेवल
*सी (प्रोग्रामिंग भाषा)
*यात्रा
*मांग
*उत्पाद आवश्यकता दस्तावेज़
*बाज़ार अवसर
*जीवन का अंत (उत्पाद)
*निर्देश समुच्चय
*तर्क अनुकरण
*सिग्नल की समग्रता
*प्रारूप नियम की जाँच
*टाइमिंग क्लोजर
*औपचारिक तुल्यता जाँच
*सामान्य केन्द्रक
*ऑप एंप
*मेंटर ग्राफिक्स
*एकीकृत परिपथों और प्रणालियों के कंप्यूटर सहायता प्राप्त प्रारूपपर आईईईई लेनदेन
*असफलता विश्लेषण
*एन पी-सम्पूर्ण
*परीक्षण वेक्टर
*नियंत्रणीयता
*प्रेक्षणीयता
*प्रशंसक एल्गोरिदम
*कूट-यादृच्छिक
*पंक्ति का पिछला अंत
*बांड विशेषता
*दोहरी इन-लाइन पैकेज
*मरो (एकीकृत सर्किट)
*निर्माण (अर्धचालक)
*विद्युतचुंबकीय व्यवधान
*epoxy
*भली भांति बंद सील
*फ्लैटपैक (इलेक्ट्रॉनिक्स)
*पतली छोटी रूपरेखा पैकेज
*गोंद
*मेटलाइजिंग
*अनावर्ती अभियांत्रिकी
*बाजार के लिए समय
*तार का जोड़
*नमी
*विद्युतीय
*स्थानीय कर से मुक्ति
*साफ-सुथरे कमरे
*अवरोधित हो जाना
*HIRF
*एकीकृत परिपथ
*रूटिंग (इलेक्ट्रॉनिक प्रारूपऑटोमेशन)
*प्रक्रिया के कोने
*मानक सेल
*आईसी बिजली की आपूर्ति पिन
*घड़ी की आवृत्ति
*सिग्नल की समग्रता
*उत्तम नस्ल
*रजिस्टर ट्रांसफर लेवल
*मूल्य संवर्धित
*पुस्तकालय (कंप्यूटर विज्ञान)
*मॉडल आधारित प्रारूप
*स्वत: नियंत्रण
*राज्य मशीनें
*सोर्स कोड
*स्वचालित कोड पीढ़ी
*शून्य से विभाजन
*आवश्यकताओं का पता लगाने योग्यता
*मॉडल जांच
*औपचारिक तरीके
*मॉडल केंद्र
*वेब आधारित अनुकरण
*Xcos
*साइलैब
*पूर्णांक
*मैक ओएस
*प्रयोक्ता इंटरफ़ेस
*समारोह (गणित)
*फोरट्रान
*स्थिर (कंप्यूटर विज्ञान)
*खिसकाना
*जादू वर्ग
*लैम्ब्डा कैलकुलस
*मेक्स फ़ाइल
*मेथेमेटिका
*तुम क्या सहन करते हो
*संख्यात्मक-विश्लेषण सॉफ्टवेयर की तुलना
*आईईईई मानक
*एक्सेलेरा
*जावा (प्रोग्रामिंग भाषा)
*पैक्ड सरणी
*कड़ा मुकाबला
*struct
*टाइपडीफ
*कुंडी (इलेक्ट्रॉनिक)
*रन टाइम (कार्यक्रम जीवनचक्र चरण)
*एकल विरासत
*टेम्पलेट विशेषज्ञता
*जानकारी छिपाना
*ऑपरेटर नया
*यादृच्छिक परीक्षण
*सामग्री निहितार्थ (अनुमान का नियम)
*पूर्ववृत्त (तर्क)
*फलस्वरूप
*अनुरूपण
*स्वचालित प्रमेय सिद्ध करना
*कार्तीय गुणन
*परीक्षण के अंतर्गत उपकरण
*प्रारूपअंतरिक्ष सत्यापन
*टेस्ट कवरेज
*उदाहरण (कंप्यूटर विज्ञान)
*तुल्यकालन (कंप्यूटर विज्ञान)
*सशक्त टाइपिंग
*पाश के लिए
*बहाव को काबू करें
*लगातार (कंप्यूटर प्रोग्रामिंग)
*भाषा अंतरसंचालनीयता
*सी-परिवार प्रोग्रामिंग भाषाओं की सूची
*प्रक्रमण करने से पहले के निर्देश
*मूल फाइल
*लिंट (सॉफ्टवेयर)
*एकीकृत सर्किट प्रारूप
*एकीकृत सर्किट लेआउट
*एकीकृत परिपथ
*पूरा रिवाज
*इन्सुलेटर पर सिलिकॉन
*मुखौटा डेटा तैयारी
*उच्च स्तरीय संश्लेषण
*असतत घटना अनुरूपण
*आईडिया1
*उच्च स्तरीय प्रोग्रामिंग भाषा
*संगणक वैज्ञानिक
*वितरित अभिकलन
*व्युत्पन्न वर्ग
*सीएलयू (प्रोग्रामिंग भाषा)
*अदा (प्रोग्रामिंग भाषा)
*कक्षा (कंप्यूटर प्रोग्रामिंग)
*कास्ट (कंप्यूटर विज्ञान)
*एक्सेप्शन हेंडलिंग
*सभा की भाषा
*अवधारणाएं (सी ++)
*सी ++ मानक पुस्तकालय
*एब्स्ट्रैक्शन (कंप्यूटर साइंस)
*कक्षा (कंप्यूटर विज्ञान)
*संकलन समय
*सहयोगी सरणी
*सुविधा (सॉफ्टवेयर प्रारूप)
*अनवरत वृद्धि, अनियंत्रित विस्तार
*विशिष्ट एकीकृत परिपथ आवेदन
*अर्धचालक निर्माण
*एक चिप पर सिस्टम
*नि:शुल्क
*अनुक्रमिक तर्क
*स्थान और मार्ग
*रूटिंग (ईडीए)
*सेमीकंडक्टर
*आर्किटेक्ट
*फ्लोरेंस कैथेड्रल
*वास्तु सिद्धांत
*समसामयिक आर्किटेक्चर
*गोथिक वास्तुशिल्प
*फार्म समारोह के बाद
*मंजिल की योजना
*सुनहरा अनुपात
*वास्तुकला प्रारूपमूल्य
*पुनर्निर्माणवाद
*क्लासिकल एंटिक्विटी
*कैथेड्रल
*सौंदर्यशास्र
*अभिव्यंजनावादी वास्तुकला
*वास्तु घटना विज्ञान
*हरा भवन
*हरित बुनियादी ढाँचा
*संकल्पनात्मक निदर्श
*व्‍यवहार
*वास्तुकला प्रौद्योगिकी
*कटलरी
*प्रारूपके तरीके
*संकल्पनात्मक निदर्श
*झरना मॉडल
*शोध करना
*उत्पाद प्रारूप विनिर्देश
*संक्षिप्त आकार
*उत्पाद का परीक्षण करना
*समस्या को सुलझाना
*दस्तावेज़
*साइट पर
*आशुरचना
*चुस्त सॉफ्टवेयर विकास
*उपयोगकर्ता केंद्रित प्रारूप
*ग्राफक कला
*एप्लाइड आर्ट्स
*मुहावरा
*चिन्ह, प्रतीक
*जानबूझकर परिभाषा
*अंक शास्त्र
*सूक्तियों
*आवश्यक और पर्याप्त शर्तें
*लिंग-अंतर परिभाषा
*त्रिकोण
*चतुष्कोष
*पदार्थवाद
*संभव दुनिया
*कठोर अभिकर्ता
*संचालनगत परिभाषा
*समनाम
*निराकरण
*संकेत (सेमियोटिक्स)
*सेमे (शब्दार्थ)
*शब्द भावना
*अर्थ क्षेत्र
*अर्थ (भाषाविज्ञान)
*निओलगिज़्म
*अपरिष्कृत किस्म
*परिभाषा के अनुसार विस्तार
*आत्म संदर्भ
*चिकित्सा सहमति
*चिकित्सा वर्गीकरण
*शाब्दिक परिभाषा
*मतवाद
*प्राणी
*दार्शनिक जांच
*व्यक्तित्व का सिद्धांत
*विवरण का सिद्धांत
*शाऊल क्रिप्के
*अनिश्चितता (दर्शनशास्त्र)
*अर्थ विज्ञान
*जानकारी
*सरल भाषा
*भाषा: हिन्दी
*बातचीत का माध्यम
*सूचना प्रक्रम
*गुप्तता
*लिख रहे हैं
*आधार - सामग्री संकोचन
*हाव-भाव
*कुल कार्य
*कड़ी
*कोड वर्ड
*कम घनत्व समता-जांच कोड
*उच्चारण क्षमता
*चरित्र (कंप्यूटिंग)
*एचटीटीपी हेडर
*जेनेटिक कोड
*जीवविज्ञान
*अवरोध
*पत्रक संगीत
*क्रिप्टोग्राफी का इतिहास
*पाठ के प्रस्तुतिकरण के लिए प्रयुक्त भाषा
*टेक्स्ट एन्कोडिंग पहल
*SECAM
*शब्दार्थ एन्कोडिंग
*मेमोरी एन्कोडिंग
*लेखन प्रणाली
*सांकेतिकता
*कोड (सेमियोटिक्स)
*असिमिक लेखन
*जाँचने का तरीका
*निहाई
*बरबाद करना
*प्रथम लेख निरीक्षण
*प्राथमिक धारा
*फाइल का प्रारूप
*फ़ाइल साझा करना
*सर्वाधिकार उल्लंघन
*संशोधित असतत कोसाइन परिवर्तन
*अंतरराष्ट्रीय मानकीकरण संगठन
*इंटरनेशनल इलेक्ट्रोटेक्नीकल कमीशन
*बुंदाडा इटाकुरा
*असतत कोसाइन परिवर्तन
*फिल्टर (सॉफ्टवेयर)
*धोखाधड़ी
*एमपीईजी-1 ऑडियो परत II
*झूठा
*नमूनाकरण दर
*संदर्भ कार्यान्वयन (कंप्यूटिंग)
*सोल
*धुन (ऑनलाइन संगीत सेवा)
*जॉइन्ट स्टीरियो
*त्रुटि की जांच कर रहा है
*पूर्व बनाया
*संपीड़न विरूपण साक्ष्य
*लाल किताब (ऑडियो सीडी मानक)
*आईएफए शो
*कार्य (ऑडियो प्रारूप)
*सेब दोषरहित
*एमपीईजी -4 भाग 14
*बयान (कंप्यूटर विज्ञान)
*सॉफ़्टवेयर परीक्षण
*एसीएम का संचार
*सुरक्षा महत्वपूर्ण
*परिमित अवस्था मशीन
*रुकने की समस्या
*ताल प्रारूप तंत्र
*एफपीजीए आदिप्ररूप
*कदम स्तर
*यंत्रानुकरणकारी


== अग्रिम पठन ==
== अग्रिम पठन ==
Line 373: Line 69:
*[http://www.synopsys.com/tools/verification/hardware-verification/emulation/Pages/default.aspx Synopsys Zebu Server emulator]
*[http://www.synopsys.com/tools/verification/hardware-verification/emulation/Pages/default.aspx Synopsys Zebu Server emulator]
*[http://www.mentor.com/products/fv/emulation-systems Mentor Graphics Veloce emulation systems]
*[http://www.mentor.com/products/fv/emulation-systems Mentor Graphics Veloce emulation systems]
[[Category:All Wikipedia articles written in American English]]
[[Category:All articles with dead external links]]
[[Category:Articles with dead external links from April 2022]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:Articles with invalid date parameter in template]]
[[Category:Articles with permanently dead external links]]
[[Category:Articles with short description]]
[[Category:Machine Translated Page]]
[[Category:Short description with empty Wikidata description]]
[[Category:Use American English from March 2019]]
[[Category:Use mdy dates from March 2019]]
[[Category:इलेक्ट्रॉनिक सर्किट सत्यापन]]
[[Category:इलेक्ट्रॉनिक सर्किट सत्यापन]]
[[Category: Machine Translated Page]]

Latest revision as of 09:28, 11 November 2022

Ikos NSIM-64 हार्डवेयर सिमुलेशन त्वरक।

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

कभी-कभी हार्डवेयर अनुकरण को हार्डवेयर उपकरणों के साथ भ्रमित किया जा सकता है जैसे हार्डवेयर संसाधित्र (प्रोसेसर) के साथ विस्तार कार्ड जो सॉफ़्टवेयर अनुकरण के कार्यों में सहायता करते हैं, जैसे कि x86 चिप्स के साथ पुराने डॉटर बोर्ड x86 OSes को विभिन्न संसाधित्र श्रेणी के मदरबोर्ड पर चलाने की अनुमति देते हैं।

परिचय

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

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

अंतःपरिपथ अनुकरण FPGA प्रोटोटाइप के कार्यान्वयन के समय में कुछ सीमा तक सुधार करता है और एक व्यापक, कुशल दोषमार्जन क्षमता प्रदान करता है। FPGA प्रोटोटाइप ($75K) की तुलना में अनुकरण चलने की गति और उच्च लागत ($1M+) की कीमत पर ऐसा करता है। दूसरी दिशा से अनुकरण को देखते हुए, यह नकली टेस्टबेंच के लिए लाइव उद्दीपक को प्रतिस्थापित करके त्वरण के प्रदर्शन में सुधार करता है। यह उद्दीपक (स्टिमुलस) एक लक्ष्य प्रणाली (विकसित किया जा रहा उत्पाद) या परीक्षण उपकरण से आ सकता है। सिमुलेशन की गति से 10,000 से 100,000 गुना अधिक, अनुकरण एक व्यापक हार्डवेयर डिबग वातावरण प्रदान करते हुए एप्लिकेशन सॉफ़्टवेयर का परीक्षण करना संभव बनाता है।

डिबगिंग सिमुलेशन बनाम अनुकरण/प्रोटोटाइप

यह ध्यान देने योग्य है कि अनुकरण और प्रोटोटाइप में निष्पादन की दो अलग-अलग शैलियाँ शामिल हैं। सिमुलेशन आरटीएल कोड को क्रमिक रूप से निष्पादित करता है जबकि एक प्रोटोटाइप पूरी तरह से समानांतर रूप से निष्पादित होता है। इससे डिबगिंग में अंतर होता है। अनुकरण में:

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

एक प्रोटोटाइप के साथ:

  • उपयोगकर्ता दृश्यता के लिए एक तर्क विश्लेषक को नियुक्त करता है और इसलिए केवल सीमित संख्या में संकेत देख सकता है जिसे उन्होंने समय से पहले निर्धारित किया था (जांच पर क्लिप करके)। यह उभरते हुए FPGA प्रोटोटाइप टूल के साथ बदल रहा है जो 10,000s आंतरिक संकेतों, जैसे सर्टुस को पूर्ण दृश्यता प्रदान करते हैं।[2]
  • तर्क विश्लेषक के प्रारंभ होने पर लक्ष्य नहीं रुकता है, इसलिए हर बार जब उपयोगकर्ता जांच या प्रारंभ की स्थिति बदलता है, तो उन्हें पर्यावरण को पुन:आरंभ (रीसेट) करना होगा और शुरुआत से फिर से शुरू करना होगा।
  • अवलोकन के लिए विशिष्ट संकेत उपलब्ध कराने के लिए जांच को सीधे आरटीएल डिजाइन में जोड़ा जाता है। जब तंत्र चलाया जाता है, तो प्रत्येक यंत्रीकृत संकेतो से जुड़ी RTL-आधारित जांच प्रत्येक क्लॉक साइकिल (सी पी यू का क्षमता मापक) पर संकेतो का मान एकत्र करती है। डेटा को FPGA ब्लॉक RAM में अनुरेख प्रतिरोधक (ट्रेस बफर) में संग्रहीत किया जाता है। प्रोटोटाइप से जुड़ा एक विश्लेषक उपयोगकर्ता को प्रभावी डिबगिंग के लिए तंत्र में ऑफ़लाइन दृश्यता देने वाली जानकारी को डाउनलोड करता है।[3]

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

उच्च अंत हार्डवेयर अनुकरण कई विशेषताओं के साथ एक डिबगिंग वातावरण प्रदान करते हैं जो तर्क अनुरूपक में पाए जा सकते हैं और कुछ मामलों में उनकी डिबगिंग क्षमताओं से भी आगे निकल जाते हैं:

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

अनुकरण और द्वि-अवस्था तर्क

सिमुलेशन और त्वरण व अनुकरण के बीच एक और अंतर कार्यान्वयन के लिए हार्डवेयर का उपयोग करने वाले त्वरक का एक परिणाम है कि उनके पास केवल दो तर्क अवस्था हैं - जिस तरह से संविरचित किये जाने पर सिलिकॉन होगा। यह संकेत करता है:

  • वे एक्स-अवस्था प्रारंभन (इनिशियलाइज़ेशन) का विश्लेषण करने के लिए उपयोगी नहीं हैं।
  • वे क्षमता संकल्प का विश्लेषण नहीं कर सकते हैं या कम से कम यह संकलन समय पर स्थिर रूप से किया जाना चाहिए।
  • एमुलेटर यथावत् परिपथ समय का प्रतिरूप नहीं बनाते हैं और इसलिए उन्हें शायद कोई चाल (रेस) की स्थिति या व्यवस्था (सेटअप) नहीं मिलेगा और समय का उल्लंघन होगा।

इन कार्यों को तर्क सिमुलेशन के दौरान या स्थिर समय विश्लेषण उपकरण के साथ ठीक से किया जाता है।

अनुकरण बनाम प्रोटोटाइप

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


यह भी देखें

संदर्भ

  1. "Tektronix Shakes Up Prototyping, Embedded Instrumentation Boosts Boards to Emulator Status". Electronic Engineering Journal. October 30, 2012. Retrieved October 30, 2012.
  2. 2.0 2.1 "Tektronix hopes to shake up ASIC prototyping". EE Times. October 30, 2012. Retrieved October 30, 2012.[permanent dead link]
  3. "Break Through Your ASIC Prototyping Bottlenecks". October 23, 2012. Retrieved October 30, 2012.
  • Electronic Design Automation For Integrated Circuits Handbook, by Lavagno, Martin, and Scheffer, ISBN 0-8493-3096-3 A survey of the field, from which the above summary was derived, with permission.


अग्रिम पठन