آموزش اِف‌پی‌جی‌اِی از صفر
3.37K subscribers
530 photos
15 videos
10 files
536 links
آموزش قدم به قدم طراحی دیجیتال به کمک FPGA

🌎 آموزشگاه فراد اندیش
www.FaradAndish.com
☎️ ۴۲۴۳۹۹۰۰
ایمیل سایت:
help@faradandish.com

📌 لینک اولین پست کانال:
https://t.me/fpga0/22
Download Telegram
🌟 سلام،

🔷 آیا برای یادگیری بهتر FPGA به دنبال یک برد آموزشی مناسب و ارزان قیمت بوده‌اید اما موفق به یافتن آن نشده‌اید؟

🔷 آیا در بین ده‌ها مدل برد آموزشی با امکانات و قیمت‌های مختلف سرگردان مانده‌اید؟

🔷 آیا نگران کیفیت و قابلیت‌های بردی که انتخاب کرده‌اید هستید؟

🔷 آیا قیمت زیاد برد، مانع خرید شما شده است؟

🚀 اگر شما هم مانند بسیاری از مخاطبان ما در بیش از دو سال گذشته، با این مشکلات درگیر بوده‌اید، منتظر خبر جدیدی از گروه مهندسی فراد اندیش که به زودی در کانال منتشر می‌شود باشید.

احمد ثقفی
🆔 @FPGA0
سوال:

من شنیدم استفاده از FPGA در کنار DSP راه حل بسیار کارآمدی میباشد. دلیلشان این بود که بعضی از الگوریتم ها توسط DSP سریعتر از FPGA انجام میشود.
سوالم اینه که اگه چنین حرفی درسته، چه نوع الگوریتمهایی در FPGA کند هستند که در DSP سریعترند؟

📝 جواب:

استفاده از DSP در کنار FPGA همانطور که شما هم اشاره کردید در بسیاری از سیستم‌های پیشرفته، یک راه مناسب برای پیاده‌سازی الگوریتم‌های پردازشی پیچیده است. چون کار با FPGA طراحی سخت‌افزار محسوب می شود و کار با DSP طراحی نرم‌افزار است،‌ به طراحی این نوع سیستم‌های ترکیبی Hardware/Software Codesign گفته می‌شود.

وظیفه طراح در این نوع سیستم‌ها، تقسیم وظایف پردازشی بین سخت‌افزار و نرم‌افزار است. معمولا دلیل اینکه بخشی از الگوریتم‌ها به DSP سپرده می‌شود، سرعت بیشتر آن نیست، بلکه سهولت بیشتر آن در پیاده‌سازی الگوریتم‌های پیچیده است. به طور کلی، معمولا الگوریتم‌هایی که به سرعت بسیار زیادی نیاز دارند ولی آنچنان پیچیده نیستند را به کمک FPGA و الگوریتم‌هایی را که پیچیدگی زیاد دارند ولی سرعتشان در حد توان DSPهاست با DSP پیاده‌سازی می‌کنند.

در مورد نحوه انتخاب تکنولوژی مناسب برای پیاده‌سازی، می‌توانید #برنامه_ویدئویی۸ را ببینید:

🌎 http://goo.gl/ACVDJS

موضوعی که شما در موردش سوال کردید بحث بسیار مفصلی است به طوریکه بعضی از افراد در دانشگاه و صنعت متخصص این زمینه هستند و روی آن تحقیق انجام می‌دهند. آنها این موضوع را بررسی می‌کنند که وظایف پردازشی را چطور بین سخت‌افزار (FPGA) و نرم‌افزار (DSP یا پردازنده‌ای درون FPGA) تقسیم کنیم. چون این موضوع تاثیر زیادی در هزینه و زمان انجام پروژه خواهد داشت.

🆔 @FPGA0
🌟 سلام،

🔹 آیا به تازگی شروع به کدنویسی به زبان VHDL کرده‌اید و بعد از نوشتن هر کد با انواع پیام‌های خطا روبرو می‌شوید؟

🔹 آیا این پیام‌ها شما را سردرگم کرده‌اند و نمی‌دانید چگونه آنها را برطرف کنید؟

🔹 در مقاله‌ای که فردا در سایت منتشر خواهم کرد، ۱۰ خطای رایج کدنویسی به زبان VHDL را معرفی خواهم کرد؛

🔹 برای هر خطا، دلیل رخ دادن آن، متن پیام خطا، و نحوه برطرف کردن آن را توضیح خواهم داد.

احمد ثقفی
🆔 @FPGA0
#مقاله۴
🎓 ۱۰ خطای کدنویسی رایج در زبان VHDL

📚 نوشته احمد ثقفی

📥 در سایت فراد اندیش بخوانید 👇👇👇👇

🌎 http://goo.gl/4EDkr9
📢 افتتاح یک بخش جدید در کانال آموزش FPGA از صفر 👇

🚀 "پروژه هفته"

✳️ بدون انجام تمرین‌های متعدد که به نحو مناسب و مرتبط با بازار کار حرفه‌ای طراحی شده باشند، دستیابی به مهارت و تسلط کافی در حوزه طراحی دیجیتال بسیار دشوار است.

✳️ بیشتر فارغ‌التحصیلان دوره‌های آموزشی فراد اندیش و بسیاری از اعضای کانال، پیشنهاد ایجاد چنین بخشی را مدت‌ها است که مطرح کرده‌اند.

✳️ در پاسخ به این درخواست، بخش "پروژه هفته" از فردا در کانال آموزش FPGA از صفر راه‌اندازی می‌شود.

✳️ اگر شما هم به سطح متوسطی از آشنایی با FPGA دست پیدا کرده‌اید و تمایل دارید با انجام تمرین‌های جدی‌تر، مهارت و تسلط خودتان را افزایش دهید، بدون هیچ تردیدی بخش "پروژه هفته" برایتان مفید خواهد بود.

✳️ هر دو هفته، یک پروژه جدید کاربردی که انجام آن بتواند شما را برای قرار گرفتن در بازار کار حرفه‌ای آماده‌تر کند معرفی می‌شود.

✳️ برای هر پروژه، اطلاعات و نیازمندی‌های لازم برای پیاده‌سازی ارائه می‌شود؛ اما انجام کامل پیاده‌سازی و تست آن بر عهده شما خواهد بود.

احمد ثقفی

🔺 پ.ن. پروژه این هفته را که طراحی پروتکل SPI خواهد بود از دست ندهید چون در اکثر پروژه‌های حرفه‌ای، حداقل یک بخش ارتباطی از طریق SPI وجود دارد.

🆔 @FPGA0
🛠 پروژه هفته

هر دو هفته یکبار در کانال آموزش FPGA از صفر

📅 جمعه‌ها را به انجام پروژه‌های شخصی اختصاص دهید

🆔 @FPGA0
🆔 @FPGA0
#پروژه۱
🛠 پیاده‌سازی پروتکل SPI

📚 نوشته احمد ثقفی

📥 در سایت فراد اندیش بخوانید 👇👇👇👇

🌎 http://goo.gl/cQ3eZe
سوال:

آیا با توجه به اینکه بیشترین کاربرد FPGA در صنعت ما پردازش هست، آیا این دید حداقلی درسته که با پروژه هایی که معمولا در یادگیری میکروها استفاده میشوند FPGA رو شروع کنیم تا به کمک پروژه های کوچیک کد نویسیمون قوی بشه؟ به نظر شما برای شروع جدی از چه پروژه هایی باید شروع کرد وقتی نیاز صنعت و بازار کار بیشتر برای پردازش هست؟

📝 جواب:

همانطور که خودتون هم اشاره کردید، مرحله اول و بسیار مهم این هست که شما به FPGA و کدنویسی کاملا مسلط شوید. بنابراین، مهم این هست که تمرین‌های زیادی انجام دهید. چون فقط و فقط با تمرین هست که می‌توانید یک موضوع رو به معنای واقعی درک کنید. فرقی هم خیلی نمی کنه که تمریناتی که انجام می‌دهید با میکروکنترلر هم قابل پیاده‌سازی باشه یا نه. مهم این هست که شما مهارتتون رو به کمک اون تمرین‌ها افزایش بدید.

برای کمک به شما در جهت انجام تمرین‌های جدی‌تر و کاربردی‌تر، همانطور که احتمالا اطلاع دارید، اخیرا بخشی را در کانال راه‌اندازی کرده‌ایم به نام "پروژه هفته" که در آن به معرفی پروژه‌های کوچک کاربردی می‌پردازیم. شما می‌توانید با مطالعه این بخش، شروع به پیاده‌سازی پروژه‌ها کنید و تحربه خودتون را افزایش دهید.

اولین پروژه این بخش را با عنوان پیاده‌سازی پروتکل SPI می‌توانید از طریق لینک زیر مشاهده کنید 👇

🌎 http://goo.gl/cQ3eZe

بعد از این مرحله، یعنی زمانیکه به کدنویسی VHDL و تراشه FPGA تسلط بیشتری پیدا کردید، می‌توانید وارد بحث پردازش سیگنال شوید. منابعی را احتمالا بتوانید به صورت پراکنده در اینترنت پیدا کنید برای این موضوع. یک کتاب هم من در کانال برای پردازش با FPGA گذاشتم که حتما دانلود کرده‌اید 👇

🌎 http://goo.gl/9vGL3n

در حال حاضر هم در حال آماده‌سازی کارگاهی هستم در زمینه پردازش سیگنال با FPGA که بعد از آماده شدن، از طریق سایت و کانال اطلاع رسانی خواهم کرد.

🆔 @FPGA0
سوال:

من و دوستانم با این مشکل مواجه هستیم که هنوز به تسلط نسبی در میکروکنترلرها و زبان C نرسیدیم و از طرفی مشتاقیم برای یادگیری FPGA و VHDL. بعضی از افرادی که FPGA و VHDL کار کردن، هشدار میدادن که فراگیری همزمان VHDL و C در روند یادگیری و تسلط به VHDL مشکل ایجاد میکنه.

میخواستم با توجه به تجربه ای که در این زمینه دارید، در مورد این مشکل راهنمایی کنید. آیا همزمانی یادگیری زبان C و VHDL رو توصیه میکنید و مفید میدونید یا خیر؟️

📝 جواب:

از نظر من با توجه به اینکه این دو موضوع بسیار متفاوت هستند، تقدم و تاخری در یادگیری وجود ندارد و شما هر کدام را هر زمان که بخواهید می‌توانید شروع کنید. فقط باید به این نکته توجه کنید که حتما زمان کافی برای تمرین داشته باشید.

همانطور که قبلا هم در کانال اشاره کردم، تنها پیش‌نیاز شروع یادگیری FPGAها، آشنایی عمومی با مدارات منطقی است. منظور از آشنایی عمومی این است که شما با مفاهیمی مثل گیت‌های منطقی، مالتی‌پلکسرها، دیکدرها، فلیپ‌فلاپ‌ها و ... آشنا باشید. البته حتی این موارد ساده هم در این دوره یادآوری می‌شوند.

دو موضوع توصیف سخت‌افزار دیجیتال به کمک زبان VHDL و نوشتن یک نرم‌افزار به کمک زبان C کاملا متفاوت هستند. برای آشنایی بیشتر با تفاوت‌های موجود بین FPGAها و پردازنده‌ها می‌توانید #برنامه_ویدئویی۳ را ببینید 👇

🌎 https://telegram.me/fpga0/58

برای آشنایی اولیه با زبان توصیف سخت‌افزاری VHDL هم می‌توانید #برنامه_ویدئویی۱۰ و #برنامه_ویدئویی۱۲ و #برنامه_ویدئویی۱۳ و #برنامه_ویدئویی۱۵ را ببینید 👇

🌎 http://goo.gl/ex5MTg

همچنین برای آشنایی با نحوه انتخاب تکنولوژی مناسب برای پیاده‌سازی یک پروژه، می‌توانید #برنامه_ویدئویی۸ را ببینید 👇

🌎 http://goo.gl/ACVDJS

در این برنامه می‌آموزید، چطور از بین تکنولوژی‌هایی مثل AVR ،ARM ،DSP و FPGA، یکی را برای استفاده در یک پروژه خاص انتخاب کنید.

در آخر باز هم تاکید می‌کنم که مساله مهم در فرآیند یادگیری این است که شما زمان کافی را برای تمرین آنچه یاد می‌گیرید اختصاص دهید. بنابراین، اگر زمان مناسب در اختیار دارید، می‌توانید هر دو موضوع را با هم شروع کنید.

🆔 @FPGA0
📢 برد آموزشی فراد ۱، مبتنی بر یک FPGA از خانواده Spartan-6 به زودی برای عرضه عمومی ارائه خواهد شد.

✳️ این برد آموزشی، در سه دوره اخیر طراحی دیجیتال با FPGA به دانشجویان ارائه شده است.

🆔 @FPGA0
🛠 پروژه هفته

هر دو هفته یکبار در کانال آموزش FPGA از صفر

📅 جمعه‌ها را به انجام پروژه‌های شخصی اختصاص دهید

🆔 @FPGA0
🛠 پروژه هفته

✳️ پیاده‌سازی فیلتر دیجیتال

🔷 در پروژه این هفته که فردا منتشر خواهد شد، شما را با یکی از مهم‌ترین بخش‌های اکثر الگوریتم‌های پردازش سیگنال دیجیتال آشنا می‌کنم.

🔷 پیاده‌سازی فیلتر دیجیتال، ملزومات و پیچیدگی‌های زیادی دارد که در مقاله فردا، با بخشی از آنها آشنا می‌شوید.

احمد ثقفی

🔺 پ.ن. اگر پروژ هفته ۱ را که مربوط به پیاده‌سازی پروتکل SPI بود هنوز مطالعه نکرده‌اید، پیشنهاد می‌کنم تا قبل از انتشار پروژه جدید آن را مطالعه و برای پیاده‌سازی آن برنامه‌ریزی کنید 👇

🌎 http://goo.gl/cQ3eZe

🆔 @FPGA0
🆔 @FPGA0
#پروژه۲
🛠 پیاده‌سازی فیلتر دیجیتال

📚 نوشته احمد ثقفی

📥 در سایت فراد اندیش بخوانید 👇👇👇👇

🌎 http://goo.gl/JT0SJc
🔵 پیاده‌سازی عملی در FPGA

🔹 چگونه طرحی را که به کمک زبان VHDL توصیف کرده‌ایم به صورت عملی روی FPGA پیاده‌سازی کنیم؟

🔹 در برنامه ویدئویی که امروز منتشر خواهد شد، مراحل پیاده‌سازی عملی یک مدار روی FPGA را به کمک یک برد آموزشی به شما نشان خواهم داد.

احمد ثقفی

🔺 پ.ن. توصیه می‌کنم این برنامه ویژه را که در آن تمام مراحل طراحی و پیاده‌سازی را جمع‌بندی می‌کنم و به صورت عملی نشان می‌دهم از دست ندهید. بعد از مشاهده این برنامه، قادر خواهید بود خودتان مدارات مختلف را طراحی کرده و روی FPGA آزمایش کنید.

🆔 @FPGA0
🆔 @FPGA0
#برنامه_ویدئویی۲۰
🎓 پیاده‌سازی عملی یک پروژه در FPGA

🎥 برنامه ویدئویی احمد ثقفی
🕘 زمان: ۱۲ دقیقه

📥 در سایت فراد اندیش ببینید 👇👇👇👇

🌎 http://goo.gl/zQ8Yp4
🛠 پروژه هفته

✳️ پیاده‌سازی پروتکل RS232

🔷 در پروژه این هفته که امروز منتشر خواهد شد، شما را با نحوه پیاده‌سازی یکی از پرکاربردترین پروتکل‌های ارتباطی آشنا می‌کنم.

🔷 ماجول RS232 از یک بخش گیرنده و یک بخش فرستنده تشکیل شده است. در مقاله امروز، هر دو بخش را به طور کامل تشریح خواهم کرد و برای هر کدام یک کد نمونه هم قرار خواهم داد که می‌توانید دانلود کنید و در پروژه‌هایتان از آن استفاده کنید.

احمد ثقفی

🔺 پ.ن.۱. مقاله پیاده‌سازی پروتکل RS232 قبلا در سایت منتشر شده بود اما تغییرات زیادی در آن انجام گرفته است تا مناسب برای بخش پروژه هفته باشد.

🔺 پ.ن.۲. پروژ هفته ۱ که مربوط به پیاده‌سازی پروتکل SPI بود و پروژه هفته ۲ که مربوط به طراحی فیلتر دیجیتال بود را می‌توانید از طریق لینک‌های زیر مطالعه کنید 👇

🌎 http://goo.gl/cQ3eZe 👈 SPI Protocol

🌎 http://goo.gl/JT0SJc 👈 Digital Filter

🆔 @FPGA0
🆔 @FPGA0
#پروژه۳
🛠 پیاده‌سازی پروتکل RS232

📚 نوشته احمد ثقفی

📥 در سایت فراد اندیش بخوانید 👇👇👇👇

🌎 http://goo.gl/5gqdrf