तर्क अनुकरण

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

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

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

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

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

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

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

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

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

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

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

यह भी देखें

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