প্রধান উত্তর হিসাবে, প্রস্তাবিত পদ্ধতিটি নিম্নরূপ:
use ieee.numeric_std.all;
...
my_slv <= std_logic_vector(to_unsigned(my_int, my_slv'length));
তবে, কেন এটি সুপারিশ করা হয় এবং ভিএইচডিএল এর std_logic_vectors মধ্যে পূর্ণসংখ্যার রূপান্তর করার জন্য যেমন আপাতদৃষ্টিতে বিশৃঙ্খলাবদ্ধ পদ্ধতি রয়েছে সে সম্পর্কে আমি বিস্তারিত বলতে চাই।
এটি কীভাবে এই ধরণের সরঞ্জামগুলি দ্বারা দেখা হয় তা নেমে আসে।
একটি স্ট্যান্ডার্ড_লিক_ভেক্টর আক্ষরিক অর্থে 1s বা 0 এর একগুচ্ছ। আমার 10001. এটি কোন সংখ্যা? ঠিক আছে, এটা নির্ভর করে। এটি স্বাক্ষরিত বা স্বাক্ষরবিহীন? এই এসএলভি জানে না বা যত্ন করে না। কত বিট? আচ্ছা, আপনার এসএলভি কত দিন?
একটি পূর্ণসংখ্যা স্বাক্ষরিত হয়, এবং সাধারণত 32 বিট (যদি আমি সঠিকভাবে মনে করি)।
প্রথম পর্যায়: আমার পূর্ণসংখ্যাকে আরও ছোট এবং স্বাক্ষরযুক্ত করুন। এই অংশ:
to_unsigned(my_int, my_slv'length));
"আমার এই পূর্ণসংখ্যা রয়েছে, আমি এটি স্বাক্ষরবিহীন হোক এবং আমি চাই এটি আমার এসএলভি দৈর্ঘ্যের সাথে ফিট করে।"
দ্বিতীয় পর্যায়: তারপরে, এই বিটগুলি নিয়ে যান এবং মাই_এসএলভি ড্রাইভ করতে তাদের ব্যবহার করুন।
my_slv <= std_logic_vector(...)
"এই বিটগুলি নিন এবং আমার এসএলভি চালানোর জন্য এগুলি ব্যবহার করুন"
(পরিভাষা সম্পর্কিত একটি নোট। A <= B
ভিএইচডিএলে "এ বি দ্বারা চালিত হয়" বলে উচ্চস্বরে পড়া হয়)
সংযুক্ত, এটি আপনাকে পেয়েছে:
my_slv <= std_logic_vector(to_unsigned(my_int, my_slv'length));
Aতিহ্যবাহী প্রোগ্রামিং ব্যাকগ্রাউন্ড থেকে আসার সময়, প্রোগ্রামিং চিন্তাভাবনার মধ্যে আটকা পড়া খুব সহজ। তবে ভিএইচডিএলে আপনি যে কোডটি লিখেছেন তাতে হার্ডওয়্যারটিতে শারীরিক জড়িত রয়েছে। এই পদ্ধতিটি কেন কাজ করে এবং সুপারিশ করা হয় তা জেনে রাখা আপনি হার্ডওয়ারের ক্ষেত্রে কী লিখছেন তা চিন্তা করার এক ধাপ কাছাকাছি।
বোনাস টিপ: টো_ দ্বারা উপসর্গযুক্ত ফাংশনগুলি অপারেশনগুলি সংক্ষিপ্ত / পরিবর্তন করে। তারা তাদের স্বাক্ষরবিহীন বা একটি নির্দিষ্ট দৈর্ঘ্য বা উভয় করে make এজন্য to_ সাইন ইন করার জন্য আপনাকে দৈর্ঘ্য নির্দিষ্ট করতে হবে। প্রকারগুলি ইতিমধ্যে সরাসরি সুসংগত হলে to_ (সরাসরি উদাহরণস্বরূপ std_logic_vector (...)) ছাড়া ফাংশনগুলি ব্যবহৃত হয়। "এই বিটগুলি নিন এবং এগুলিতে এগুলি স্টফ করুন, কোনও পরিবর্তনের প্রয়োজন নেই"। এগুলির একটি দৈর্ঘ্যের যুক্তি নেই কারণ উভয় পক্ষ ইতিমধ্যে সমান। সুতরাং এই জাতীয় জিনিস তৈরি করার সময়, আমার এটি সন্ধান করার দরকার নেই, আমি কীভাবে ডেটা পরিবর্তন করছি সে সম্পর্কে কেবল চিন্তা করি।