तर्क अनुकरण

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

सत्यापन में प्रयोग
हार्डवेयर डिजाइन करने में सत्यापन प्रक्रिया के भाग के रूप में तर्क अनुकरण का उपयोग किया जा सकता है।

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

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

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

तर्क अनुकरण में गति बढ़ाने का एक संभावित तरीका वितरित और समांतर संगणनाओं का उपयोग कर रहा है।

अनुकरण की पूर्णता को मापने में सहायता के लिए, नियमसंग्रह क्षेत्र का आकलन करने के लिए उपकरण उपस्थित हैं, कार्यात्मक क्षेत्र, परिमित अवस्था यंत्र (एफएसएम) क्षेत्र, और कई अन्य मेट्रिक्स।

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

जबकि घटना अनुकरण संकेत समय के संबंध में कुछ प्रतिक्रिया प्रदान कर सकता है, यह स्थिर समय विश्लेषण के लिए बदलाव नहीं है।

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

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

यह भी देखें

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