तर्क अनुकरण

लॉजिक सिमुलेशन डिजिटल सर्किट और हार्डवेयर विवरण भाषाओं के व्यवहार की भविष्यवाणी करने के लिए कंप्यूटर सिमुलेशन का उपयोग है। सिमुलेशन एब्सट्रैक्शन (कंप्यूटर साइंस) की अलग-अलग डिग्री पर किया जा सकता है, जैसे कि SPICE, डिजिटल सर्किट, रजिस्टर-ट्रांसफर स्तर (RTL), इलेक्ट्रॉनिक प्रणाली-स्तरीय डिजाइन और सत्यापन | इलेक्ट्रॉनिक सिस्टम-लेवल (ESL), या बिहेवियरल लेवल.

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

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

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

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

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

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

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

यह भी देखें

 * तर्क संश्लेषण
 * एचडीएल सिमुलेटर की सूची
 * कार्यात्मक सत्यापन