آموزش جامع FPGA

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

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

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

اما در این میان دسته سومی نیز وجود دارد، شاید بهتر باشد اسم این دسته را تافته جدا بافته بگذاریم !

 

در دسته دوم، معماری ثابت بود. و تنها انعطافی که برای ما وجود دارد، تغییر برنامه‌ای است که قرار است CPU آن را اجرا کند. حتما حدس خواهید زد که در دسته سوم انعطاف باید فراتر برود.

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

و نام Field Programmable Gate Arrays –FPGAs برای این دسته در نظر گرفته شده است.

آموزش FPGA

 

FPGA یا به صورت کامل‌تر Field Programmable Gate Array تراشه‌هایی هستند که از قبل تقریبا هیچ نوع مدار از قبل آماده شده‌ای وجود ندارد و ما با استفاده از یک زبان توصیف سخت‌افزار (نه زبان برنامه‌نویسی) آن‌ها را برنامه‌ریزی خواهیم کرد.

این تراشه‌ها به خاطر سرعت بسیار بالایی که دارند؛ غالبا در کارهای نظامی و مخابراتی استفاده می‌شوند.

دو شرکت معروف به اسم Xilinx و Altera از تولیدکنندگان عمده این تراشه‌ها در دنیا می‌باشند. این تراشه‌ها عموما با دو زبان توصیف سخت‌افزار به اسم‌های VHDL و Verilog برنامه‌ریزی می‌شوند (منظور از برنامه ریزی طراحی یک سخت‌افزار می‌باشد)

 

انتخاب FPGA مناسب

آموزش FPGA قسمت بیستم: عملگرها و توابع در زبان VHDL

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

ادامه مطلب

آموزش FPGA

آموزش FPGA قسمت نوزدهم: شیفت رجیستر (بخش دوم)

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

ادامه مطلب

آموزش FPGA

آموزش FPGA قسمت هجدهم: شیفت رجیستر (بخش اول)

در قسمت هفدهم از مجموعه آموزشی FPGA با رجیسترها آشنا شدیم و از کاربردهای رجیسترها گفتیم، نهایتا هم با استفاده از زبان VHDL یک رجیستر را به صورت Generic توصیف کردیم، که شما می‌توانستید تنها با تغییر یک عدد عرض بیت رجیستر خود را تغی...

ادامه مطلب

آموزش FPGA قسمت 17

آموزش FPGA قسمت هفدهم: توصیف حافظه‌های چند بیتی (رجیستر یا ثبات)

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

ادامه مطلب

آموزش FPGA

آموزش FPGA قسمت شانزدهم: توصیف عناصر حافظه (بخش پنجم)

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

ادامه مطلب

آموزش FPGA

آموزش FPGA قسمت پانزدهم: توصیف عناصر حافظه (بخش چهارم)

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

ادامه مطلب

آموزش FPGA

آموزش FPGA قسمت چهاردهم: توصیف عناصر حافظه (بخش سوم)

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

ادامه مطلب

آموزش FPGA و زبان VHDL

آموزش FPGA قسمت سیزدهم: توصیف عناصر حافظه (بخش دوم)

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

ادامه مطلب

آموزش FPGA و زبان VHDL

آموزش FPGA قسمت دوازدهم: توصیف عناصر حافظه (بخش اول)

در قسمت یازدهم از مجموعه آموزشی FPGA با ساختار شرطی case آشنا شدیم و به مقایسه ساختارهای شرطی در محیط ترتیبی پرداختیم. در نهایت مقایسه‌ای تخصصی در رابطه با این ساختارها ارائه دادیم و نوصیه‌هایی برای هرچه حرفه‌ای‌تر شدن شما بیان کر...

ادامه مطلب

آموزش FPGA از مقدماتی تا پیشرفته

آموزش FPGA قسمت یازدهم: ساختار شرطی case

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

ادامه مطلب

آموزش FPGA قسمت دهم: ساختار شرطی if (بخش دوم)

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

ادامه مطلب

آموزش FPGA قسمت نهم: ساختار شرطی if (بخش اول)

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

ادامه مطلب

آموزش FPGA قسمت هشتم: مدارات ترتیبی در محیط Sequential

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

ادامه مطلب

آموزش FPGA قسمت هفتم: ساختار ارجاع انتخابی

ساختار ارجاع انتخابی; در قسمت ششم از مجموعه آموزشی FPGA با ساختار ارجاع شرطی آشنا شدیم، سپس یک ALU را با استفاده از این ساختار توصیف، و در نهایت برای صحت عملکرد ALU موردنظر، یک فایل Test Bench ساختیم و در نرم‌افزار ALU ،ISIM را ش...

ادامه مطلب

آموزش FPGA قسمت ششم: شبیه‌سازی ساختار ارجاع شرطی در ISIM

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

ادامه مطلب

[pwb-brand]

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