लिबरो एसओसी सिमुलेशन
पुस्तकालय सेटअप निर्देश
परिचय
इस दस्तावेज़ का उद्देश्य इनपुट के रूप में लिबरो SoC प्रोजेक्ट का उपयोग करके सिमुलेशन वातावरण स्थापित करने की प्रक्रिया का वर्णन करना है। यह दस्तावेज़ लिबरो SoC v11.9 और नए सॉफ़्टवेयर रिलीज़ के साथ उपयोग के लिए प्रदान की गई पूर्व-संकलित लाइब्रेरी से मेल खाता है। प्रदान की गई लाइब्रेरी वेरिलॉग के लिए संकलित हैं। वीएचडीएल उपयोगकर्ताओं को मिश्रित-मोड सिमुलेशन की अनुमति देने वाले लाइसेंस की आवश्यकता होती है।
संकलित सिमुलेशन लाइब्रेरी निम्नलिखित टूल के लिए उपलब्ध हैं:
- एल्डेक एक्टिव-एचडीएल
- एल्डेक रिवेरा-पीआरओ
- कैडेंस इंसीसिव एंटरप्राइज और एक्सेलियम
- सीमेंस क्वेस्टासिम
- सिनोप्सिस वीसीएस
किसी भिन्न सिम्युलेटर के लिए लाइब्रेरी का अनुरोध करने के लिए संपर्क करें माइक्रोचिप तकनीकी सहायता.
लिबरो एसओसी एकीकरण
लिबरो SoC एक run.do उत्पन्न करके मॉडलसिम ME का उपयोग करके सिमुलेशन का समर्थन करता है file। यह file सिमुलेशन को सेट अप करने और चलाने के लिए मॉडलसिम एमई/मॉडलसिम प्रो एमई द्वारा उपयोग किया जाता है। अन्य सिमुलेशन टूल का उपयोग करने के लिए, आप मॉडलसिम एमई/मॉडलसिम प्रो एमई रन.डो उत्पन्न कर सकते हैं और टीसीएल स्क्रिप्ट को संशोधित कर सकते हैं file उन आदेशों का उपयोग करने के लिए जो आपके सिम्युलेटर के साथ संगत हैं।
1.1 लिबरो एसओसी टीसीएल File पीढ़ी (प्रश्न पूछें)
लिबरो एसओसी में डिज़ाइन बनाने और तैयार करने के बाद, सभी डिज़ाइन चरणों (प्रीसिंथ, पोस्टसिंथ और पोस्ट-लेआउट) के तहत मॉडलसिम एमई/मॉडलसिम प्रो एमई सिमुलेशन शुरू करें। यह चरण run.do उत्पन्न करता है file प्रत्येक डिज़ाइन चरण के लिए मॉडलसिम एमई/मॉडलसिम प्रो एमई के लिए।
महत्वपूर्ण: प्रत्येक सिमुलेशन रन शुरू करने के बाद, स्वचालित रूप से जेनरेट किए गए run.do का नाम बदलें file लिबरो SoC को ओवरराइट करने से रोकने के लिए सिमुलेशन निर्देशिका के अंतर्गत file. उदाहरण के लिएampले, द files का नाम बदलकर presynth_run.do, postynth_run.do और postlayout_run.do किया जा सकता है।
एक्टिव-एचडीएल और रिवेरा-प्रो के लिए एल्डेक सेटअप (प्रश्न पूछें)
भागो.करो file मॉडलसिम एमई/मॉडलसिम प्रो एमई द्वारा उपयोग किए जाने वाले को संशोधित किया जा सकता है और एल्डेक सिमुलेटर का उपयोग करके सिमुलेशन के लिए उपयोग किया जा सकता है।
2.1 पर्यावरण चर (प्रश्न पूछें)
अपने पर्यावरण चर को अपने लाइसेंस पर सेट करें file जगह:
LM_LICENSE_FILE: लाइसेंस सर्वर के लिए एक सूचक शामिल होना चाहिए।
2.2 संकलित लाइब्रेरी डाउनलोड करें (प्रश्न पूछें)
माइक्रोचिप से एल्डेक एक्टिव-एचडीएल और एल्डेक रिवेरा-प्रो के लिए लाइब्रेरी डाउनलोड करें webसाइट।
2.3 एल्डेक सिमुलेशन के लिए run.do को कनवर्ट करना (प्रश्न पूछें)
भागो.करो fileएक्टिव-एचडीएल और रिवेरा-प्रो टूल का उपयोग करके सिमुलेशन के लिए लिबरो एसओसी द्वारा उत्पन्न एस का उपयोग एक ही बदलाव के साथ एक्टिव-एचडीएल और रिवेरा-प्रो का उपयोग करके सिमुलेशन के लिए किया जा सकता है। निम्न तालिका मॉडलसिम run.do में संशोधित करने के लिए एल्डेक-समकक्ष आदेशों को सूचीबद्ध करती है file.
तालिका 2-1. एल्डेक समतुल्य कमांड
ModelSim | सक्रिय-एचडीएल |
वीडियो लॉग | एक लट्ठा |
वीकॉम | एकोम |
vlib | अलीब |
वीसिम | आसिम |
वीएमएपी | नक्षा |
निम्नलिखित इस प्रकार हैampएल्डेक सिमुलेटर से संबंधित run.do।
- वर्तमान कार्यशील निर्देशिका का स्थान निर्धारित करें।
डीएसएन सेट करें - एक कार्यशील लाइब्रेरी का नाम सेट करें, उसका स्थान मैप करें, और फिर माइक्रोचिप FPGA परिवार का स्थान मैप करें
पूर्वसंकलित पुस्तकालय (उदाampले, स्मार्टफ्यूजन2) जिस पर आप अपना डिज़ाइन चला रहे हैं।
अलीब प्रेसिंथ
एएमएपी प्रीसिंथ प्रीसिंथ
amap SmartFusion2 - सभी आवश्यक एचडीएल संकलित करें fileआवश्यक लाइब्रेरी के साथ डिज़ाइन में उपयोग किया जाता है।
एलॉग-वर्क प्रीसिंथ temp.v (वेरिलॉग के लिए)
एलॉग-वर्क प्रीसिंथ टेस्टबेंच.वी
एकॉम-वर्क प्रीसिंथ टेम्प.वीएचडी (वीएचडीएल के लिए)
एकॉम-वर्क प्रीसिंथ टेस्टबेंच.वीएचडी - डिज़ाइन का अनुकरण करें.
आसिम -एल स्मार्टफ्यूजन2 -एल प्रीसिंथ -टी 1पीएस प्रीसिंथ.टेस्टबेंच
10us चलाओ
2.4 ज्ञात मुद्दे (प्रश्न पूछें)
यह अनुभाग ज्ञात मुद्दों और सीमाओं को सूचीबद्ध करता है।
- रिवेरा-प्रो का उपयोग करके संकलित लाइब्रेरीज़ प्लेटफ़ॉर्म विशिष्ट हैं (यानी 64-बिट लाइब्रेरीज़ को 32-बिट प्लेटफ़ॉर्म पर नहीं चलाया जा सकता है और इसके विपरीत)।
- SERDES/MDDR/FDDR वाले डिज़ाइन के लिए, अपने run.do में निम्नलिखित विकल्प का उपयोग करें fileउनके डिज़ाइनों को संकलित करने के बाद सिमुलेशन चलाते समय:
- सक्रिय-एचडीएल: असीम -ओ2
- रिवेरा-प्रो: असीम -O2 (प्रीसिंथ और पोस्ट-लेआउट सिमुलेशन के लिए) और असीम -O5 (पोस्ट-लेआउट सिमुलेशन के लिए)
एक्टिव-एचडीएल और रिवेरा-प्रो के लिए एल्डेक सेटअप में निम्नलिखित लंबित एसएआर हैं। अधिक जानकारी के लिए संपर्क करें माइक्रोचिप तकनीकी सहायता. - एसएआर 49908 - सक्रिय-एचडीएल: गणित ब्लॉक सिमुलेशन के लिए वीएचडीएल त्रुटि
- SAR 50627 - रिवेरा-प्रो 2013.02: SERDES डिज़ाइन के लिए सिमुलेशन त्रुटियाँ
- एसएआर 50461 - रिवेरा-प्रो: सिमुलेशन में असीम -ओ2/-ओ5 विकल्प
ताल तीक्ष्ण सेटअप (प्रश्न पूछें)
आपको एक स्क्रिप्ट बनानी होगी file चलाने के लिए मॉडलसिम एमई/मॉडलसिम प्रो एमई run.do के समान
ताल तीक्ष्ण सिम्युलेटर। इन चरणों का पालन करें और स्क्रिप्ट बनाएं file एनसीसिम के लिए या स्क्रिप्ट का उपयोग करें file
मॉडलसिम एमई/मॉडलसिम प्रो एमई run.do को परिवर्तित करने के लिए प्रदान किया गया fileकॉन्फ़िगरेशन में है files
NCSim का उपयोग करके सिमुलेशन चलाने की आवश्यकता है।
महत्वपूर्ण: ताल इन्सीसिव एंटरप्राइज़ के नए संस्करण जारी करना बंद कर दिया है
सिम्युलेटर और एक्सेलियम सिम्युलेटर का समर्थन करना शुरू कर दिया।
3.1 पर्यावरण चर (प्रश्न पूछें)
कैडेंस इंसीसिव सिम्युलेटर चलाने के लिए, निम्नलिखित पर्यावरण चर कॉन्फ़िगर करें:
- LM_LICENSE_FILE: लाइसेंस में एक सूचक शामिल होना चाहिए file.
- cds_root: इसे कैडेंस इंसीसिव इंस्टालेशन के होम डायरेक्टरी स्थान की ओर इंगित करना चाहिए।
- पथ: cds_root द्वारा इंगित टूल निर्देशिका के अंतर्गत बिन स्थान को इंगित करना चाहिए,
$cds_root/tools/bin/64bit (64-बिट मशीन के लिए और $cds_root/tools/bin 32-बिट मशीन के लिए)।
64-बिट और 32-बिट ऑपरेटिंग सिस्टम के बीच स्विच के मामले में सिमुलेशन वातावरण स्थापित करने के तीन तरीके हैं:
केस 1: पाथ वेरिएबल
निम्नलिखित आदेश चलाएँ:
64 बिट मशीनों के लिए पथ = (install_dir/tools/bin/64bit $path) सेट करें
32 बिट मशीनों के लिए पथ सेट करें = (install_dir/tools/bin $path)।
केस 2: -64बिट कमांड-लाइन विकल्प का उपयोग करना
64 बिट निष्पादन योग्य को लागू करने के लिए कमांड-लाइन में -64 बिट विकल्प निर्दिष्ट करें।
केस 3: INCA_64BIT या CDS_AUTO_64BIT पर्यावरण चर सेट करना
INCA_64BIT वेरिएबल को बूलियन माना जाता है। आप इस वेरिएबल को किसी भी मान या शून्य स्ट्रिंग पर सेट कर सकते हैं।
सेटेंव INCA_64BIT
महत्वपूर्ण: द INCA_64BIT पर्यावरण चर अन्य कैडेंस टूल्स, जैसे IC टूल्स को प्रभावित नहीं करता है। हालाँकि, इन्सीसिव टूल्स के लिए, INCA_64BIT वेरिएबल CDS_AUTO_64BIT पर्यावरण वेरिएबल के लिए सेटिंग को ओवरराइड करता है। यदि INCA_64BIT पर्यावरण चर सेट किया गया है, तो सभी इंसीसिव टूल 64-बिट मोड में चलते हैं। setenv CDS_AUTO_64BIT शामिल:INCA
महत्वपूर्ण: द स्ट्रिंग INCA अपरकेस में होनी चाहिए. सभी निष्पादनयोग्यों को या तो 32-बिट मोड में या 64-बिट मोड में चलाया जाना चाहिए, एक निष्पादन योग्य को शामिल करने के लिए वेरिएबल को सेट न करें, जैसा कि निम्नलिखित है:
setenv CDS_AUTO_64BIT शामिल:ncelab
अन्य कैडेंस उपकरण, जैसे आईसी उपकरण, 64-बिट या 32-बिट निष्पादन योग्य के चयन को नियंत्रित करने के लिए CDS_AUTO_64BIT पर्यावरण चर का भी उपयोग करते हैं। निम्न तालिका दिखाती है कि आप सभी मोड में इंसीसिव टूल और आईसी टूल को चलाने के लिए CDS_AUTO_64BIT वेरिएबल कैसे सेट कर सकते हैं।
तालिका 3-1. CDS_AUTO_64BIT वेरिएबल
CDS_AUTO_64BIT वेरिएबल | तीक्ष्ण उपकरण | आईसी उपकरण |
सेटेंव CDS_AUTO_64BIT सभी | 64 बिट | 64 बिट |
सेटेंव CDS_AUTO_64BIT कोई नहीं | 32 बिट | 32 बिट |
सेटेंव CDS_AUTO_64BIT बहिष्कृत:ic_binary | 64 बिट | 32 बिट |
सेटेंव CDS_AUTO_64BIT बहिष्कृत:INCA | 32 बिट | 64 बिट |
महत्वपूर्ण: सभी इन्सीसिव टूल को या तो 32-बिट मोड या 64-बिट मोड में चलाया जाना चाहिए, किसी विशिष्ट निष्पादन योग्य को बाहर करने के लिए EXCLUDE का उपयोग न करें, जैसा कि निम्नलिखित है: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
यदि आप इन्सीसिव टूल्स को बाहर करने के लिए CDS_AUTO_64BIT वेरिएबल सेट करते हैं (सेटेनव CDS_AUTO_64BIT EXCLUDE:INCA), तो सभी इन्सीसिव टूल्स 32-बिट मोड में चलते हैं। हालाँकि, -64 बिट कमांड-लाइन विकल्प पर्यावरण चर को ओवरराइड करता है।
निम्नलिखित विन्यास fileयह आपके डेटा को प्रबंधित करने और सिमुलेशन टूल और उपयोगिताओं के संचालन को नियंत्रित करने में आपकी सहायता करता है:
- पुस्तकालय मानचित्रण file (cds.lib)—आपके डिज़ाइन के स्थान के लिए एक तार्किक नाम परिभाषित करता है।
- पुस्तकालय और उन्हें भौतिक निर्देशिका नामों से जोड़ते हैं।
- चर file (hdl.var) - उन चर को परिभाषित करता है जो सिमुलेशन टूल और उपयोगिताओं के व्यवहार को प्रभावित करते हैं।
3.2 संकलित लाइब्रेरी डाउनलोड करें (प्रश्न पूछें)
माइक्रोसेमी से कैडेंस इंसीसिव के लिए लाइब्रेरी डाउनलोड करें webसाइट।
3.3 एनसीसिम स्क्रिप्ट बनाना File (प्रश्न पूछें)
run.do की एक प्रति बनाने के बाद files, NCSim का उपयोग करके अपना सिमुलेशन चलाने के लिए इन चरणों का पालन करें:
- एक cds.lib बनाएँ file यह पहुंच योग्य पुस्तकालयों और उनके स्थान को परिभाषित करता है। file इसमें ऐसे कथन शामिल हैं जो लाइब्रेरी के तार्किक नामों को उनके भौतिक निर्देशिका पथों पर मैप करते हैं। पूर्व के लिएampले, यदि आप प्रीसिंथ सिमुलेशन चला रहे हैं, तो cds.lib file निम्नलिखित कोडब्लॉक में दिखाए अनुसार लिखा गया है।
प्रीसिंथ/प्रीसिंथ को परिभाषित करें
COREAHBLITE_LIB ./COREAHBLITE_LIB को परिभाषित करें
स्मार्टफ्यूजन2 को परिभाषित करें - एक hdl.var बनाएँ file, एक वैकल्पिक विन्यास file इसमें कॉन्फ़िगरेशन चर शामिल हैं, जो यह निर्धारित करता है कि आपका डिज़ाइन वातावरण कैसे कॉन्फ़िगर किया गया है। निम्नलिखित चर fileएस शामिल हैं:
- वेरिएबल जिनका उपयोग कार्य लाइब्रेरी को निर्दिष्ट करने के लिए किया जाता है जहां कंपाइलर संकलित वस्तुओं और अन्य व्युत्पन्न डेटा को संग्रहीत करता है।
- वेरिलॉग के लिए, चर (LIB_MAP, VIEW_MAP, WORK) जिनका उपयोग पुस्तकालयों को निर्दिष्ट करने के लिए किया जाता है viewजब विस्तृतकर्ता उदाहरणों का समाधान करता है तो खोजना होता है।
- वेरिएबल जो आपको कंपाइलर, विस्तारक और सिम्युलेटर कमांड-लाइन विकल्पों और तर्कों को परिभाषित करने की अनुमति देते हैं।
प्रीसिंथ सिमुलेशन के मामले में पूर्वampऊपर दिखाया गया है, मान लें कि हमारे पास तीन आरटीएल हैं files: a.v, b.v, और testbench.v, जिसे क्रमशः प्रीसिंथ, COREAHBLITE_LIB और प्रीसिंथ लाइब्रेरी में संकलित करने की आवश्यकता है। hdl.var file निम्नलिखित कोडब्लॉक में दिखाए अनुसार लिखा जा सकता है।
कार्य प्रस्तुतीकरण को परिभाषित करें
DEFINE PROJECT_DIR <स्थान files>
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/a.v => presynth )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/b.v => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
LIB_MAP को परिभाषित करें ($LIB_MAP, + => प्रीसिंथ) - डिज़ाइन संकलित करें fileएनसीवीलॉग विकल्प का उपयोग कर रहा हूं।
ncvlog +incdir+ -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log –update –linedebug av bv testbench.v - एनसेलैब का उपयोग करके डिज़ाइन को विस्तृत करें। विस्तारक डिज़ाइन में तात्कालिकता और कॉन्फ़िगरेशन जानकारी के आधार पर एक डिज़ाइन पदानुक्रम का निर्माण करता है, सिग्नल कनेक्टिविटी स्थापित करता है, और डिज़ाइन में सभी ऑब्जेक्ट के लिए प्रारंभिक मानों की गणना करता है। विस्तृत डिज़ाइन पदानुक्रम एक सिमुलेशन स्नैपशॉट में संग्रहीत किया जाता है, जो आपके डिज़ाइन का प्रतिनिधित्व करता है जिसे सिम्युलेटर सिमुलेशन चलाने के लिए उपयोग करता है।
ncelab –संदेश –cdslib ./cds.lib –hdlvar ./hdl.var –लॉगfile ncelab.log –errormax 15 –
एक्सेस +आरडब्ल्यूसी-स्टेटस वर्कलिब। :मॉड्यूल
पोस्ट-लेआउट सिमुलेशन के दौरान विस्तार
पोस्ट-लेआउट सिमुलेशन के मामले में, पहले एसडीएफ file विस्तार से पहले ncsdfc कमांड का उपयोग करके संकलित करने की आवश्यकता है।
एनसीएसडीएफसी <fileनाम>.sdf-आउटपुट <fileनाम>.sdf.X
विस्तार के दौरान संकलित एसडीएफ आउटपुट का उपयोग -autosdf विकल्प के साथ करें जैसा कि निम्नलिखित कोडब्लॉक में दिखाया गया है।
ncelab -autosdf –संदेश –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log-errormax
15 -एक्सेस +आरडब्ल्यूसी -स्टेटस वर्कलिब। :मॉड्यूल -एसडीएफ_सीएमडी_file ./
sdf_cmd_file
Sdf_cmd_file निम्नलिखित कोडब्लॉक में दिखाए अनुसार होना चाहिए।
संकलित_एसडीएफ_FILE = “<संकलित एसडीएफ का स्थान file>” - एनसीसिम का उपयोग करके अनुकरण करें। विस्तार के बाद एक सिमुलेशन स्नैपशॉट बनाया जाता है, जिसे सिमुलेशन के लिए एनसीसिम द्वारा लोड किया जाता है। आप बैच मोड या जीयूआई मोड में चला सकते हैं।
एनसीसिम -मैसेज -बैच/-गुई -सीडीएसलिब ./सीडीएस.लिब -एचडीएलवर ./एचडीएल.वर -लॉगfile एनसीसिम.लॉग -
एररमैक्स 15 -स्टेटस वर्कलिब।:मॉड्यूल
महत्वपूर्ण: संकलन, विस्तार और अनुकरण के उपरोक्त सभी तीन चरणों को एक शेल स्क्रिप्ट में रखा जा सकता है file और कमांड-लाइन से प्राप्त किया गया। इन तीन चरणों का उपयोग करने के बजाय, डिज़ाइन को एक चरण में ncverilog या irun विकल्प का उपयोग करके अनुकरण किया जा सकता है जैसा कि निम्नलिखित कोडब्लॉक में दिखाया गया है।
एनसीवेरिलॉग +इंसीडीआईआर+ -सीडीएसलिब ./सीडीएस.लिब -एचडीएलवर ./एचडीएल.वर <सभी आरटीएल
fileइसका उपयोग डिज़ाइन> में किया जाता है
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <all RTL files
डिज़ाइन> में उपयोग किया जाता है
3.3.1 ज्ञात मुद्दे (प्रश्न पूछें)
टेस्टबेंच वर्कअराउंड
उपयोगकर्ता द्वारा उत्पन्न टेस्टबेंच में घड़ी की आवृत्ति या लिबरो SoC द्वारा उत्पन्न डिफ़ॉल्ट टेस्टबेंच को निर्दिष्ट करने के लिए निम्नलिखित कथन का उपयोग करना NCSim के साथ काम नहीं करता है।
सदैव @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
सिमुलेशन चलाने के लिए निम्नानुसार संशोधित करें:
हमेशा #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
महत्वपूर्ण: संकलित NCSim के लिए लाइब्रेरीज़ प्लेटफ़ॉर्म विशिष्ट हैं (यानी 64 बिट लाइब्रेरीज़ 32 बिट प्लेटफ़ॉर्म के साथ संगत नहीं हैं और इसके विपरीत)।
एमएसएस और एसईआरडीईएस का उपयोग करते हुए पोस्टसिंथ और पोस्ट-लेआउट सिमुलेशन एमएसएस ब्लॉक वाले डिजाइनों के पोस्टसिंथ सिमुलेशन या एसईआरडीईएस का उपयोग करके डिजाइनों के पोस्ट-लेआउट सिमुलेशन चलाते समय, बीएफएम सिमुलेशन काम नहीं करते हैं यदि -लिबमैप विकल्प है
विस्तार के दौरान निर्दिष्ट नहीं किया गया। ऐसा इसलिए है क्योंकि विस्तार के दौरान, एमएसएस को कार्य लाइब्रेरी से हल किया जाता है (डिफ़ॉल्ट बाइंडिंग और वर्कलिब पोस्टसिंथ/पोस्ट-लेआउट के कारण) जहां यह सिर्फ एक निश्चित फ़ंक्शन है।
एमएसएस को हल करने के लिए एनसीएलैब कमांड को निम्नलिखित कोड ब्लॉक में दिखाए अनुसार लिखा जाना चाहिए
SmartFusion2 पूर्व संकलित लाइब्रेरी से ब्लॉक करें।
ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
और lib.map file इस प्रकार होना चाहिए:
कॉन्फ़िगरेशन cfg1;
डिज़ाइन ;
डिफ़ॉल्ट लिबलिस्ट स्मार्टफ्यूजन2 ;
एंडकॉन्फिग
यह कार्य लाइब्रेरी यानी पोस्टसिंथ/पोस्ट-लेआउट में देखने से पहले स्मार्टफ्यूजन2 लाइब्रेरी में किसी भी सेल का समाधान करता है।
प्रत्येक सिमुलेशन (प्रीसिंथ, पोस्टसिंथ और पोस्ट-लेआउट) के लिए विस्तार के दौरान -लिबमैप विकल्प का उपयोग डिफ़ॉल्ट रूप से किया जा सकता है। यह पुस्तकालयों से उदाहरणों के समाधान के कारण उत्पन्न होने वाली सिमुलेशन समस्याओं से बचा जाता है।
एनसेलैब: *एफ, इंटरआर: आंतरिक अपवाद
यह ncelab टूल अपवाद -libmap विकल्प का उपयोग करके पोस्टसिंथ और पोस्ट-लेआउट सिमुलेशन के दौरान स्मार्टफ्यूजन 2 और IGLOO 2 में FDDR वाले डिज़ाइन के लिए एक चेतावनी है।
महत्वपूर्ण: इस समस्या की सूचना कैडेंस सपोर्ट टीम (SAR 52113) को दी गई है।
3.4 एसampले टीसीएल और शैल स्क्रिप्ट Fileएस (प्रश्न पूछें)
निम्नलिखित files कॉन्फ़िगरेशन हैं fileडिज़ाइन और शेल स्क्रिप्ट स्थापित करने के लिए इसकी आवश्यकता है file एनसीसिम कमांड चलाने के लिए।
Cds.lib
एनई स्मार्टफ्यूजन2 /स्क्रैच/क्रिडोर/टीएमपीस्पेस/यूजर्स/मी/एनसी-वीलॉग64/स्मार्टफ्यूजन2
COREAHBLITE_LIB ./COREAHBLITE_LIB को परिभाषित करें
प्रीसिंथ/प्रीसिंथ को परिभाषित करें
एचडीएल.var
कार्य प्रस्तुतीकरण को परिभाषित करें
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
वीलॉग/कोर/कोरहब्लाइट_मास्टर्सtagev => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
वीलॉग/कोर/कोरहब्लाइट_स्लेव्सtagev => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
प्रेसिंथ )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => प्रीसिंथ)
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => प्रीसिंथ)
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => प्रीसिंथ)
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => प्रीसिंथ)
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
प्रेसिंथ )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/घटक/कार्य/SB_HPMS/SB_HPMS.v => प्रीसिंथ)
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => प्रीसिंथ)
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/घटक/कार्य/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => प्रीसिंथ)
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
LIB_MAP को परिभाषित करें ($LIB_MAP, + => प्रीसिंथ)
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -अद्यतन -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagआयु
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagआयु
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -संदेश -cdslib ./cds.lib -hdlvar ./hdl.var
-वर्क प्रीसिंथ -लॉगfile ncelab.log -errormax 15 -एक्सेस +rwc -status presynth.testbench:मॉड्यूल
एनसीसिम -मैसेज -बैच -सीडीएसलिब ./cds.lib -hdlvar ./
hdl.var -लॉगfile ncsim.log -errormax 15 -status presynth.testbench:मॉड्यूल
3.5 स्वचालन (प्रश्न पूछें)
निम्नलिखित लिपि file मॉडलसिम run.do को कनवर्ट करता है fileकॉन्फ़िगरेशन में है fileNCSim का उपयोग करके सिमुलेशन चलाने के लिए इसकी आवश्यकता है।
लिखी हुई कहानी File प्रयोग
perl cadence_parser.pl presynth_run.do postynth_run.do
पोस्टलेआउट_रन.डो माइक्रोसेमी_फ़ैमिली
स्थान_ऑफ़_कैडेंस_प्रीकंपाइल्ड_लाइब्रेरीज़
कैडेंस_पार्सर.pl
#!/usr/bin/perl -w
############################################ #######################################
##################
#उपयोग: perl questa_parser.pl presynth_run.do postynth_run.do postlayout_run.do
माइक्रोसेमी_फ़ैमिली प्रीकंपिल्ड_लाइब्रेरीज़_लोकेशन#
############################################ #######################################
##################
POSIX का उपयोग करें;
सख्त उपयोग करें;
मेरा ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($पोस्टलेआउट, $परिवार, $lib_location);
उप प्रश्न_पार्सर {
मेरा $ModelSim_run_do = $_[0];
मेरा $actel_family = $_[1];
मेरा $lib_location = $_[2];
मेरा $राज्य;
यदि ( -e “$ModelSim_run_do” )
{
में खुलेगाFILE,”$ModelSim_run_do”);
मेरा @ModelSim_run_do = <INFILE>;
मेरी $ लाइन;
यदि ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
खोलें बाहर करेंFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$राज्य = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
खोलें बाहर करेंFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$राज्य = $1;
} elsif ($ModelSim_run_do =~ m/(पोस्टलेआउट)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
खोलें बाहर करेंFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$राज्य = $1;
} अन्य
{
“गलत इनपुट दिए गए” प्रिंट करें file\एन";
प्रिंट करें “#उपयोग: perl questa_parser.pl presynth_run.do postynth_run.do postlayout_run.do
\"पुस्तकालय_स्थान\"\n";
}
foreach $ लाइन (@ModelSim_run_do)
{
#सामान्य संचालन
$लाइन =~ s/..\/डिजाइनर.*सिमुलेशन\///g;
$लाइन =~ s/$state/$state\_questa/g;
#प्रिंट आउटFILE “$लाइन \n”;
अगर ($लाइन =~ m/vmap\s+.*($actel_family)/)
{
प्रिंट आउटFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$लाइन =~ एस/..\/घटक/..\/..\/घटक/जी;
प्रिंट आउटFILE “$लाइन \n”;
} एल्सीफ ($लाइन =~ एम/वीसिम/)
{
$लाइन =~ s/vsim/vsim -novopt/g;
प्रिंट आउटFILE “$लाइन \n”;
} अन्य
{
प्रिंट आउटFILE “$लाइन \n”;
}
}
छोटा होने लगनाFILE);
बंद करवानाFILE);
} अन्य {
प्रिंट करें “$ModelSim_run_do मौजूद नहीं है। सिमुलेशन फिर से चलाएँ \n";
}
}
कैडेंस एक्सेलियम सेटअप (माइक्रोचिप लॉगिन)
आपको एक स्क्रिप्ट बनानी होगी file कैडेंस एक्सेलियम सिम्युलेटर चलाने के लिए मॉडलसिम एमई/मॉडलसिम प्रो एमई run.do के समान। इन चरणों का पालन करें और स्क्रिप्ट बनाएं file एक्ससेलियम के लिए या स्क्रिप्ट का उपयोग करें file मॉडलसिम एमई/मॉडलसिम प्रो एमई run.do को परिवर्तित करने के लिए प्रदान किया गया fileकॉन्फ़िगरेशन में है fileXcelium का उपयोग करके सिमुलेशन चलाने के लिए इसकी आवश्यकता है।
4.1 पर्यावरण चर (प्रश्न पूछें)
कैडेंस एक्सेलियम को चलाने के लिए, निम्नलिखित पर्यावरण चर को कॉन्फ़िगर करें:
- LM_LICENSE_FILE: लाइसेंस में एक सूचक शामिल होना चाहिए file.
- cds_root: इसे कैडेंस इंसीसिव इंस्टालेशन के होम डायरेक्टरी स्थान की ओर इंगित करना चाहिए।
- पथ: cds_root (अर्थात) द्वारा इंगित टूल निर्देशिका के अंतर्गत बिन स्थान को इंगित करना चाहिए।
$cds_root/tools/bin/64bit (64 बिट मशीन के लिए और $cds_root/tools/bin 32 बिट के लिए
मशीन)।
64-बिट और 32-बिट ऑपरेटिंग सिस्टम के बीच स्विच के मामले में सिमुलेशन वातावरण स्थापित करने के तीन तरीके हैं:
केस 1: पाथ वेरिएबल
64 बिट मशीनों के लिए पथ = (install_dir/tools/bin/64bit $path) सेट करें
32 बिट मशीनों के लिए पथ सेट करें = (install_dir/tools/bin $path)।
केस 2: -64बिट कमांड-लाइन विकल्प का उपयोग करना
64-बिट निष्पादन योग्य को लागू करने के लिए कमांड-लाइन में -64बिट विकल्प निर्दिष्ट करें।
केस 3: INCA_64BIT या CDS_AUTO_64BIT पर्यावरण चर सेट करना
INCA_64BIT वेरिएबल को बूलियन माना जाता है। आप इस वेरिएबल को किसी भी मान या शून्य पर सेट कर सकते हैं
डोरी।
सेटेंव INCA_64BIT
महत्वपूर्ण: द INCA_64BIT पर्यावरण चर अन्य कैडेंस टूल्स, जैसे IC टूल्स को प्रभावित नहीं करता है। हालाँकि, इन्सीसिव टूल्स के लिए, INCA_64BIT वेरिएबल CDS_AUTO_64BIT पर्यावरण वेरिएबल के लिए सेटिंग को ओवरराइड करता है। यदि INCA_64BIT पर्यावरण चर et है, तो सभी Incensive उपकरण 64-बिट मोड में चलते हैं।
setenv CDS_AUTO_64BIT शामिल:INCA
महत्वपूर्ण: द स्ट्रिंग INCA अपरकेस में होनी चाहिए. सभी निष्पादनयोग्यों को या तो 2-बिट मोड में या 64-बिट मोड में चलाया जाना चाहिए, एक निष्पादन योग्य को शामिल करने के लिए वेरिएबल को सेट न करें, जैसा कि निम्नलिखित है:
setenv CDS_AUTO_64BIT शामिल:ncelab
अन्य कैडेंस उपकरण, जैसे आईसी उपकरण, 64-बिट या 32-बिट निष्पादन योग्य के चयन को नियंत्रित करने के लिए CDS_AUTO_64BIT पर्यावरण चर का भी उपयोग करते हैं। निम्न तालिका दिखाती है कि आप सभी मोड में इंसीसिव टूल और आईसी टूल को चलाने के लिए CDS_AUTO_64BIT वेरिएबल कैसे सेट कर सकते हैं।
तालिका 4-1. CDS_AUTO_64BIT वेरिएबल
CDS_AUTO_64BIT वेरिएबल | तीक्ष्ण उपकरण | आईसी उपकरण |
सेटेंव CDS_AUTO_64BIT सभी | 64 बिट | 64 बिट |
सेटेंव CDS_AUTO_64BIT कोई नहीं | 32 बिट | 32 बिट |
सेटेंव CDS_AUTO_64BIT बहिष्कृत करें:ic_binary |
64 बिट | 32 बिट |
सेटेंव CDS_AUTO_64BIT बहिष्कृत:INCA | 32 बिट | 64 बिट |
महत्वपूर्ण: सभी इन्सीसिव टूल को या तो 32-बिट मोड या 64-बिट मोड में चलाया जाना चाहिए, किसी विशिष्ट निष्पादन योग्य को बाहर करने के लिए EXCLUDE का उपयोग न करें, जैसा कि निम्नलिखित है:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
यदि आप CDS_AUTO_64BIT वैरिएबल को इंसीसिव टूल्स को बाहर करने के लिए सेट करते हैं (सेटेनव
CDS_AUTO_64BIT EXCLUDE:INCA), सभी इन्सीसिव टूल 32-बिट मोड में चलते हैं। हालांकि
-64 बिट कमांड-लाइन विकल्प पर्यावरण चर को ओवरराइड करता है।
निम्नलिखित विन्यास fileयह आपके डेटा को प्रबंधित करने और सिमुलेशन टूल और उपयोगिताओं के संचालन को नियंत्रित करने में आपकी सहायता करता है:
- पुस्तकालय मानचित्रण file (cds.lib) आपके डिज़ाइन के स्थान के लिए एक तार्किक नाम परिभाषित करता है।
- पुस्तकालय और उन्हें भौतिक निर्देशिका नामों से जोड़ते हैं।
- चर file (hdl.var) उन चरों को परिभाषित करता है जो सिमुलेशन टूल और उपयोगिताओं के व्यवहार को प्रभावित करते हैं।
4.2 संकलित लाइब्रेरी डाउनलोड करें (प्रश्न पूछें)
माइक्रोसेमी से कैडेंस एक्सेलियम के लिए लाइब्रेरी डाउनलोड करें webसाइट।
4.3 एक्सेलियम स्क्रिप्ट बनाना file (प्रश्न पूछें)
run.do की एक प्रति बनाने के बाद files, Xcelium स्क्रिप्ट का उपयोग करके अपना सिमुलेशन चलाने के लिए निम्नलिखित चरणों का पालन करें file.
- एक cds.lib बनाएँ file यह परिभाषित करता है कि कौन सी लाइब्रेरी पहुंच योग्य हैं और वे कहाँ स्थित हैं।
द file इसमें ऐसे कथन शामिल हैं जो लाइब्रेरी के तार्किक नामों को उनके भौतिक निर्देशिका पथों पर मैप करते हैं। पूर्व के लिएampले, यदि आप प्रीसिंथ सिमुलेशन चला रहे हैं, तो cds.lib file निम्नलिखित कोडब्लॉक में दिखाए अनुसार लिखा जा सकता है।
प्रीसिंथ/प्रीसिंथ को परिभाषित करें
COREAHBLITE_LIB ./COREAHBLITE_LIB को परिभाषित करें
स्मार्टफ्यूजन2 को परिभाषित करें - एक hdl.var बनाएँ file जो एक वैकल्पिक विन्यास है file इसमें कॉन्फ़िगरेशन चर शामिल हैं, जो यह निर्धारित करता है कि आपका डिज़ाइन वातावरण कैसे कॉन्फ़िगर किया गया है। इसमे शामिल है:
- वेरिएबल जिनका उपयोग कार्य लाइब्रेरी को निर्दिष्ट करने के लिए किया जाता है जहां कंपाइलर संकलित वस्तुओं और अन्य व्युत्पन्न डेटा को संग्रहीत करता है।
- वेरिलॉग के लिए, चर (LIB_MAP, VIEW_MAP, WORK) जिनका उपयोग पुस्तकालयों को निर्दिष्ट करने के लिए किया जाता है viewजब विस्तृतकर्ता उदाहरणों का समाधान करता है तो खोजना होता है।
- वेरिएबल जो आपको कंपाइलर, विस्तारक और सिम्युलेटर कमांड-लाइन विकल्पों और तर्कों को परिभाषित करने की अनुमति देते हैं।
प्रीसिंथ सिमुलेशन के मामले में पूर्वampऊपर दिखाया गया है, मान लें कि हमारे पास 3 आरटीएल हैं files a.v, b.v, और testbench.v, जिन्हें क्रमशः प्रीसिंथ, COREAHBLITE_LIB और प्रीसिंथ लाइब्रेरीज़ में संकलित करने की आवश्यकता है। hdl.var file निम्नलिखित कोडब्लॉक में दिखाए अनुसार लिखा जा सकता है।
कार्य प्रस्तुतीकरण को परिभाषित करें
DEFINE PROJECT_DIR <स्थान files>
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/a.v => presynth )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/b.v => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
LIB_MAP को परिभाषित करें ($LIB_MAP, + => प्रीसिंथ) - डिज़ाइन संकलित करें fileएनसीवीलॉग विकल्प का उपयोग कर रहा हूं।
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - एनसेलैब का उपयोग करके डिज़ाइन को विस्तृत करें। विस्तारक डिज़ाइन में तात्कालिकता और कॉन्फ़िगरेशन जानकारी के आधार पर एक डिज़ाइन पदानुक्रम का निर्माण करता है, सिग्नल कनेक्टिविटी स्थापित करता है, और डिज़ाइन में सभी ऑब्जेक्ट के लिए प्रारंभिक मानों की गणना करता है। विस्तृत डिज़ाइन पदानुक्रम एक सिमुलेशन स्नैपशॉट में संग्रहीत किया जाता है, जो आपके डिज़ाइन का प्रतिनिधित्व करता है जिसे सिम्युलेटर सिमुलेशन चलाने के लिए उपयोग करता है।
एक्ससेलियम -संदेश -cdslib ./cds.lib -hdlvar ./hdl.var -लॉगfile ncelab.log –errormax 15 –
एक्सेस +आरडब्ल्यूसी-स्टेटस वर्कलिब। :मॉड्यूल
पोस्ट-लेआउट सिमुलेशन के दौरान विस्तार
पोस्ट-लेआउट सिमुलेशन के मामले में, पहले एसडीएफ file विस्तार से पहले ncsdfc कमांड का उपयोग करके संकलित करने की आवश्यकता है।
एक्सेलियम <fileनाम>.sdf-आउटपुट <fileनाम>.sdf.X
विस्तार के दौरान संकलित एसडीएफ आउटपुट का उपयोग -autosdf विकल्प के साथ करें जैसा कि निम्नलिखित कोडब्लॉक में दिखाया गया है।
xmelab -autosdf –संदेश –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log-errormax
15 -एक्सेस +आरडब्ल्यूसी -स्टेटस वर्कलिब। :मॉड्यूल -एसडीएफ_सीएमडी_file ./
sdf_cmd_file
Sdf_cmd_file निम्नलिखित कोडब्लॉक में दिखाए अनुसार होना चाहिए।
संकलित_एसडीएफ_FILE = “<संकलित एसडीएफ का स्थान file>” - एक्सेलियम का उपयोग करके अनुकरण करें। विस्तार के बाद एक सिमुलेशन स्नैपशॉट बनाया जाता है जिसे सिमुलेशन के लिए एक्ससेलियम द्वारा लोड किया जाता है। इसे बैच मोड या जीयूआई मोड में चलाया जा सकता है।
xmsim -संदेश -बैच/-gui -cdslib ./cds.lib -hdlvar ./hdl.var -logfile xmsim.log –
एररमैक्स 15 -स्टेटस वर्कलिब।:मॉड्यूल
कैडेंस एक्सेलियम सेटअप
महत्वपूर्ण: सभी संकलन, विस्तार और अनुकरण के उपरोक्त तीन चरणों को एक शेल स्क्रिप्ट में डाला जा सकता है file और कमांड-लाइन से प्राप्त किया गया। इन तीन चरणों का उपयोग करने के बजाय, डिज़ाइन को एक चरण में ncverilog या xrun विकल्प का उपयोग करके अनुकरण किया जा सकता है जैसा कि निम्नलिखित कोडब्लॉक में दिखाया गया है।
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <all RTL
fileइसका उपयोग डिज़ाइन> में किया जाता है
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <all RTL files
डिज़ाइन> में उपयोग किया जाता है
4.3.1 ज्ञात मुद्दे (प्रश्न पूछें)
टेस्टबेंच वर्कअराउंड
उपयोगकर्ता द्वारा उत्पन्न टेस्टबेंच या लिबरो SoC द्वारा उत्पन्न डिफ़ॉल्ट टेस्टबेंच में घड़ी की आवृत्ति निर्दिष्ट करने के लिए निम्नलिखित कथन का उपयोग करना Xcelium के साथ काम नहीं करता है।
सदैव @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
सिमुलेशन चलाने के लिए निम्नानुसार संशोधित करें:
हमेशा #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
महत्वपूर्ण: एक्ससेलियम के लिए संकलित लाइब्रेरीज़ प्लेटफ़ॉर्म विशिष्ट हैं (यानी 64 बिट लाइब्रेरीज़ 32 बिट प्लेटफ़ॉर्म के साथ संगत नहीं हैं और इसके विपरीत)।
MSS और SERDES का उपयोग करके पोस्टसिंथ और पोस्ट-लेआउट सिमुलेशन
एमएसएस ब्लॉक वाले डिजाइनों के पोस्टसिंथ सिमुलेशन, या एसईआरडीईएस का उपयोग करके डिजाइनों के पोस्ट-लेआउट सिमुलेशन चलाते समय, बीएफएम सिमुलेशन काम नहीं करते हैं यदि विस्तार के दौरान -लिबमैप विकल्प निर्दिष्ट नहीं किया गया है। ऐसा इसलिए है क्योंकि विस्तार के दौरान, एमएसएस को कार्य लाइब्रेरी से हल किया जाता है (डिफ़ॉल्ट बाइंडिंग और वर्कलिब पोस्टसिंथ/पोस्ट-लेआउट के कारण) जहां यह सिर्फ एक निश्चित फ़ंक्शन है।
SmartFusion2 पूर्व संकलित लाइब्रेरी से MSS ब्लॉक को हल करने के लिए ncelab कमांड को निम्नलिखित कोड ब्लॉक में दिखाए अनुसार लिखा जाना चाहिए।
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
और lib.map file इस प्रकार होना चाहिए:
कॉन्फ़िगरेशन cfg1;
डिज़ाइन ;
डिफ़ॉल्ट लिबलिस्ट स्मार्टफ्यूजन2 ;
एंडकॉन्फिग
कार्य लाइब्रेरी यानी पोस्टसिंथ/पोस्ट-लेआउट में देखने से पहले इसे स्मार्टफ्यूजन2 लाइब्रेरी में किसी भी सेल को हल करना होगा।
प्रत्येक सिमुलेशन (प्रीसिंथ, पोस्टसिंथ और पोस्ट-लेआउट) के लिए विस्तार के दौरान -लिबमैप विकल्प का उपयोग डिफ़ॉल्ट रूप से किया जा सकता है। यह पुस्तकालयों से उदाहरणों के समाधान के कारण उत्पन्न होने वाली सिमुलेशन समस्याओं से बचा जाता है।
xmelab: *F,INTERR: आंतरिक अपवाद
यह ncelab टूल अपवाद SmartFusion2 और IGLOO2 में FDDR वाले डिज़ाइन के लिए एक चेतावनी है
-लिबमैप विकल्प का उपयोग करके पोस्टसिंथ और पोस्ट-लेआउट सिमुलेशन के दौरान।
महत्वपूर्ण: इस समस्या की सूचना कैडेंस सपोर्ट टीम (SAR 52113) को दी गई है।
4.4 एसampले टीसीएल और शेल स्क्रिप्ट fileएस (प्रश्न पूछें)
निम्नलिखित files कॉन्फ़िगरेशन हैं fileडिज़ाइन और शेल स्क्रिप्ट स्थापित करने के लिए इसकी आवश्यकता है file एक्सेलियम कमांड चलाने के लिए।
Cds.lib
स्मार्टफ्यूजन2 को परिभाषित करें /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
COREAHBLITE_LIB ./COREAHBLITE_LIB को परिभाषित करें
प्रीसिंथ/प्रीसिंथ को परिभाषित करें
एचडीएल.var
कार्य प्रस्तुतीकरण को परिभाषित करें
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
वीलॉग/कोर/कोरहब्लाइट_मास्टर्सtagev => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
वीलॉग/कोर/कोरहब्लाइट_स्लेव्सtagev => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
प्रेसिंथ )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => प्रीसिंथ)
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => प्रीसिंथ)
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => प्रीसिंथ)
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => प्रीसिंथ)
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
प्रेसिंथ )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/घटक/कार्य/SB_HPMS/SB_HPMS.v => प्रीसिंथ)
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => प्रीसिंथ)
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/घटक/कार्य/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => प्रीसिंथ)
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
LIB_MAP को परिभाषित करें ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
LIB_MAP को परिभाषित करें ($LIB_MAP, + => प्रीसिंथ)
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -अद्यतन -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagआयु
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagआयु
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -संदेश -cdslib ./cds.lib -hdlvar ./hdl.var
-वर्क प्रीसिंथ -लॉगfile ncelab.log -errormax 15 -एक्सेस +rwc -status presynth.testbench:मॉड्यूल
एनसीसिम -मैसेज -बैच -सीडीएसलिब ./cds.lib -hdlvar ./
hdl.var -लॉगfile ncsim.log -errormax 15 -status presynth.testbench:मॉड्यूल
4.5 स्वचालन (माइक्रोचिप लॉगिन)
निम्नलिखित लिपि file मॉडलसिम run.do को कनवर्ट करता है fileकॉन्फ़िगरेशन में है fileXcelium का उपयोग करके सिमुलेशन चलाने के लिए इसकी आवश्यकता है।
लिखी हुई कहानी File प्रयोग
perl cadence_parser.pl presynth_run.do postynth_run.do
पोस्टलेआउट_रन.डो माइक्रोसेमी_फ़ैमिली
स्थान_ऑफ़_कैडेंस_प्रीकंपाइल्ड_लाइब्रेरीज़
कैडेंस_पार्सर.pl
#!/usr/bin/perl -w
############################################ #######################################
##################
#उपयोग: perl questa_parser.pl presynth_run.do postynth_run.do postlayout_run.do
माइक्रोसेमी_फ़ैमिली प्रीकंपिल्ड_लाइब्रेरीज़_लोकेशन#
############################################ #######################################
##################
POSIX का उपयोग करें;
सख्त उपयोग करें;
मेरा ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($पोस्टलेआउट, $परिवार, $lib_location);
उप प्रश्न_पार्सर {
मेरा $ModelSim_run_do = $_[0];
मेरा $actel_family = $_[1];
मेरा $lib_location = $_[2];
मेरा $राज्य;
यदि ( -e “$ModelSim_run_do” )
{
में खुलेगाFILE,”$ModelSim_run_do”);
मेरा @ModelSim_run_do = <INFILE>;
मेरी $ लाइन;
यदि ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
खोलें बाहर करेंFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$राज्य = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
खोलें बाहर करेंFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$राज्य = $1;
} elsif ($ModelSim_run_do =~ m/(पोस्टलेआउट)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
खोलें बाहर करेंFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$राज्य = $1;
} अन्य
{
“गलत इनपुट दिए गए” प्रिंट करें file\एन";
प्रिंट करें “#उपयोग: perl questa_parser.pl presynth_run.do postynth_run.do postlayout_run.do
\"पुस्तकालय_स्थान\"\n";
}
foreach $ लाइन (@ModelSim_run_do)
{
#सामान्य संचालन
$लाइन =~ s/..\/डिजाइनर.*सिमुलेशन\///g;
$लाइन =~ s/$state/$state\_questa/g;
#प्रिंट आउटFILE “$लाइन \n”;
अगर ($लाइन =~ m/vmap\s+.*($actel_family)/)
{
प्रिंट आउटFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$लाइन =~ एस/..\/घटक/..\/..\/घटक/जी;
प्रिंट आउटFILE “$लाइन \n”;
} एल्सीफ ($लाइन =~ एम/वीसिम/)
{
$लाइन =~ s/vsim/vsim -novopt/g;
प्रिंट आउटFILE “$लाइन \n”;
} अन्य
{
प्रिंट आउटFILE “$लाइन \n”;
}
}
छोटा होने लगनाFILE);
बंद करवानाFILE);
} अन्य {
प्रिंट करें “$ModelSim_run_do मौजूद नहीं है। सिमुलेशन फिर से चलाएँ \n";
}
}
सीमेंस क्वेस्टासिम सेटअप/मॉडलसिम सेटअप (प्रश्न पूछें)
भागो.करो fileमॉडलसिम माइक्रोसेमी एडिशन का उपयोग करके सिमुलेशन के लिए लिबरो एसओसी द्वारा उत्पन्न एस का उपयोग एकल परिवर्तन के साथ क्वेस्टासिम/मॉडलसिम एसई/डीई/पीई का उपयोग करके सिमुलेशन के लिए किया जा सकता है। मॉडलसिम एमई/मॉडलसिम प्रो एमई में run.do file, पूर्व संकलित पुस्तकालयों के स्थान को संशोधित करने की आवश्यकता है।
महत्वपूर्ण:
डिफ़ॉल्ट रूप से, मॉडलसिम प्रो एमई के अलावा अन्य सिमुलेशन टूल सिमुलेशन के दौरान डिज़ाइन अनुकूलन करता है जो डिज़ाइन ऑब्जेक्ट और इनपुट उत्तेजना जैसे सिमुलेशन कलाकृतियों में दृश्यता को प्रभावित कर सकता है।
यह आमतौर पर वर्बोज़, सेल्फ-चेकिंग टेस्टबेंच का उपयोग करके जटिल सिमुलेशन के लिए सिमुलेशन रनटाइम को कम करने में सहायक होता है। हालाँकि, डिफ़ॉल्ट अनुकूलन सभी सिमुलेशन के लिए उपयुक्त नहीं हो सकता है, खासकर ऐसे मामलों में जहां आप तरंग विंडो का उपयोग करके सिमुलेशन परिणामों का रेखांकन निरीक्षण करने की उम्मीद करते हैं।
इस अनुकूलन के कारण होने वाली समस्याओं का समाधान करने के लिए, आपको डिज़ाइन में दृश्यता बहाल करने के लिए सिमुलेशन के दौरान उचित आदेश और संबंधित तर्क जोड़ना होगा। उपकरण-विशिष्ट आदेशों के लिए, उपयोग में आने वाले सिम्युलेटर का दस्तावेज़ीकरण देखें।
5.1 पर्यावरण चर (प्रश्न पूछें)
निम्नलिखित आवश्यक पर्यावरण चर हैं।
- LM_LICENSE_FILE: लाइसेंस का पथ शामिल होना चाहिए file.
- MODEL_TECH: QuestaSim इंस्टालेशन के होम डायरेक्टरी स्थान के पथ की पहचान करनी चाहिए।
- पथ: MODEL_TECH द्वारा इंगित निष्पादन योग्य स्थान को इंगित करना चाहिए।
5.2 मेंटर क्वेस्टासिम के लिए run.do को कनवर्ट करना (प्रश्न पूछें)
भागो.करो fileमॉडलसिम माइक्रोसेमी संस्करणों का उपयोग करके सिमुलेशन के लिए लिबरो एसओसी द्वारा उत्पन्न एस का उपयोग एकल परिवर्तन के साथ क्वेस्टासिम/मॉडलसिम_एसई का उपयोग करके सिमुलेशन के लिए किया जा सकता है।
महत्वपूर्ण: सभी QuestaSim का उपयोग करके सिम्युलेटेड डिज़ाइन में -novopt शामिल होना चाहिए
run.do स्क्रिप्ट में vsim कमांड के साथ विकल्प files.
5.3 संकलित लाइब्रेरी डाउनलोड करें (प्रश्न पूछें)
मेंटर ग्राफ़िक्स क्वेस्टासिम के लिए माइक्रोसेमी से लाइब्रेरी डाउनलोड करें webसाइट।
सारांश वीसीएस सेटअप (प्रश्न पूछें)
माइक्रोसेमी द्वारा अनुशंसित प्रवाह वीसीएस में विस्तृत और संकलित प्रवाह पर निर्भर करता है। इस दस्तावेज़ में एक स्क्रिप्ट शामिल है file जो run.do स्क्रिप्ट का उपयोग करता है fileलिबरो एसओसी द्वारा उत्पन्न और सेटअप उत्पन्न करता है fileवीसीएस सिमुलेशन के लिए आवश्यक है। लिपि file run.do का उपयोग करता है file निम्नलिखित करने के लिए.
- लाइब्रेरी मैपिंग बनाएं file, जो synopsys_sim.setup का उपयोग करके किया जाता है file उसी निर्देशिका में स्थित है जहाँ VCS सिमुलेशन चल रहा है।
- एक शेल स्क्रिप्ट बनाएं file वीसीएस का उपयोग करके अपने डिज़ाइन को विस्तृत और संकलित करने के लिए।
6.1 पर्यावरण चर (प्रश्न पूछें)
अपने सेटअप के आधार पर वीसीएस के लिए उपयुक्त पर्यावरण चर सेट करें। वीसीएस दस्तावेज़ के अनुसार आवश्यक पर्यावरण चर हैं:
- LM_LICENSE_FILE: लाइसेंस सर्वर के लिए एक सूचक शामिल होना चाहिए।
- VCS_HOME: VCS स्थापना के होम निर्देशिका स्थान को इंगित करना चाहिए।
- पथ: VCS_HOME निर्देशिका के नीचे बिन निर्देशिका में एक सूचक शामिल होना चाहिए।
6.2 संकलित लाइब्रेरी डाउनलोड करें (प्रश्न पूछें)
माइक्रोसेमी से सिनोप्सिस वीसीएस के लिए लाइब्रेरी डाउनलोड करें webसाइट।
6.3 वीसीएस सिमुलेशन स्क्रिप्ट File (प्रश्न पूछें)
वीसीएस स्थापित करने और डिज़ाइन तैयार करने के बाद अलग-अलग run.do करें fileलिबरो एसओसी से, आपको यह करना होगा:
- लाइब्रेरी मैपिंग बनाएं file synopsys_sim.setup; यह file इसमें डिज़ाइन द्वारा उपयोग किए जाने वाले सभी पुस्तकालयों के स्थान के संकेतक शामिल हैं।
महत्वपूर्ण: द file नाम नहीं बदलना चाहिए और यह उसी निर्देशिका में स्थित होना चाहिए जहां सिमुलेशन चल रहा है। यहाँ एक पूर्व हैampऐसे के लिए ले file प्रीसिंथेसिस सिमुलेशन के लिए।
कार्य > परिणाम
स्मार्टफ्यूजन2:
प्रीसिंथ : ./प्रीसिंथ
डिफ़ॉल्ट: ./कार्य - विभिन्न डिज़ाइन को विस्तृत करें fileवीसीएस में व्लॉगन कमांड का उपयोग करते हुए, टेस्टबेंच सहित। इन आदेशों को शेल स्क्रिप्ट में शामिल किया जा सकता है file. निम्नलिखित एक पूर्व हैampकुछ कमांड जो rtl.v में परिभाषित डिज़ाइन को उसके टेस्टबेंच के साथ विस्तृत करने के लिए आवश्यक हैं
testbench.v.
व्लॉगन +v2k -वर्क प्रीसिंथ rtl.v
व्लॉगन +v2k -वर्क प्रीसिंथ testbench.v - निम्नलिखित कमांड का उपयोग करके वीसीएस का उपयोग करके डिज़ाइन संकलित करें।
vcs –sim_res=1fs presynth.testbench
ध्यान दें सही कार्यात्मक सिमुलेशन के लिए सिमुलेशन का समय रिज़ॉल्यूशन 1fs पर सेट किया जाना चाहिए। - एक बार डिज़ाइन संकलित हो जाने पर, निम्नलिखित कमांड का उपयोग करके सिमुलेशन प्रारंभ करें।
./सिमव - बैक-एनोटेटेड सिमुलेशन के लिए, वीसीएस कमांड निम्नलिखित कोडब्लॉक में दिखाए अनुसार होना चाहिए।
vcs postlayout.testbench –sim_res=1fs –sdf max:.<DUT उदाहरण
नाम>:<sdf file पथ> -गुई -एल पोस्टलेआउट.लॉग
6.4 सीमाएँ/अपवाद (प्रश्न पूछें)
Synopsys VCS सेटअप की सीमाएँ/अपवाद निम्नलिखित हैं।
- वीसीएस सिमुलेशन केवल लिबरो एसओसी की वेरिलॉग परियोजनाओं के लिए चलाया जा सकता है। वीसीएस सिम्युलेटर में सख्त वीएचडीएल भाषा आवश्यकताएं हैं जो लिबरो एसओसी ऑटो-जेनरेटेड वीएचडीएल द्वारा पूरी नहीं की जाती हैं files.
- जब भी आप चाहें सिमुलेशन को रोकने के लिए आपके पास वेरिलॉग टेस्टबेंच में $finish स्टेटमेंट होना चाहिए।
महत्वपूर्ण: कब सिमुलेशन जीयूआई मोड में चलाए जाते हैं, रन टाइम जीयूआई में निर्दिष्ट किया जा सकता है।
6.5 एसampले टीसीएल और शैल स्क्रिप्ट Fileएस (प्रश्न पूछें)
निम्नलिखित पर्ल synopsys_sim.setup की पीढ़ी को स्वचालित करता है file साथ ही संबंधित शेल स्क्रिप्ट भी fileडिज़ाइन को विस्तृत करने, संकलित करने और अनुकरण करने की आवश्यकता है।
यदि डिज़ाइन एमएसएस का उपयोग करता है, तो test.vec की प्रतिलिपि बनाएँ file लिबरो एसओसी प्रोजेक्ट के सिमुलेशन फ़ोल्डर में वीसीएस सिमुलेशन फ़ोल्डर में स्थित है। निम्नलिखित अनुभागों में एस शामिल हैंampले run.do fileलिबरो एसओसी द्वारा उत्पन्न, जिसमें संबंधित लाइब्रेरी मैपिंग और शेल स्क्रिप्ट शामिल है fileवीसीएस सिमुलेशन के लिए आवश्यक है।
6.5.1 पूर्व-संश्लेषण (प्रश्न पूछें)
Presynth_run.do
चुपचाप ACTELLIBNAME SmartFusion2 सेट करें
चुपचाप PROJECT_DIR "/sqa/users/me/VCS_Tests/Test_DFF" सेट करें
अगर {[file मौजूद है presynth/_info]} {
इको "जानकारी: सिमुलेशन लाइब्रेरी प्रीसिंथ पहले से मौजूद है"
} अन्य {
वीलिब प्रीसिंथ
}
वीमैप प्रीसिंथ प्रीसिंथ
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
वीलॉग -वर्क प्रीसिंथ "${PROJECT_DIR}/component/work/SD1/SD1.v"
व्लॉग “+incdir+${PROJECT_DIR}/stimulus” -वर्क प्रीसिंथ “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
तरंग जोड़ें /SD1_TB1/*
लॉग जोड़ें -r /*
1000ns चलाएँ
presynth_main.csh
#!/बिन/csh -f
PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF" सेट करें
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -वर्क प्रीसिंथ “${PROJECT_DIR}/component/
कार्य/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -कार्य
प्रीसिन्थ “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs presynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
कार्य > डिफ़ॉल्ट
स्मार्टफ्यूजन2 : /वीसीएस/स्मार्टफ्यूजन2
प्रीसिंथ : ./प्रीसिंथ
डिफ़ॉल्ट: ./कार्य
6.5.2 पोस्ट-संश्लेषण (प्रश्न पूछें)
postynth_run.do
चुपचाप ACTELLIBNAME SmartFusion2 सेट करें
चुपचाप PROJECT_DIR "/sqa/users/Me/VCS_Tests/Test_DFF" सेट करें
अगर {[file पोस्टसिंथ/_जानकारी मौजूद है]} {
इको "जानकारी: सिमुलेशन लाइब्रेरी पोस्टसिंथ पहले से मौजूद है"
} अन्य {
वीलिब पोस्टसिंथ
}
वीमैप पोस्टसिंथ पोस्टसिंथ
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
स्मार्टफ्यूजन2"
वीलॉग -वर्क पोस्टसिंथ "${PROJECT_DIR}/सिंथेसिस/SD1.v"
व्लॉग “+incdir+${PROJECT_DIR}/stimulus” -वर्क पोस्टसिंथ “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L पोस्टसिंथ -t 1fs पोस्टसिंथ.SD1_TB1
तरंग जोड़ें /SD1_TB1/*
लॉग जोड़ें -r /*
1000ns चलाएँ
लॉग SD1_TB1/*
बाहर निकलना
Postsynth_main.csh
#!/बिन/csh -f
PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF" सेट करें
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -वर्क पोस्टसिंथ “${PROJECT_DIR}/सिंथेसिस/
SD1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -कार्य
पोस्टसिंथ “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
कार्य > डिफ़ॉल्ट
स्मार्टफ्यूजन2 : /वीसीएस/स्मार्टफ्यूजन2
पोस्टसिंथ: ./पोस्टसिंथ
डिफ़ॉल्ट: ./कार्य
6.5.3 पोस्ट-लेआउट (प्रश्न पूछें)
पोस्टलेआउट_रन.डो
चुपचाप ACTELLIBNAME SmartFusion2 सेट करें
चुपचाप PROJECT_DIR "E:/ModelSim_Work/Test_DFF" सेट करें
अगर {[file मौजूद है ../डिजाइनर/एसडी1/सिमुलेशन/पोस्टलेआउट/_जानकारी]} {
इको "जानकारी: सिमुलेशन लाइब्रेरी ../डिजाइनर/एसडी1/सिमुलेशन/पोस्टलेआउट पहले से मौजूद है"
} अन्य {
vlib ../डिजाइनर/एसडी1/सिमुलेशन/पोस्टलेआउट
}
वीमैप पोस्टलेआउट ../डिजाइनर/एसडी1/सिमुलेशन/पोस्टलेआउट
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
स्मार्टफ्यूजन2"
वीलॉग -वर्क पोस्टलेआउट "${PROJECT_DIR}/डिजाइनर/SD1/SD1_ba.v"
वीलॉग “+incdir+${PROJECT_DIR}/stimulus” -कार्य पोस्टलेआउट “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L पोस्टलेआउट -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/डिजाइनर/SD1/
SD1_ba.sdf पोस्टलेआउट.SD1_TB1
तरंग जोड़ें /SD1_TB1/*
लॉग जोड़ें -r /*
1000ns चलाएँ
Postlayout_main.csh
#!/बिन/csh -f
PROJECT_DIR = "/VCS_Tests/Test_DFF" सेट करें
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -वर्क पोस्टलेआउट “${PROJECT_DIR}/
डिज़ाइनर/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -कार्य
पोस्टलेआउट “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs पोस्टलेआउट.SD1_TB1 -sdf
max:SD1_TB1.SD1_0:${PROJECT_DIR}/designer/SD1/SD1_ba.sdf -l compile.log
./simv -l run.log
Synopsys_sim.setup
कार्य > डिफ़ॉल्ट
स्मार्टफ्यूजन2 : /वीसीएस/स्मार्टफ्यूजन2
पोस्टलेआउट : ./पोस्टलेआउट
डिफ़ॉल्ट: ./workVCS
6.6 स्वचालन (प्रश्न पूछें)
निम्न पर्ल स्क्रिप्ट का उपयोग करके प्रवाह को स्वचालित किया जा सकता है file मॉडलसिम run.do को कनवर्ट करने के लिए fileवीसीएस संगत शेल स्क्रिप्ट में है files, लिबरो SoC सिमुलेशन निर्देशिका के अंदर उचित निर्देशिकाएँ बनाएँ, और फिर सिमुलेशन चलाएँ।
स्क्रिप्ट चलाएँ file निम्नलिखित वाक्यविन्यास का उपयोग करना।
पर्ल vcs_parse.pl presynth_run.do पोस्टसिंथ_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
############################################ #########################
#
#उपयोग: perl vcs_parse.pl presynth_run.do postynth_run.do postlayout_run.do
#
############################################ ##########################
मेरा ($प्रीसिंथ, $पोस्टसिंथ, $पोस्टलेआउट) = @ARGV;
यदि(सिस्टम(“mkdir VCS_Presynth”)) {प्रिंट “mkdir विफल:\n”;}
यदि(सिस्टम(“mkdir VCS_Postsynth”)) {प्रिंट “mkdir विफल:\n”;}
यदि(सिस्टम(“mkdir VCS_Postlayout”)) {प्रिंट “mkdir विफल:\n”;}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .` ;
&parse_do($presynth,"presynth");
chdir ("../");
chdir(VCS_Postsynth);
`cp ../$ARGV[1] .` ;
&parse_do($postsynth,'postsynth');
chdir ("../");
chdir(VCS_Postlayout);
`cp ../$ARGV[2] .` ;
&parse_do($पोस्टलेआउट,"पोस्टलेआउट");
chdir ("../");
उप पार्स_दो {
मेरा $vlog = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k”;
मेरा %LIB = ();
मेरा $file = $_[0] ;
मेरा $state = $_[1];
में खुलेगाFILE,”$file”)|| मरो “खुल नहीं सकता File कारण हो सकता है:$!”;
यदि ($state eq "presynth")
{
open(OUT1,”>presynth_main.csh”) || मरो “कमांड नहीं बना सकता File कारण हो सकता है:$!”;
}
एल्सिफ़ ($ राज्य eq "पोस्टसिंथ")
{
open(OUT1,”>postsynth_main.csh”) || मरो “कमांड नहीं बना सकता File कारण हो सकता है:$!”;
}
एल्सिफ़ ($state eq "पोस्टलेआउट")
{
open(OUT1,”>postlayout_main.csh”) || मरो “कमांड नहीं बना सकता File कारण हो सकता है:$!”;
}
अन्य
{
प्रिंट करें “सिमुलेशन स्थिति गायब है \n”;
}
open(OUT2,”>synopsys_sim.setup”) || मरो “कमांड नहीं बना सकता File कारण हो सकता है:$!”;
# .csh file
प्रिंट आउट1 “#!/bin/csh -f\n\n\n” ;
#स्थापित करना FILE
प्रिंट आउट2 "कार्य > डिफ़ॉल्ट\n" ;
प्रिंट आउट2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
जबकि ($लाइन = <INFILE>)
{
सिनोप्सिस वीसीएस सेटअप
अगर ($लाइन =~ एम/चुपचाप सेट PROJECT_DIR\s+\"(.*?)\"/)
{
प्रिंट आउट1 “set PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ($line =~ m/vlog.*\.v\”/ )
{
यदि ($लाइन =~ m/\s+(\w*?)\_LIB/)
{
#प्रिंट “\$1 =$1 \n” ;
$temp = “$1″।”_LIB”;
#प्रिंट "अस्थायी = $तापमान \n" ;
$LIB{$temp}++;
}
चॉम्प ($ लाइन);
$लाइन =~ s/^vlog/$vlog/ ;
$लाइन =~ एस///जी;
प्रिंट आउट1 “$लाइन\n”;
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$टीबी = $1 ;
$tb =~ s/ //g;
चॉम्प($टीबी);
#प्रिंट "टीबी नाम: $tb \n";
यदि ($ लाइन = ~ m/sdf(.*)\.sdf/)
{
चॉम्प ($ लाइन);
$लाइन = $1 ;
#प्रिंट "लाइन : $लाइन \n" ;
यदि ($लाइन =~ मी/अधिकतम/)
{
$लाइन =~ एस/अधिकतम \/// ;
$लाइन =~ एस/=/:/;
प्रिंट आउट1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs पोस्टलेआउट.$tb -sdf
अधिकतम:$tb.$line.sdf -l compile.log\n" ;
}
एल्सिफ़ ($लाइन =~ मी/मिनट/)
{
$लाइन =~ सेकंड/मिनट \/// ;
$लाइन =~ एस/=/:/;
प्रिंट आउट1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs पोस्टलेआउट.$tb -sdf
min:$tb.$line.sdf -l compile.log\n" ;
}
एल्सिफ़ ($लाइन =~एम/टाइप/)
{
$लाइन =~ एस/टाइप \/// ;
$लाइन =~ एस/=/:/;
प्रिंट आउट1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs पोस्टलेआउट.$tb -sdf
टाइप:$tb.$line.sdf -l compile.log\n" ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/डिजाइनर/M3_FIC32/M3_FIC32_ba.sdf — मॉडलसिम एसडीएफ प्रारूप
#$sdf = “-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -वीसीएस
एसडीएफ प्रारूप
}
}
}
छपाई
OUT1 "\n\n"
;
if
($ राज्य eq "प्रीसिंथ"
)
{
छपाई
OUT2 “प्रीसिंथ
: ./presynth\n"
;
छपाई
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
संकलन.लॉग\n"
;
}
एल्सिफ
($ राज्य eq "पोस्टसिंथ"
)
{
छपाई
OUT2 “पोस्टसिंथ
: ./पोस्टसिंथ\n"
;
छपाई
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs पोस्टसिंथ.$tb -l
संकलन.लॉग\n"
;
}
एल्सिफ
($state eq "पोस्टलेआउट"
)
{
प्रिंट आउट2 "पोस्टलेआउट : ./पोस्टलेआउट\n" ;
}
अन्य
{
प्रिंट करें “सिमुलेशन स्थिति गायब है \n”;
}
foreach $i (कुंजियाँ %LIB)
{
#प्रिंट "कुंजी: $i मान: $LIB{$i} \n" ;
प्रिंट आउट2 “$i : ./$i\n” ;
}
प्रिंट आउट1 “\n\n” ;
प्रिंट आउट1 “./simv -l run.log\n” ;
प्रिंट आउट2 "डिफ़ॉल्ट : ./work\n" ;
छोटा होने लगनाFILE;
बंद करें OUT1;
बंद करें OUT2;
}
संशोधन इतिहास (माइक्रोचिप लॉगिन
संशोधन इतिहास दस्तावेज़ में लागू किए गए परिवर्तनों का वर्णन करता है। परिवर्तन
नवीनतम प्रकाशन से शुरू करके, संशोधन द्वारा सूचीबद्ध किया गया है।
दोहराव | तारीख | विवरण |
A | 12/2023 | इस संशोधन में निम्नलिखित परिवर्तन किए गए हैं: • दस्तावेज़ को माइक्रोचिप टेम्पलेट में परिवर्तित किया गया। प्रारंभिक संशोधन. • अद्यतन अनुभाग 5। सीमेंस क्वेस्टासिम सेटअप/मॉडलसिम सेटअप में एक नया नोट शामिल किया जाएगा जो सिमुलेशन और अनुकूलन के दौरान दृश्यता पर प्रभाव को समझाएगा। |
माइक्रोचिप एफपीजीए समर्थन
माइक्रोचिप एफपीजीए उत्पाद समूह ग्राहक सेवा, ग्राहक तकनीकी सहायता केंद्र सहित विभिन्न सहायता सेवाओं के साथ अपने उत्पादों का समर्थन करता है webसाइट, और विश्वव्यापी बिक्री कार्यालय।
ग्राहकों को समर्थन से संपर्क करने से पहले माइक्रोचिप ऑनलाइन संसाधनों पर जाने का सुझाव दिया जाता है क्योंकि यह बहुत संभावना है कि उनके प्रश्नों का उत्तर पहले ही दे दिया गया है।
के माध्यम से तकनीकी सहायता केंद्र से संपर्क करें webसाइट पर www.microchip.com/support. FPGA डिवाइस पार्ट नंबर का उल्लेख करें, उपयुक्त केस श्रेणी का चयन करें, और डिज़ाइन अपलोड करें files तकनीकी सहायता मामला बनाते समय।
गैर-तकनीकी उत्पाद समर्थन के लिए ग्राहक सेवा से संपर्क करें, जैसे उत्पाद मूल्य निर्धारण, उत्पाद उन्नयन, अद्यतन जानकारी, ऑर्डर की स्थिति और प्राधिकरण।
- उत्तरी अमेरिका से, 800.262.1060 पर कॉल करें
- बाकी दुनिया से, 650.318.4460 पर कॉल करें
- दुनिया में कहीं से भी फ़ैक्स करें, 650.318.8044
माइक्रोचिप सूचना
माइक्रोचिप Webसाइट
माइक्रोचिप हमारे माध्यम से ऑनलाइन समर्थन प्रदान करता है webसाइट पर www.microchip.com/। यह webसाइट बनाने के लिए प्रयोग किया जाता है fileग्राहकों के लिए आसानी से उपलब्ध जानकारी और जानकारी। उपलब्ध सामग्री में से कुछ में शामिल हैं:
- उत्पाद समर्थन - डेटा शीट और इरेटा, एप्लिकेशन नोट्स और एसampसॉफ्टवेयर प्रोग्राम, डिजाइन संसाधन, उपयोगकर्ता गाइड और हार्डवेयर समर्थन दस्तावेज, नवीनतम सॉफ्टवेयर रिलीज और संग्रहीत सॉफ्टवेयर
- सामान्य तकनीकी सहायता - अक्सर पूछे जाने वाले प्रश्न (एफएक्यू), तकनीकी सहायता अनुरोध, ऑनलाइन चर्चा समूह, माइक्रोचिप डिज़ाइन पार्टनर प्रोग्राम सदस्य सूची
- माइक्रोचिप का व्यवसाय - उत्पाद चयनकर्ता और ऑर्डरिंग गाइड, नवीनतम माइक्रोचिप प्रेस विज्ञप्ति, सेमिनार और घटनाओं की सूची, माइक्रोचिप बिक्री कार्यालयों, वितरकों और कारखाने के प्रतिनिधियों की सूची।
उत्पाद परिवर्तन अधिसूचना सेवा
माइक्रोचिप की उत्पाद परिवर्तन अधिसूचना सेवा ग्राहकों को माइक्रोचिप उत्पादों पर नवीनतम रखने में मदद करती है। जब भी किसी निर्दिष्ट उत्पाद परिवार या रुचि के विकास उपकरण से संबंधित परिवर्तन, अपडेट, संशोधन या इरेटा होते हैं, तो सदस्य ईमेल सूचना प्राप्त करेंगे।
पंजीकरण के लिए, यहां जाएं www.microchip.com/पीसीएन करें और पंजीकरण निर्देशों का पालन करें।
ग्राहक सहेयता
माइक्रोचिप उत्पादों के उपयोगकर्ता कई माध्यमों से सहायता प्राप्त कर सकते हैं:
- वितरक या प्रतिनिधि
- स्थानीय बिक्री कार्यालय
- एंबेडेड सॉल्यूशंस इंजीनियर (ESE)
- तकनीकी समर्थन
ग्राहकों को सहायता के लिए अपने वितरक, प्रतिनिधि या ईएसई से संपर्क करना चाहिए। स्थानीय बिक्री कार्यालय भी ग्राहकों की मदद के लिए उपलब्ध हैं। बिक्री कार्यालयों और स्थानों की सूची इस दस्तावेज़ में शामिल है।
तकनीकी सहायता के माध्यम से उपलब्ध है webसाइट पर: www.microchip.com/support
माइक्रोचिप डिवाइस कोड सुरक्षा सुविधा
माइक्रोचिप उत्पादों पर कोड सुरक्षा सुविधा के निम्नलिखित विवरण पर ध्यान दें:
- माइक्रोचिप उत्पाद उनके विशेष माइक्रोचिप डेटा शीट में निहित विनिर्देशों को पूरा करते हैं।
- माइक्रोचिप का मानना है कि उसके उत्पादों का परिवार सुरक्षित है, जब उनका उपयोग इच्छित तरीके से, परिचालन विनिर्देशों के भीतर और सामान्य परिस्थितियों में किया जाए।
- माइक्रोचिप मूल्यों और आक्रामक रूप से अपने बौद्धिक संपदा अधिकारों की रक्षा करता है। माइक्रोचिप उत्पाद की कोड सुरक्षा सुविधाओं को भंग करने का प्रयास सख्त वर्जित है और यह डिजिटल मिलेनियम कॉपीराइट एक्ट का उल्लंघन कर सकता है।
- न तो माइक्रोचिप और न ही कोई अन्य सेमीकंडक्टर निर्माता अपने कोड की सुरक्षा की गारंटी दे सकता है। कोड सुरक्षा का मतलब यह नहीं है कि हम उत्पाद के "अटूट" होने की गारंटी दे रहे हैं।
कोड संरक्षण लगातार विकसित हो रहा है। माइक्रोचिप हमारे उत्पादों की कोड सुरक्षा सुविधाओं में लगातार सुधार करने के लिए प्रतिबद्ध है।
कानूनी नोटिस
इस प्रकाशन और यहां दी गई जानकारी का उपयोग केवल माइक्रोचिप उत्पादों के साथ किया जा सकता है, जिसमें माइक्रोचिप उत्पादों को आपके आवेदन के साथ डिजाइन, परीक्षण और एकीकृत करना शामिल है। इस जानकारी का किसी अन्य तरीके से उपयोग करना इन शर्तों का उल्लंघन करता है। डिवाइस एप्लिकेशन के बारे में जानकारी केवल आपकी सुविधा के लिए प्रदान की जाती है और इसे अपडेट द्वारा प्रतिस्थापित किया जा सकता है। यह सुनिश्चित करना आपकी जिम्मेदारी है कि आपका आवेदन आपके विनिर्देशों के अनुरूप है। अतिरिक्त सहायता के लिए अपने स्थानीय माइक्रोचिप बिक्री कार्यालय से संपर्क करें या अतिरिक्त सहायता प्राप्त करें www.microchip.com/en-us/support/design-help/client-support-services.
यह जानकारी माइक्रोचिप द्वारा “जैसी है वैसी ही” प्रदान की गई है। माइक्रोचिप इस जानकारी से संबंधित किसी भी प्रकार का कोई प्रतिनिधित्व या वारंटी नहीं देता है, चाहे वह व्यक्त हो या निहित, लिखित या मौखिक, वैधानिक या अन्यथा, जिसमें गैर-उल्लंघन, व्यापारिकता और किसी विशेष उद्देश्य के लिए उपयुक्तता की निहित वारंटी या इसकी स्थिति, गुणवत्ता या प्रदर्शन से संबंधित वारंटी शामिल हैं, लेकिन इन्हीं तक सीमित नहीं हैं।
किसी भी स्थिति में माइक्रोचिप किसी भी प्रकार के अप्रत्यक्ष, विशेष, दंडात्मक, आकस्मिक या परिणामी नुकसान, क्षति, लागत या व्यय के लिए उत्तरदायी नहीं होगी, चाहे वह किसी भी कारण से हुई हो, भले ही माइक्रोचिप को इस संभावना के बारे में सूचित किया गया हो या नुकसान का पूर्वानुमान लगाया जा सकता हो। कानून द्वारा अनुमत पूर्ण सीमा तक, सूचना या इसके उपयोग से संबंधित किसी भी तरह के सभी दावों पर माइक्रोचिप की कुल देयता उस शुल्क की राशि से अधिक नहीं होगी, यदि कोई हो, जिसे आपने सूचना के लिए माइक्रोचिप को सीधे भुगतान किया है।
जीवन रक्षक और/या सुरक्षा अनुप्रयोगों में माइक्रोचिप उपकरणों का उपयोग पूरी तरह से खरीदार के जोखिम पर है, और खरीदार ऐसे उपयोग से होने वाले किसी भी और सभी नुकसानों, दावों, मुकदमों या खर्चों से माइक्रोचिप को बचाने, क्षतिपूर्ति करने और हानिरहित रखने के लिए सहमत है। जब तक अन्यथा न कहा जाए, किसी भी माइक्रोचिप बौद्धिक संपदा अधिकारों के तहत कोई लाइसेंस, निहित रूप से या अन्यथा, नहीं दिया जाता है।
ट्रेडमार्क
माइक्रोचिप नाम और लोगो, माइक्रोचिप लोगो, एडाप्टेक, एवीआर, एवीआर लोगो, एवीआर फ्रीक्स, बेसटाइम, बिटक्लाउड, क्रिप्टोमेमोरी, क्रिप्टोआरएफ, डीएसपीआईसी, फ्लेक्सपीडब्ल्यूआर, हेल्डो, इग्लू, ज्यूकब्लॉक्स, कीलोक, क्लीयर, लैनचेक, लिंकएमडी, मैक्सस्टाइलस, मैक्सटच, MediaLB, मेगाएवीआर, माइक्रोसेमी, माइक्रोसेमी लोगो, MOST, MOST लोगो, MPLAB, OptoLyzer, PIC, पिकोपावर, PICSTART, PIC32 लोगो, पोलरफायर, प्रोचिप डिज़ाइनर, क्यूटच, SAM-BA, सेनजेन्युटी, स्पाईएनआईसी, SST, SST लोगो, सुपरफ्लैश, सिमेट्रिकॉम , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, और XMEGA संयुक्त राज्य अमेरिका और अन्य देशों में माइक्रोचिप टेक्नोलॉजी इनकॉर्पोरेटेड के पंजीकृत ट्रेडमार्क हैं।
AgileSwitch, APT, क्लॉकवर्क्स, द एंबेडेड कंट्रोल सॉल्यूशंस कंपनी, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus logo, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, और ZL USA में शामिल माइक्रोचिप टेक्नोलॉजी के पंजीकृत ट्रेडमार्क हैं।
आसन्न कुंजी दमन, AKS, एनालॉग-फॉर-द-डिजिटल युग, कोई भी संधारित्र, AnyIn, AnyOut, संवर्धित स्विचिंग, BlueSky, BodyCom, क्लॉकस्टडियो, कोडगार्ड, क्रिप्टो प्रमाणीकरण, क्रिप्टोऑटोमोटिव, क्रिप्टोकंपेनियन, क्रिप्टो नियंत्रक, dsPICDEM, dsPICDEM.net, गतिशील औसत मिलान , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, इन-सर्किट सीरियल प्रोग्रामिंग, ICSP, INICnet, इंटेलिजेंट पैरेललिंग, IntelliMOS, इंटर-चिप कनेक्टिविटी, जिटरब्लॉकर, नॉब-ऑन-डिस्प्ले, KoD, maxCrypto, maxView, मेमब्रेन, मिंडी, MiWi, MPASM, MPF, MPLAB प्रमाणित लोगो, MPLIB, MPLINK, मल्टीट्रैक, नेटडिटैच, सर्वज्ञ कोड जनरेशन, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, Real ICE, Ripple Blocker, RTAX, RTG4, SAMICE, सीरियल क्वाड I/O, SimpleMAP, SimplePHY, SmartBuffer, SmartHLS, SMART-I.S., storClad, SQI, SuperSwitcher,
सुपरस्विचर II, स्विचटेक, सिंक्रोपीएचवाई, टोटल एंड्योरेंस, विश्वसनीय समय, टीएसएचएआरसी, यूएसबीचेक, वेरिसेंस, वेक्टरब्लॉक्स, वेरीपीएचवाई, Viewस्पैन, वाइपरलॉक, एक्सप्रेसकनेक्ट और ज़ेना माइक्रोचिप टेक्नोलॉजी इनकॉर्पोरेटेड के ट्रेडमार्क हैं
यू.एस.ए. और अन्य देशों में।
एसक्यूटीपी अमेरिका में माइक्रोचिप टेक्नोलॉजी इनकॉर्पोरेटेड का एक सेवा चिह्न है
एडाप्टेक लोगो, फ़्रीक्वेंसी ऑन डिमांड, सिलिकॉन स्टोरेज टेक्नोलॉजी और सिम्मकॉम अन्य देशों में माइक्रोचिप टेक्नोलॉजी इंक के पंजीकृत ट्रेडमार्क हैं।
गेस्टिक (GestIC) माइक्रोचिप टेक्नोलॉजी जर्मनी II GmbH & Co. KG का पंजीकृत ट्रेडमार्क है, जो अन्य देशों में माइक्रोचिप टेक्नोलॉजी इंक की सहायक कंपनी है।
यहां उल्लिखित अन्य सभी ट्रेडमार्क उनकी संबंधित कंपनियों की संपत्ति हैं।
© 2023, माइक्रोचिप टेक्नोलॉजी इनकॉर्पोरेटेड और इसकी सहायक कंपनियां। सर्वाधिकार सुरक्षित।
ISBN: 978-1-6683-3694-6
गुणवत्ता प्रबंधन प्रणाली
माइक्रोचिप की गुणवत्ता प्रबंधन प्रणालियों के बारे में जानकारी के लिए कृपया देखें www.microchip.com/quality.
अमेरिका की | एशिया/प्रशांत | एशिया/प्रशांत | यूरोप |
कॉर्पोरेट कार्यालय 2355 वेस्ट चांडलर बुलेवार्ड। चांडलर, AZ 85224-6199 दूरभाष: 480-792-7200 फैक्स: 480-792-7277 तकनीकी समर्थन: www.microchip.com/support Web पता: www.माइक्रोचिप.कॉम अटलांटा डुलुथ, जीए दूरभाष: 678-957-9614 फैक्स: 678-957-1455 ऑस्टिन, टेक्सास दूरभाष: 512-257-3370 बोस्टान वेस्टबोरो, एमए दूरभाष: 774-760-0087 फैक्स: 774-760-0088 शिकागो इटास्का, आईएल दूरभाष: 630-285-0071 फैक्स: 630-285-0075 डलास एडिसन, TX दूरभाष: 972-818-7423 फैक्स: 972-818-2924 डेट्रायट नोवी, एमआई दूरभाष: 248-848-4000 हस्टन, टेक्सस दूरभाष: 281-894-5983 इंडियानापोलिस नोबल्सविले, IN दूरभाष: 317-773-8323 फैक्स: 317-773-5453 दूरभाष: 317-536-2380 लॉस एंजिल्स मिशन विएजो, CA दूरभाष: 949-462-9523 फैक्स: 949-462-9608 दूरभाष: 951-273-7800 रैले, एनसी दूरभाष: 919-844-7510 न्यूयॉर्क, NY दूरभाष: 631-435-6000 सैन जोस, CA दूरभाष: 408-735-9110 दूरभाष: 408-436-4270 कनाडा – टोरंटो दूरभाष: 905-695-1980 फैक्स: 905-695-2078 |
ऑस्ट्रेलिया – सिडनी टेलीफ़ोन: 61-2-9868-6733 चीन – बीजिंग टेलीफ़ोन: 86-10-8569-7000 चीन - चेंगदू टेलीफ़ोन: 86-28-8665-5511 चीन – चोंग्किंग टेलीफ़ोन: 86-23-8980-9588 चीन - डोंगगुआन टेलीफ़ोन: 86-769-8702-9880 चीन – गुआंगज़ौ टेलीफ़ोन: 86-20-8755-8029 चीन - हांग्जो टेलीफ़ोन: 86-571-8792-8115 चीन - हांगकांग सारा टेलीफ़ोन: 852-2943-5100 चीन - नानजिंग टेलीफ़ोन: 86-25-8473-2460 चीन - क़िंगदाओ टेलीफ़ोन: 86-532-8502-7355 चीन – शंघाई टेलीफ़ोन: 86-21-3326-8000 चीन - शेनयांग टेलीफ़ोन: 86-24-2334-2829 चीन - शेन्ज़ेन टेलीफ़ोन: 86-755-8864-2200 चीन - सूज़ौ टेलीफ़ोन: 86-186-6233-1526 चीन - वुहान टेलीफ़ोन: 86-27-5980-5300 चीन - जियान टेलीफ़ोन: 86-29-8833-7252 चीन - ज़ियामेन टेलीफ़ोन: 86-592-2388138 चीन - झुहाई टेलीफ़ोन: 86-756-3210040 |
भारत – बैंगलोर टेलीफ़ोन: 91-80-3090-4444 भारत - नई दिल्ली टेलीफ़ोन: 91-11-4160-8631 भारत - पुणे टेलीफ़ोन: 91-20-4121-0141 जापान - ओसाकाओ टेलीफ़ोन: 81-6-6152-7160 जापान – टोक्यो दूरभाष: 81-3-6880- 3770 कोरिया - डेगू टेलीफ़ोन: 82-53-744-4301 कोरिया - सियोल टेलीफ़ोन: 82-2-554-7200 मलेशिया - कुआलालंपुर टेलीफ़ोन: 60-3-7651-7906 मलेशिया - पिनांगू टेलीफ़ोन: 60-4-227-8870 फिलीपींस – मनीला टेलीफ़ोन: 63-2-634-9065 सिंगापुर टेलीफ़ोन: 65-6334-8870 ताइवान - सीन चुउ टेलीफ़ोन: 886-3-577-8366 ताइवान — काऊशुंग टेलीफ़ोन: 886-7-213-7830 ताइवान — ताइपे टेलीफ़ोन: 886-2-2508-8600 थाईलैंड – बैंकॉक टेलीफ़ोन: 66-2-694-1351 वियतनाम - हो ची मिन्हो टेलीफ़ोन: 84-28-5448-2100 |
ऑस्ट्रिया - वेल्सो टेलीफ़ोन: 43-7242-2244-39 फैक्स: 43-7242-2244-393 डेनमार्क – कोपेनहेगन टेलीफ़ोन: 45-4485-5910 फैक्स: 45-4485-2829 फ़िनलैंड — एस्पू टेलीफ़ोन: 358-9-4520-820 फ़्रांस – पेरिस Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 जर्मनी – गार्चिंग टेलीफ़ोन: 49-8931-9700 जर्मनी - हानो टेलीफ़ोन: 49-2129-3766400 जर्मनी – हेइलब्रॉन टेलीफ़ोन: 49-7131-72400 जर्मनी — कार्लज़ूए टेलीफ़ोन: 49-721-625370 जर्मनी – म्यूनिख Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 जर्मनी – रोसेनहेम टेलीफ़ोन: 49-8031-354-560 इजराइल – राआनाना टेलीफ़ोन: 972-9-744-7705 इटली - मिलानो टेलीफ़ोन: 39-0331-742611 फैक्स: 39-0331-466781 इटली - Padova टेलीफ़ोन: 39-049-7625286 नीदरलैंड्स - ड्रुनने टेलीफ़ोन: 31-416-690399 फैक्स: 31-416-690340 नॉर्वे - ट्रॉनहैम टेलीफ़ोन: 47-72884388 पोलैंड – वारसॉ टेलीफ़ोन: 48-22-3325737 रोमानिया – बुखारेस्ट Tel: 40-21-407-87-50 स्पेन - मैड्रिड Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 स्वीडन — गोथेनबर्ग Tel: 46-31-704-60-40 स्वीडन – स्टॉकहोम टेलीफ़ोन: 46-8-5090-4654 यूके - वोकिंगहैम टेलीफ़ोन: 44-118-921-5800 फैक्स: 44-118-921-5820 |
© 2023 माइक्रोचिप टेक्नोलॉजी इंक. और इसकी सहायक कंपनियां
DS50003627A -
दस्तावेज़ / संसाधन
![]() |
माइक्रोचिप लिबरो एसओसी सिमुलेशन लाइब्रेरी सॉफ्टवेयर [पीडीएफ] उपयोगकर्ता गाइड DS50003627A, लिबरो एसओसी सिमुलेशन लाइब्रेरी सॉफ्टवेयर, एसओसी सिमुलेशन लाइब्रेरी सॉफ्टवेयर, सिमुलेशन लाइब्रेरी सॉफ्टवेयर, लाइब्रेरी सॉफ्टवेयर, सॉफ्टवेयर |