من میخواستم FPGA را با زبان وریلاگ یاد بگیرم درحد پردازش تصاویر. به نظر شما اولا راهش چیه؟ بعد شما توی سایت فقط زبان VHDL رو کار میکنید؟ آیا در ادامه وریلاگ هم کار میکنید؟ اگر امکان داره نرم افزارها رو هم توی سایت آپلود کنید.
برای پیادهسازی الگوریتمهای پردازش تصویر، ابتدا باید یک زبان توصیف سختافزاری را به خوبی یاد بگیرید و به آن مسلط شوید. هر کدام از زبانهای VHDL و Verilog برای این کار مناسب هستند و هیچ تفاوتی از لحاظ قدرت پیادهسازی ندارند.
برای آشنایی با زبان VHDL میتوانید برنامههای ویدئویی زیر را ببینید:
بعد از آن باید به FPGA، ساختار آن و منابع دیجیتالی موجود در آن و نحوه مناسب بکارگیری آنها مسلط شوید. برای آشنایی با ساختار و ماهیت FPGAها می توانید برنامههای ویدئویی زیر را در کانال تلگرام ببینید:
و نهایتا باید با الگوریتمهای مورد نظرتون و به طور کلی نحوه پیادهسازی الگوریتمهای پردازش سیگنال در FPGAها آشنا شوید.
در صورت تمایل میتوانید در دوره جامع پردازش سیگنال با FPGA هم که در آموزشگاه فراد اندیش برگزار میشود شرکت کنید:
دوره جامع پردازش سیگنال با FPGA
ما در کانال و در دورههای تخصصی که در آموزشگاه برگزار می کنیم، زبان VHDL را آموزش میدهیم.
لینک نرمافزار ISE را قبلا برای دانلود در پست زیر قرار دادم:
من دانشجوی ارشد الکترونیک دیجیتال هستم و میخوام بصورت حرفه ای FPGA رو یاد بگیرم. درموردش تا به الان بسیار مطالعه داشتم و زبان وریلاگ رو هم تا حدودی بلدم. ممکنه راهنماییم کنید برای پیاده سازی یک سیستم پردازش تصویر توسط FPGA باید از کجا و چطور شروع کنم؟
میخوام این موضوع رو بعنوان پایان نامم ارائه بدم.
برای پیادهسازی الگوریتمهای پردازش سیگنال دیجیتال در FPGA، ابتدا باید به یکی از زبانهای توصیف سختافزاری VHDL یا Verilog مسلط شوید. همزمان با آن، بسیار مهم است که با خود FPGA و منابع داخلی آن و نحوه استفاده صحیح از آنها نیز آشنا شوید.
برای آشنایی بیشتر با منابع داخلی FPGA میتوانید #برنامه_ویدئویی۱ و #برنامه_ویدئویی۲ را در کانال تلگرام مشاهده کنید:
همچنین برای آشنایی با زبان VHDL میتوانید برنامه ویدئویی زیر را ببینید که در چندین قسمت ارائه شده است:
چند کتاب مفید هم در مورد آموزش زبان VHDL در سایت وجود دارند که میتوانید از طریق لینکهای زیر آنها دانلود کنید:
دانلود کتاب CIRCUIT DESIGN WITH VHDL
دانلود کتاب ADVANCED FPGA DESIGN
بعد از این مرحله، یعنی تسلط به یکی از زبانهای توصیف سختافزاری و نحوه استفاده صحیح از منابع داخلی FPGA، میتوانید شروع به یادگیری روشها و تکنیکهای پیادهسازی الگوریتمهای پردازش سیگنال کنید.
منظور از روشهای پیادهسازی الگوریتمهای پردازش سیگنال با FPGA، این است که بتوانید به راحتی الگوریتمهایی را که در محیطی مثل نرمافزار متلب طراحی شدهاند، در FPGA پیادهسازی کنید.
این کار شامل فرآیندی است که نیاز به یادگیری تکنیکهای مخصوصی دارد. تا به حال چند کتاب در این زمینه در کانال معرفی کردهام که میتونید از طریق لینکهای زیر آنها را دانلود کنید:
دانلود کتاب DIGITAL SIGNAL PROCESSING WITH FPGA
دانلود کتاب FPGA-BASED IMPLEMENTATION OF SIGNAL
همچنین در صورت تمایل میتوانید در دوره جامع پردازش سیگنال با FPGA هم که در آموزشگاه فراد اندیش برگزار میشود شرکت کنید. در این دوره، نحوه پیادهسازی انواع الگوریتمهای پردازش سیگنال را با انجام مثالهای مختلف و پرکابرد آموزش خواهم داد.
اگر بازار کار، پردازش سیگنال میخواد... قدم های آماده شدن برای این عنوان شغلی چیه؟ با توجه به تجربه ای که شما دارید، برای پردازش سیگنال، اولین قدم برای شروع پردازش سیگنال با FPGA چیه؟ همین پروژه هایی که با میکرو میشه انجام داد قدم اول هستش؟
همانطور که خودتون هم اشاره کردید، مرحله اول و بسیار مهم این هست که شما به FPGA و کدنویسی کاملا مسلط شوید. منظور از تسلط به FPGA این هست که بتوانید به نحو اصولی از منابع داخلی FPGA برای پیادهسازی مدارات استفاده کنید.
برای آشنایی با منابع داخلی FPGA، دو برنامه ویدئویی زیر را در کانال تلگرام ببینید:
https://telegram.me/fpga0/45
https://telegram.me/fpga0/49
بنابراین، مهم این هست که تمرینهای زیادی انجام دهید. چون فقط و فقط با تمرین هست که میتوانید یک موضوع را به معنای واقعی درک کنید. خیلی هم فرق نمیکنه که تمریناتی که انجام میدهید با میکروکنترلر هم قابل پیادهسازی باشه یا نه. مهم این هست که شما مهارتتون رو به کمک اون تمرینها افزایش بدید.
دو تمرین عالی برای افزایش مهارت پیادهسازی:
بعد از این مرحله میتوانید وارد بحث پردازش سیگنال با FPGA شوید. منابعی احتمالا بتوانید به صورت پراکنده در اینترنت پیدا کنید. دو کتاب هم من در سایت برای پردازش با FPGA گذاشتم که حتما دیدهاید.
معرفی و دانلود دو کتاب در زمینه پردازش سیگنال با FPGA:
دانلود کتاب DIGITAL SIGNAL PROCESSING WITH FPGA
دانلود کتاب FPGA-BASED IMPLEMENTATION OF SIGNAL
اگر یک آشنایی نسبی با FPGA و زبان VHDL دارید، میتوانید در صورت تمایل از دوره جامع پردازش سیگنال با FPGA که برای اولین بار در آموزشگاه فراد اندیش ارائه کردهام استفاده کنید.
شرکت در دوره جامع پردازش سیگنال با FPGA
در این دوره، روشها و تکنیکهای ویژه پیادهسازی الگوریتمهای پردازش سیگنال با FPGA را با روشی جدید به شما آموزش خواهم داد.
در این روش آموزشی، شما نیاز به داشتن پیشزمینه درباره الگوریتمهای پردازشی یا نرمافزار MATLAB ندارید و هر آنچه در این زمینه لازم دارید را در طول دوره به شما آموزش خواهم داد.
اگر با این موضوعات آشنایی دارید و به دنبال انجام تمریناتی در این زمینه هستید، در بخش پروژه هفته، چند مورد بسیار پرکاربرد را برای تمرین معرفی کردهام.
دو تمرین عالی برای افزایش مهارت پیادهسازی الگوریتمها با FPGA
این سوال خیلی از دوستان دیگر من هم هست: اینکه در آگهی های استخدام اومده، پیاده سازی الگوریتم های پردازشی با زبان VHDL بر روی FPGA چه رزومه و مهارت هایی رو باید داشته باشیم؟ اینکه مثلا چه الگوریتم هایی، پیاده سازیش در FPGA متداوله و یک مبتدی از کجا باید شروع کنه پردازش رو.
در جواب به این سوال، بد نیست به جز توضیح در مورد مهارتهایی که برای این کار لازم هست داشته باشید، در مورد موضوعاتی که دانستن آنها ضروری نیست هم صحبت کنم، چون بسیاری از افراد به همین دلیل شجاعت وارد شدن به این حوزه را هیچ وقت به دست نمیآورند.
همانطور که چندین بار در کانال و همچنین در صفحه مربوط به دوره پردازش سیگنال با FPGA توضیح دادم، پیشنیاز ورود به موضوع پیادهسازی الگوریتمهای پردازشی، آشنایی نسبی با FPGA و زبان VHDL یا Verilog است.
تصور خیلی از علاقمندان به این مهارت این است که مرحله بعدی، آشنایی با الگوریتمهای پردازش سیگنال است، که البته درست نیست. چون شما به عنوان یک پیادهساز الگوریتمهای پردازشی با FPGA نیاز به تسلط به انواع الگوریتمها و نحوه طراحی آنها ندارید.
آنچه در این مرحله نیاز دارید، یادگیری مهارتهای ویژهای است که در پیادهسازی الگوریتمهای پردازش سیگنال با FPGA به کار میرود. برای یادگیری این مهارتها، نیاز به آشنایی با الگوریتمها ندارید.
گرچه در فرآیند پیادهسازی از نرمافزار MATLAB هم برای مدلسازی و انجام محاسباتی قبل از پیادهسازی استفاده میکنیم، اما شما نیاز به تسلط به این نرمافزار هم ندارید و میتوانید فقط چند مورد خاص و بسیار ساده را در ارتباط با این موضوع در این نرمافزار یاد بگیرید.
برای شروع، در صورتی که آشنایی نسبی با FPGA و یک زبان توصیف سختافزاری دارید، میتوانید از کتابهایی که در این زمینه وجود دارند و من دو مورد از آنها را در پستهای بالا معرفی کردهام استفاده کنید.
در صورت تمایل و برای اینکه مسیر یادگیری و تسلط بر این مهارتهای ویژه را در زمان کوتاهتری طی کنید، میتوانید در دوره پردازش سیگنال با FPGA هم شرکت کنید.
در این دوره، شما را با یک روش ۷-مرحلهای استاندارد آشنا میکنم که به کمک آن میتوانید هر نوع الگوریتم پردازش سیگنال دیجیتال را به کمک FPGA پیادهسازی کنید. این الگوریتمها میتوانند در حوزه پردازش تصویر، پردازش صوت، مخابرات، رادار و یا هر حوزه پردازشی دیگر باشند.
ممنونم از شما جناب ثقفی به خاطر راه اندازی این انجمن
امیدوارم که این انجمن بتونه محلی برای افزایش و تبادل اطلاعاتمون بشه