آموزش اِف‌پی‌جی‌اِی از صفر
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
⚡️ آموزش ویوادو منتشر شد...

🔹 آموزش کاربری روزمره ویوادو در حال حاضر منتشر شده است و به عنوان نهمین جلسه به دوره آنلاین طراحی دیجیتال با FPGA اضافه شده است

🔶 این جلسه، در مقایسه با هشت جلسه قبلی این دوره، بسیار بزرگتر و طولانی‌تر است و شامل ۱۵ درس در مورد کاربری روزمره ویوادو است.

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

🔹 اما اگر در دوره طراحی دیجیتال با FPGA هم شرکت نکرده‌اید نگران نباشید چون من چندین آموزش رایگان کاربردی در مورد ویوادو تهیه کرده‌ام که تا همین حالا دو تا از آنها در سایت منتشر شده‌اند:

🌎 http://bit.ly/Vivado1
🌎 http://bit.ly/Vivado2

🔹 من چند آموزش رایگان دیگر هم آماده کرده‌ام که در روزهای آتی در سایت منتشر خواهند شد.

🆔 @FPGA0
Media is too big
VIEW IN TELEGRAM
⚡️ صدور مدرک آنلاین برای دوره‌های آنلاین فراد اندیش...

🔹تا به امروز، ما امکان صدور مدرک برای شرکت کنندگان در دوره‌های آنلاین را نداشتیم

🌟 ما مشکلات موجود برای انجام این کار را برطرف کرده‌ایم و به زودی این امکان به دوره‌های آنلاین اضافه خواهد شد

🔶 اما مشکلی که برای این کار وجود داشت چه بود؟ و چگونه برطرف شد؟

🔹 برای پاسخ به این سوالات، این ویدئوی کوتاه را مشاهده کنید 👆

🆔 @FPGA0
🌟 فایل قیود کاربر در ویوادو...

🔹 برای پیاده‌سازی عملی یک پروژه به کمک نرم‌افزار ویوادو، حداقل به دو فایل نیاز دارید: فایل VHDL یا Verilog و فایل قیود کاربر یا XDC

🎥 در جدیدترین ویدئوی آموزشی سایت که امروز منتشر می‌شود، شما را با فایل قیود کاربر در نرم‌افزار ویوادو آشنا می‌کنم

🔹 اگر تصمیم دارید پروژه‌ای را به صورت عملی روی FPGA پیاده‌سازی کنید، پیشنهاد می‌کنم حتما این برنامه را ببینید 👇

🆔 @FPGA0
🆔 @FPGA0
#برنامه_ویدئویی۴۰
🎓 فایل قیود کاربر در نرم‌افزار ویوادو

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

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

🌎 http://bit.ly/XDCfile
Media is too big
VIEW IN TELEGRAM
⚡️ معرفی برد استفاده شده در دوره ویوادو...

🔹 با توجه به اینکه نرم‌افزار ویوادو از FPGAهای سری ۶ پشتیبانی نمی‌کند، امکان استفاده از برد فراد ۱ برای کار با این نرم‌افزار وجود ندارد

🔶 به همین دلیل هم ما برد جدیدی را برای تولید این آموزش تهیه کرده‌ایم

🔹 در این ویدئوی کوتاه، من برد Arty S7 را که در دوره ویوادو استفاده شده است به شما معرفی می‌کنم 👆

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

🌎 https://faradandish.com/arty-s7/

🆔 @FPGA0
🌟 دانلود، نصب و کرک نرم‌افزار ویوادو...

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

🎥 در جدیدترین ویدئوی آموزشی سایت که امروز منتشر می‌شود، شما را با نحوه نصب و کرک نرم‌افزار ویوادو آشنا می‌کنم

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

🆔 @FPGA0
🆔 @FPGA0
#برنامه_ویدئویی۴۱
🎓 دانلود، نصب و کرک نرم‌افزار ویوادو

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

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

🌎 http://bit.ly/InstallVivado
⚡️ همین حالا در آزمون آنلاین شرکت کنید و مدرک دیجیتالی‌تان را دریافت کنید...

🔹 برای آشنایی با نحوه شرکت در آزمون آنلاین و دریافت مدرک دیجیتالی، ویدئوی زیر را ببینید: 👇

🌎 https://faradandish.com/course-faq/#cer

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

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

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

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

🔷 یکی از مهم‌ترین ارکان الگوی استاندارد کدنویسی برای FPGA، پیاده‌سازی مدار به‌صورت کاملاً سنکرون است.

🔷 توصیه مستقیم شرکت Xilinx نیز این است که مدارها را به‌صورت کاملاً سنکرون در FPGA پیاده‌سازی کنیم.

پیاده‌سازی مدار به‌صورت کاملاً سنکرون سه مزیت دارد:

🔆 استفاده از منابع سخت‌افزاری کمتر
🔆 افزایش سرعت مدار
🔆 قابلیت اطمینان بیشتر

اگر دوست دارید بدانید که چگونه پیاده‌سازی کاملاً سنکرون موجب این مزیت‌ها می‌شود، به مقاله زیر در سایت فراداندیش مراجعه کنید:

🌎 https://bit.ly/Synchronous-Implementation

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

اما نحوه کدنویسی یک مدار کاملاً سنکرون به چه صورت است؟

در پست بعدی، به این مسئله می‌پردازم.

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

🆔 @FPGA0
برای پیاده‌سازی حافظه‌های کوچک (در حد چند ده یا چند صد بیت)، بهتر است از کدام نوع حافظه استفاده کنیم؟
Anonymous Quiz
65%
حافظه‌ توزیع‌شد‌‌ه
35%
حافظه‌ بلوکی
♨️ برای اطلاعات بیشتر درباره انواع حافظه‌ها در FPGA و کاربرد هر کدام از آن‌ها، به مجموعه پست زیر مراجعه کنید👇👇👇

https://t.me/fpga0/985
https://t.me/fpga0/986
https://t.me/fpga0/987

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

🔷 در پست قبل، به مزایای پیاده‌سازی کاملاً سنکرون در FPGA اشاره کردم. در این پست، به نحوه کدنویسی برای داشتن چنین مداری می‌پردازم.

❇️ نحوه کدنویسی برای توصیف یک مدار کاملاً سنکرون

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

🔷 اما در عمل و در کد VHDL، برای انجام همزمان ارجاعات با سیگنال کلاک، باید به چه ترتیب عمل کرد؟

در پیاده‌سازی HDL (به‌کمک زبان VHDL یا Verilog)، برای سنکرون کردن کامل مدار، باید تمام مدارتان را درون شرط بالارونده کلاک توصیف کنید.

🔷 اکنون به‌کمک یک مثال، منظور از این عبارت را بیان می‌کنم؛ کد زیر را در نظر بگیرید:

architecture Behavioral of synch is
Begin
process(Clock)
Begin
if rising_edge(Clock) then

A <= B;
E <= D;

end if;
end process;
end Behavioral;

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

❇️ مشخصه اول این است که تنها سیگنالی که درون لیست حساسیت پراسس این کد نوشته شده، سیگنال کلاک است.

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

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

🔷 مداری که در این کد نمونه توصیف شده است، یک مدار بسیار ساده است که تنها دارای دو ارجاع است؛ اما فرض کنید که مدار شما، مدار پیچیده‌تری باشد که در آن انواع و اقسام ارجاعات و شرط‌ها وجود داشته باشد.

شما باید تمامی ارجاعات و ساختارهای ارجاعی را بدون استثنا درون شرط لبه بالارونده کلاک قرار دهید.

بنابراین، در تمام کدهایی که می‌نویسید، برای داشتن یک مدار کاملاً سنکرون، این دو مشخصه را رعایت کنید.

🆔 @FPGA0
🆔 @FPGA0
برنامه_ویدئویی۳۵

🎓 پیاده‌سازی کاملا سنکرون در FPGA

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

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

🌎 https://bit.ly/Synchronous-Implementation
به‌کمک کدامیک از منابع سخت‌افزاری درون FPGA، می‌توانیم هر مدار منطقی را پیاده‌ساز‌‌ی کنیم؟
Anonymous Quiz
69%
Logic Cell
12%
ضرب‌‌‌کنند‌‌ه‌‌‌
19%
حافظه بلوکی
♨️ برای اطلاعات بیشتر درباره منابع سخت‌افزاری درون FPGA و کاربرد هر کدام، به مجموعه پست زیر مراجعه کنید👇👇👇

https://t.me/fpga0/977
https://t.me/fpga0/978
https://t.me/fpga0/980

🆔 @FPGA0
⚡️ چگونه استفاده از IP به پیاده‌سازی‌های ما کمک می‌کند؟

🔷 عبارت IP یا به طور کامل‌تر IP Core، مخفف کلمه Intellectual Property Core است و به ماجول‌هایی اشاره دارد که از قبل توسط افراد یا شرکت‌هایی آماده و تست شده‌اند و عملکرد صحیح آن‌ها تضمین شده است.

🔷 در مجموعه نرم‌افزار ISE، تعداد زیادی IP وجود دارد که برای کاربردهای مختلف توسعه داده شده‌اند.

🔷 برخی از این IPها رایگان هستند و برای استفاده از تعدادی از آن‌ها باید هزینه‌ای را به شرکت Xilinx پرداخت کرد.

🔷 استفاده از IPها شما را از ساعت‌ها و روزها مطالعه در مورد نحوه پیاده‌سازی یک ماجول و تست و درستی‌آزمایی آن بی‌نیاز می‌کند.

پس، به‌طور کلی استفاده از IPها می‌تواند دو مزیت مهم به‌دنبال داشته باشد:

1️⃣ افزایش سرعت روند پیاده‌سازی سیستم‌ها

2️⃣ صرفه‌جویی در هزینه توسعه پروژه

بنابراین، در صورتی که در هر بخش از سیستم شما این قابلیت وجود دارد که آن را به‌کمک IP پیاده‌سازی کنید، حتماً این کار را انجام دهید؛ زیرا استفاده از IP، در زمان و هزینه شما صرفه‌جویی می‌کند.

🌀 به این موضوع نیز توجه داشته باشید که شما نمی‌توانید کل یک پروژه را به‌کمک IPها پیاده‌سازی کنید.

🌀 بنابراین، وجود IPها شما را از کدنویسی HDL بی‌نیاز نمی‌کند.

اما چگونه از این IPها در پروژه استفاده کنیم؟

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

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

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

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

نکته‌ای که وجود دارد این است که حتی اگر گاهی مجبور بودید برای یک IP مبلغی پرداخت کنید، در بسیاری از موارد استفاده از آن به‌صرفه خواهد بود؛ زیرا معمولاً مبلغی را که برای یک ماجول می‌پردازید، اقتصادی‌تر از زمان صرف شده برای توسعه و پیاده‌سازی کد است.

در مقاله "معرفی IPها در نرم‌افزار ISE و نحوه به‌گارگیری آن‌ها" از سایت فراد اندیش، نحوه به‌کارگیری IP در پروژه به‌کمک یک مثال عملی شرح داده شده است.👇👇👇

🌎 http://bit.ly/FPGA-Implementation-IP

🆔 @FPGA0
🆔 @FPGA0
#برنامه_ویدئویی۱۶
🎓 معرفی IPها در نرم‌افزار ISE و نحوه بکارگیری آنها

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

📥 در سایت فراد اندیش ببینید 👇👇👇👇
🌎 http://bit.ly/FPGA-Implementation-IP
⚡️ فرآیند درستی‌‌آزمایی به‌کمک نرم‌افزار متلب