iverilog - ক্লাউডে অনলাইন

এটি iverilog কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।

কার্যক্রম:

NAME এর


iverilog - Icarus ভেরিলগ কম্পাইলার

সাইনোপিসিস


iverilog [-ESVv] [-Bpath] [-ccmdfile|-fcmdfile] [-Dmacro[=defn]] [-pflag=value] [-dname]
[-g1995|-g2001|-g2005|-g ] [-ইনক্লুডেডির] [-mmodule] [-Mfile] [-Nfile]
[-ooutputfilename] [-stopmodule] [-type] [-Tmin/typ/max] [-Wclass] [-ypath] সোর্সফাইল

বর্ণনাঃ


iverilog একটি কম্পাইলার যা ভেরিলগ সোর্স কোডকে এক্সিকিউটেবল প্রোগ্রামে অনুবাদ করে
সিমুলেশন, বা আরও প্রক্রিয়াকরণের জন্য অন্যান্য নেটলিস্ট ফরম্যাট। বর্তমানে সমর্থিত
লক্ষ্য হল ভিভিপি সিমুলেশন জন্য, এবং fpga সংশ্লেষণের জন্য। অন্যান্য লক্ষ্য প্রকার হিসাবে যোগ করা হয়
কোড জেনারেটর বাস্তবায়িত হয়.

বিকল্প


iverilog নিম্নলিখিত বিকল্পগুলি গ্রহণ করে:

-Bভিত্তি সার্জারির iverilog প্রোগ্রাম প্রিপ্রসেস করার জন্য বহিরাগত প্রোগ্রাম এবং কনফিগারেশন ফাইল ব্যবহার করে
এবং ভেরিলগ সোর্স কম্পাইল করুন। সাধারণত, এই সরঞ্জামগুলি সনাক্ত করতে ব্যবহৃত পাথ
মধ্যে নির্মিত iverilog কার্যক্রম. তবে -B সুইচ ব্যবহারকারীকে নির্বাচন করতে দেয়
প্রোগ্রামের একটি ভিন্ন সেট। প্রদত্ত পথটি সনাক্ত করতে ব্যবহৃত হয় ivlpp, ivl, কোড
জেনারেটর এবং ভিপিআই মডিউল।

-cফাইল -fফাইল
এই পতাকাগুলি একটি ইনপুট ফাইল নির্দিষ্ট করে যাতে ভেরিলগ সোর্স ফাইলগুলির একটি তালিকা থাকে।
এটি এর অনুরূপ হুকুম ফাইল অন্যান্য ভেরিলগ সিমুলেটরগুলির মধ্যে, এটি একটি
ফাইল যা কমান্ড লাইনে না নিয়ে ফাইলের নাম ধারণ করে। দেখা
আদেশ নথি পত্র নিচে.

-Dম্যাক্রো ম্যাক্রো সংজ্ঞায়িত করে ম্যাক্রো স্ট্রিং `1' এর সংজ্ঞা হিসাবে। এই ফর্ম সাধারণত
শুধুমাত্র ভেরিলগ উৎসে ifdef কন্ডিশনাল ট্রিগার করতে ব্যবহৃত হয়।

-Dmacro=defn
ম্যাক্রো সংজ্ঞায়িত করে ম্যাক্রো as defn.

-dনাম কম্পাইলার ডিবাগিং বার্তাগুলির একটি ক্লাস সক্রিয় করুন। দ্য -d সুইচ হিসেবে ব্যবহার করা যেতে পারে
প্রায়শই সমস্ত পছন্দসই বার্তা সক্রিয় করার জন্য প্রয়োজনীয়। সমর্থিত নাম হয়
scopes, eval_tree, elaborate, এবং synth2; অন্য কোন নাম উপেক্ষা করা হয়.

-E ভেরিলগ উত্সটি প্রিপ্রসেস করুন, তবে এটি কম্পাইল করবেন না। আউটপুট ফাইল হল
ভেরিলগ ইনপুট, কিন্তু ফাইল ইনক্লুশন এবং ম্যাক্রো রেফারেন্স সহ প্রসারিত এবং সরানো হয়েছে।
এটি উপযোগী, উদাহরণস্বরূপ, অন্যদের দ্বারা ব্যবহারের জন্য ভেরিলগ উত্সটি প্রিপ্রসেস করার জন্য
কম্পাইলার

-g1995|-g2001|-g2001-noconfig|-g2005
ভেরিলগ ভাষা নির্বাচন করুন প্রজন্ম কম্পাইলার সমর্থন করতে। এই নির্বাচন
মধ্যে IEEE1364-1995, IEEE1364-2001, বা IEEE1364-2005. সাধারণত, ইকারাস ভেরিলগ
ভাষার সর্বশেষ পরিচিত প্রজন্মের জন্য ডিফল্ট। এই পতাকা সবচেয়ে দরকারী
নির্দিষ্ট প্রজন্মের সরঞ্জাম দ্বারা সমর্থিত একটি সেটে ভাষা সীমাবদ্ধ করা, জন্য
অন্যান্য সরঞ্জামের সাথে সামঞ্জস্য।

-gverilog-ams|-গ্নো-ভেরিলগ-এএমএস
Verilog-AMS-এর জন্য (ডিফল্ট) সমর্থন সক্ষম বা নিষ্ক্রিয় করুন। খুব সামান্য ভেরিলগ-এএমএস
নির্দিষ্ট কার্যকারিতা বর্তমানে সমর্থিত।

-gspecify|-গ্নো-নির্দিষ্ট করুন
সক্রিয় বা নিষ্ক্রিয় (ডিফল্ট) ব্লক সমর্থন নির্দিষ্ট করুন. সক্রিয় করা হলে, ব্লক নির্দিষ্ট করুন
কোড বিস্তারিত করা হয়। অক্ষম করা হলে, নির্দিষ্ট করুন ব্লক পার্স করা হয় কিন্তু উপেক্ষা করা হয়। উল্লেখ করুন
RTL সিমুলেশনের জন্য সাধারণত ব্লকের প্রয়োজন হয় না এবং আসলে ক্ষতি হতে পারে
সিমুলেশনের কর্মক্ষমতা। যাইহোক, নির্দিষ্ট ব্লক অক্ষম করা সঠিকতা হ্রাস করে
ফুল-টাইমিং সিমুলেশনের।

-জিএসটিডি-অন্তর্ভুক্ত|-gno-std-অন্তর্ভুক্ত
সক্রিয় (ডিফল্ট) বা একটি স্ট্যান্ডার্ড ইনস্টলেশনের অনুসন্ধান নিষ্ক্রিয় অন্তর্ভুক্ত
ডিরেক্টরির পরে অন্য সব স্পষ্ট ডিরেক্টরি অন্তর্ভুক্ত। এই মান অন্তর্ভুক্ত
ডাইরেক্টরি হল স্ট্যান্ডার্ড হেডার ফাইল ইনস্টল করার জন্য একটি সুবিধাজনক জায়গা যা একটি ভেরিলগ
প্রোগ্রাম অন্তর্ভুক্ত হতে পারে।

অনুগ্রহমূলক-অন্তর্ভুক্ত|-জ্ঞান-আত্মীয়-অন্তর্ভুক্ত
শুরুতে স্থানীয় ফাইল ডিরেক্টরি যোগ করে সক্রিয় বা নিষ্ক্রিয় করুন (ডিফল্ট)
ফাইল অনুসন্ধান পথ অন্তর্ভুক্ত। এটি ফাইলগুলিকে আপেক্ষিকভাবে অন্তর্ভুক্ত করার অনুমতি দেয়৷
বর্তমান ফাইল নয় সাধারণ ফাইলগুলি শুধুমাত্র কাজের ডিরেক্টরিতে পাওয়া যায় বা
নির্দিষ্ট ফাইল অনুসন্ধান পথ অন্তর্ভুক্ত.

-জিএক্সটাইপস|-জিনো-এক্সটাইপস
বর্ধিত প্রকারের জন্য সমর্থন সক্ষম (ডিফল্ট) বা অক্ষম করুন। বর্ধিত প্রকারগুলি সক্ষম করা হচ্ছে
এর বাইরে এক্সটেনশন হিসাবে Icarus Verilog দ্বারা সমর্থিত নতুন ধরনের জন্য অনুমতি দেয়
বেসলাইন ভেরিলগ। কোড কম্পাইল করলে বর্ধিত প্রকারগুলি নিষ্ক্রিয় করার প্রয়োজন হতে পারে
টাইপ সিস্টেম বাস্তবায়নের জন্য ব্যবহৃত কয়েকটি নতুন কীওয়ার্ডের সাথে সংঘর্ষ হয়।

-জিও-রেঞ্জ-ত্রুটি|-গ্নো-আইও-রেঞ্জ-ত্রুটি
স্ট্যান্ডার্ডগুলির প্রয়োজন যে একটি ভেক্টরযুক্ত পোর্টের পোর্টের সাথে মিলে যাওয়া রেঞ্জ রয়েছে৷
ঘোষণার পাশাপাশি যেকোনো নেট/রেজিস্টার ঘোষণা। এটা সাধারণ অভ্যাস ছিল
অতীত শুধুমাত্র নেট/রেজিস্টার ঘোষণা এবং কিছু সরঞ্জামের জন্য পরিসীমা নির্দিষ্ট করতে
এখনও এই অনুমতি. ডিফল্টরূপে কোনো অমিল একটি ত্রুটি হিসাবে রিপোর্ট করা হয়. ব্যবহার
-গ্নো-আইও-রেঞ্জ-ত্রুটি মামলার জন্য একটি মারাত্মক ত্রুটির পরিবর্তে একটি সতর্কতা তৈরি করবে
একটি ভেক্টরযুক্ত নেট/রেজিস্টার এবং একটি স্কেলার পোর্ট ঘোষণা।

-gstrict-ca-eval|-গ্নো-স্ট্রিক-ক্যা-ইভাল
স্ট্যান্ডার্ডের প্রয়োজন যে যদি একটি ক্রমাগত অ্যাসাইনমেন্ট এক্সপ্রেশনে কোনো ইনপুট থাকে
মান পরিবর্তন করে, সমগ্র অভিব্যক্তি পুনরায় মূল্যায়ন করা হয়। ডিফল্টরূপে, অংশ
পরিবর্তিত ইনপুট মান(গুলি) এর উপর নির্ভর করে না এমন অভিব্যক্তি পুনরায় মূল্যায়ন করা হয় না।
যদি একটি এক্সপ্রেশনে একটি ফাংশনের কল থাকে যা শুধুমাত্র তার উপর নির্ভর করে না
ইনপুট মান বা পার্শ্ব প্রতিক্রিয়া আছে, ফলে আচরণ থেকে ভিন্ন হবে
যে মান দ্বারা প্রয়োজনীয়. ব্যবহার -gstrict-ca-eval মান বাধ্য করবে
অনুগত আচরণ (কর্মক্ষমতা কিছু ক্ষতি সঙ্গে)।

-Iঅন্তর্ভুক্ত
ডিরেক্টরি যোগ করুন অন্তর্ভুক্ত Verilog-এর জন্য অনুসন্ধান করা ডিরেক্টরির তালিকায় অন্তর্ভুক্ত
নথি পত্র. দ্য -I সুইচ অনেকবার ব্যবহার করা হতে পারে যাতে বিভিন্ন ডিরেক্টরি নির্দিষ্ট করতে
অনুসন্ধান করুন, ডিরেক্টরিগুলি কমান্ড লাইনে প্রদর্শিত ক্রমে অনুসন্ধান করা হয়।

-Mপথ পাথ দ্বারা নির্দিষ্ট করা ফাইলের মধ্যে লিখুন ফাইলগুলির একটি তালিকা যা এতে অবদান রাখে৷
নকশা সংকলন। এটি অন্তর্ভুক্ত দ্বারা অন্তর্ভুক্ত করা হয় যে ফাইল অন্তর্ভুক্ত
নির্দেশাবলী এবং ফাইল যা স্বয়ংক্রিয়ভাবে লাইব্রেরি সমর্থন দ্বারা লোড হয়। আউটপুট
প্রতি লাইনে একটি ফাইলের নাম, কোন অগ্রণী বা পিছনের স্থান ছাড়াই।

-mমডিউল
সিমুলেশন দ্বারা লোড করা VPI মডিউলের তালিকায় এই মডিউলটি যোগ করুন। অনেক
মডিউলগুলি নির্দিষ্ট করা যেতে পারে, এবং সমস্ত নির্দিষ্ট ক্রমে লোড করা হবে। দ্য
সিস্টেম মডিউল অন্তর্নিহিত এবং সর্বদা অন্তর্ভুক্ত। যদি একটি সিস্টেম ফাংশন টেবিল ফাইল
( .sft) মডিউলের জন্য বিদ্যমান এটি স্বয়ংক্রিয়ভাবে লোড হবে।

-Nপথ এটি কম্পাইলার সঠিকভাবে ডিবাগ করার জন্য ব্যবহৃত হয়। চূড়ান্ত নেটলিস্ট ফর্ম ডাম্প
নির্দিষ্ট ফাইলে ডিজাইন করুন। এটা অন্যথায় অপারেশন প্রভাবিত করে না
কম্পাইলার নকশাটি বিস্তারিত এবং অপ্টিমাইজ করার পরে ডাম্প হয়।

-o ফাইলের নাম
ফাইলে আউটপুট রাখুন ফাইলের নাম. যদি কোন আউটপুট ফাইলের নাম নির্দিষ্ট করা না থাকে, iverilog
ডিফল্ট নাম ব্যবহার করে a. আউট.

-pপতাকা = মান
একটি লক্ষ্য নির্দিষ্ট পতাকা একটি মান বরাদ্দ করুন. দ্য -p সুইচ যতবার ব্যবহার করা যেতে পারে
সমস্ত পছন্দসই পতাকা নির্দিষ্ট করার জন্য প্রয়োজনীয়। ব্যবহৃত পতাকা উপর নির্ভর করে
যে লক্ষ্য নির্বাচন করা হয়েছে, এবং লক্ষ্য নির্দিষ্ট ডকুমেন্টেশনে বর্ণনা করা হয়েছে। পতাকা
ব্যবহার করা হয় না যে উপেক্ষা করা হয়.

-S সংশ্লেষণ করুন। সাধারণত, লক্ষ্য যদি আচরণগত বর্ণনা গ্রহণ করতে পারে
কম্পাইলার আচরণগত আকারে প্রক্রিয়া ছেড়ে দেবে। দ্য -S সুইচ কারণ
সংশ্লেষণ সঞ্চালনের জন্য কম্পাইলার এমনকি যদি লক্ষ্যের জন্য এটি প্রয়োজনীয় না হয়। যদি
টার্গেট টাইপ একটি নেটলিস্ট ফরম্যাট, -S সুইচ অপ্রয়োজনীয় এবং কোন প্রভাব নেই.

-s শীর্ষ মডিউল
বিস্তৃত করার জন্য শীর্ষ স্তরের মডিউলটি নির্দিষ্ট করুন। ইকারাস ভেরিলগ ডিফল্টরূপে নির্বাচন করবে
মডিউল যা অন্য কোন মডিউলে তাৎক্ষণিক নয়, কিন্তু কখনও কখনও তা হয় না
যথেষ্ট, বা অনেকগুলি মডিউল তাৎক্ষণিক করে। ব্যবহারকারী যদি এক বা একাধিক নির্দিষ্ট করে
সঙ্গে রুট মডিউল -s পতাকা, তারপর তারা পরিবর্তে রুট মডিউল হিসাবে ব্যবহার করা হবে.

-Tমিনিট|টাইপ|সর্বোচ্চ
min:typ:max এক্সপ্রেশন থেকে মিনিট, টাইপ বা সর্বোচ্চ বার নির্বাচন করতে এই সুইচটি ব্যবহার করুন।
সাধারণত, কম্পাইলার কেবল এই এক্সপ্রেশন থেকে টাইপ মান ব্যবহার করবে
(প্রথম দশটির জন্য একটি সতর্কতা মুদ্রণ এটি খুঁজে পায়) কিন্তু এই সুইচটি বলবে
কম্পাইলার স্পষ্টভাবে কোন মান ব্যবহার করতে হবে। এই সতর্কতা দমন করা হবে যে
কম্পাইলার একটি পছন্দ করা হয়.

-tলক্ষ্য
লক্ষ্য আউটপুট বিন্যাস নির্দিষ্ট করতে এই সুইচ ব্যবহার করুন. দেখুন লক্ষ্য নীচের অধ্যায়
বৈধ আউটপুট ফরম্যাটের তালিকার জন্য।

-v ভার্বোস মেসেজ চালু করুন। এটি কমান্ড লাইনগুলি মুদ্রণ করবে যা কার্যকর করা হয়
বিভিন্ন থেকে সংস্করণ তথ্য সহ প্রকৃত সংকলন সম্পাদন করুন
উপাদান, সেইসাথে পণ্যের সম্পূর্ণ সংস্করণ। আপনি লক্ষ্য করবেন
যে কমান্ড লাইনগুলি পাস হওয়া একটি কী অস্থায়ী ফাইলের একটি রেফারেন্স অন্তর্ভুক্ত করে
কম্পাইলার সঠিক তথ্য. মুছে ফেলা থেকে যে ফাইল রাখা
প্রক্রিয়ার শেষে, পরিবেশ ভেরিয়েবলে আপনার নিজের একটি ফাইলের নাম প্রদান করুন
IVERILOG_ICONFIG.

-V কম্পাইলারের সংস্করণটি মুদ্রণ করুন এবং প্রস্থান করুন।

-Wশ্রেণী বিভিন্ন শ্রেণীর সতর্কতা চালু করুন। দেখুন সতর্কতামূলক ধরনের জন্য অধ্যায়
বিভিন্ন সতর্কীকরণ গ্রুপের বর্ণনা। একাধিক হলে -W সুইচ ব্যবহার করা হয়,
সতর্কতা সেট হল সমস্ত অনুরোধ করা ক্লাসের মিলন।

-ylibdir
লাইব্রেরি মডিউল অনুসন্ধান পাথে ডিরেক্টরি যুক্ত করুন। যখন কম্পাইলার একটি খুঁজে পায়
অনির্ধারিত মডিউল, এটি সঠিক নামের ফাইলগুলির জন্য এই ডিরেক্টরিগুলিতে দেখায়।

-Yপ্রত্যয়
একটি অনুসন্ধান করার সময় ব্যবহৃত স্বীকৃত ফাইল নামের প্রত্যয়গুলির তালিকায় প্রত্যয় যুক্ত করুন
কোষের জন্য লাইব্রেরি। তালিকাটি একক এন্ট্রিতে ডিফল্ট .v.

মডিউল লাইব্রেরি


ইকারাস ভেরিলগ কম্পাইলার মডিউল লাইব্রেরিগুলিকে ভেরিলগ ধারণকারী ডিরেক্টরি হিসাবে সমর্থন করে
সোর্স ফাইল. বিশদকরণের সময়, কম্পাইলার অনির্ধারিত এর ইন্সটিয়েশন লক্ষ্য করে
মডিউল প্রকার। ব্যবহারকারী যদি লাইব্রেরি অনুসন্ধান ডিরেক্টরি নির্দিষ্ট করে, কম্পাইলার অনুসন্ধান করবে
অনুপস্থিত মডিউল প্রকারের নামের সাথে ফাইলগুলির জন্য ডিরেক্টরি। যদি এটি এমন একটি ফাইল খুঁজে পায়,
এটি একটি ভেরিলগ সোর্স ফাইল হিসাবে এটি লোড করে, তারা আবার মডিউলটি বিশদ করার চেষ্টা করে।

লাইব্রেরি মডিউল ফাইলগুলিতে শুধুমাত্র একটি মডিউল থাকা উচিত, তবে এটি একটি প্রয়োজনীয়তা নয়।
লাইব্রেরি মডিউলগুলি লাইব্রেরিতে বা মূল ডিজাইনের অন্যান্য মডিউলগুলি উল্লেখ করতে পারে।

লক্ষ্য


ইকারাস ভেরিলগ কম্পাইলার বিভিন্ন উদ্দেশ্যে বিভিন্ন লক্ষ্য সমর্থন করে এবং
-t পছন্দসই লক্ষ্য নির্বাচন করতে সুইচ ব্যবহার করা হয়।

অকার্যকর নাল টার্গেটের কারণে কোনো কোড তৈরি হয় না। এটা চেক করার জন্য দরকারী
ভেরিলগ উৎসের সিনট্যাক্স।

ভিভিপি এটি ডিফল্ট। ভিভিপি টার্গেট ভিভিপি রানটাইমের জন্য কোড তৈরি করে। আউটপুট
একটি সম্পূর্ণ প্রোগ্রাম যা ডিজাইনকে অনুকরণ করে তবে এটি দ্বারা চালিত হতে হবে ভিভিপি
কমান্ড।

fpga এটি একটি সংশ্লেষণ লক্ষ্য যা বিভিন্ন ধরনের fpga ডিভাইস সমর্থন করে, বেশিরভাগই EDIF দ্বারা
বিন্যাস আউটপুট। Icarus Verilog fpga কোড জেনারেটর সম্পূর্ণ তৈরি করতে পারে
ডিজাইন বা EDIF ম্যাক্রো যা অন্যদের দ্বারা বড় ডিজাইনে আমদানি করা যেতে পারে
টুলস দ্য fpga লক্ষ্য সংশ্লেষণ বোঝায় -S পতাকা।

ভিএইচডিএল এই লক্ষ্য ভেরিলগ নেটলিস্টের একটি VHDL অনুবাদ তৈরি করে। আউটপুট হল a
ভেরিলগের মডিউলগুলির সাথে সম্পর্কিত VHDL সত্তা ধারণকারী একক ফাইল
সোর্স কোড. মনে রাখবেন যে শুধুমাত্র ভেরিলগ ভাষার একটি উপসেট সমর্থিত। দেখা
আরও তথ্যের জন্য উইকি।

সতর্কতামূলক ধরনের


এই ধরনের সতর্কতা যা দ্বারা নির্বাচন করা যেতে পারে -W সুইচ সমস্ত সতর্কতা
প্রকারগুলি (ব্যতীত সব) এর সাথেও উপসর্গ লাগানো যেতে পারে না- সেই সতর্কতা বন্ধ করতে। এই
একটি পরে সবচেয়ে দরকারী -ওয়াল বিচ্ছিন্ন সতর্কতা প্রকার দমন করার যুক্তি।

সব এটি অন্তর্নিহিত, পোর্টবাইন্ড, নির্বাচন-পরিসীমা, টাইমস্কেল এবং সক্ষম করে
সংবেদনশীলতা-সম্পূর্ণ অ্যারে সতর্কতা বিভাগ।

অন্তর্নিহিত
এটি অন্তর্নিহিত ঘোষণা তৈরির জন্য সতর্কতা সক্ষম করে। উদাহরণস্বরূপ, যদি ক
স্কেলার ওয়্যার এক্স ব্যবহার করা হয় কিন্তু ভেরিলগ উৎসে ঘোষণা করা হয় না, এটি একটি প্রিন্ট করবে
এর প্রথম ব্যবহারে সতর্কতা।

পোর্টবাইন্ড
এটি সংযুক্ত নয় এমন মডিউল ইনস্ট্যান্টেশনের পোর্টগুলির জন্য সতর্কতা সক্ষম করে
কিন্তু সম্ভবত হওয়া উচিত। ঝুলন্ত ইনপুট পোর্ট, উদাহরণস্বরূপ, একটি উৎপন্ন করবে
সাবধানবাণী।

নির্বাচন-পরিসীমা
এটি সীমাবদ্ধ নির্বাচনের বাইরে ধ্রুবকের জন্য সতর্কতা সক্ষম করে। এই আংশিক বা অন্তর্ভুক্ত
সম্পূর্ণরূপে আবদ্ধ নির্বাচনের পাশাপাশি একটি নির্বাচন যার মধ্যে একটি 'bx বা 'bz রয়েছে৷
সূচক.

টাইমস্কেল
এটি টাইমস্কেল নির্দেশের অসঙ্গত ব্যবহারের জন্য সতর্কতা সক্ষম করে। এটি সনাক্ত করে
যদি কিছু মডিউলের কোন টাইমস্কেল না থাকে, অথবা যদি মডিউল অন্য থেকে টাইমস্কেল উত্তরাধিকার সূত্রে পায়
ফাইল উভয়ই সম্ভবত টাইমস্কেল অসামঞ্জস্যপূর্ণ, এবং সিমুলেশন টাইমিং বোঝায়
বিভ্রান্তিকর এবং সংকলন আদেশের উপর নির্ভরশীল হতে পারে।

ইনফ্লুপ এটি সর্বদা বিবৃতিগুলির জন্য সতর্কতা সক্ষম করে যাতে রানটাইম অসীম লুপ থাকতে পারে
(কোন বা শূন্য বিলম্ব সহ পাথ আছে)। সতর্কতা এই শ্রেণীর অন্তর্ভুক্ত করা হয় না -ওয়াল
এবং তাই একটি নেই না- বৈকল্পিক একটি মারাত্মক ত্রুটি বার্তা সবসময় হবে
মুদ্রিত হয় যখন কম্পাইলার নির্ধারণ করতে পারে যে অবশ্যই একটি অসীম থাকবে
লুপ (সমস্ত পাথের কোন বা শূন্য বিলম্ব নেই)।

যখন আপনি সন্দেহ করেন যে একটি সর্বদা বিবৃতি একটি রানটাইম অসীম লুপ তৈরি করছে এটি ব্যবহার করুন
সর্বদা বিবৃতি খুঁজে পেতে পতাকা করুন যেগুলির যুক্তি যাচাই করা দরকার। এটা
প্রত্যাশিত যে অনেক সতর্কবার্তা মিথ্যা ইতিবাচক হবে, যেহেতু কোডটি আচরণ করে৷
সমস্ত ভেরিয়েবল এবং সংকেতের মান অনির্দিষ্ট হিসাবে।

সংবেদনশীলতা-সম্পূর্ণ-ভেক্টর
এটি একটি "সর্বদা @*" বিবৃতির মধ্যে একটি অংশ নির্বাচন করার জন্য সতর্কতা সক্ষম করে
এর ফলে সম্পূর্ণ ভেক্টরকে অন্তর্নিহিত সংবেদনশীলতা তালিকায় যুক্ত করা হচ্ছে।
যদিও এই আচরণটি IEEE স্ট্যান্ডার্ড দ্বারা নির্ধারিত হয়, তবে এটি যা হতে পারে তা নয়
প্রত্যাশিত এবং ভেক্টর বড় হলে কর্মক্ষমতা প্রভাব থাকতে পারে।

সংবেদনশীলতা-সম্পূর্ণ অ্যারে
এটি একটি "সর্বদা @*" বিবৃতির মধ্যে একটি শব্দ নির্বাচন করার জন্য সতর্কতা সক্ষম করে৷
ফলাফল সমগ্র অ্যারে অন্তর্নিহিত সংবেদনশীলতা তালিকায় যোগ করা হচ্ছে। যদিও
এই আচরণটি IEEE স্ট্যান্ডার্ড দ্বারা নির্ধারিত, এটি কি হতে পারে তা নয়
প্রত্যাশিত এবং অ্যারে বড় হলে কর্মক্ষমতা প্রভাব থাকতে পারে।

সিস্টেম ফাংশনটির সারণী নথি পত্র


যদি সোর্স ফাইলের নাম হিসেবে a .sft প্রত্যয়, তারপর এটি একটি সিস্টেম ফাংশন টেবিল হিসাবে নেওয়া হয়
ফাইল একটি সিস্টেম ফাংশন টেবিল ফাইল কম্পাইলার রিটার্ন প্রকার বর্ণনা করতে ব্যবহার করা হয়
সিস্টেম ফাংশন জন্য. এটি প্রয়োজনীয় কারণ কম্পাইলারের এই তথ্যের প্রয়োজন
বিস্তৃত এক্সপ্রেশন যা এই সিস্টেম ফাংশন ধারণ করে, কিন্তু sizetf চালাতে পারে না
ফাংশন যেহেতু এটির কোন রান-টাইম নেই।

টেবিলের বিন্যাস হল ASCII, প্রতি লাইনে একটি ফাংশন। খালি লাইন উপেক্ষা করা হয়, এবং
লাইন যা ' দিয়ে শুরু হয়#' অক্ষর হল মন্তব্য লাইন। প্রতিটি নন-কমেন্ট লাইন শুরু হয়
ফাংশনের নামের সাথে, তারপর vpi টাইপ (যেমন vpiSysFuncReal)। নিম্নলিখিত ধরনের হয়
সমর্থিত:

vpiSysFuncReal
ফাংশন একটি বাস্তব/রিয়েলটাইম মান প্রদান করে।

vpiSysFuncInt
ফাংশন একটি পূর্ণসংখ্যা প্রদান করে।

vpiSysFuncSized
ফাংশন প্রদত্ত প্রস্থ সহ একটি ভেক্টর প্রদান করে এবং স্বাক্ষরিত বা স্বাক্ষরবিহীন
পতাকা অনুযায়ী।

কমান্ড নথি পত্র


কমান্ড ফাইল ব্যবহারকারীকে উৎস ফাইলের নাম এবং নির্দিষ্ট কমান্ড লাইন স্থাপন করতে দেয়
একটি দীর্ঘ কমান্ড লাইনের পরিবর্তে একটি পাঠ্য ফাইলে সুইচ করে। কমান্ড ফাইলগুলি সি অন্তর্ভুক্ত করতে পারে
অথবা C++ শৈলী মন্তব্য, সেইসাথে # মন্তব্য, যদি # লাইন শুরু হয়।

ফাইল নাম
একটি সাধারণ ফাইলের নাম বা ফাইল পাথ একটি ভেরিলগ সোর্স ফাইলের নাম হিসাবে নেওয়া হয়।
পথটি প্রথম নন-হোয়াইট-স্পেস অক্ষর দিয়ে শুরু হয়। ভেরিয়েবল হয়
ফাইলের নামে প্রতিস্থাপিত।

-c cmdfile -f cmdfile
A -c or -f টোকেন একটি কমান্ড ফাইলের উপসর্গ তৈরি করে, ঠিক যেমন এটি কমান্ডে করে
লাইন cmdfile একই লাইনে বা পরবর্তী নন-কমেন্ট লাইনে থাকতে পারে।

-y libdir
A -y টোকেন কমান্ড ফাইলে একটি লাইব্রেরি ডিরেক্টরির উপসর্গ তৈরি করে, ঠিক যেমন এটি করে
কমান্ড লাইনে। এর পরামিতি -y পতাকা একই লাইনে বা হতে পারে
পরবর্তী অ-মন্তব্য লাইন।

মধ্যে ভেরিয়েবল libdir প্রতিস্থাপিত হয়

+incdir+অন্তর্ভুক্ত
সার্জারির +incdir+ কমান্ড ফাইলগুলিতে টোকেন অন্তর্ভুক্ত ফাইলগুলি অনুসন্ধান করার জন্য ডিরেক্টরি দেয়
অনেকটা একই ভাবে যে -I পতাকা কমান্ড লাইনে কাজ করে। পার্থক্য হল
যে একাধিক +অন্তর্ভুক্ত ডিরেক্টরি একটি একক বৈধ পরামিতি +incdir+
টোকেন, যদিও আপনার একাধিক থাকতে পারে +incdir+ লাইন।

মধ্যে ভেরিয়েবল অন্তর্ভুক্ত প্রতিস্থাপিত হয়

+libext+EXT
সার্জারির +লিবেক্সট টোকেন ইন কমান্ড ফাইল ফাইভস ফাইল এক্সটেনশন চেষ্টা করার সময় একটি খুঁজছেন
লাইব্রেরি ফাইল। এই সঙ্গে একযোগে দরকারী -y পতাকা তালিকা প্রত্যয় চেষ্টা করার জন্য
পরবর্তী লাইব্রেরি ডিরেক্টরিতে যাওয়ার আগে প্রতিটি ডিরেক্টরিতে।

+লিবদির+Dir
এটি লাইব্রেরি ডিরেক্টরি নির্দিষ্ট করার আরেকটি উপায়। -y পতাকা দেখুন।

+libdir-nocase+Dir
এই মত +লিবদির বিবৃতি, কিন্তু ডিরেক্টরির ভিতরে ফাইলের নাম ঘোষণা করা হয়েছে
এখানে কেস সংবেদনশীল। একটি লুকআপে অনুপস্থিত মডিউল নামটির সাথে মেলে না
ফাইলের নাম কেস, যতক্ষণ অক্ষর সঠিক হয়। উদাহরণস্বরূপ, "foo" মেলে
"Foo.v" কিন্তু "bar.v" নয়।

+সংজ্ঞায়িত করুনNAME এর=মূল্য
সার্জারির +সংজ্ঞায়িত করুন টোকেন হিসাবে একই -D কমান্ড লাইনে বিকল্প। মূল্য
টোকেনের অংশ ঐচ্ছিক।

+টাইমস্কেল+মূল্য
সার্জারির +টাইমস্কেল+ সিমুলেশনের জন্য ডিফল্ট টাইমস্কেল সেট করতে টোকেন ব্যবহার করা হয়।
এটি হল সময়ের একক এবং নির্ভুলতা যেকোন `টাইমস্কেল নির্দেশিকা বা পরে
`রিসেটল নির্দেশিকা। ডিফল্ট হল 1s/1s৷

+টুপার-ফাইলের নাম
এই টোকেনটি অনুবাদ করার জন্য কমান্ড ফাইলের পরে ফাইলের নাম দেয়
বড় হাতের অক্ষর এটি এমন পরিস্থিতিতে সাহায্য করে যেখানে একটি ডিরেক্টরী একটি DOS এর মধ্য দিয়ে গেছে
মেশিন, এবং প্রক্রিয়ার মধ্যে ফাইলের নাম মুংড হয়ে যায়।

+tolower-ফাইলের নাম
এটি এর অনুরূপ +টুপার-ফাইলের নাম উপরে বর্ণিত হ্যাক।

+পূর্ণসংখ্যা-প্রস্থ+মূল্য
এটি প্রোগ্রামারকে পূর্ণসংখ্যা ভেরিয়েবলের জন্য প্রস্থ নির্বাচন করতে দেয়
ভেরিলগ উৎস। ডিফল্ট হল 32, মানটি যেকোনো পছন্দসই পূর্ণসংখ্যার মান হতে পারে।

বৈচিত্র্য IN কমান্ড নথি পত্র


কিছু ক্ষেত্রে, iverilog কমান্ড ফাইলে ভেরিয়েবল সমর্থন করে। এই স্ট্রিং হয়
ফর্ম "$(বর্ণনাম)" বা "${বর্ণনাম}", কোথায় বর্ণনাম পরিবেশ পরিবর্তনশীল নাম
পড়তে. পুরো স্ট্রিংটি সেই ভেরিয়েবলের বিষয়বস্তুর সাথে প্রতিস্থাপিত হয়। ভেরিয়েবল হয়
শুধুমাত্র প্রেক্ষাপটে প্রতিস্থাপিত যা স্পষ্টভাবে ফাইল এবং ডিরেক্টরি সহ তাদের সমর্থন করে
স্ট্রিং।

পরিবর্তনশীল মানগুলি অপারেটিং সিস্টেমের পরিবেশ থেকে আসে, এবং প্রিপ্রসেসর থেকে নয়
ফাইল বা কমান্ড লাইনের অন্য কোথাও সংজ্ঞায়িত করে।

পূর্বনির্ধারিত ম্যাক্রো


নিম্নলিখিত ম্যাক্রোগুলি কম্পাইলার দ্বারা পূর্বনির্ধারিত:

__ICARUS__ = 1
Icarus Verilog এর সাথে কম্পাইল করার সময় এটি সর্বদা সংজ্ঞায়িত করা হয়।

__VAMS_ENABLE__ = 1
ভেরিলগ-এএমএস সক্ষম হলে এটি সংজ্ঞায়িত করা হয়।

উদাহরণ


এই উদাহরণগুলি অনুমান করে যে আপনার কাছে একটি ভেরিলগ সোর্স ফাইল রয়েছে যাকে বলা হয় hello.v বর্তমান
ডিরেক্টরি

a.out নামক একটি এক্সিকিউটেবল ফাইলে hello.v কম্পাইল করতে:

iverilog hello.v

hello নামে একটি এক্সিকিউটেবল ফাইলে hello.v কম্পাইল করতে:

iverilog -ও হ্যালো hello.v

ভিভিপি রানটাইম ব্যবহার করে স্পষ্টভাবে কম্পাইল এবং চালানোর জন্য:

iverilog -ohello.vvp -tvvp hello.v

onworks.net পরিষেবা ব্যবহার করে iverilog অনলাইন ব্যবহার করুন



সর্বশেষ লিনাক্স এবং উইন্ডোজ অনলাইন প্রোগ্রাম