📽 آیا این سوالات در مورد دورههای آنلاین فراد اندیش برای شما هم وجود دارد؟
🔹 من نمیتوانم در ساعت خاصی آنلاین شوم. چطور میتوانم از دورههای آنلاین استفاده کنم؟
🔹 اگر سوالی در مورد درسها داشتم چطور آن را مطرح کنم؟
🔹 تا چه مدت به ویدئوها دسترسی دارم؟
🔹آیا ویدئوها قایل دانلود هم هستند؟
✅ اگر تمام یا بعضی از این موارد، سوال شما هم هست، پیشنهاد میکنم ویدئوی جدیدی را که در همین زمینه ضبط کردهام مشاهده کنید 👇
🆔 @FPGA0
🔹 من نمیتوانم در ساعت خاصی آنلاین شوم. چطور میتوانم از دورههای آنلاین استفاده کنم؟
🔹 اگر سوالی در مورد درسها داشتم چطور آن را مطرح کنم؟
🔹 تا چه مدت به ویدئوها دسترسی دارم؟
🔹آیا ویدئوها قایل دانلود هم هستند؟
✅ اگر تمام یا بعضی از این موارد، سوال شما هم هست، پیشنهاد میکنم ویدئوی جدیدی را که در همین زمینه ضبط کردهام مشاهده کنید 👇
🆔 @FPGA0
📽 پاسخ به مهمترین سوالات و ابهامات شما در مورد دورههای آنلاین فراد اندیش
https://www.aparat.com/v/ByCNe
🆔 @FPGA0
https://www.aparat.com/v/ByCNe
🆔 @FPGA0
آپارات - سرویس اشتراک ویدیو
پاسخ به چند سوال متداول در مورد دورههای آنلاین فراد اندیش
در این ویدئوی کوتاه، به چند سوال و ابهام مهم در مورد دورههای آنلاین فراد اندیش پاسخ میدهم. اینها سوالاتی هستند که ما تقریبا به صورت روزانه با آنها مواجه هستیم و احتمالا بعضی از آنها سوال شما هم هستند. برای اطلاع از جزئیات دورههای مرتبط با FPGA وارد لینک…
❓ سوال:
من در حال یادگیری میکروام و یکم سردرگمم که تمرکزمو بزارم رو کدوم. بعداز یادگیری اونا آیا fpga یاد بگیرم؟؟ اصلا بازارش چجوریه؟؟ کجا میشه برا کار تبلیغش کرد؟؟ چجوری میشه رفت تو بازارش؟؟ میکروها رو میشه با خیلی روشها درآمدزایی کرد ولی این یکی یکم گیج کنندس چون زبان پروگرام کردنشم فرق داره.
📝 جواب:
همانطور که در برنامهی "FPGA چیست؟" توضیح دادم، داستان FPGA با میکرو کاملاً متفاوت است؛ در کار با میکروکنترلرها، شما برای یک CPU "برنامهنویسی" میکنید ولی در کار با FPGA، شما از ابتدا یک سختافزار جدید طراحی میکنید.
🌎 http://bit.ly/What-is-FPGA-1
🌎 http://bit.ly/What-is-FPGA-2
با توجه به خصوصیات ویژهای که FPGAها دارند، حوزهی کاربردشان بسیار وسیع است؛ در ویدئوی "کاربرد FPGA و آیندهی آن در ایران"، به کاربردهای FPGA اشاره کردهام:
🌎 http://bit.ly/The-Future-of-FPGA
شما اگر علاقمند باشید، میتوانید حتی هر دو زمینه را با هم پیش ببرید؛ چون همانطور که گفتم، این دو موضوع ارتباطی با هم ندارند.
در مورد بازار کار FPGA در ایران، در ویدئوی "کاربرد FPGA و آیندهی آن در ایران"، توضیحات زیادی دادهام، اما باز هم در اینجا به شما میگویم که در صورتی که به این حوزه کمی مسلط شوید، به راحتی میتوانید شغل مناسبی پیدا کنید و اگر در این حوزه کاملاً متبحر شوید میتوانید انتظار شغلی با درآمد بسیار بالا داشته باشید.
در حال حاضر، شرکتهای بسیار زیادی در زمینههای کاری مرتبط با FPGA وجود دارند؛ این شرکتها، به نیروی طراح و پیادهساز FPGA نیاز دارند و به شدت به دنبال نیروهای متبحر در این زمینه هستند؛ نکتهی مهم این است که معمولاً به سختی میتوانند نیروی مناسبی پیدا کنند!!
🆔 @FPGA0
من در حال یادگیری میکروام و یکم سردرگمم که تمرکزمو بزارم رو کدوم. بعداز یادگیری اونا آیا fpga یاد بگیرم؟؟ اصلا بازارش چجوریه؟؟ کجا میشه برا کار تبلیغش کرد؟؟ چجوری میشه رفت تو بازارش؟؟ میکروها رو میشه با خیلی روشها درآمدزایی کرد ولی این یکی یکم گیج کنندس چون زبان پروگرام کردنشم فرق داره.
📝 جواب:
همانطور که در برنامهی "FPGA چیست؟" توضیح دادم، داستان FPGA با میکرو کاملاً متفاوت است؛ در کار با میکروکنترلرها، شما برای یک CPU "برنامهنویسی" میکنید ولی در کار با FPGA، شما از ابتدا یک سختافزار جدید طراحی میکنید.
🌎 http://bit.ly/What-is-FPGA-1
🌎 http://bit.ly/What-is-FPGA-2
با توجه به خصوصیات ویژهای که FPGAها دارند، حوزهی کاربردشان بسیار وسیع است؛ در ویدئوی "کاربرد FPGA و آیندهی آن در ایران"، به کاربردهای FPGA اشاره کردهام:
🌎 http://bit.ly/The-Future-of-FPGA
شما اگر علاقمند باشید، میتوانید حتی هر دو زمینه را با هم پیش ببرید؛ چون همانطور که گفتم، این دو موضوع ارتباطی با هم ندارند.
در مورد بازار کار FPGA در ایران، در ویدئوی "کاربرد FPGA و آیندهی آن در ایران"، توضیحات زیادی دادهام، اما باز هم در اینجا به شما میگویم که در صورتی که به این حوزه کمی مسلط شوید، به راحتی میتوانید شغل مناسبی پیدا کنید و اگر در این حوزه کاملاً متبحر شوید میتوانید انتظار شغلی با درآمد بسیار بالا داشته باشید.
در حال حاضر، شرکتهای بسیار زیادی در زمینههای کاری مرتبط با FPGA وجود دارند؛ این شرکتها، به نیروی طراح و پیادهساز FPGA نیاز دارند و به شدت به دنبال نیروهای متبحر در این زمینه هستند؛ نکتهی مهم این است که معمولاً به سختی میتوانند نیروی مناسبی پیدا کنند!!
🆔 @FPGA0
🧠 دشمن شما مغز شما است...
"اگر دو سال پیش شروع کرده بودم، الان به نقطهای که میخواستم رسیده بودم..."
"دوست برادرم دو سال پیش که هیچکس فکر این کارا نبود شروع کرد و موفق شد، ولی الان دیگه دیر شده..."
آیا این جملات برای شما هم آشنا هستند؟
واقعیتش را بخواهید، برای خود من بارها اتفاق افتاده که چنین جملاتی را در ذهنم مرور کنم.
همیشه یه کارهایی هست که فکر میکنیم اگر چند سال پیش انجام داده بودیم، الان به موفقیتهای عجیب و غریبی رسیده بودیم، یا...
همیشه افرادی هستند که موفقیت آنها را به شروع کارشان در یک زمان ایدهآل نسبت میدهیم و پیش خودمان فکر میکیم "الان دیگه شرایط چنین کاری وجود نداره..."
"الان دلار گرون شده، الان تحریم هستیم، الان کرونا اومده،" و هزارتا مشکل دیگر که خیال ما و مغز ما را راحت میکند که نیازی به حرکت و تلاش نیست؛ چون "دیگه فرصت تموم شده."
غافل از اینکه...
همین الان که ما در حال مرور این جملات (توجیهات) هستیم، عدهای بدون بهانه و غر زدن، به طور جدی در حال تلاش و برنامهریزی برای یک کار واقعی هستند.
اینها همانهایی هستند که دو سال دیگر، قراره ما بهشون نگاه کنیم و بگیم:
"اینها دو سال پیش (یعنی امروز) که اوضاع کشور خوب بود، فکرشون کار کرد و موفق شدن. الان با این شرایط دیگه نمیشه هیچ کاری رو شروع کرد."
و این چرخه زمانی تلخ و خندهدار، قرار است هر چند وقت یک بار برای ما تکرار شود، مگر اینکه...
همین امروز، جلوی این فریب ذهنی را با قدرت بگیریم.
باور کنید، امروز، همین امروزی که هزارتا مشکل مختلف در آن وجود دارد، همان "دو سال قبلی" است که قرار است دو سال دیگر حسرتش را بخوریم.
البته این مشکل، یک مشکل طبیعی و مربوط به ساختار مغز همه ما است. مغز ما همیشه در تلاش است تا ما کمترین حد انرژی را مصرف کنیم. از اینکه دچار چالش شویم خوشحال نمیشود. پس تا میتواند انواع توجیهات را برای ما میسازد تا قبول کنیم نباید حرکتی انجام دهیم.
تنها راه مقابله با این ویژگی منفی مغز، خودآگاهی است...
یعنی اینکه بدانیم چنین مسالهای در مغز ما وجود دارد و آگاهانه با آن برخورد کنیم.
نزدیکترین مثال از توجیهات این چنینی که مغز ما برای تعطیل کردن تمام کارهای مفید و البته انرژیبر برای ما ساخته است، همین موضوع کرونا است.
واقعا ما در مقابل این ویروس چه کاری میتوانیم انجام دهیم؟
طبق اعلام سازمان بهداشت جهانی، کاری که ما باید انجام دهیم این است:
دوری از اجتماعات، شستن دستها، تقویت سیستم ایمنی بدن.
همین.
پس واقعا دلیل این زمان زیادی که ما در شبکههای اجتماعی و اخبار رسمی به دنبال آمارها و اتفاقات و روشهای جدید مقابله با ویروس هستیم چیست؟
دلیلش این است که این راحتترین کاری است که مغز ما در این لحظه میتواند انجام دهد. نیاز به مصرف هیچ انرژی وجود ندارد. تمرکزی لازم ندارد. تازه بعضی وقتها هیجان انگیز هم هست.
آن افرادی که قرار است ما دو سال دیگر به پیشرفت و موقعیتشان که حاصل شروع فعالیتشان در یک "شرایط ایدهآل" بوده است غبطه بخوریم، الان مشغول چه کاری هستند؟
به نظر من، آنها همان سه چهار توصیه بهداشتی اصلی را به دقت رعایت میکنند و گول رادیو، تلویزیون، روزنامه، شبکههای اجتماعی و البته بخش توجیهساز مغزشان را نمیخورند.
ما هم میتوانیم امروز همین کار را انجام دهیم.
کاری کنیم که دو سال دیگر، دیگران به ما بگویند: "خوش به حالت؛ خوب موقعی این کار را شروع کردی. الان دیگه نمیشه کار تو رو انجام داد."
و آن موقع چه لذتی دارد وقتی به این فکر میکنید که اجازه ندادید، اخبار و بخش توجیهساز مغزتان که ۹۹ درصد مردم دنیا را در بیحرکتی کامل نگه داشتهاند، شما را از رسیدن به اهدافتان باز دارند.
پیشنهاد من این است که همین حالا دنبال کردن اخبار رسمی و غیر رسمی و شبکههای اجتماعی را کنار بگذارید و هر روز چند بار به این نکته فکر کنید که گرچه مغز شما، به شما علاقمند است، اما بخشی در آن وجود دارد که مانع موفقیت شما میشود.
آن بخشی است که نمیخواهد شما دچار زحمت و چالش شوید. دوست ندارید تمرکز کنید و انرژی مصرف کند. از تغییر شرایط فعلی شما خوشش نمیآید.
شما همواره باید به این بخش مغزتان توجه ویژه داشته باشید و به محض اینکه شروع به فعالیت کرد، تشخیص دهید و جلوی فعالیتش را بگیرید؛ یعنی به توجیهاتش توجه نکنید.
ورودی مغزتان را کنترل کنید، تمرکز کنید، به سمت کارهای انرژیبر که معمولا خوشایند هم نیستند حرکت کنید، و بعد از مدتی از نتیجه کارتان لذت ببرید.
در این روزهای پایانی سال، امیدوارم شما و همه عزیزانتان با سلامتی کامل از این بیماری جدید گذر کنید و دو سال دیگر از جمله افرادی باشید که به عملکردتان در این لحظات افتخار میکنید.
🆔 @FPGA0
"اگر دو سال پیش شروع کرده بودم، الان به نقطهای که میخواستم رسیده بودم..."
"دوست برادرم دو سال پیش که هیچکس فکر این کارا نبود شروع کرد و موفق شد، ولی الان دیگه دیر شده..."
آیا این جملات برای شما هم آشنا هستند؟
واقعیتش را بخواهید، برای خود من بارها اتفاق افتاده که چنین جملاتی را در ذهنم مرور کنم.
همیشه یه کارهایی هست که فکر میکنیم اگر چند سال پیش انجام داده بودیم، الان به موفقیتهای عجیب و غریبی رسیده بودیم، یا...
همیشه افرادی هستند که موفقیت آنها را به شروع کارشان در یک زمان ایدهآل نسبت میدهیم و پیش خودمان فکر میکیم "الان دیگه شرایط چنین کاری وجود نداره..."
"الان دلار گرون شده، الان تحریم هستیم، الان کرونا اومده،" و هزارتا مشکل دیگر که خیال ما و مغز ما را راحت میکند که نیازی به حرکت و تلاش نیست؛ چون "دیگه فرصت تموم شده."
غافل از اینکه...
همین الان که ما در حال مرور این جملات (توجیهات) هستیم، عدهای بدون بهانه و غر زدن، به طور جدی در حال تلاش و برنامهریزی برای یک کار واقعی هستند.
اینها همانهایی هستند که دو سال دیگر، قراره ما بهشون نگاه کنیم و بگیم:
"اینها دو سال پیش (یعنی امروز) که اوضاع کشور خوب بود، فکرشون کار کرد و موفق شدن. الان با این شرایط دیگه نمیشه هیچ کاری رو شروع کرد."
و این چرخه زمانی تلخ و خندهدار، قرار است هر چند وقت یک بار برای ما تکرار شود، مگر اینکه...
همین امروز، جلوی این فریب ذهنی را با قدرت بگیریم.
باور کنید، امروز، همین امروزی که هزارتا مشکل مختلف در آن وجود دارد، همان "دو سال قبلی" است که قرار است دو سال دیگر حسرتش را بخوریم.
البته این مشکل، یک مشکل طبیعی و مربوط به ساختار مغز همه ما است. مغز ما همیشه در تلاش است تا ما کمترین حد انرژی را مصرف کنیم. از اینکه دچار چالش شویم خوشحال نمیشود. پس تا میتواند انواع توجیهات را برای ما میسازد تا قبول کنیم نباید حرکتی انجام دهیم.
تنها راه مقابله با این ویژگی منفی مغز، خودآگاهی است...
یعنی اینکه بدانیم چنین مسالهای در مغز ما وجود دارد و آگاهانه با آن برخورد کنیم.
نزدیکترین مثال از توجیهات این چنینی که مغز ما برای تعطیل کردن تمام کارهای مفید و البته انرژیبر برای ما ساخته است، همین موضوع کرونا است.
واقعا ما در مقابل این ویروس چه کاری میتوانیم انجام دهیم؟
طبق اعلام سازمان بهداشت جهانی، کاری که ما باید انجام دهیم این است:
دوری از اجتماعات، شستن دستها، تقویت سیستم ایمنی بدن.
همین.
پس واقعا دلیل این زمان زیادی که ما در شبکههای اجتماعی و اخبار رسمی به دنبال آمارها و اتفاقات و روشهای جدید مقابله با ویروس هستیم چیست؟
دلیلش این است که این راحتترین کاری است که مغز ما در این لحظه میتواند انجام دهد. نیاز به مصرف هیچ انرژی وجود ندارد. تمرکزی لازم ندارد. تازه بعضی وقتها هیجان انگیز هم هست.
آن افرادی که قرار است ما دو سال دیگر به پیشرفت و موقعیتشان که حاصل شروع فعالیتشان در یک "شرایط ایدهآل" بوده است غبطه بخوریم، الان مشغول چه کاری هستند؟
به نظر من، آنها همان سه چهار توصیه بهداشتی اصلی را به دقت رعایت میکنند و گول رادیو، تلویزیون، روزنامه، شبکههای اجتماعی و البته بخش توجیهساز مغزشان را نمیخورند.
ما هم میتوانیم امروز همین کار را انجام دهیم.
کاری کنیم که دو سال دیگر، دیگران به ما بگویند: "خوش به حالت؛ خوب موقعی این کار را شروع کردی. الان دیگه نمیشه کار تو رو انجام داد."
و آن موقع چه لذتی دارد وقتی به این فکر میکنید که اجازه ندادید، اخبار و بخش توجیهساز مغزتان که ۹۹ درصد مردم دنیا را در بیحرکتی کامل نگه داشتهاند، شما را از رسیدن به اهدافتان باز دارند.
پیشنهاد من این است که همین حالا دنبال کردن اخبار رسمی و غیر رسمی و شبکههای اجتماعی را کنار بگذارید و هر روز چند بار به این نکته فکر کنید که گرچه مغز شما، به شما علاقمند است، اما بخشی در آن وجود دارد که مانع موفقیت شما میشود.
آن بخشی است که نمیخواهد شما دچار زحمت و چالش شوید. دوست ندارید تمرکز کنید و انرژی مصرف کند. از تغییر شرایط فعلی شما خوشش نمیآید.
شما همواره باید به این بخش مغزتان توجه ویژه داشته باشید و به محض اینکه شروع به فعالیت کرد، تشخیص دهید و جلوی فعالیتش را بگیرید؛ یعنی به توجیهاتش توجه نکنید.
ورودی مغزتان را کنترل کنید، تمرکز کنید، به سمت کارهای انرژیبر که معمولا خوشایند هم نیستند حرکت کنید، و بعد از مدتی از نتیجه کارتان لذت ببرید.
در این روزهای پایانی سال، امیدوارم شما و همه عزیزانتان با سلامتی کامل از این بیماری جدید گذر کنید و دو سال دیگر از جمله افرادی باشید که به عملکردتان در این لحظات افتخار میکنید.
🆔 @FPGA0
⚡️ برتری FPGAها نسبت به پردازندهها (قسمت اول)
✅ تراشههای FPGA، نسبت به پردازندهها، سرعت بسیار بیشتری در انجام روتینهای مختلف پردازشی و کنترلی دارند.
🔷 به طور معمول، یک الگوریتم مشخص را میتوان با سرعتی بسیار فراتر از یک پردازنده، در FPGA پیادهسازی کرد.
🔷 دو دلیل اصلی برای قابلیت انجام عملیات منطقی و ریاضی با سرعت زیاد در FPGAها وجود دارد:
1⃣ تراشههای FPGA، میتوانند تعداد نامحدودی عملیات مختلف را به صورت موازی و مستقل از یکدیگر انجام دهند.
🔹 اگر انجام الگوریتمهای مختلف، یا حتی بخشهای مختلف یک الگوریتم مشخص، به نتیجهی بخشهای دیگر بستگی نداشته باشد، میتوان آنها را به صورت موازی انجام داد. این موضوع در پردازندهها قابل انجام نیست.
🔹 در واقع، در پردازندهها یک هسته پردازشی (CPU) با دستورات مشخص وجود دارد و در هر لحظه، تنها یک دستور قابل اجرا است؛ بنابراین نمیتوان دستورات را به صورت موازی اجرا کرد.
ادامه دارد...
🆔 @FPGA0
✅ تراشههای FPGA، نسبت به پردازندهها، سرعت بسیار بیشتری در انجام روتینهای مختلف پردازشی و کنترلی دارند.
🔷 به طور معمول، یک الگوریتم مشخص را میتوان با سرعتی بسیار فراتر از یک پردازنده، در FPGA پیادهسازی کرد.
🔷 دو دلیل اصلی برای قابلیت انجام عملیات منطقی و ریاضی با سرعت زیاد در FPGAها وجود دارد:
1⃣ تراشههای FPGA، میتوانند تعداد نامحدودی عملیات مختلف را به صورت موازی و مستقل از یکدیگر انجام دهند.
🔹 اگر انجام الگوریتمهای مختلف، یا حتی بخشهای مختلف یک الگوریتم مشخص، به نتیجهی بخشهای دیگر بستگی نداشته باشد، میتوان آنها را به صورت موازی انجام داد. این موضوع در پردازندهها قابل انجام نیست.
🔹 در واقع، در پردازندهها یک هسته پردازشی (CPU) با دستورات مشخص وجود دارد و در هر لحظه، تنها یک دستور قابل اجرا است؛ بنابراین نمیتوان دستورات را به صورت موازی اجرا کرد.
ادامه دارد...
🆔 @FPGA0
⚡️ برتری FPGAها نسبت به پردازندهها (قسمت دوم)
در پست قبل، دربارهی دلیل اول برتری FPGAها نسبت به پردازندهها صحبت کردیم؛ و اما دلیل دوم:
2⃣ در FPGAها، امکان طراحی سختافزار اختصاصی برای هر الگوریتم خاص وجود دارد.
🔹اما در پردازندهها، برنامهنویس ناچار است هر الگوریتمی را فقط به کمک تعداد محدودی دستورات از پیش تعیین شده، برای پردازنده بازتعریف کند.
🔹 بنابراین، در پردازندهها انعطاف زیادی در بهینه کردن زمان اجرای الگوریتم وجود ندارد.
🔹 اما در FPGA، طراح دیجیتال میتواند برای هر الگوریتم، مداری را از ابتدا طراحی و روی FPGA پیادهسازی کند؛ مداری که برای آن الگوریتم خاص، بهینه باشد.
✅ جزئیات بیشتر دربارهی تفاوت FPGA و پردازندهها را در لینک زیر بخوانید:
🌎http://bit.ly/FPGAvsCPU
🆔 @FPGA0
در پست قبل، دربارهی دلیل اول برتری FPGAها نسبت به پردازندهها صحبت کردیم؛ و اما دلیل دوم:
2⃣ در FPGAها، امکان طراحی سختافزار اختصاصی برای هر الگوریتم خاص وجود دارد.
🔹اما در پردازندهها، برنامهنویس ناچار است هر الگوریتمی را فقط به کمک تعداد محدودی دستورات از پیش تعیین شده، برای پردازنده بازتعریف کند.
🔹 بنابراین، در پردازندهها انعطاف زیادی در بهینه کردن زمان اجرای الگوریتم وجود ندارد.
🔹 اما در FPGA، طراح دیجیتال میتواند برای هر الگوریتم، مداری را از ابتدا طراحی و روی FPGA پیادهسازی کند؛ مداری که برای آن الگوریتم خاص، بهینه باشد.
✅ جزئیات بیشتر دربارهی تفاوت FPGA و پردازندهها را در لینک زیر بخوانید:
🌎http://bit.ly/FPGAvsCPU
🆔 @FPGA0
⚡️ تفاوت ماهیت FPGA و پردازندهها (قسمت اول)
🔷 تصور بسیاری افراد، هنگام کار با FPGAها، این است که با تراشهای مانند AVR یا ARM سروکار دارند.
🔷 اما ماهیت و ساختار FPGA با تمام پردازندهها کاملاً متفاوت است.
✅ نحوهی عملکرد FPGA:
🔹یک تراشهی FPGA، از منابع مختلف دیجیتالی تشکیل شده است که در ابتدا و به خودی خود، هیچ عملکرد مشخصی ارائه نمیدهد.
🔹 شما با پیکربندی مناسب FPGA، میتوانید هر نوع سختافزار دیجیتالی را خلق کنید.
🔹 در واقع، شما با توصیف الگوریتم خود، به کمک یک زبان توصیف سختافزار (مثلاً زبان VHDL)، مدار پیاده کنندهی آن الگوریتم را به صورت سختافزاری، در FPGA میسازید.
🔹 پس از پیادهسازی، سختافزار درون FPGA، به شکل مدار شما در خواهد آمد.
✅ دربارهی منابع دیجیتالی داخل FPGA، در مقالهی "ماهیت و ساختار FPGA" بخوانید:
🌎http://bit.ly/FPGA-Structure
✅ در قسمت بعدی، دربارهی نحوهی عملکرد پردازندهها توضیح خواهم داد.
ادامه دارد...
🆔 @FPGA0
🔷 تصور بسیاری افراد، هنگام کار با FPGAها، این است که با تراشهای مانند AVR یا ARM سروکار دارند.
🔷 اما ماهیت و ساختار FPGA با تمام پردازندهها کاملاً متفاوت است.
✅ نحوهی عملکرد FPGA:
🔹یک تراشهی FPGA، از منابع مختلف دیجیتالی تشکیل شده است که در ابتدا و به خودی خود، هیچ عملکرد مشخصی ارائه نمیدهد.
🔹 شما با پیکربندی مناسب FPGA، میتوانید هر نوع سختافزار دیجیتالی را خلق کنید.
🔹 در واقع، شما با توصیف الگوریتم خود، به کمک یک زبان توصیف سختافزار (مثلاً زبان VHDL)، مدار پیاده کنندهی آن الگوریتم را به صورت سختافزاری، در FPGA میسازید.
🔹 پس از پیادهسازی، سختافزار درون FPGA، به شکل مدار شما در خواهد آمد.
✅ دربارهی منابع دیجیتالی داخل FPGA، در مقالهی "ماهیت و ساختار FPGA" بخوانید:
🌎http://bit.ly/FPGA-Structure
✅ در قسمت بعدی، دربارهی نحوهی عملکرد پردازندهها توضیح خواهم داد.
ادامه دارد...
🆔 @FPGA0
⚡️ تفاوت ماهیت FPGA و پردازندهها (قسمت دوم)
در پست قبلی، در مورد نحوهی عملکرد FPGAها صحبت کردم؛ در این پست، دربارهی عملکرد پردازندهها توضیح میدهم:
✅ نحوهی عملکرد پردازندهها:
🔹 پردازندهها، دارای تعدادی سختافزار آماده و یک هستهی پردازشی (CPU) هستند.
🔷 برای اجرای یک الگوریتم، باید به کمک دستورات برنامهنویسی، به CPU دستور دهیم که کدامیک از این بلوکهای از پیش آماده را فعال کند.
🔷 با برنامهنویسی برای پردازنده، سختافزار آن، تغییری نمیکند.
🔷 بلکه CPU، یک به یک دستورات شما را اجرا میکند و از بلوکهای آمادهی موجود، برای انجام الگوریتم شما استفاده میکند.
✅ روند اجرای دستورات توسط CPU را به کمک یک مثال در لینک زیر توضیح دادهام:
🌎http://bit.ly/FPGAvsCPU
🆔 @FPGA0
در پست قبلی، در مورد نحوهی عملکرد FPGAها صحبت کردم؛ در این پست، دربارهی عملکرد پردازندهها توضیح میدهم:
✅ نحوهی عملکرد پردازندهها:
🔹 پردازندهها، دارای تعدادی سختافزار آماده و یک هستهی پردازشی (CPU) هستند.
🔷 برای اجرای یک الگوریتم، باید به کمک دستورات برنامهنویسی، به CPU دستور دهیم که کدامیک از این بلوکهای از پیش آماده را فعال کند.
🔷 با برنامهنویسی برای پردازنده، سختافزار آن، تغییری نمیکند.
🔷 بلکه CPU، یک به یک دستورات شما را اجرا میکند و از بلوکهای آمادهی موجود، برای انجام الگوریتم شما استفاده میکند.
✅ روند اجرای دستورات توسط CPU را به کمک یک مثال در لینک زیر توضیح دادهام:
🌎http://bit.ly/FPGAvsCPU
🆔 @FPGA0
🔹 کتابی که امروز معرفی میکنم، میتواند به عنوان یک کتاب مکمل برای افرادی که تسلط نسبی به زبان VHDL دارند مورد استفاده قرار گیرد.
🔹 اگر شما میتوانید مدارات ساده را به کمک زبان VHDL طراحی کنید و مایلید مهارتتان را در این زمینه افزایش دهید، این کتاب نقطه شروع مناسبی است.
🔹 در این کتاب انواع پروژههای مهم مطرح شدهاند و برای هر کدام هم مداری به کمک زبان VHDL طراحی شده است.
🔹 در بسیاری موارد، موضوع خیلی عمیق مطرح نشده است و کدهای نمونه در کتاب، لزوما قابل استفاده در یک پروژه حرفهای نیستند، اما ایدههایی که میتوانید از این کتاب بگیرید میتواند سرعت یادگیری شما را افزایش دهد.
🆔@FPGA0
🔹 اگر شما میتوانید مدارات ساده را به کمک زبان VHDL طراحی کنید و مایلید مهارتتان را در این زمینه افزایش دهید، این کتاب نقطه شروع مناسبی است.
🔹 در این کتاب انواع پروژههای مهم مطرح شدهاند و برای هر کدام هم مداری به کمک زبان VHDL طراحی شده است.
🔹 در بسیاری موارد، موضوع خیلی عمیق مطرح نشده است و کدهای نمونه در کتاب، لزوما قابل استفاده در یک پروژه حرفهای نیستند، اما ایدههایی که میتوانید از این کتاب بگیرید میتواند سرعت یادگیری شما را افزایش دهد.
🆔@FPGA0
🆔 @FPGA0
📚 عنوان: Design Recipes for FPGAs
👤 نویسنده: Peter L. Wilson
📅 سال انتشار: 2007
🖨 ناشر: Newnes
📥 لینک دانلود: https://goo.gl/BQQSCo
📚 عنوان: Design Recipes for FPGAs
👤 نویسنده: Peter L. Wilson
📅 سال انتشار: 2007
🖨 ناشر: Newnes
📥 لینک دانلود: https://goo.gl/BQQSCo
❓ سوال:
من رشته تحصیلیم فیزیک بوده و یک مقدار کم هم AVR و یک مقداری هم آردوینو کار کردم. اطلاع دقیقی از این بخش الکترونیک ندارم. می خواستم بدونم که اگر بخوام توی این بخش وارد بشم راحت هست یانه؟ منظورم اینه که پیش نیازی هم لازم داره که من باید بلد باشم یا نه؟ در کل برای من که رشته الکترونیک نبودم و به صورت تجربی کار کردم راحت هست یا نه؟ آیا واردش بشم؟؟
📝 جواب:
شاید براتون جالب باشه که بدونید ما در دورههای تخصصیمون تا به حال دو شرکت کننده از رشته فیزیک داشتیم. البته ممکنه اونها از قبل پیشزمینههای دیگری هم داشتند. ولی به طور کلی، پیشنیاز یادگیری FPGA آشنایی عمومی با مدارات منطقی است. البته کار با FPGAها از تمام مواردی که قبلا دیدید مثل AVR یا آردوینو پیچیدهتر هست.
در هر حال، با توجه به اینکه شما با میکروکنترلرها کار کردهاید، قاعدتا باید یک دید عمومی از دیجیتال و مدارات منطقی به دست آورده باشید. بنابراین، اگر قابلیتهای ویژهای که FPGAها در اختیار شما قرار میدهند میتواند در انجام پروژهها برای شما مفید باشند، میتوانید بیشتر به یادگیری آن فکر کنید.
من پیشنهاد میکنم که نگاهی به ویدئوهایی که در سایت هست بیندازید و ببینید آیا این موضوع برای شما قابل فهم و همچنین به درد بخور هست یا نه. با توجه به اینکه این برنامهها برای افراد تازهکار ساخته شدهاند، فکر میکنم بتوانید به راحتی این مساله را تشخیص دهید.
برای آشنایی با ساختار و ماهیت FPGAها، دو مقالهی زیر را ببینید:
🌎http://bit.ly/What-is-FPGA-1
🌎http://bit.ly/What-is-FPGA-2
برای آشنایی با کاربردهای FPGAها و بازار کار آن در ایران، ویدئوی زیر را ببینید:
🌎http://bit.ly/The-Future-of-FPGA
اگر بیشتر اهل مطالعه هستید، میتوانید گزارش FPGAشناسی در 30 دقیقه را هم از لینک زیر دانلود کنید 👇 👇
🌎 http://goo.gl/RzRoIK
🆔 @FPGA0
من رشته تحصیلیم فیزیک بوده و یک مقدار کم هم AVR و یک مقداری هم آردوینو کار کردم. اطلاع دقیقی از این بخش الکترونیک ندارم. می خواستم بدونم که اگر بخوام توی این بخش وارد بشم راحت هست یانه؟ منظورم اینه که پیش نیازی هم لازم داره که من باید بلد باشم یا نه؟ در کل برای من که رشته الکترونیک نبودم و به صورت تجربی کار کردم راحت هست یا نه؟ آیا واردش بشم؟؟
📝 جواب:
شاید براتون جالب باشه که بدونید ما در دورههای تخصصیمون تا به حال دو شرکت کننده از رشته فیزیک داشتیم. البته ممکنه اونها از قبل پیشزمینههای دیگری هم داشتند. ولی به طور کلی، پیشنیاز یادگیری FPGA آشنایی عمومی با مدارات منطقی است. البته کار با FPGAها از تمام مواردی که قبلا دیدید مثل AVR یا آردوینو پیچیدهتر هست.
در هر حال، با توجه به اینکه شما با میکروکنترلرها کار کردهاید، قاعدتا باید یک دید عمومی از دیجیتال و مدارات منطقی به دست آورده باشید. بنابراین، اگر قابلیتهای ویژهای که FPGAها در اختیار شما قرار میدهند میتواند در انجام پروژهها برای شما مفید باشند، میتوانید بیشتر به یادگیری آن فکر کنید.
من پیشنهاد میکنم که نگاهی به ویدئوهایی که در سایت هست بیندازید و ببینید آیا این موضوع برای شما قابل فهم و همچنین به درد بخور هست یا نه. با توجه به اینکه این برنامهها برای افراد تازهکار ساخته شدهاند، فکر میکنم بتوانید به راحتی این مساله را تشخیص دهید.
برای آشنایی با ساختار و ماهیت FPGAها، دو مقالهی زیر را ببینید:
🌎http://bit.ly/What-is-FPGA-1
🌎http://bit.ly/What-is-FPGA-2
برای آشنایی با کاربردهای FPGAها و بازار کار آن در ایران، ویدئوی زیر را ببینید:
🌎http://bit.ly/The-Future-of-FPGA
اگر بیشتر اهل مطالعه هستید، میتوانید گزارش FPGAشناسی در 30 دقیقه را هم از لینک زیر دانلود کنید 👇 👇
🌎 http://goo.gl/RzRoIK
🆔 @FPGA0
⚡️چرا مدارات دیجیتال را فقط به صورت سنکرون در FPGA پیادهسازی میکنیم؟
✅ به طور کلی، مدارات دیجیتال به سه دسته تقسیم میشوند:
1⃣ مدارات ترکیبی
2⃣ مدارات ترتیبی آسنکرون
3⃣ مدارات ترتیبی سنکرون
❓فکر میکنید کدامیک از این نوع مدارات را میتوان در FPGA پیادهسازی کرد؟
✅ بله، هر سه نوع مدار را میتوان در FPGA پیادهسازی کرد.
❓اما در عمل، کدام نوع مدار را در FPGA پیادهسازی میکنیم؟
✅ فقط مدارات ترتیبی سنکرون!
چون مداری که به صورت کاملاً سنکرون پیادهسازی شود، دارای مزایای زیر است:
🔷 منابع سختافزاری کمتری از FPGA اشغال میکند.
🔷 کارایی و سرعت آن بیشتر میشود.
🔷 فرآیند طراحی و پیادهسازی آن راحتتر میشود.
🔷 دارای قابلیت اطمینان بیشتری در بلند مدت است.
❓اما مهمترین نیازمندی یک مدار سنکرون چیست؟
✅ برای عملکرد صحیح یک مدار سنکرون، خصوصاً وقتی با مدار بزرگی سر و کار دارید، یک سیگنال کلاک با کیفیت میتواند مهمترین نقش را ایفا کند.
✅ خوشبختانه، تمهیدات بسیار زیادی برای پیادهسازی کلاک در FPGA در نظر گرفته شده است.
✅ در پستهای بعدی، به چگونگی داشتن یک کلاک با کیفیت خواهیم پرداخت...
🆔 @FPGA0
✅ به طور کلی، مدارات دیجیتال به سه دسته تقسیم میشوند:
1⃣ مدارات ترکیبی
2⃣ مدارات ترتیبی آسنکرون
3⃣ مدارات ترتیبی سنکرون
❓فکر میکنید کدامیک از این نوع مدارات را میتوان در FPGA پیادهسازی کرد؟
✅ بله، هر سه نوع مدار را میتوان در FPGA پیادهسازی کرد.
❓اما در عمل، کدام نوع مدار را در FPGA پیادهسازی میکنیم؟
✅ فقط مدارات ترتیبی سنکرون!
چون مداری که به صورت کاملاً سنکرون پیادهسازی شود، دارای مزایای زیر است:
🔷 منابع سختافزاری کمتری از FPGA اشغال میکند.
🔷 کارایی و سرعت آن بیشتر میشود.
🔷 فرآیند طراحی و پیادهسازی آن راحتتر میشود.
🔷 دارای قابلیت اطمینان بیشتری در بلند مدت است.
❓اما مهمترین نیازمندی یک مدار سنکرون چیست؟
✅ برای عملکرد صحیح یک مدار سنکرون، خصوصاً وقتی با مدار بزرگی سر و کار دارید، یک سیگنال کلاک با کیفیت میتواند مهمترین نقش را ایفا کند.
✅ خوشبختانه، تمهیدات بسیار زیادی برای پیادهسازی کلاک در FPGA در نظر گرفته شده است.
✅ در پستهای بعدی، به چگونگی داشتن یک کلاک با کیفیت خواهیم پرداخت...
🆔 @FPGA0
⚡️چگونه یک سیگنال کلاک با کیفیت داشته باشیم؟ (قسمت اول)
🔷 همانطور که در پست قبل اشاره شد، برای عملکرد صحیح یک مدار سنکرون، به یک سیگنال کلاک با کیفیت نیاز داریم.
🔷 در این پست و پستهای بعدی، به نکات مهمی برای استفادهی صحیح از تمهیداتی که برای پیادهسازی کلاک در FPGA اندیشیده شده، میپردازیم.
✳️ استفاده از بلوک DCM
✅ اولین نکتهی مهم برای پیادهسازی کلاک در FPGA این است که همواره از بلوک DCM استفاده کنید.
🔷 همانطور که میدانید، بلوک DCM یکی از منابع سختافزاری موجود در FPGAهای شرکت Xilinx است.
✅ این بلوک میتواند یک کلاک با یک فرکانس مشخص را به عنوان ورودی دریافت کند و در خروجی، یک یا چند کلاک جدید با فرکانسهای متفاوت تولید کند.
🔷 شما میتوانید به کمک این بلوک، فرکانس اسیلاتور روی بُرد را که به FPGA وارد میشود، به فرکانس کلاک مورد نظر خودتان برای استفاده در مدار تغییر دهید.
ادامه دارد...
🆔@FPGA0
🔷 همانطور که در پست قبل اشاره شد، برای عملکرد صحیح یک مدار سنکرون، به یک سیگنال کلاک با کیفیت نیاز داریم.
🔷 در این پست و پستهای بعدی، به نکات مهمی برای استفادهی صحیح از تمهیداتی که برای پیادهسازی کلاک در FPGA اندیشیده شده، میپردازیم.
✳️ استفاده از بلوک DCM
✅ اولین نکتهی مهم برای پیادهسازی کلاک در FPGA این است که همواره از بلوک DCM استفاده کنید.
🔷 همانطور که میدانید، بلوک DCM یکی از منابع سختافزاری موجود در FPGAهای شرکت Xilinx است.
✅ این بلوک میتواند یک کلاک با یک فرکانس مشخص را به عنوان ورودی دریافت کند و در خروجی، یک یا چند کلاک جدید با فرکانسهای متفاوت تولید کند.
🔷 شما میتوانید به کمک این بلوک، فرکانس اسیلاتور روی بُرد را که به FPGA وارد میشود، به فرکانس کلاک مورد نظر خودتان برای استفاده در مدار تغییر دهید.
ادامه دارد...
🆔@FPGA0
چگونه یک سیگنال کلاک با کیفیت داشته باشیم؟ (قسمت دوم)
✳️ استفاده از قید پریود
🔷 نکتهی بسیار مهم دیگر در ارتباط با پیادهسازی کلاک در FPGA، استفاده از قید period در فایل UCF است.
❓اما قید period چیست و چرا در پیادهسازیها باید از آن استفاده کرد؟
🔷 مداراتی که بدون قید period پیادهسازی میشوند، بهینه و قابل اعتماد نیستند.
🔷 وقتی مداری را پیادهسازی میکنید، نرمافزار پیادهساز، اطلاعی از فرکانس کلاکی که شما قرار است به آن اعمال کنید ندارد و با توجه به قیود پیشفرضی که در آن تنظیم شده، پیادهسازی را انجام میدهد.
🔷 ممکن است بعد از پیادهسازی، مدار شما به فرکانس کلاک مورد نظر شما نرسد و یا ممکن است به فرکانس کلاکی بیش از فرکانس مورد نیاز شما برسد.
✅ در هر دو صورت، پیادهسازی بهینهای انجام نشده است.
🔷 شما به کمک قید period، به نرمافزار پیادهساز اعلام میکنید که قرار است چه فرکانس کلاکی را به مدارتان اعمال کنید و بر این اساس، بهینهترین پیادهسازی را انجام میدهد.
🔷 به همین دلیل، توصیه اکید شرکت Xilinx این است که حتماً از قید period استفاده کنید.
✅ در واقع، استفاده از قید period در مدارات یک "الزام" است.
✅ برای مثال، در صورتی که فرکانس اعمال شده به مدار 50MHz باشد، باید کد زیر را در فایل UCF وارد کنیم:
NET "Clock" TNM_NET = Clock;
TIMESPEC TS_Clock = PERIOD "Clock" 50 MHz HIGH 50% ;
در کد بالا، فرض شده است که نام پورت کلاک، Clock است.
ادامه دارد...
🆔 @FPGA0
✳️ استفاده از قید پریود
🔷 نکتهی بسیار مهم دیگر در ارتباط با پیادهسازی کلاک در FPGA، استفاده از قید period در فایل UCF است.
❓اما قید period چیست و چرا در پیادهسازیها باید از آن استفاده کرد؟
🔷 مداراتی که بدون قید period پیادهسازی میشوند، بهینه و قابل اعتماد نیستند.
🔷 وقتی مداری را پیادهسازی میکنید، نرمافزار پیادهساز، اطلاعی از فرکانس کلاکی که شما قرار است به آن اعمال کنید ندارد و با توجه به قیود پیشفرضی که در آن تنظیم شده، پیادهسازی را انجام میدهد.
🔷 ممکن است بعد از پیادهسازی، مدار شما به فرکانس کلاک مورد نظر شما نرسد و یا ممکن است به فرکانس کلاکی بیش از فرکانس مورد نیاز شما برسد.
✅ در هر دو صورت، پیادهسازی بهینهای انجام نشده است.
🔷 شما به کمک قید period، به نرمافزار پیادهساز اعلام میکنید که قرار است چه فرکانس کلاکی را به مدارتان اعمال کنید و بر این اساس، بهینهترین پیادهسازی را انجام میدهد.
🔷 به همین دلیل، توصیه اکید شرکت Xilinx این است که حتماً از قید period استفاده کنید.
✅ در واقع، استفاده از قید period در مدارات یک "الزام" است.
✅ برای مثال، در صورتی که فرکانس اعمال شده به مدار 50MHz باشد، باید کد زیر را در فایل UCF وارد کنیم:
NET "Clock" TNM_NET = Clock;
TIMESPEC TS_Clock = PERIOD "Clock" 50 MHz HIGH 50% ;
در کد بالا، فرض شده است که نام پورت کلاک، Clock است.
ادامه دارد...
🆔 @FPGA0
چگونه یک سیگنال کلاک با کیفیت داشته باشیم؟ (قسمت سوم)
✳️ ورود سیگنال کلاک به FPGA فقط از طریق پایههای مخصوص به کلاک
🔷 نکته سوم برای پیادهسازی کلاک در FPGA این است که دقت کنید سیگنال کلاک حتما از پایههای مخصوص کلاک به FPGA وارد شوند.
🔷 در FPGAها، تعداد زیادی IO وجود دارد؛ اما از میان این IOها، تنها تعداد کمی از آنها مخصوص ورود کلاک هستند.
✅ در FPGAهای شرکت Xilinx، نام پایههای کلاک شامل کلمهی GCLK یا CC است.
🔷 شما مجاز هستید که سیگنال کلاک روی برد را فقط به یکی از پایههای مخصوص کلاک وصل کنید.
✅ رعایت نکاتی که در این مجموعه پست به آنها اشاره کردم، کمک میکند که بتوانید از امکانات و تمهیدات بسیار مفصلی که برای پیادهسازی کلاک در FPGAهای شرکت Xilinx وجود دارد به نحو صحیح استفاده کنید.
✅ بسیاری از ایراداتی که در مرحلهی تست عملی، در عملکرد FPGA دیده میشود مربوط به در نظر نگرفتن این نکات در پیادهسازی است.
✅ بنابراین، پیشنهاد میکنم حتماً تمام این موارد را در هر نوع پیادهسازی که از این به بعد انجام میدهید اعمال کنید.
🆔@FPGA0
✳️ ورود سیگنال کلاک به FPGA فقط از طریق پایههای مخصوص به کلاک
🔷 نکته سوم برای پیادهسازی کلاک در FPGA این است که دقت کنید سیگنال کلاک حتما از پایههای مخصوص کلاک به FPGA وارد شوند.
🔷 در FPGAها، تعداد زیادی IO وجود دارد؛ اما از میان این IOها، تنها تعداد کمی از آنها مخصوص ورود کلاک هستند.
✅ در FPGAهای شرکت Xilinx، نام پایههای کلاک شامل کلمهی GCLK یا CC است.
🔷 شما مجاز هستید که سیگنال کلاک روی برد را فقط به یکی از پایههای مخصوص کلاک وصل کنید.
✅ رعایت نکاتی که در این مجموعه پست به آنها اشاره کردم، کمک میکند که بتوانید از امکانات و تمهیدات بسیار مفصلی که برای پیادهسازی کلاک در FPGAهای شرکت Xilinx وجود دارد به نحو صحیح استفاده کنید.
✅ بسیاری از ایراداتی که در مرحلهی تست عملی، در عملکرد FPGA دیده میشود مربوط به در نظر نگرفتن این نکات در پیادهسازی است.
✅ بنابراین، پیشنهاد میکنم حتماً تمام این موارد را در هر نوع پیادهسازی که از این به بعد انجام میدهید اعمال کنید.
🆔@FPGA0