এটি হল gvhdl কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
gvhdl - ভিএইচডিএল কম্পাইলার/সিমুলেটর ফ্রিএইচডিএল-এর সামনে।
সাইনোপিসিস
gvhdl [অনুযায়ী OPTION] ... [VHDL_FILES] ... [OBJECT_FILES]...
বর্ণনাঃ
ফ্রিএইচডিএল হার্ডওয়্যার বর্ণনা ভাষা VHDL-এর জন্য একটি কম্পাইলার/সিমুলেটর স্যুট। ভিএইচডিএল'93
পাশাপাশি VHDL'87 মান সমর্থিত।
ফ্রিএইচডিএল মূল ভিএইচডিএল সোর্স ফাইলগুলিকে C++ এ অনুবাদ করে। তারপর, C++ উৎস হতে পারে
সিমুলেশন প্রোগ্রাম তৈরি করতে কার্নেলের সাথে কম্পাইল এবং লিঙ্ক করা হয়েছে। উৎপন্ন শুরু হচ্ছে
এক্সিকিউটেবল সংশ্লিষ্ট VHDL মডেলের অনুকরণ করবে। প্রকৃত নির্মাণ প্রক্রিয়া
ভিএইচডিএল উত্স থেকে সিমুলেটর তৈরি করা একটি জটিল প্রক্রিয়া যা দ্বারা পরিচালিত হয়
gvhdl লিপি.
VHDL_FILES VHDL সোর্স ফাইল নামের একটি তালিকা যা .vhdl বা .vhd দিয়ে শেষ হতে হবে। প্রথম
VHDL ফাইলের নাম সিমুলেটর এক্সিকিউটেবলের নামও নির্ধারণ করে। এটাই, ফাইনাল
এক্সিকিউটেবলের নাম .vhdl বা .vhd এক্সটেনশন ছাড়াই প্রথম VHDL ফাইলের নামে রাখা হবে।
লক্ষ্য করুন যে কারেন্টে অবজেক্ট ফাইলের পাশাপাশি সিমুলেটর তৈরি হবে
ডিরেক্টরি.
OBJECT_FILES সিমুলেটর এক্সিকিউটেবলের সাথে সংযুক্ত অবজেক্ট ফাইলগুলির একটি তালিকা নির্দিষ্ট করে।
gvhdl .o দিয়ে শেষ হওয়া সমস্ত ফাইলকে অবজেক্ট ফাইল হিসাবে বিবেচনা করে। সাধারণত, এই বস্তু
ফাইলগুলি একটি পৃথক সময় ভিএইচডিএল সোর্স কোড থেকে আগে (বিকল্প -c ব্যবহার করে) তৈরি করা হয়
সংকলন ধাপ।
বিকল্প
-L ভিএইচডিএলআইবি
ভিএইচডিএল লাইব্রেরি রুট ডিরেক্টরির পথ। এই ডিরেক্টরির মধ্যে কম্পাইলার অনুসন্ধান করে
নামের একটি ফাইল v2cc.libs. ম্যাপিং ফাইল v2cc.libs লাইব্রেরি ইউনিটের নাম অনুবাদ করে
ডিরেক্টরিতে। উল্লেখ্য যে একাধিক VHDLLIB প্রদান করা যেতে পারে।
-g এক্সিকিউটেবলে ডিবাগ তথ্য যোগ করে। বিস্তারিতভাবে, এই বিকল্পগুলি সংযুক্ত করে
VHDL সোর্স ফাইলে সংশ্লিষ্ট লাইনে মেশিন কোড তৈরি করেছে।
-G এক্সিকিউটেবলে ডিবাগ তথ্য যোগ করে কিন্তু মেশিন কোডের সাথে সংযুক্ত করে না
ভিএইচডিএল সোর্স লাইন। এই বিকল্পটি আসলে জেনারেট করা C++ কোড ডিবাগ করতে ব্যবহৃত হয়।
-c সিমুলেটর এক্সিকিউটেবল জেনারেট করবেন না। এই বিকল্পটি ব্যবহার করে, কম্পাইলার অনুবাদ করা হয়েছে
এক্সিকিউটেবলে VHDL উৎস এবং সেগুলোকে অবজেক্ট কোডে কম্পাইল করে কিন্তু করে না
একটি চূড়ান্ত সিমুলেটর এক্সিকিউটেবল তৈরি করুন। এই বিকল্পটি কম্পাইল করার জন্য বিশেষভাবে উপযোগী
ভিএইচডিএল প্যাকেজ।
-l LIBNAME
VHDL সোর্স কোডকে VHDL লাইব্রেরি LIBNAME-এর সাথে সংযুক্ত করুন। ডিফল্ট হিসাবে লাইব্রেরির নাম
WORK ব্যবহার করা হয়। এই বিকল্পটি বিশেষভাবে গুরুত্বপূর্ণ যদি ভিএইচডিএল উপাদানগুলি বেশ কয়েকটি থেকে থাকে
ভিএইচডিএল লাইব্রেরি সিমুলেটরে তৈরি করা হবে। যাতে নোট করুন
বর্তমান ওয়ার্কিং লাইব্রেরির চেয়ে অন্য একটি ভিএইচডিএল উপাদান সফলভাবে ব্যবহার করুন,
সংশ্লিষ্ট VHDL ফাইলগুলি অবশ্যই মেকানিজম ব্যবহার করে কম্পাইলার দ্বারা খুঁজে পাওয়া উচিত
v2cc.libs এ বর্ণিত। উপরন্তু, উপাদান উপযুক্ত সঙ্গে কম্পাইল করা আবশ্যক
-l LIBNAME বিকল্প।
--আরাম-উপাদান-দৃশ্যমানতা
থেকে অদৃশ্য ডিফল্ট বাইন্ডিংয়ের অনুমতি দেয় কাজ.
--লিবিইইই
সিমুলেশন এক্সিকিউটেবলে IEEE স্ট্যান্ডার্ড লাইব্রেরি ফাইল যোগ করুন।
পরিবেশ বৈচিত্র্য
V2CC_LIBRARY_PATH
ভেরিয়েবল V2CC_LIBRARY_PATH ":" আলাদা করা ফাইলের নাম নিয়ে গঠিত। এছাড়াও
পরিবেশ পরিবর্তনশীল, আপনি "-L libdir" কমান্ড লাইন বিকল্পটি ব্যবহার করতে পারেন
v2cc "-L" এর সাথে নির্দিষ্ট করা ডিরেক্টরিগুলি নির্দিষ্ট করাগুলির সামনে যোগ করা হয়
V2CC_LIBRARY_PATH দ্বারা। চূড়ান্ত লাইব্রেরি পথে, তারা একই ক্রমে উপস্থিত হয়
কমান্ড লাইনে।
সমর্থিত ভিএইচডিএল সাবসেট
বর্তমানে, FreeHDL সম্পূর্ণ VHDL'93 মানকে সমর্থন করে না। নিম্নলিখিত অসম্পূর্ণ
তালিকা বর্তমানে সমর্থিত নয় তার একটি ওভারভিউ দেয়:
- যৌগিক টাইপের আনুষ্ঠানিকতার স্বতন্ত্র অ্যাসোসিয়েশন সমর্থিত নয়।
- ভাগ করা ভেরিয়েবল সমর্থিত নয়।
- গুণাবলী লেনদেন, শান্ত, স্থিতিশীল এবং বিলম্বিত সমর্থিত নয়।
- ব্যবহারকারীর সংজ্ঞায়িত বৈশিষ্ট্য সমর্থিত নয়।
- গ্রুপ সমর্থিত নয়.
- সুরক্ষিত সংকেত অ্যাসাইনমেন্ট সমর্থিত নয়।
- কনফিগারেশন সমর্থিত নয়।
- বর্তমানে, ড্রাইভার সুইচ অফ করা যাবে না.
উদাহরণ
ব্যবহার
gvhdl -c adder.vhdl
adder.vhdl এর জন্য একটি অবজেক্ট ফাইল তৈরি করতে। মনে রাখবেন adder.vhdl-এ বেশ কিছু VHDL থাকতে পারে
মডেল।
gvhdl adder.vhdl
এর জন্য একটি সিমুলেটর তৈরি করবে গত adder.vhdl এ VHDL মডেল পাওয়া গেছে। যাইহোক, এই
ক্ষেত্রে, সিমুলেটর তৈরির জন্য প্রয়োজনীয় সমস্ত VHDL উপাদান অন্তর্ভুক্ত করতে হবে
ভিএইচডিএল সোর্স ফাইল।
gvhdl top.vhdl adder.o --libieee
সব মডেল কম্পাইল করে top.vhdl-এ পাওয়া শেষ VHDL মডেলের জন্য একটি সিমুলেটর তৈরি করে
top.vhdl এবং লিঙ্কিং (আগে তৈরি করা) adder.o অবজেক্ট ফাইল এবং IEEE স্ট্যান্ডার্ড
এক্সিকিউটেবল থেকে লাইব্রেরি।
gvhdl -c -l mylib adder.vhdl
adder.vhdl এ প্রদত্ত সমস্ত উপাদান সহ একটি অবজেক্ট ফাইল তৈরি করবে। যাইহোক, মধ্যে
এই ক্ষেত্রে উপাদানগুলি ডিফল্টের পরিবর্তে লাইব্রেরি মাইলিবের সাথে যুক্ত হবে
লাইব্রেরি নামের কাজ। নোট করুন যে বিকল্প -l শুধুমাত্র জেনারেট করা C++ সোর্স কোডকে প্রভাবিত করে কিন্তু
বস্তু ফাইল বা এক্সিকিউটেবল সংরক্ষণ করা হয় যেখানে স্থান পরিবর্তন করে না.
সিমুলেশন কম্যান্ডস
সিমুলেটর চালু হওয়ার পরে উপলব্ধ কমান্ডগুলির একটি সংক্ষিপ্ত সারাংশ মুদ্রিত হয়
পর্দায়:
গ : execute cycles = execute সিমুলেশন চক্র
n : next = পরবর্তী সিমুলেশন চক্র চালান
q: quit = প্রস্থান সিমুলেশন
r : রান = এক্সিকিউট সিমুলেশন এর জন্য
d : ডাম্প = ডাম্প সংকেত
doff : ডাম্প অফ = ডাম্পিং সংকেত বন্ধ করুন
don : ডাম্প অন = ডাম্পিং সংকেত চালিয়ে যান
s : প্রদর্শন = সংকেত মান দেখান
dv : ডাম্প var = সংকেত তালিকা থেকে একটি সংকেত ডাম্প করুন
ds : ডাম্প শো = ডাম্প করা সংকেতগুলির তালিকা দেখায়
nds : সংখ্যা দেখায় = ডাম্প করা সংকেতের সংখ্যা দেখায়
dc [-f ] [-ট ] [-cfg ] [-q]
: ডাম্প প্রক্রিয়া কনফিগার করে
মনে রাখবেন যে সিগন্যালগুলি একটি ফাইলে (ডিফল্ট ফাইলের নাম "wave.dmp") ভিসিডি ফর্ম্যাটে ডাম্প করা হয়৷
এই ফাইল বিন্যাস প্রতিটি VCD তরঙ্গরূপ দর্শক দ্বারা গ্রহণ করা উচিত. ফাইলের নাম সেট করা আছে
"wave.dmp" কিন্তু "dc -f ব্যবহার করে পরিবর্তন করা যেতে পারে ". যাইহোক, মৃত্যুদন্ড নিশ্চিত করুন
"d" কার্যকর করার আগে "dc -f ..."
কাল্পনিক কমান্ড লাইন বিকল্প
সিমুলেশন কমান্ড লাইন প্যারামিটার '-cmd "cmd1; cmd2; ..."' এর মাধ্যমে নিয়ন্ত্রণ করা যেতে পারে যেখানে
'cmd1', 'cmd2', ... পূর্ববর্তী বিভাগে বর্ণিত সিমুলেশন কমান্ড। বিঃদ্রঃ
যে প্রতিটি কমান্ড অবশ্যই ';' দ্বারা পৃথক করা উচিত। যেমন, নির্বাহ করা
./top -cmd "d;run 1000 ns;q;"
সিমুলেশন প্রোগ্রাম 'টপ' শুরু করবে, সমস্ত সিগন্যাল ডাম্প করবে এবং 1000 এনএসের জন্য সিমুলেশন চালাবে।
অবশেষে, সিমুলেশন বন্ধ করা হয়। আসলে, শেষ কমান্ড 'q;' হিসাবে ঐচ্ছিক
শেষ কমান্ডটি কার্যকর হওয়ার সাথে সাথে সিমুলেটর স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়।
onworks.net পরিষেবা ব্যবহার করে অনলাইনে gvhdl ব্যবহার করুন