আমি মনে করি এফপিজিএ আসলে কী এবং কখন এটি ডিজাইনে ব্যবহৃত হয় তার আশেপাশে একটি ভুল ধারণা থাকতে পারে। তাই আমাকে প্রথমে সেই অংশটি ব্যাখ্যা করার চেষ্টা করা যাক।
এফপিজিএ এবং যখন কেউ একটি থাকতে পারে ...
সরলকরণের ঝুঁকিতে, একটি এফপিজিএ প্রসেসরের চেয়ে কিছুটা বেশি যা 'পুনরায় কনফিগারযোগ্য' হয়।
কেন কেউ 'পুনরায় কনফিগারযোগ্য' মাইক্রোপ্রসেসর চান? ভাল, কারণ এটি সিলিকন প্রসেসর বানাতে এক, দুই, বা এমনকি দুই শতাধিক চিপস বহন করতে অনেক বেশি ব্যয় করে। এটিকে অর্থনৈতিকভাবে সম্ভাব্য করার জন্য আপনার কয়েক হাজার চিপের ব্যাচ চালানো দরকার।
যেহেতু কোনও ডিজাইন প্রথমবারের মতো বাগ-মুক্ত নয়, সিলিকন রুটটি কার্যকরভাবে কোনও সংস্থাকে আরও পরীক্ষামূলকভাবে চালানো না গেলে কমপক্ষে দু'এর প্রতিশ্রুতি দেয়, সবই বিশাল জালিয়াতি ব্যয়।
যার মূলত অর্থ হ'ল খুব কম বাণিজ্যিক সংস্থাগুলি বিস্তৃত পর্যাপ্ত বাণিজ্যিক আবেদন নিয়ে চিপ ব্যতীত অন্য কোনও কিছু ডিজাইন করতে এবং আনতে আগ্রহী হতে চলেছে।
সুতরাং, আপনি যদি একটি উজ্জ্বল নকশা নিয়ে এসেছেন যা একটি কাস্টম মাইক্রোপ্রসেসরকে ন্যায্য বলে প্রমাণিত করে, তবে আপনি এফপিজিএ প্রয়োগ করে আপনার ধারণাটি একটি ঝাঁকুনির বাজেটে প্রাণবন্ত করার চেষ্টা করতে পারেন , যেখানে প্রকৃত চিপটি কেবল ফটকগুলির সংগ্রহ, এবং একটি 'প্রোগ্রাম' (সাধারণত ভিএইচডিএল বা ভেরিলোগ) সেই গেটগুলি একটি প্রকৃত মাইক্রোপ্রসেসরে পরিণত করে।
তবে এটি পুরোপুরি আলাদা (মাইক্রোপ্রসেসর ডিজাইন!) রাস্তায় নেমে যাওয়ার বেশ কয়েকটি উপায় ...
যা আমাকে পরামর্শ দিতে পরিচালিত করে
... এফপিজিএগুলি রোবোটিক্সের জন্য প্রয়োজনীয় নয় - কমপক্ষে শুরুতে
রোবোটিক্সের জন্য আপনার যা দরকার তা হ'ল একটি প্রসেসর । একটি এফপিজিএ হ'ল এক বিশেষ ধরণের প্রসেসর (পুনরুদ্ধারযোগ্য)।
আপনি জিজ্ঞাসা করেন আপনার উচিত 'উচিত'? আচ্ছা এটি আপনার জ্ঞানের উপর নির্ভর করে পাশাপাশি আপনার আসল আগ্রহগুলি কোথায় রয়েছে - মাইক্রোপ্রসেসর ডিজাইন প্রথম বা রোবোটিক্স প্রথমে?
মাইক্রোপ্রসেসরগুলি যদি আপনার আবেগ হয় তবে তা সর্বদাই! এবং কাস্টম মাইক্রোপ্রসেসরগুলির জন্য রোবোটিক্স একটি দুর্দান্ত অ্যাপ্লিকেশন ক্ষেত্র - সম্ভবত অনেকগুলি সমান্তরাল সিদ্ধান্তের পথ সহ একটি ভিশন কর্টেক্স সরাসরি হার্ডওয়ারে পরিচালিত হয়, বা হার্ডওয়্যারে বিশেষ টেনসর গুণ - মূলত এমন কিছু যা জেনেরিক প্রসেসরগুলি অফ-শেল্ফটি ভালভাবে পরিচালনা করতে পারে না।
তবে আপনি যদি এফপিজিএগুলিতে মাইক্রোপ্রসেসর ডিজাইনগুলিতে চলে যাচ্ছেন তবে ভাল, তবে অবশ্যই আপনার উল্লেখ করা নিম্ন স্তরের সমস্ত জ্ঞান থাকা দরকার এবং আরও অনেক কিছু - কারণ মৌলিকভাবে আপনি নিজের প্রসেসরটি ডিজাইন করবেন। আপনার টার্গেট অ্যাপ্লিকেশনটি রোবোটিকস হতে পারে যদিও এর সাথে রোবোটিক্সের সাথে আসলে কিছুই করার নেই।
বেশিরভাগ ডিজাইনার সম্ভবত একটি বিদ্যমান প্রসেসরের সন্ধান করতে পারেন যা তাদের যা প্রয়োজন তার বেশিরভাগ কাজ করবে।
তাই আমি মনে করি আপনি সম্ভবত না একটি FPGA প্রয়োজন।
একটি স্টার্টার রোডম্যাপ: বাণিজ্যিক ক্ষমতা থেকে শুরু করে (সম্ভবত) একটি এফপিজিএ ...
আমার মতে প্রথম লক্ষ্যটি হল আপনার সমস্ত সৃজনশীল ধারণাটি একটি ওয়ার্কিং রোবোট (নিজের মধ্যে বেশ নিবিড় চ্যালেঞ্জ) তৈরির চেষ্টা করা।
যদি আপনি দেখতে পান যে আপনি আপনার নকশায় সুনির্দিষ্ট এবং উল্লেখযোগ্য প্রসেসিং বাধা পেয়েছেন তবে পরবর্তী লক্ষ্যটি আপনার প্রসেসরের নির্বাচন / নকশাটিকে এখনও বাণিজ্যিকভাবে উপলভ্য চিপগুলি অনুকূলকরণ করে। হতে পারে বৃহত্তর, দ্রুত (পাওয়ার ড্র, ট্রেড অফ হ্রাস, তাপ অপচয়)। হতে পারে ছোট, উত্সর্গীকৃত চিপগুলি নির্দিষ্ট কাজ পরিচালনা করে এবং প্রধান মস্তিষ্কের সাথে ইন্টারফেসিং করে (অ্যালগোরিদম / লজিক জটিলতার সাথে বাণিজ্য বন্ধ)।
কেবলমাত্র যদি এমন ক্ষমতা থাকে যে আপনি কেবল বাণিজ্যিক চিপগুলি পরিচালনা করতে পারবেন না, তবে আপনি কোনও এফপিজিএ-র ভিতরে একটি বিশেষ প্রসেসর বাস্তবায়নের কথা বিবেচনা করতে পারেন কারণ সেই সময়ে খুব স্পষ্টতর সুবিধাগুলি থাকবে যা আপনি নিজের রোলিংয়ের মাধ্যমে অর্জনের আশা করছেন ', এবং আপনি আপনার নকশাটির বাকী সঠিক ইন্টারফেস সহ কেবল সেই ক্ষমতাগুলি বাস্তবায়নে ফোকাস করতে পারেন।
অন্যথায়, আপনি সম্ভবত আপনার মূল লক্ষ্য থেকে পাশ থেকে ট্র্যাক হবেন (যা আমি ধরে নিচ্ছি আসলে একটি রোবট তৈরি করা!)
নীচের লাইন: এফপিজিএগুলি রোবোটিক্স শুরু করা থেকে বিরত থাকে --- যতক্ষণ না আপনি রোবোটিকস রাস্তা থেকে বেশ দূরে থাকেন - এবং ডিজিটাল ইলেক্ট্রনিক্স / মাইক্রোপ্রসেসরের নকশায় কিছুটা শক্তিশালী চৌপস অর্জন করেছেন।