আমি একটি এফপিজিএ (পাপিলিও বিকাশ বোর্ড, যা একটি xilinx স্পার্টান 3e, vhdl ব্যবহার করে) ব্যবহার করতে শিখছি।
আমার একটি ইনকামিং ডালটি একটি (হার্ড কোডড) সংখ্যায় ভাগ করতে হবে।
আমি 3 টি বিকল্প দেখতে পাচ্ছি - মোটামুটিভাবে সিউডোকোড হিসাবে (উদাহরণ হিসাবে 10 টি গণনা ব্যবহার করে):
- ইনপুট ক্রমবর্ধমান প্রান্তটি 1 দ্বারা বাড়িয়ে 0 তে শুরু করুন, 10 এর সাথে তুলনা করুন; যদি তারা সমান হয় তবে 0 এ পুনরায় সেট করুন এবং আউটপুট পালস ট্রিগার করুন
- ইনপুট ক্রমবর্ধমান প্রান্তটি 1 দ্বারা হ্রাস 10 এ শুরু করুন, 0 এর সাথে তুলনা করুন; যদি তারা সমান হয় তবে 10 এ পুনরায় সেট করুন এবং আউটপুট পালস ট্রিগার করুন
- 9 এ শুরু করুন, তবে নিশ্চিত করুন যে সেখানে কমপক্ষে 1 টি "0" বিট রয়েছে যা আমার আউটপুট বিট। ইনপুটটিতে ক্রমবর্ধমান প্রান্তটি কমেছে 1. আউটপুট বিটের উত্থিত প্রান্তে, পুনরায় সেট করুন।
দায়িত্ব চক্রটি গুরুত্বহীন।
এর মধ্যে কি অন্যদের চেয়ে ভাল? এমন কি আরও ভাল পদ্ধতি আছে যা আমি ভাবিনি?
কোনও "স্ট্যান্ডার্ড" উপায় আছে যা সংকলকটিকে অনুকূলিত করার সর্বোত্তম সুযোগ দেবে?