यह कमांड इवेरिलॉग है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
इवेरिलॉग - इकारस वेरिलॉग कंपाइलर
SYNOPSIS
इवेरिलोग [-ईएसवीवी] [-बीपाथ] [-सीसीएमडीफाइल|-एफसीएमडीफाइल] [-डीएमएक्रो[= डीईएफ़एन]] [-पीफ़्लैग=मान] [-डीनाम]
[-g1995|-g2001|-g2005|-g ] [-Iincludedir] [-mmodule] [-Mfile] [-Nfile]
[-ooutputfilename] [-stopmodule] [-ttype] [-टमिन/टाइप/मैक्स] [-Wclass] [-ypath] सोर्सफाइल
वर्णन
इवेरिलोग एक कंपाइलर है जो वेरिलॉग स्रोत कोड को निष्पादन योग्य प्रोग्राम में अनुवादित करता है
आगे की प्रक्रिया के लिए सिमुलेशन, या अन्य नेटलिस्ट प्रारूप। वर्तमान में समर्थित
लक्ष्य हैं VVP अनुकरण के लिए, और FPGA संश्लेषण के लिए. अन्य लक्ष्य प्रकार इस प्रकार जोड़े जाते हैं
कोड जनरेटर लागू किए गए हैं।
विकल्प
इवेरिलोग निम्नलिखित विकल्पों को स्वीकार करता है:
-Bआधार RSI इवेरिलोग प्रोग्राम प्रीप्रोसेस करने के लिए बाहरी प्रोग्राम और कॉन्फ़िगरेशन फ़ाइलों का उपयोग करता है
और वेरिलॉग स्रोत संकलित करें। आम तौर पर, इन उपकरणों का पता लगाने के लिए उपयोग किया जाने वाला पथ है
में बनाया गया इवेरिलोग कार्यक्रम. हालांकि -B स्विच उपयोगकर्ता को चयन करने की अनुमति देता है
कार्यक्रमों का एक अलग सेट. दिए गए पथ का उपयोग पता लगाने के लिए किया जाता है आईवीएलपीपी, IVL, कोड
जनरेटर और वीपीआई मॉड्यूल।
-cपट्टिका -fपट्टिका
ये फ़्लैग एक इनपुट फ़ाइल निर्दिष्ट करते हैं जिसमें वेरिलॉग स्रोत फ़ाइलों की एक सूची होती है।
यह समान है आदेश पट्टिका अन्य वेरिलॉग सिमुलेटर में, यह एक है
फ़ाइल जिसमें फ़ाइल नाम हैं उन्हें कमांड लाइन पर लेने के बजाय। देखना
आदेश फ़ाइलें नीचे.
-Dमैक्रो मैक्रो को परिभाषित करता है मैक्रो इसकी परिभाषा के रूप में स्ट्रिंग `1' के साथ। यह फॉर्म सामान्य रूप से है
केवल वेरिलॉग स्रोत में ifdef सशर्त ट्रिगर करने के लिए उपयोग किया जाता है।
-Dमैक्रो = defn
मैक्रो को परिभाषित करता है मैक्रो as रक्षा.
-dनाम कंपाइलर डिबगिंग संदेशों की एक श्रेणी सक्रिय करें। -d स्विच के रूप में उपयोग किया जा सकता है
सभी वांछित संदेशों को सक्रिय करने के लिए अक्सर आवश्यक होता है। समर्थित नाम हैं
स्कोप, eval_tree, विस्तृत, और synth2; किसी भी अन्य नाम को नजरअंदाज कर दिया जाता है।
-E वेरिलॉग स्रोत को प्रीप्रोसेस करें, लेकिन इसे संकलित न करें। आउटपुट फ़ाइल है
वेरिलॉग इनपुट, लेकिन फ़ाइल समावेशन और मैक्रो संदर्भों के साथ विस्तारित और हटा दिया गया।
यह उपयोगी है, उदाहरण के लिए, अन्य लोगों द्वारा उपयोग के लिए वेरिलॉग स्रोत को प्रीप्रोसेस करने के लिए
संकलक।
-जी1995|-जी2001|-g2001-noconfig|-जी2005
वेरिलॉग भाषा का चयन करें पीढ़ी कंपाइलर में समर्थन करने के लिए. यह चयन करता है
के बीच आईईईई1364-1995, आईईईई1364-2001या, आईईईई1364-2005. आम तौर पर, इकारस वेरिलॉग
भाषा की नवीनतम ज्ञात पीढ़ी के लिए डिफ़ॉल्ट। यह झंडा सबसे उपयोगी है
भाषा को विशिष्ट पीढ़ियों के उपकरणों द्वारा समर्थित सेट तक सीमित करना
अन्य उपकरणों के साथ अनुकूलता.
-gverilog-ams|-gno-verilog-ams
वेरिलॉग-एएमएस के लिए समर्थन सक्षम या अक्षम (डिफ़ॉल्ट) करें। बहुत कम वेरिलॉग-एएमएस
विशिष्ट कार्यक्षमता वर्तमान में समर्थित है.
-gspecify|-gno-निर्दिष्ट करें
सक्षम या अक्षम करें (डिफ़ॉल्ट) ब्लॉक समर्थन निर्दिष्ट करें। सक्षम होने पर, ब्लॉक निर्दिष्ट करें
कोड विस्तृत है. अक्षम होने पर, निर्दिष्ट ब्लॉकों को पार्स किया जाता है लेकिन अनदेखा कर दिया जाता है। उल्लिखित करना
आरटीएल सिमुलेशन के लिए आमतौर पर ब्लॉक की आवश्यकता नहीं होती है, और वास्तव में यह नुकसान पहुंचा सकता है
अनुकरण का प्रदर्शन. हालाँकि, निर्दिष्ट ब्लॉक को अक्षम करने से सटीकता कम हो जाती है
पूर्णकालिक सिमुलेशन का।
-जीएसटीडी-शामिल|-ग्नो-एसटीडी-शामिल
मानक इंस्टॉलेशन की खोज को सक्षम (डिफ़ॉल्ट) या अक्षम करें
अन्य सभी स्पष्ट निर्देशिकाओं के बाद निर्देशिका। इस मानक में शामिल हैं
वेरिलॉग मानक हेडर फ़ाइलों को स्थापित करने के लिए निर्देशिका एक सुविधाजनक स्थान है
कार्यक्रम में शामिल हो सकते हैं.
-ग्रेलेटिव-शामिल|-ज्ञान-सापेक्ष-शामिल
आरंभ में स्थानीय फ़ाइलें निर्देशिका जोड़ने को सक्षम या अक्षम करें (डिफ़ॉल्ट)।
फ़ाइल खोज पथ शामिल करें। यह फ़ाइलों को के सापेक्ष शामिल करने की अनुमति देता है
वर्तमान फ़ाइल अधिक सामान्य फ़ाइलें नहीं हैं जो केवल कार्यशील निर्देशिका में पाई जाती हैं
निर्दिष्ट में फ़ाइल खोज पथ शामिल करें।
-gxtypes|-gno-xtypes
विस्तारित प्रकारों के लिए समर्थन सक्षम (डिफ़ॉल्ट) या अक्षम करें। विस्तारित प्रकार सक्षम करना
नए प्रकारों की अनुमति देता है जो इकारस वेरिलॉग द्वारा परे एक्सटेंशन के रूप में समर्थित हैं
बेसलाइन वेरिलॉग। कोड संकलित करते समय विस्तारित प्रकारों को अक्षम करना आवश्यक हो सकता है
जो टाइप सिस्टम को लागू करने के लिए उपयोग किए गए कुछ नए कीवर्ड से टकराता है।
-जियो-रेंज-त्रुटि|-gno-io-श्रेणी-त्रुटि
मानकों के लिए आवश्यक है कि एक वेक्टर्ड पोर्ट में उसके पोर्ट के लिए मेल खाने वाली श्रेणियाँ हों
घोषणा के साथ-साथ कोई भी नेट/रजिस्टर घोषणा। में यह आम बात थी
केवल नेट/रजिस्टर घोषणा और कुछ टूल के लिए सीमा निर्दिष्ट करने से पहले
अभी भी इसकी अनुमति दें. डिफ़ॉल्ट रूप से किसी भी बेमेल को त्रुटि के रूप में रिपोर्ट किया जाता है। का उपयोग करते हुए
-gno-io-श्रेणी-त्रुटि मामले के लिए घातक त्रुटि के बजाय एक चेतावनी उत्पन्न करेगा
एक वेक्टर्ड नेट/रजिस्टर और एक स्केलर पोर्ट घोषणा की।
-gstrict-ca-eval|-gno-strict-ca-eval
मानक के लिए आवश्यक है कि यदि किसी सतत असाइनमेंट अभिव्यक्ति में कोई इनपुट हो
मान बदलता है, संपूर्ण अभिव्यक्ति का पुनर्मूल्यांकन किया जाता है। डिफ़ॉल्ट रूप से, के कुछ भाग
अभिव्यक्ति जो बदले हुए इनपुट मान पर निर्भर नहीं है, उसका पुनर्मूल्यांकन नहीं किया जाता है।
यदि किसी अभिव्यक्ति में किसी फ़ंक्शन के लिए कॉल शामिल है जो पूरी तरह से उस पर निर्भर नहीं है
इनपुट मान या जिसके दुष्प्रभाव हों, परिणामी व्यवहार भिन्न होगा
जो मानक के अनुसार आवश्यक है। का उपयोग करते हुए -gstrict-ca-eval मानक को बाध्य करेगा
आज्ञाकारी व्यवहार (प्रदर्शन में कुछ हानि के साथ)।
-Iशामिल
निर्देशिका जोड़ें शामिल वेरिलॉग के लिए खोजी गई निर्देशिकाओं की सूची में शामिल हैं
फ़ाइलें। -I कई निर्देशिकाओं को निर्दिष्ट करने के लिए स्विच का उपयोग कई बार किया जा सकता है
खोज, निर्देशिकाओं को उसी क्रम में खोजा जाता है जिस क्रम में वे कमांड लाइन पर दिखाई देती हैं।
-Mपथ पथ द्वारा निर्दिष्ट फ़ाइल में योगदान देने वाली फ़ाइलों की एक सूची लिखें
डिज़ाइन का संकलन. इसमें वे फ़ाइलें शामिल हैं जिन्हें शामिल करके शामिल किया गया है
निर्देश और फ़ाइलें जो लाइब्रेरी समर्थन द्वारा स्वचालित रूप से लोड की जाती हैं। उत्पादन
प्रति पंक्ति एक फ़ाइल नाम है, जिसमें कोई अग्रणी या अनुगामी स्थान नहीं है।
-mमॉड्यूल
इस मॉड्यूल को सिमुलेशन द्वारा लोड किए जाने वाले वीपीआई मॉड्यूल की सूची में जोड़ें। अनेक
मॉड्यूल निर्दिष्ट किए जा सकते हैं, और सभी निर्दिष्ट क्रम में लोड किए जाएंगे।
सिस्टम मॉड्यूल निहित है और हमेशा शामिल है। यदि एक सिस्टम फ़ंक्शन टेबल फ़ाइल
( .sft) मॉड्यूल के लिए मौजूद है, यह स्वचालित रूप से लोड हो जाएगा।
-Nपथ इसका उपयोग कंपाइलर को उचित रूप से डीबग करने के लिए किया जाता है। का अंतिम नेटलिस्ट फॉर्म डंप करें
निर्दिष्ट फ़ाइल के लिए डिज़ाइन करें। अन्यथा यह के संचालन को प्रभावित नहीं करता है
संकलक. डिज़ाइन के विस्तृत और अनुकूलित होने के बाद डंप होता है।
-o फ़ाइल का नाम
आउटपुट को फ़ाइल में रखें फ़ाइल का नाम. यदि कोई आउटपुट फ़ाइल नाम निर्दिष्ट नहीं है, इवेरिलोग
डिफ़ॉल्ट नाम का उपयोग करता है ए.आउट.
-pझंडा=मूल्य
लक्ष्य विशिष्ट ध्वज के लिए एक मान निर्दिष्ट करें। -p स्विच का उपयोग जितनी बार किया जा सकता है
सभी वांछित झंडों को निर्दिष्ट करना आवश्यक है। उपयोग किए जाने वाले झंडे इस पर निर्भर करते हैं
लक्ष्य जो चयनित है, और लक्ष्य विशिष्ट दस्तावेज़ीकरण में वर्णित है। झंडे
जिनका उपयोग नहीं किया जाता उन्हें नजरअंदाज कर दिया जाता है।
-S संश्लेषण करें। आम तौर पर, यदि लक्ष्य व्यवहार संबंधी विवरण स्वीकार कर सकता है
कंपाइलर प्रक्रियाओं को व्यवहारिक रूप में छोड़ देगा। -S स्विच का कारण बनता है
संश्लेषण करने के लिए संकलक, भले ही यह लक्ष्य के लिए आवश्यक न हो। यदि
लक्ष्य प्रकार एक नेटलिस्ट प्रारूप है -S स्विच अनावश्यक है और इसका कोई प्रभाव नहीं है।
-s टॉपमॉड्यूल
विस्तृत करने के लिए शीर्ष स्तरीय मॉड्यूल निर्दिष्ट करें। इकारस वेरिलोग डिफ़ॉल्ट रूप से चयन करेगा
ऐसे मॉड्यूल जिन्हें किसी अन्य मॉड्यूल में इंस्टेंटिअट नहीं किया जाता है, लेकिन कभी-कभी ऐसा नहीं होता है
पर्याप्त, या बहुत सारे मॉड्यूल इंस्टेंटियेट करता है। यदि उपयोगकर्ता एक या अधिक निर्दिष्ट करता है
रूट मॉड्यूल के साथ -s झंडे, तो उन्हें इसके बजाय रूट मॉड्यूल के रूप में उपयोग किया जाएगा।
-Tन्यूनतम|प्रकार|अधिकतम
न्यूनतम:टाइप:अधिकतम अभिव्यक्तियों से न्यूनतम, टाइप या अधिकतम समय का चयन करने के लिए इस स्विच का उपयोग करें।
आम तौर पर, कंपाइलर इन अभिव्यक्तियों से टाइप मान का उपयोग करेगा
(इसे मिलने वाले पहले दस के लिए एक चेतावनी प्रिंट करना) लेकिन यह स्विच बताएगा
संकलक स्पष्ट रूप से किस मूल्य का उपयोग करना है। यह उस चेतावनी को दबा देगा कि
संकलक एक विकल्प बना रहा है।
-tलक्ष्य
लक्ष्य आउटपुट स्वरूप निर्दिष्ट करने के लिए इस स्विच का उपयोग करें। देखें लक्ष्य नीचे अनुभाग
वैध आउटपुट स्वरूपों की सूची के लिए।
-v वर्बोज़ संदेश चालू करें. यह उन कमांड लाइनों को प्रिंट करेगा जिन्हें निष्पादित किया गया है
विभिन्न संस्करणों की जानकारी के साथ-साथ वास्तविक संकलन करें
घटकों के साथ-साथ समग्र रूप से उत्पाद का संस्करण भी। तुम्हें पता चल जाएगा
कि कमांड लाइनों में पास होने वाली कुंजी अस्थायी फ़ाइल का संदर्भ शामिल होता है
संकलक को उचित जानकारी। उस फ़ाइल को डिलीट होने से बचाने के लिए
प्रक्रिया के अंत में, पर्यावरण चर में अपना स्वयं का फ़ाइल नाम प्रदान करें
IVERILOG_ICONFIG.
-V कंपाइलर का संस्करण प्रिंट करें, और बाहर निकलें।
-Wकक्षा चेतावनियों के विभिन्न वर्ग चालू करें. देखें चेतावनी प्रकार के लिए नीचे अनुभाग
विभिन्न चेतावनी समूहों का विवरण। यदि एकाधिक -W स्विच का उपयोग किया जाता है,
चेतावनी सेट सभी अनुरोधित वर्गों का संघ है।
-ylibdir
निर्देशिका को लाइब्रेरी मॉड्यूल खोज पथ में जोड़ें। जब कंपाइलर को कोई मिल जाता है
अपरिभाषित मॉड्यूल, यह इन निर्देशिकाओं में सही नाम वाली फ़ाइलों की तलाश करता है।
-Yप्रत्यय
खोज करते समय प्रयुक्त स्वीकृत फ़ाइल नाम प्रत्ययों की सूची में प्रत्यय जोड़ें
कोशिकाओं के लिए पुस्तकालय. सूची एकल प्रविष्टि के लिए डिफ़ॉल्ट है .v.
मॉड्यूल पुस्तकालय
इकारस वेरिलॉग कंपाइलर मॉड्यूल लाइब्रेरीज़ को उन निर्देशिकाओं के रूप में समर्थन करता है जिनमें वेरिलॉग शामिल है
स्रोत फ़ाइलें। विस्तार के दौरान, संकलक अपरिभाषित की तात्कालिकता को नोटिस करता है
मॉड्यूल प्रकार. यदि उपयोगकर्ता लाइब्रेरी खोज निर्देशिका निर्दिष्ट करता है, तो कंपाइलर खोज करेगा
अनुपलब्ध मॉड्यूल प्रकार के नाम वाली फ़ाइलों के लिए निर्देशिका। यदि उसे ऐसी कोई फ़ाइल मिलती है,
यह इसे वेरिलॉग स्रोत फ़ाइल के रूप में लोड करता है, वे मॉड्यूल को विस्तृत करने के लिए फिर से प्रयास करते हैं।
लाइब्रेरी मॉड्यूल फ़ाइलों में केवल एक मॉड्यूल होना चाहिए, लेकिन यह कोई आवश्यकता नहीं है।
लाइब्रेरी मॉड्यूल लाइब्रेरी में या मुख्य डिज़ाइन में अन्य मॉड्यूल को संदर्भित कर सकते हैं।
लक्ष्य
इकारस वेरिलॉग कंपाइलर विभिन्न उद्देश्यों के लिए विभिन्न प्रकार के लक्ष्यों का समर्थन करता है, और
-t वांछित लक्ष्य का चयन करने के लिए स्विच का उपयोग किया जाता है।
रिक्त शून्य लक्ष्य के कारण कोई कोड उत्पन्न नहीं होता है। की जाँच के लिए यह उपयोगी है
वेरिलॉग स्रोत का सिंटैक्स।
VVP यह डिफ़ॉल्ट है. वीवीपी लक्ष्य वीवीपी रनटाइम के लिए कोड उत्पन्न करता है। उत्पादन
एक संपूर्ण प्रोग्राम है जो डिज़ाइन का अनुकरण करता है लेकिन इसे इसके द्वारा चलाया जाना चाहिए VVP
आदेश।
FPGA यह एक संश्लेषण लक्ष्य है जो विभिन्न प्रकार के एफपीजीए उपकरणों का समर्थन करता है, ज्यादातर ईडीआईएफ द्वारा
प्रारूप आउटपुट. इकारस वेरिलॉग एफपीजीए कोड जनरेटर पूर्ण उत्पन्न कर सकता है
डिज़ाइन या ईडीआईएफ मैक्रोज़ जिन्हें बदले में अन्य द्वारा बड़े डिज़ाइन में आयात किया जा सकता है
औजार। FPGA लक्ष्य का तात्पर्य संश्लेषण से है -S झंडा।
वीएचडीएलई यह लक्ष्य वेरिलॉग नेटलिस्ट का वीएचडीएल अनुवाद तैयार करता है। आउटपुट एक है
वेरिलॉग में मॉड्यूल के अनुरूप वीएचडीएल इकाइयों वाली एकल फ़ाइल
सोर्स कोड। ध्यान दें कि वेरिलॉग भाषा का केवल एक उपसमूह समर्थित है। देखना
अधिक जानकारी के लिए विकी।
चेतावनी प्रकार
ये चेतावनियों के प्रकार हैं जिनका चयन किया जा सकता है -W बदलना। सारी चेतावनी
प्रकार (इसके अलावा) सब) के साथ भी उपसर्ग लगाया जा सकता है नहीं- उस चेतावनी को बंद करने के लिए. यह है
के बाद सबसे उपयोगी -दीवार पृथक चेतावनी प्रकारों को दबाने का तर्क।
सब यह अंतर्निहित, पोर्टबाइंड, चयन-श्रेणी, टाइमस्केल और सक्षम बनाता है
संवेदनशीलता-संपूर्ण-सरणी चेतावनी श्रेणियाँ।
अंतर्निहित
यह अंतर्निहित घोषणाओं के निर्माण के लिए चेतावनियाँ सक्षम करता है। उदाहरण के लिए, यदि ए
स्केलर वायर एक्स का उपयोग किया जाता है लेकिन वेरिलॉग स्रोत में घोषित नहीं किया गया है, यह प्रिंट करेगा
इसके प्रथम उपयोग पर चेतावनी।
पोर्टबाइंड
यह उन मॉड्यूल इंस्टेंशियेशन के पोर्ट के लिए चेतावनियां सक्षम करता है जो कनेक्ट नहीं हैं
लेकिन शायद होना चाहिए. उदाहरण के लिए, डैंगलिंग इनपुट पोर्ट एक उत्पन्न करेंगे
चेतावनी।
चयन-श्रेणी
यह लगातार सीमा से बाहर चयन के लिए चेतावनियाँ सक्षम करता है। इसमें आंशिक या शामिल है
पूरी तरह से सीमा से बाहर चयन के साथ-साथ एक चयन जिसमें 'bx या' bz शामिल है
सूचकांक.
timescale
यह टाइमस्केल निर्देश के असंगत उपयोग के लिए चेतावनियाँ सक्षम करता है। यह पता लगाता है
यदि कुछ मॉड्यूल में कोई टाइमस्केल नहीं है, या यदि मॉड्यूल दूसरे से टाइमस्केल प्राप्त करते हैं
फ़ाइल। दोनों का शायद मतलब यह है कि समयमान असंगत हैं, और अनुकरण समय
भ्रामक हो सकता है और संकलन क्रम पर निर्भर हो सकता है।
अंतर्प्रवाह यह उन हमेशा कथनों के लिए चेतावनियाँ सक्षम करता है जिनमें रनटाइम अनंत लूप हो सकते हैं
(बिना विलंब या शून्य विलंब वाले पथ हैं)। चेतावनियों के इस वर्ग में शामिल नहीं है -दीवार
और इसलिए उसके पास नहीं है नहीं- वैरिएंट. एक घातक त्रुटि संदेश हमेशा रहेगा
मुद्रित तब होता है जब संकलक यह निर्धारित कर सकता है कि निश्चित रूप से एक अनंत होगा
लूप (सभी पथों में कोई या शून्य विलंब नहीं है)।
जब आपको संदेह हो कि हमेशा कथन रनटाइम अनंत लूप उत्पन्न कर रहा है तो इसका उपयोग करें
हमेशा उन कथनों को ढूंढने के लिए फ़्लैग करें जिनके तर्क को सत्यापित करने की आवश्यकता है। यह है
उम्मीद है कि चूंकि कोड व्यवहार करता है, इसलिए कई चेतावनियाँ झूठी सकारात्मक होंगी
सभी चरों और संकेतों का मान अनिश्चित है।
संवेदनशीलता-संपूर्ण-वेक्टर
यह "हमेशा @*" कथन के भीतर किसी भाग का चयन करने पर चेतावनियाँ सक्षम करता है
परिणामस्वरूप संपूर्ण वेक्टर को अंतर्निहित संवेदनशीलता सूची में जोड़ दिया जाता है।
हालाँकि यह व्यवहार IEEE मानक द्वारा निर्धारित है, लेकिन यह वैसा नहीं है जैसा हो सकता है
अपेक्षित होना चाहिए और यदि वेक्टर बड़ा है तो इसका प्रदर्शन पर प्रभाव पड़ सकता है।
संवेदनशीलता-संपूर्ण-सरणी
यह तब चेतावनी सक्षम करता है जब कोई शब्द "हमेशा @*" कथन के भीतर चुना जाता है
परिणामस्वरूप संपूर्ण सरणी अंतर्निहित संवेदनशीलता सूची में जुड़ जाती है। यद्यपि
यह व्यवहार आईईईई मानक द्वारा निर्धारित है, यह वैसा नहीं है जैसा हो सकता है
अपेक्षित है और यदि सरणी बड़ी है तो प्रदर्शन पर प्रभाव पड़ सकता है।
प्रणाली FUNCTION टेबल फ़ाइलें
यदि स्रोत फ़ाइल का नाम a .sft प्रत्यय, तो इसे एक सिस्टम फ़ंक्शन तालिका माना जाता है
फ़ाइल। कंपाइलर को रिटर्न प्रकारों का वर्णन करने के लिए एक सिस्टम फ़ंक्शन तालिका फ़ाइल का उपयोग किया जाता है
सिस्टम फ़ंक्शंस के लिए. यह आवश्यक है क्योंकि कंपाइलर को इस जानकारी की आवश्यकता होती है
विस्तृत अभिव्यक्तियाँ जिनमें ये सिस्टम फ़ंक्शन शामिल हैं, लेकिन sizetf नहीं चला सकते
कार्य करता है क्योंकि इसका कोई रन-टाइम नहीं है।
तालिका का प्रारूप ASCII है, प्रति पंक्ति एक फ़ंक्शन। खाली पंक्तियों को नजरअंदाज कर दिया जाता है, और
वे पंक्तियाँ जो 'से शुरू होती हैं#'चरित्र टिप्पणी पंक्तियाँ हैं। प्रत्येक गैर-टिप्पणी पंक्ति प्रारंभ होती है
फ़ंक्शन नाम के साथ, फिर वीपीआई प्रकार (यानी vpiSysFuncReal)। निम्न प्रकार हैं
समर्थित:
vpiSysFuncReal
फ़ंक्शन वास्तविक/वास्तविक समय मान लौटाता है।
vpiSysFuncInt
फ़ंक्शन एक पूर्णांक लौटाता है.
vpiSysFuncSized
फ़ंक्शन दी गई चौड़ाई के साथ एक वेक्टर लौटाता है, और हस्ताक्षरित या अहस्ताक्षरित होता है
झंडे के अनुसार.
कमान फ़ाइलें
कमांड फ़ाइल उपयोगकर्ता को स्रोत फ़ाइल नाम और कुछ कमांड लाइन रखने की अनुमति देती है
लंबी कमांड लाइन के बजाय टेक्स्ट फ़ाइल में स्विच हो जाता है। कमांड फाइलों में सी शामिल हो सकता है
या C++ शैली टिप्पणियाँ, साथ ही # टिप्पणियाँ, यदि # पंक्ति प्रारंभ करती है।
पट्टिका नाम
एक साधारण फ़ाइल नाम या फ़ाइल पथ को वेरिलॉग स्रोत फ़ाइल का नाम माना जाता है।
पथ पहले गैर-श्वेत-अंतरिक्ष वर्ण से शुरू होता है। चर हैं
फ़ाइल नामों में प्रतिस्थापित.
-c cmdफ़ाइल -f cmdफ़ाइल
A -c or -f टोकन एक कमांड फ़ाइल को उपसर्ग करता है, बिल्कुल वैसे ही जैसे यह कमांड पर करता है
पंक्ति। Cmdफ़ाइल उसी पंक्ति या अगली गैर-टिप्पणी पंक्ति पर हो सकती है।
-y libdir
A -y टोकन कमांड फ़ाइल में एक लाइब्रेरी निर्देशिका को उपसर्ग करता है, बिल्कुल वैसे ही जैसे यह करता है
कमांड लाइन पर. के लिए पैरामीटर -y झंडा एक ही पंक्ति पर हो सकता है या
अगली गैर-टिप्पणी पंक्ति.
में चर libdir प्रतिस्थापित किये जाते हैं.
+इंदिर+शामिल
RSI +इंदिर+ कमांड फाइलों में टोकन शामिल फाइलों को खोजने के लिए निर्देशिका देता है
बिल्कुल उसी तरह -I झंडे कमांड लाइन पर काम करते हैं। अंतर यह है
वह बहु +शामिल हैं निर्देशिकाएँ एकल के लिए मान्य पैरामीटर हैं +इंदिर+
टोकन, हालाँकि आपके पास एकाधिक भी हो सकते हैं +इंदिर+ लाइनों।
में चर शामिल प्रतिस्थापित किये जाते हैं.
+लिबेक्स्ट+ext
RSI +libext कमांड फ़ाइलों में टोकन पाँच फ़ाइल एक्सटेंशन की तलाश करते समय प्रयास करने के लिए
लाइब्रेरी फ़ाइल. के साथ मिलकर यह उपयोगी है -y कोशिश करने के लिए प्रत्ययों को सूचीबद्ध करने के लिए झंडे
अगली लाइब्रेरी निर्देशिका पर जाने से पहले प्रत्येक निर्देशिका में।
+libdir+दीर
यह लाइब्रेरी निर्देशिकाओं को निर्दिष्ट करने का एक और तरीका है। -y ध्वज देखें.
+libdir-nocase+दीर
यह इस प्रकार है +libdir कथन, लेकिन निर्देशिकाओं के अंदर फ़ाइल नाम घोषित
यहां केस असंवेदनशील हैं। लुकअप में गुम मॉड्यूल नाम का मेल खाना जरूरी नहीं है
फ़ाइल नाम केस, जब तक अक्षर सही हैं। उदाहरण के लिए, "फू" मेल खाता है
"Foo.v" लेकिन "bar.v" नहीं।
+परिभाषित करें+नाम=मूल्य
RSI +परिभाषित करें+ टोकन वैसा ही है -D कमांड लाइन पर विकल्प. मूल्य
टोकन का भाग वैकल्पिक है.
+समयमान+मूल्य
RSI +समयमान+ सिमुलेशन के लिए डिफ़ॉल्ट टाइमस्केल सेट करने के लिए टोकन का उपयोग किया जाता है।
यह किसी भी 'टाइमस्केल निर्देश' से पहले या उसके बाद की समय इकाइयाँ और परिशुद्धता है
`पुनर्स्थापित निर्देश। डिफ़ॉल्ट 1s/1s है.
+ टॉपर-फ़ाइल नाम
यह टोकन कमांड फ़ाइल में इसके बाद के फ़ाइल नामों का अनुवाद करने का कारण बनता है
अपरकेस। यह उन स्थितियों में मदद करता है जहां एक निर्देशिका डॉस से होकर गुजरी है
मशीन, और इस प्रक्रिया में फ़ाइल नाम मंग हो जाते हैं।
+tolower-filename
यह समान है + टॉपर-फ़ाइल नाम हैक ऊपर वर्णित है।
+पूर्णांक-चौड़ाई+मूल्य
यह प्रोग्रामर को पूर्णांक चर के लिए चौड़ाई का चयन करने की अनुमति देता है
वेरिलॉग स्रोत। डिफ़ॉल्ट 32 है, मान कोई भी वांछित पूर्णांक मान हो सकता है।
चर IN कमान फ़ाइलें
कुछ मामलों में, iverilog कमांड फ़ाइलों में वेरिएबल का समर्थन करता है। ये के तार हैं
फॉर्म "$(VARNAME)" या "${VARNAME}", कहाँ VARNAME पर्यावरण चर का नाम है
पढ़ने के लिए। संपूर्ण स्ट्रिंग को उस वेरिएबल की सामग्री से बदल दिया जाता है। चर हैं
केवल उन संदर्भों में प्रतिस्थापित किया जाता है जो फ़ाइल और निर्देशिका सहित स्पष्ट रूप से उनका समर्थन करते हैं
तार।
परिवर्तनीय मान ऑपरेटिंग सिस्टम वातावरण से आते हैं, प्रीप्रोसेसर से नहीं
फ़ाइल या कमांड लाइन में कहीं और परिभाषित करता है।
पूर्वनिर्धारित मैक्रो
निम्नलिखित मैक्रोज़ कंपाइलर द्वारा पूर्वनिर्धारित हैं:
__ICARUS__ = 1
इकारस वेरिलॉग के साथ संकलन करते समय इसे हमेशा परिभाषित किया जाता है।
__VAMS_ENABLE__ = 1
यदि वेरिलॉग-एएमएस सक्षम है तो इसे परिभाषित किया गया है।
उदाहरण
ये उदाहरण मानते हैं कि आपके पास वर्तमान में hello.v नामक एक वेरिलॉग स्रोत फ़ाइल है
डायरेक्टरी
hello.v को a.out नामक निष्पादन योग्य फ़ाइल में संकलित करने के लिए:
इवेरिलॉग हेलो.वी
hello.v को hello नामक निष्पादन योग्य फ़ाइल में संकलित करने के लिए:
इवेरिलॉग -ओ हेलो हेलो.वी
वीवीपी रनटाइम का उपयोग करके स्पष्ट रूप से संकलित और चलाने के लिए:
iverilog -ohello.vvp -tvvp hello.v
onworks.net सेवाओं का उपयोग करके ऑनलाइन iverilog का उपयोग करें