तर्क अनुकरण: Difference between revisions

From Vigyanwiki
No edit summary
Line 4: Line 4:


== सत्यापन में प्रयोग करें ==
== सत्यापन में प्रयोग करें ==
हार्डवेयर डिजाइन करने में [[सत्यापन और सत्यापन]] प्रक्रिया के हिस्से के रूप में तर्क सिमुलेशन का उपयोग किया जा सकता है।<ref name="ResearchGate">{{cite journal |last1=Bombieri |first1=Nicola |last2=Fummi |first2=Franco |last3=Pravadelli |first3=Graziano |title=सत्यापन के लिए हार्डवेयर डिजाइन और सिमुलेशन|journal=Lecture Notes in Computer Science |date=May 2006 |pages=1–29 |url=https://www.researchgate.net/publication/221224340}}</ref>
हार्डवेयर डिजाइन करने में [[सत्यापन और सत्यापन|सत्यापन]] प्रक्रिया के हिस्से के रूप में तर्क अनुकरण का उपयोग किया जा सकता है।<ref name="ResearchGate">{{cite journal |last1=Bombieri |first1=Nicola |last2=Fummi |first2=Franco |last3=Pravadelli |first3=Graziano |title=सत्यापन के लिए हार्डवेयर डिजाइन और सिमुलेशन|journal=Lecture Notes in Computer Science |date=May 2006 |pages=1–29 |url=https://www.researchgate.net/publication/221224340}}</ref> अनुकरण में उपयोगकर्ता को परिचित रूप और अनुभव प्रदान करने का लाभ होता है जिसमें यह उसी भाषा और डिजाइन में उपयोग किए गए प्रतीकों से निर्मित होता है। उपयोगकर्ता को डिज़ाइन के साथ सीधे इंटरैक्ट करने की अनुमति देकर, अनुकरण डिज़ाइनर के लिए उनके डिज़ाइन पर प्रतिक्रिया प्राप्त करने का स्वाभाविक तरीका है।
सिमुलेशन में उपयोगकर्ता को एक परिचित रूप और अनुभव प्रदान करने का लाभ होता है जिसमें यह उसी भाषा और डिजाइन में उपयोग किए गए प्रतीकों से निर्मित होता है। उपयोगकर्ता को डिज़ाइन के साथ सीधे इंटरैक्ट करने की अनुमति देकर, सिमुलेशन डिज़ाइनर के लिए उनके डिज़ाइन पर प्रतिक्रिया प्राप्त करने का एक स्वाभाविक तरीका है।


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


इस मुद्दे के लिए एक सीधा दृष्टिकोण इसके बजाय [[क्षेत्र में प्रोग्राम की जा सकने वाली द्वार श्रंखला]] पर सर्किट का अनुकरण करना हो सकता है। अनुकरण के विकल्प के रूप में [[औपचारिक सत्यापन]] का भी पता लगाया जा सकता है, हालांकि एक औपचारिक प्रमाण हमेशा संभव या सुविधाजनक नहीं होता है।
इस मुद्दे के लिए एक सीधा दृष्टिकोण इसके बजाय [[क्षेत्र में प्रोग्राम की जा सकने वाली द्वार श्रंखला]] पर सर्किट का अनुकरण करना हो सकता है। अनुकरण के विकल्प के रूप में [[औपचारिक सत्यापन]] का भी पता लगाया जा सकता है, हालांकि एक औपचारिक प्रमाण हमेशा संभव या सुविधाजनक नहीं होता है।


तर्क अनुकरण में तेजी लाने का एक संभावित तरीका वितरित कंप्यूटिंग और समांतर कंप्यूटिंग कंप्यूटेशंस का उपयोग कर रहा है।<ref>Software system for distributed [[Event-driven programming|event-driven]] logic simulation. Ladyzhensky Y.V., Popoff Y.V. Proceedings of IEEE East-West Design & Test Workshop(EWDTW'05). IEEE EWDTW, 2005, p.119-122 {{ISBN|966-659-113-8}}</ref>
तर्क अनुकरण में तेजी लाने का एक संभावित तरीका वितरित कंप्यूटिंग और समांतर कंप्यूटिंग कंप्यूटेशंस का उपयोग कर रहा है।<ref>Software system for distributed [[Event-driven programming|event-driven]] logic simulation. Ladyzhensky Y.V., Popoff Y.V. Proceedings of IEEE East-West Design & Test Workshop(EWDTW'05). IEEE EWDTW, 2005, p.119-122 {{ISBN|966-659-113-8}}</ref> अनुकरण की संपूर्णता को मापने में सहायता के लिए, [[ कोड कवरेज़ ]] का आकलन करने के लिए उपकरण मौजूद हैं,<ref>{{cite conference
सिमुलेशन की संपूर्णता को मापने में सहायता के लिए, [[ कोड कवरेज़ ]] का आकलन करने के लिए उपकरण मौजूद हैं,<ref>{{cite conference
   |title=Practical code coverage for Verilog
   |title=Practical code coverage for Verilog
   |author=Wang, Tsu-Hua and Tan, Chong Guan
   |author=Wang, Tsu-Hua and Tan, Chong Guan
Line 30: Line 28:




== इवेंट सिमुलेशन बनाम चक्र सिमुलेशन ==
== इवेंट अनुकरण बनाम चक्र अनुकरण ==
[[असतत घटना सिमुलेशन]] डिजाइन को सरल समय की जानकारी रखने की अनुमति देता है - सिग्नल को एक स्थान से दूसरे स्थान पर जाने के लिए आवश्यक देरी। सिमुलेशन के दौरान, सिग्नल परिवर्तन को घटनाओं के रूप में ट्रैक किया जाता है। एक निश्चित समय पर परिवर्तन एक निश्चित देरी के बाद एक घटना को ट्रिगर करता है। घटनाओं को उस समय के अनुसार क्रमबद्ध किया जाता है जब वे घटित होंगे, और जब किसी विशेष समय के लिए सभी घटनाओं को संभाला जाता है, तो सिम्युलेटेड समय अगले निर्धारित कार्यक्रम के समय तक आगे बढ़ जाता है। ईवेंट सिमुलेशन कितनी तेजी से चलता है यह संसाधित होने वाली घटनाओं की संख्या (मॉडल में गतिविधि की मात्रा) पर निर्भर करता है।<ref>{{cite web |title=नेटवर्क मॉडलिंग और सिमुलेशन पर्यावरण|url=https://apps.dtic.mil/sti/pdfs/ADA566432.pdf |website=Defense Technical Information Center |access-date=January 1, 2023}}</ref>
[[असतत घटना सिमुलेशन|असतत घटना अनुकरण]] डिजाइन को सरल समय की जानकारी रखने की अनुमति देता है - सिग्नल को एक स्थान से दूसरे स्थान पर जाने के लिए आवश्यक देरी। अनुकरण के दौरान, सिग्नल परिवर्तन को घटनाओं के रूप में ट्रैक किया जाता है। एक निश्चित समय पर परिवर्तन एक निश्चित देरी के बाद एक घटना को ट्रिगर करता है। घटनाओं को उस समय के अनुसार क्रमबद्ध किया जाता है जब वे घटित होंगे, और जब किसी विशेष समय के लिए सभी घटनाओं को संभाला जाता है, तो सिम्युलेटेड समय अगले निर्धारित कार्यक्रम के समय तक आगे बढ़ जाता है। ईवेंट अनुकरण कितनी तेजी से चलता है यह संसाधित होने वाली घटनाओं की संख्या (मॉडल में गतिविधि की मात्रा) पर निर्भर करता है।<ref>{{cite web |title=नेटवर्क मॉडलिंग और सिमुलेशन पर्यावरण|url=https://apps.dtic.mil/sti/pdfs/ADA566432.pdf |website=Defense Technical Information Center |access-date=January 1, 2023}}</ref>
जबकि ईवेंट सिमुलेशन सिग्नल टाइमिंग के संबंध में कुछ प्रतिक्रिया प्रदान कर सकता है, यह [[स्थिर समय विश्लेषण]] के लिए प्रतिस्थापन नहीं है।
जबकि ईवेंट अनुकरण सिग्नल टाइमिंग के संबंध में कुछ प्रतिक्रिया प्रदान कर सकता है, यह [[स्थिर समय विश्लेषण]] के लिए प्रतिस्थापन नहीं है।


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


हालांकि, चिप डिजाइन के रुझान सर्किट में गतिविधि कारक में कमी के कारण सापेक्ष प्रदर्शन प्राप्त करने वाले इवेंट सिमुलेशन की ओर इशारा करते हैं ([[ घड़ी गेटिंग ]] और [[पावर गेटिंग]] जैसी तकनीकों के कारण, जो बिजली अपव्यय को कम करने के प्रयास में बहुत अधिक सामान्य रूप से उपयोग किए जा रहे हैं)। इन मामलों में, चूंकि घटना सिमुलेशन केवल आवश्यक घटनाओं का अनुकरण करता है, प्रदर्शन अब चक्र सिमुलेशन पर नुकसान नहीं हो सकता है। इवेंट सिमुलेशन में अधिक लचीलेपन का लाभ भी है, डिजाइन सुविधाओं को संभालना साइकिल सिमुलेशन के साथ संभालना मुश्किल है, जैसे कि [[अतुल्यकालिक तर्क]] और असंगत घड़ियां। इन विचारों के कारण, लगभग सभी व्यावसायिक तर्क सिमुलेटरों में एक घटना आधारित क्षमता होती है, भले ही वे मुख्य रूप से चक्र आधारित तकनीकों पर निर्भर हों।<ref>Electronic Design Automation For Integrated Circuits Handbook, by Lavagno, Martin, and Scheffer, {{ISBN|0-8493-3096-3}}, a survey of the field of EDA. The above summary was derived, with permission, from Volume I, Chapter 16, Digital Simulation, by John Sanguinetti.</ref>
हालांकि, चिप डिजाइन के रुझान सर्किट में गतिविधि कारक में कमी के कारण सापेक्ष प्रदर्शन प्राप्त करने वाले इवेंट अनुकरण की ओर इशारा करते हैं ([[ घड़ी गेटिंग ]] और [[पावर गेटिंग]] जैसी तकनीकों के कारण, जो बिजली अपव्यय को कम करने के प्रयास में बहुत अधिक सामान्य रूप से उपयोग किए जा रहे हैं)। इन मामलों में, चूंकि घटना अनुकरण केवल आवश्यक घटनाओं का अनुकरण करता है, प्रदर्शन अब चक्र अनुकरण पर नुकसान नहीं हो सकता है। इवेंट अनुकरण में अधिक लचीलेपन का लाभ भी है, डिजाइन सुविधाओं को संभालना साइकिल अनुकरण के साथ संभालना मुश्किल है, जैसे कि [[अतुल्यकालिक तर्क]] और असंगत घड़ियां। इन विचारों के कारण, लगभग सभी व्यावसायिक तर्क सिमुलेटरों में एक घटना आधारित क्षमता होती है, भले ही वे मुख्य रूप से चक्र आधारित तकनीकों पर निर्भर हों।<ref>Electronic Design Automation For Integrated Circuits Handbook, by Lavagno, Martin, and Scheffer, {{ISBN|0-8493-3096-3}}, a survey of the field of EDA. The above summary was derived, with permission, from Volume I, Chapter 16, Digital Simulation, by John Sanguinetti.</ref>





Revision as of 19:26, 25 March 2023

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

सत्यापन में प्रयोग करें

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

अनुकरण की लंबाई

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

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

तर्क अनुकरण में तेजी लाने का एक संभावित तरीका वितरित कंप्यूटिंग और समांतर कंप्यूटिंग कंप्यूटेशंस का उपयोग कर रहा है।[4] अनुकरण की संपूर्णता को मापने में सहायता के लिए, कोड कवरेज़ का आकलन करने के लिए उपकरण मौजूद हैं,[5] कार्यात्मक कवरेज, परिमित राज्य मशीन (एफएसएम) कवरेज, और कई अन्य मेट्रिक्स।[6]


इवेंट अनुकरण बनाम चक्र अनुकरण

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

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

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


यह भी देखें

संदर्भ

  1. Laung-Terng Wang; Yao-Wen Chang; Kwang-Ting (Tim) Cheng (11 March 2009). Electronic Design Automation: Synthesis, Verification, and Test. Morgan Kaufmann. ISBN 978-0-08-092200-3.
  2. V. Litovski; Mark Zwolinski (31 December 1996). वीएलएसआई सर्किट सिमुलेशन और अनुकूलन. Springer Science & Business Media. ISBN 978-0-412-63860-2.
  3. Bombieri, Nicola; Fummi, Franco; Pravadelli, Graziano (May 2006). "सत्यापन के लिए हार्डवेयर डिजाइन और सिमुलेशन". Lecture Notes in Computer Science: 1–29.
  4. Software system for distributed event-driven logic simulation. Ladyzhensky Y.V., Popoff Y.V. Proceedings of IEEE East-West Design & Test Workshop(EWDTW'05). IEEE EWDTW, 2005, p.119-122 ISBN 966-659-113-8
  5. Wang, Tsu-Hua and Tan, Chong Guan (1995). Practical code coverage for Verilog. 1995 IEEE International Verilog HDL Conference. IEEE. pp. 99–104.{{cite conference}}: CS1 maint: multiple names: authors list (link)
  6. Jou, Jing-Yang and Liu, Chien-Nan Jimmy (1999). Coverage analysis techniques for HDL design validation. Asia Pacific CHip Design Languages. pp. 48–55.{{cite conference}}: CS1 maint: multiple names: authors list (link)
  7. "नेटवर्क मॉडलिंग और सिमुलेशन पर्यावरण" (PDF). Defense Technical Information Center. Retrieved January 1, 2023.
  8. Electronic Design Automation For Integrated Circuits Handbook, by Lavagno, Martin, and Scheffer, ISBN 0-8493-3096-3, a survey of the field of EDA. The above summary was derived, with permission, from Volume I, Chapter 16, Digital Simulation, by John Sanguinetti.