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

From Vigyanwiki
No edit summary
No edit summary
 
(14 intermediate revisions by 4 users not shown)
Line 4: Line 4:
{{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 प्रोटोटाइप सॉफ्टवेयर परीक्षण के लिए भी लोकप्रिय है।


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


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


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


एक प्रोटोटाइप के साथ:
एक प्रोटोटाइप के साथ:
*उपयोगकर्ता दृश्यता के लिए एक तर्क विश्लेषक को नियुक्त करता है, और इसलिए केवल सीमित संख्या में सिग्नल देख सकता है जिसे उन्होंने समय से पहले निर्धारित किया था (जांच पर क्लिप करके)। यह उभरते हुए FPGA प्रोटोटाइप टूल के साथ बदल रहा है जो 10,000s आंतरिक संकेतों, जैसे Certus को पूर्ण दृश्यता प्रदान करते हैं।<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>
* लॉजिक एनालाइजर के ट्रिगर होने पर लक्ष्य नहीं रुकता है, इसलिए हर बार जब उपयोगकर्ता जांच या ट्रिगर की स्थिति बदलता है, तो उन्हें पर्यावरण को रीसेट करना होगा और शुरुआत से फिर से शुरू करना होगा।
* तर्क विश्लेषक के प्रारंभ होने पर लक्ष्य नहीं रुकता है, इसलिए हर बार जब उपयोगकर्ता जांच या प्रारंभ की स्थिति बदलता है, तो उन्हें पर्यावरण को पुन:आरंभ (रीसेट) करना होगा और शुरुआत से फिर से शुरू करना होगा।
* अवलोकन के लिए विशिष्ट संकेत उपलब्ध कराने के लिए जांच को सीधे आरटीएल डिजाइन में जोड़ा जाता है। जब सिस्टम चलाया जाता है, तो प्रत्येक इंस्ट्रूमेंटेड सिग्नल से जुड़ी आरटीएल-आधारित जांच प्रत्येक घड़ी चक्र पर सिग्नल का मान एकत्र करती है। डेटा को 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) को सुरक्षित किया है) और फिर से चला सकते हैं।
*उनकी उच्च लागत के कारण, एमुलेटर कई डेवलपर्स की पहुंच से बाहर हैं, जिससे उन्नत FPGA प्रोटोटाइप प्लेटफॉर्म और डिबग टूल का उदय हुआ है।
*उनकी उच्च लागत के कारण, एमुलेटर कई विकासक (डेवलपर्स) की पहुंच से बाहर हैं, जिससे उन्नत FPGA प्रोटोटाइप प्लेटफॉर्म और दोषमार्जन टूल का उदय हुआ है।


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


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


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


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


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




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


== संदर्भ ==
== संदर्भ ==
Line 64: 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.


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


== अग्रिम पठन ==
== अग्रिम पठन ==
Line 374: 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.


अग्रिम पठन