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

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

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

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

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

🔺 فرصت استفاده از این پیشنهادها فقط تا شنبه ۹ فروردین است

🆔 @FPGA0
⚡️ تمدید دوباره بزرگترین فروش ویژه سالانه فراد اندیش!

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

🔹 به همین دلیل، تصمیم گرفتیم این پیشنهادات را یک بار دیگر تکرار کنیم.

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

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

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

🆔 @FPGA0
✴️ پاسخ به ۶ سوال در مورد ۶ پیشنهاد ویژه عید نوروز

1️⃣ این ۶ پیشنهاد دقیقا چه هستند؟

🔹 ۱- شرکت در دوره آنلاین طراحی دیجیتال با FPGA (تخفیف ۳۵%)
🔹 ۲-شرکت در دوره آنلاین پردازش سیگنال با FPGA (تخفیف ۳۵%)
🔹 ۳-شرکت در دوره آنلاین اینترفیس با FPGA (تخفیف ۳۵%)
🔹 ۴، ۵ و ۶- ثبت‌نام همزمان در دو دوره آنلاین دلخواه (تخفیف ۴۵%)

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

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

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

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

4️⃣ ویدئوهای جلسات بعدی کی قابل دسترسی هستند؟

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

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

🔹 برای دوره طراحی دیجیتال با FPGA: فقط آشنایی عمومی با مدارات منطقی
🔹 برای دوره پردازش سیگنال با FPGA: آشنایی نسبی با FPGA و زبان VHDL
🔺 هیچ نیازی به آشنایی با الگوریتم‌های پردازش سیگنال و حتی نرم‌افزار متلب نیست
🔹 برای دوره اینترفیس با FPGA: آشنایی نسبی با FPGA و زبان VHDL

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

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

🎥 ویدئوی توضیحات کامل این ۶ پیشنهاد 👇

🌎 پیشنهادات ویژه عید نوروز

🔺 مهلت استفاده از این ۶ پیشنهاد تا پنجشنبه ۲۱ فروردین است.

🆔 @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 هستند.

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

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

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

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

🔺 فرصت استفاده از این پیشنهادها فقط تا چهارشنبه ۲۵ تیر است

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

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

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

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

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

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

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

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

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

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

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

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

🆔 @FPGA0
✴️ پاسخ به ۶ سوال در مورد ۶ پیشنهاد ویژه تابستان

1️⃣ این ۶ پیشنهاد دقیقا چه هستند؟

🔹 ۱- شرکت در دوره آنلاین طراحی دیجیتال با FPGA (تخفیف ۳۵%)
🔹 ۲-شرکت در دوره آنلاین پردازش سیگنال با FPGA (تخفیف ۳۵%)
🔹 ۳-شرکت در دوره آنلاین اینترفیس با FPGA (تخفیف ۳۵%)
🔹 ۴، ۵ و ۶- ثبت‌نام همزمان در دو دوره آنلاین دلخواه (تخفیف ۴۵%)

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

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

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

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

4️⃣ ویدئوهای جلسات بعدی کی قابل دسترسی هستند؟

🔹 یک هفته بعد از جلسه اول، محتوای آموزشی جلسه دوم قابل دسترسی است و همین طور هفته به هفته به محتوای جلسات بعد دسترسی خواهید داشت. (در مورد دوره پردازش سیگنال با FPGA، هر هفته به دو جلسه دسترسی خواهید داشت.)

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

🔹 برای دوره طراحی دیجیتال با FPGA: فقط آشنایی عمومی با مدارات منطقی
🔹 برای دوره پردازش سیگنال با FPGA: آشنایی نسبی با FPGA و زبان VHDL
🔺 هیچ نیازی به آشنایی با الگوریتم‌های پردازش سیگنال و حتی نرم‌افزار متلب نیست
🔹 برای دوره اینترفیس با FPGA: آشنایی نسبی با FPGA و زبان VHDL

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

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

🌟 توضیحات کامل این ۶ پیشنهاد 👇

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

🔺 مهلت استفاده از این ۶ پیشنهاد تا چهارشنبه ۲۵ تیر است.

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

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

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

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

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

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

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

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

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

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

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

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

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

🆔 @FPGA0
⚡️ برای استفاده از منابع اختصاصی FPGA، روش مستقیم بهتر است یا روش ضمنی؟ (قسمت چهارم)

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

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

اما استفاده از کدام روش بهتر است؟

استفاده از روش ضمنی بهتر است؛ زیرا با استفاده از این روش، اصطلاحاً کد شما portable می‌شود.

اما این موضوع به چه معناست؟

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

🔷 از طرف دیگر، اگر از ورژن دیگری از همان نرم‌افزار سنتز استفاده کنید، ممکن است instant شما برای نرم‌افزار قابل شناسایی نباشد.

بنابراین، تا جای ممکن از روش ضمنی استفاده کنید تا یک کد portable داشته باشید و بر روی هر نرم‌افزار سنتز و هر ورژنی، به درستی شناسایی شود.

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

⚡️ البته توجه داشته باشید که امکان استفاده از برخی منابع به روش ضمنی وجود ندارد.

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

🆔 @FPGA0
✴️ نحوه برگزاری دوره‌های آنلاین فراد اندیش...

🔷 بسیاری از افرادی که تمایل به شرکت در دوره‌های آنلاین فراد اندیش را دارند تصور می‌کنند که باید حتما در زمان خاصی آنلاین باشند تا بتوانند از آموزش‌ها استفاده کنند؛ اما...

🔹 تمام آموزش‌های تخصصی که در قالب دوره‌های آنلاین ارائه می‌شوند به صورت ویدئوهای آموزشی از قبل ضبط شده هستند...

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

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

🔹 و مهمتر از همه این موارد، شما این امکان را دارید که سوالات خودتان در مورد درس‌های دوره‌ها را در زیر ویدئوی مربوط به همان درس مطرح کنید (این امکان، دائمی است و محدودیت زمانی ندارد)

⚡️ همانطور که احتمالا می‌دانید، فروش ویژه تابستان از چند روز پیش شروع شده است که مجموعا شامل ۶ پیشنهاد فوق‌العاده است.

🔷 برای اطلاع از جزئیات ۶ پیشنهاد ویژه تابستان وارد صفحه زیر شوید:

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

🔺 مهلت استفاده از این پیشنهادها تا ساعت ۲۳:۵۹ دقیقه امشب است.

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

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

🔷 برای مثال، استفاد از بلوک DCM، به روش ضمنی امکان پذیر نیست.

🌀 به‌منظور یادآوری، بلوک DCM بلوکی است که یک سیگنال کلاک را به‌عنوان ورودی دریافت می‌کند و می‌تواند در خروجی، سیگنال یا سیگنال‌های کلاکی با فرکانس‌های متفاوت تولید کند.

🔷 ما نمی‌توانیم از طریق نحوه کدنویسی به نرم‌افزار پیاده‌ساز نشان دهیم که قصد داریم در پیاده‌سازی مدار ما از این بلوک استفاده شود.

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

همچنین، توصیه شرکت Xilinx این است که برخی از منابع را حتماً instant کنید.

🔷 حافظه‌های بلوکی (Block RAM) بزرگ از این نوع منابع سخت‌افزاری هستند.

🔷 البته می‌توان حافظه‌های بلوکی را به روش ضمنی نیز به‌کار گرفت؛ اما توصیه شرکت Xilinx این است که برای استفاده از آن‌ها، به‌خصوص وقتی سایز حافظه بزرگ است، حتماً از روش مستقیم استفاده کنید.

🔷 بافرهای کلاک نیز از جمله منابعی هستند که توصیه می‌شود آن‌ها را به‌صورت مستقیم به‌کار ببرید.

🌀 بافرهای کلاک، بافرهای سخت‌‌افزاری هستند که در مسیر سیگنال‌های کلاک‌ قرار می‌‌گیرند؛ در واقع، سیگنال‌های کلاک حتماً باید از این بافرها عبور کنند.

🆔 @FPGA0
⚡️ فروش ویژه تعطیلات تابستان تمدید شد!

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

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

🔺 فرصت استفاده از این پیشنهادها فقط تا چهارشنبه ۱ مرداد است.

🆔 @FPGA0