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

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

📌 لینک اولین پست کانال:
https://t.me/fpga0/22
Download Telegram
⚡️ بزرگترین فروش ویژه سالانه فراد اندیش تمدید شد!

❇️ روی لینک زیر کلیک کنید تا از شش پیشنهاد ویژه انتهای سال ۱۴۰۱ مطلع شوید:

🌎 پیشنهادات ویژه انتهای سال

🔺 فرصت استفاده از این پیشنهادها فقط تا جمعه ۱۱ فروردین است

🆔 @FPGA0
✴️ پرتکرارترین سوالی که در چند روز گذشته در ارتباط با شرکت در دوره "اینترفیس با FPGA" مطرح شده است در مورد برد مورد استفاده در دوره و نحوه تهیه آن است...

🔷 بردی که در این دوره استفاده شده است، برد Arty S7 است که روی آن یک FPGA از خانواده Spartan-7 وجود دارد.

🔹 این برد در ایران وجود ندارد و در صورت تمایل باید به شرکت‌هایی که وارد کننده چنین محصولاتی هستند سفارش دهید.

🔺 اما...

🔹 به این نکته مهم توجه داشته باشید که هدف دوره اینترفیس با FPGA یادگیری کار با برد Arty S7 نیست؛ بلکه قرار است در این دوره، تجربیات و تکنیک‌هایی به شما منتقل شود که به کمک آنها بتوانید اصول اینترفیس با FPGA را بیاموزید و نه تنها با هر بردی، بلکه با هر نوع پریفرالی بتوانید مدار اینترفیس بهینه با FPGA را پیاده‌سازی کنید.

🔹 با این دیدگاه، اینکه شما در حال حاضر به چه بردی دسترسی دارید اصلا مهم نیست. حتی اینکه آیا در همین لحظه اصولا بردی در اختیار دارید مهم نیست. مهم این است که این تجربیات و تکنیک‌ها را بیاموزید؛ تا جای ممکن آنها را بدون برد و به کمک نرم‌افزار و شبیه‌سازی تمرین کنید و هر زمان که برای انجام پروژه‌ای به بردی دسترسی پیدا کردید، بتوانید به کمک اصولی که از این دوره آموختید، مدار اینترفیس مورد نظرتان را پیاده‌سازی کنید.

🎥 ویدئوی توضیحات کامل دوره "اینترفیس با FPGA" را می‌توانید در صفحه زیر مشاهده کنید 👇

🌎 https://faradandish.com/fpga-interface/

🔺 فرصت استفاده از پیشنهادات ویژه انتهای سال، جمعه ۱۱ فروردین به پایان می‌رسد:

🌎 پیشنهادات ویژه انتهای سال

🆔 @FPGA0
🆔 @FPGA0
#مقاله۲۳
🎓 طراحی فیلتر با ابزار FDATool نرم‌افزار متلب

📚 نوشته فاطمه مشاک

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

🌎 مقاله طراحی فیلتر با ابزار FDATool نرم‌افزار متلب

🆔 @FPGA0
⚡️ ویدئوی جدید: اینترفیس چیست؟

🔹 پیاده‌سازی مدارات اینترفیسی یکی از دو حوزه کاری اصلی در زمینه پیاده‌سازی با FPGA است.

🔶 من یک آموزش ویدئویی چهار قسمتی در مورد مهمترین مراحل پیاده‌سازی مدارات اینترفیسی تهیه کرده‌ام که قسمت اول آن در حال حاضر قابل مشاهده است.

📽 عنوان قسمت اول: اینترفیس چیست؟ 👇

🌎 https://faradandish.com/what-is-interface

🆔 @FPGA0
⚡️ ویدئوی دوم: نحوه مطالعه دیتاشیت و استخراج پارامترهای پیاده‌سازی از آن

🔹 مهمترین مشکل پیاده‌سازان سیستم‌های اینترفیسی با FPGA نه ضعف در کدنویسی و نه عدم آشنایی با تکنیک‌های پیاده‌سازی است!

📽 در قسمت دوم از مجموعه چهار قسمتی پیاده‌سازی مدارات اینترفیسی به کمک FPGA در مورد این مشکل و روش رفع آن توضیح داده‌ام 👇

🌎 https://faradandish.com/how-to-read-datasheet/

🆔 @FPGA0
⚡️ ویدئوی سوم: چطور ماجول اینترفیس را طراحی کنیم؟

🔹 این مرحله‌ای است که اکثر پیاده‌سازان دیجیتال با FPGA آن را نادیده می‌گیرند!

📽 در قسمت سوم از مجموعه چهار قسمتی پیاده‌سازی مدارات اینترفیسی به کمک FPGA در مورد یک تکنیک ساده اما کارآمد برای طراحی ماجول توضیح می‌دهم 👇

🌎 https://faradandish.com/module-design/

🆔 @FPGA0
🌟 در صفحه‌های زیر می‌توانید هر سوالی در مورد موضوع اینترفیس با FPGA دارید مطرح کنید 👇

🌎 https://faradandish.com/what-is-interface

🌎 https://faradandish.com/how-to-read-datasheet/

🌎 https://faradandish.com/module-design/

🔷 چهارمین ویدئو از مجموعه چهار قسمتی اینترفیس با FPGA فردا منتشر می‌شود.

🆔 @FPGA0
⚡️ ویدئوی چهارم: چطور ماجول اینترفیس را پیاده‌سازی می‌کنم؟

📽 ویدئوی جدید را حتما تا انتها ببینید، چون یک خبر بسیار مهم را در آن مطرح می‌کنم 👇

🌎 https://faradandish.com/fpga-interface/

🆔 @FPGA0
⚡️ فروش ویژه دوره آنلاین اینترفیس با FPGA

🔹 از روز گذشته، فروش ویژه دوره اینترفیس با FPGA با ارائه یک پیشنهاد استثنایی شروع شده است...

مهلت استفاده از این تخفیف تا همین جمعه ۵ خرداد است.

🖥 اطلاع از جزئیات و شرکت در دوره آنلاین "اینترفیس با FPGA" 👇

🌎 https://faradandish.com/fpga-interface/

🔺 %۳۵ تخفیف ویژه دوره اینترفیس با FPGA فقط تا جمعه ۵ خرداد

🆔 @FPGA0
✴️ پاسخ به ۶ سوال در مورد دوره جدید "اینترفیس با FPGA"

1️⃣ موضوع این دوره دقیقا چیست؟

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

2️⃣ بعد ثبت‌نام در دوره آنلاین، چه اتفاقی می‌افتد؟

🔹 به محض ثبت‌نام در دوره، شما به محتوای آموزشی جلسه اول دسترسی خواهید داشت.

3️⃣ ویدئوها چگونه در دسترس من قرار می‌گیرند؟

🔹 تمام آموزش‌های ویدئویی و دیگر موارد آموزشی، برای همیشه در حساب کاربری شما در سایت قابل دسترسی و مشاهده هستند.

4️⃣ آیا ویدئوها قابل دانلود هستند؟

🔹 خیر. ویدئوهای دوره جدید "اینترفیس با FPGA" قابل دانلود نیستند و فقط قابل مشاهده در سایت هستند. البته پلیر ویدئوها به صورت هوشمند بر مبنای پهنای باند اینترنت شما، کیغیت نمایش را تنظیم می‌کند تا بدون مشکل و به طور پیوسته بتوانید آموزش‌ها را ببینید. در ضمن هزینه اینترنت مشاهده ویدئوها نیز نیم‌بها است.

5️⃣ چه پیش‌نیازی برای شرکت در این دوره لازم است؟

🔹 برای درک کامل مباحث این دوره، نیاز به آشنایی نسبی با زبان VHDL و خود FPGA دارید.

6️⃣ هدایای این دوره، چطور به دست من می‌رسند؟

🔹 مشابه محتوای آموزشی دوره اصلی، هدایای آموزشی هم از طریق حساب کاربری شما در سایت قابل دسترسی و مشاهده هستند.

🎥 ویدئوی توضیحات کامل دوره جدید "اینترفیس با FPGA" 👇

🌎 https://faradandish.com/fpga-interface/

🔺 %۳۵ تخفیف ویژه دوره اینترفیس با FPGA فقط تا جمعه ۵ خرداد

🆔 @FPGA0
✴️ پرتکرارترین سوالی که در چند روز گذشته در ارتباط با شرکت در دوره "اینترفیس با FPGA" مطرح شده است در مورد برد مورد استفاده در دوره و نحوه تهیه آن است...

🔷 بردی که در این دوره استفاده شده است، برد Arty S7 است که روی آن یک FPGA از خانواده Spartan-7 وجود دارد.

🔹 این برد در ایران وجود ندارد و در صورت تمایل باید به شرکت‌هایی که وارد کننده چنین محصولاتی هستند سفارش دهید.

🔺 اما...

🔹 به این نکته مهم توجه داشته باشید که هدف دوره اینترفیس با FPGA یادگیری کار با برد Arty S7 نیست؛ بلکه قرار است در این دوره، تجربیات و تکنیک‌هایی به شما منتقل شود که به کمک آنها بتوانید اصول اینترفیس با FPGA را بیاموزید و نه تنها با هر بردی، بلکه با هر نوع پریفرالی بتوانید مدار اینترفیس بهینه با FPGA را پیاده‌سازی کنید.

🔹 با این دیدگاه، اینکه شما در حال حاضر به چه بردی دسترسی دارید اصلا مهم نیست. حتی اینکه آیا در همین لحظه اصولا بردی در اختیار دارید مهم نیست. مهم این است که این تجربیات و تکنیک‌ها را بیاموزید؛ تا جای ممکن آنها را بدون برد و به کمک نرم‌افزار و شبیه‌سازی تمرین کنید و هر زمان که برای انجام پروژه‌ای به بردی دسترسی پیدا کردید، بتوانید به کمک اصولی که از این دوره آموختید، مدار اینترفیس مورد نظرتان را پیاده‌سازی کنید.

🎥 ویدئوی توضیحات کامل دوره جدید "اینترفیس با FPGA" را می‌توانید در صفحه زیر مشاهده کنید 👇

🌎 https://faradandish.com/fpga-interface/

🔺 مهلت استفاده از %۳۵ تخفیف ویژه دوره اینترفیس با FPGA فردا (جمعه ۵ خرداد) به پایان می‌رسد.

🆔 @FPGA0
⚡️ تخفیف ویژه دوره اینترفیس با FPGA تمدید می‌شود...

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

🔹 به همین دلیل تصمیم گرفتیم از فردا به مدت دو روز این تخفیف را تمدید کنیم

🖥 اما قبل از آن، پیشنهاد می‌کنم سه ویدئوی مربوط به آموزش اینترفیس با FPGA را از طریق لینک‌های زیر مشاهده کنید 👇

🌎 https://faradandish.com/what-is-interface

🌎 https://faradandish.com/how-to-read-datasheet/

🌎 https://faradandish.com/module-design/

مهلت استفاده از تخفیف ۳۵ درصدی از فردا به مدت ۲ روز تمدید خواهد شد.

🆔 @FPGA0
⚡️ تخفیف ویژه دوره اینترفیس با FPGA تمدید شد...

🔹 شما از امروز به مدت دو روز می‌توانید در دوره اینترفیس با FPGA با تخفیف ویژه ۳۵ درصدی شرکت کنید

🖥 شرکت در دوره آنلاین "اینترفیس با FPGA" 👇

🌎 https://faradandish.com/fpga-interface/

مهلت استفاده از تخفیف ۳۵ درصدی تا همین پنجشنبه ۱۱ خرداد تمدید شد.

🆔 @FPGA0
👈🏻 منابع سخت‌افزاری عمومی/اختصاصی

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

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

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

🔹 این منابع سخت‌افزاری در ابتدا و به خودی خود، هیچ مدار مشخص و قابل استفاده‌ای را به ما ارائه نمی‌دهند؛ این شما هستید که با پیکره‌بندی این منابع و اتصال آنها به یکدیگر، مدار مورد نظرتان را "خلق" می‌کنید.

🔸 بنابراین، شما به کمک میکروکنترلرها یک نرم‌افزار برای انجام یک کار مشخص ایجاد می‌کنید، اما به کمک FPGA یک سخت‌افزار دیجیتال را خلق می‌کنید.

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

🔅در چند پستی که در ادامه مشاهده خواهید کرد، دو گروه اصلی از منابع سخت‌افزاری درون FPGA را به شما معرفی خواهم کرد و روش‌های استفاده از آنها را توضیح خواهم داد 👇🏻👇🏻

🆔 @FPGA0
⚡️ بهتر است در پیاده‌سازی‌ها از منابع عمومی FPGA استفاده کنیم یا منابع اختصاصی؟ (قسمت اول)

🔷 همان‌طور که می‌دانید تراشه FPGA از مجموعه‌ای از منابع سخت‌افزاری تشکیل شده است که به خودی خود مدار خاصی را ارائه نمی‌دهند.

🔹 بلکه شما به‌کمک کدنویسی به یک زبان توصیف سخت‌افزاری (مانند VHDL) مشخص می‌کنید که چگونه با کنار هم قرار گرفتن این منابع سخت‌افزاری، مدار دیجیتالتان در FPGA ساخته شود.

❇️ در مجموعه پست زیر که قبلاً منتشر شده است، منابع سخت‌افزاری درون FPGA را به‌طور مفصل توضیح داده‌ام:

https://t.me/fpga0/977

https://t.me/fpga0/978

https://t.me/fpga0/980

به‌طور کلی، منابع سخت‌‌افزاری موجود در FPGA به دو گروه تقسیم می‌‌شوند:

1️⃣ منابع سخت‌‌افزاری عمومی
2️⃣ منابع سخت‌‌افزاری اختصاصی

🔷 منابع عمومی، شامل Look-Up Tableها (LUTها) و فلیپ‌فلاپ‌‌‌ها هستند؛ در واقع، اکثر منابع سخت‌‌افزاری درون FPGA را این دو منبع تشکیل داده‌اند.

🔹 در عمل، شما به‌کمک Look-Up Table و فلیپ‌فلاپ می‌‌توانید هر نوع سخت‌‌افزاری را پیاده‌‌سازی کنید.

🔷 اما منابع سخت‌‌افزاری اختصاصی یا Dedicated، شامل منابعی است که برای یک کاربرد خاص از قبل ساخته شده‌اند.

🔹 برای مثال، ضرب‌کننده (بلوک DSP48)، حافظه‌های بلوکی، شیفت‌رجیسترها (SRLها) و بلوک DCM (مربوط به کلاک) از منابع اختصاصی FPGA هستند.

ادامه دارد...

🆔 @FPGA0
⚡️ بهتر است در پیاده‌سازی‌ها از منابع عمومی FPGA استفاده کنیم یا منابع اختصاصی؟ (قسمت دوم)

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

اما به سوال اصلی‌مان بازگردیم؛ برای پیاده‌سازی یک مدار دیجیتال در FPGA، بهتر است از منابع عمومی FPGA استفاده کنیم یا منابع اختصاصی؟

ایده اصلی کدنویسی حرفه‌‌ای این است که تا جای ممکن از منابع اختصاصی برای پیاده‌سازی استفاده کنیم.

اما دلیل این موضوع چیست؟

🔷 با به‌کارگیری حداکثری منابع اختصاصی، می‌توانید از مزایای زیر بهره‌مند شوید:

🌀 سرعت بیشتر مدار
🌀 اشغال حجم سخت‌افزاری کمتر
🌀 توان مصرفی کمتر

در واقع، منابع اختصاصی از سرعت بسیار بیشتری نسبت به منابع عمومی برخوردارند.

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

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

✳️ بنابراین، اگر در قسمتی از مدار امکان استفاده از منابع اختصاصی وجود دارد حتما از آن استفاده کنید.

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

🆔 @FPGA0
📣 ثبت‌نام ویژه تعطیلات تابستان شروع شد...

⚡️ تا ۴۵% تخفیف!

❇️ روی لینک زیر کلیک کنید تا از شش پیشنهاد ویژه تابستان مطلع شوید:

🌎 https://faradandish.com/summer-offer

🔺 فرصت استفاده از این پیشنهادها فقط تا جمعه ۹ تیر است

🆔 @FPGA0
⚡️ چگونه می‌توان از منابع اختصاصی FPGA در پیاده‌سازی‌ها استفاده کرد؟ (قسمت سوم)

🔷 به‌طور کلی، منابع سخت‌‌افزاری موجود در FPGA به دو گروه تقسیم می‌‌شوند:

🌀 منابع سخت‌‌افزاری عمومی
🌀 منابع سخت‌‌افزاری اختصاصی

منابع عمومی، شامل Look-Up Tableها و فلیپ‌فلاپ‌‌‌ها هستند که به‌کمک آن‌ها می‌توان هر نوع مداری را در FPGA پیاده‌سازی کرد.

منابع اختصاصی، شامل ضرب‌کننده، حافظه‌های بلوکی، شیفت‌رجیسترها و بلوک‌های DCM هستند که هر کدام برای کاربردی خاص ساخته شده‌اند.

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

🔷 به دو روش می‌توانید منابع اختصاصی را در مداری که در FPGA پیاده‌سازی می‌کنید به‌کار بگیرید:

1️⃣ روش ضمنی
2️⃣ روش مستقیم

🔷 در روش ضمنی یا inference، نحوه کدنویسی شما به نرم‌‌افزار سنتز نشان می‌‌دهد که برای پیاده‌سازی مدار باید از منابع اختصاصی استفاده کند.

🔷 در روش مستقیم یا instant کردن، شما منبع سخت‌افزاری اختصاصی مورد نظرتان را مستقیماً در کد instant می‌‌کنید.

اما روش ضمنی بهتر است یا روش مستقیم؟

در پست بعد، به این سوال پاسخ خواهم داد.

ادامه دارد...

🆔 @FPGA0