آموزش FPGA از صفر تا صد

آموزش FPGA

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

پیش از ارائه اطلاعات دوره آموزش کامل FPGA با سیسوگ همراه باشیم تا ابتدا دریابیم که اصلا FPGA چیست؟ چرا اصلا یادگیری FPGA میتونه به یک مهندس الکترونیک در بخش های مختلف از جمله پردازش سیگنال و پردازش تصویر چه کاربردی دارد؟

سر فصل های آموزش FPGA سیسوگ

  • FPGA چیست؟
  • چرا و چگونه FPGA را انتخاب کنیم؟
  • نرم‌افزار ISE و زبان VHDL
  • مدار های ترکیبی و ترتیبی
  • اضافه کردن زیرماژول به ماژول اصلی
  • شبیه‌سازی ساختار ارجاع شرطی در ISIM
  • ساختار ارجاع انتخابی
  • مدارات ترتیبی در محیط Sequential
  • ساختار شرطی if (در دو بخش)
  • ساختار شرطی case
  • توصیف عناصر حافظه (در پنج بخش)
  • توصیف حافظه‌های چند بیتی (رجیستر یا ثبات)
  • شیفت رجیستر ( در دو بخش
  • پهنای ترک در آلتیوم دیزاینر
  • عملگرها و توابع در زبان VHDL
  • دستورات و کلید میانبر
  • تنظیمات PCB
عنوان دورهآموزش صفر تا صد FPGA
توضیحات دورهآموزش جامع FPGA در 20 قسمت به صورت  کاملا رایگان و کاربردی با آموزش کامل برنامه نویسی FPGA و آموزش FPGA Altera و  آموزش fpga با vhdl 
کد دوره1665
ارائه دهنده دورهسیسوگ – سپهر

 

سوالات متداول آموزش FPGA

 

افرادی که مبتدی هستن به چه صورت میتونن FPGA رو یاد بگیرن؟

مهمترین مساله در یادگیری FPGA درک معماری آن می باشد. سپس میتوانید آموزش 20 قسمتی آموزش FPGA سیسوگ را مطالعه نمایید و سپس به طراحی پروژه ها بپردازید.

بهترین زبان برنامه نویسی برای پروگرام کردن FPGA چیست؟

در حال حاضر برای برنامه نویسی FPGA بهترین زبان برنامه نویسی C و C++ می باشد.

آیا ناسا از تراشه های FPGA استفاده می کند؟

FPGA ها نیروی محرکه اصلی فناوری VLSI برای تمام ماموریت های ناسا هستند.

کتاب آموزش FPGA

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

FPGA چیست؟

FPGA چیست؟ بررسی 0 تا 100 برد FPGA

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

ادامه مطلب

آموزش FPGA

چرا و چگونه FPGA را انتخاب کنیم؟ | آموزش FPGA قسمت دوم

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

ادامه مطلب

FPGA_Part3

نرم‌افزار ISE و زبان VHDL | آموزش FPGA قسمت سوم

در قسمت دوم از آموزش fpga یاد گرفتیم که چه موقع باید سراغ تراشه‌های FPGA برویم، به مقایسه این تراشه‌ها با میکروکنترلر‌ها پرداختیم و در نهایت منابع داخلی FPGA را معرفی کردیم. اکنون قصد داریم که با محیط نرم‌افزار ISE و همچنین زبان V...

ادامه مطلب

آموزش FPGA

بررسی مدار های ترکیبی و ترتیبی و بررسی الگو و ساختار کد در زبان VHDL – آموزش FPGA قسمت چهارم

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

ادامه مطلب

آموزش FPGA

اضافه کردن زیرماژول به ماژول اصلی – آموزش FPGA قسمت پنجم

در قسمت چهارم از آموزش FPGA  با مدارات ترکیبی و ترتیبی آشنا شدیم. در نهایت توابع یک، نیم جمع کننده را استخراج و آن‌ها را به کد VHDL تبدیل کردیم. شاید سوالی که ذهنتان را درگیر کرده باشد، این است که آیا قرار است ما تا ابد، اگر خواست...

ادامه مطلب

آموزش FPGA

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

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

ادامه مطلب

آموزش FPGA

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

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

ادامه مطلب

آموزش FPGA

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

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

ادامه مطلب

آموزش FPGA

ساختار شرطی if در محیط ترتیبی FPGA | آموزش FPGA قسمت نهم

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

ادامه مطلب

آموزش FPGA

ساختار شرطی if در انکودر برای FPGA – آموزش FPGA قسمت دهم

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

ادامه مطلب

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

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

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

ادامه مطلب

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

عناصر حافظه در سیستم‌های دیجیتال | آموزش FPGA قسمت دوازدهم

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

ادامه مطلب

آموزش میکروبلیز و زبان C

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

آموزش میکروبلیز از مبتدی تا پیشرفته

طرح یک مثال کاربردی جهت درک بهتر موضوع میکروبلیز در FPGA | آموزش میکروبلیز قسمت اول

بسم‌الله‌الرحمن‌الرحیم در این سری از آموزش‌ها می‌خواهیم شما را (البته مخاطبان مبحث FPGA) با میکروبلیز و همینطور نحوه اصولی برنامه‌نویسی زبان C آشنا کنیم. دلیل آماده سازی این مقاله و مقالات بعدی در این زمینه این است که تقریبا می‌ت...

ادامه مطلب

آموزش میکروبلیز از مبتدی تا پیشرفته

آموزش زبان برنامه‌نویسی C | آموزش میکروبلیز قسمت دوم

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

ادامه مطلب

آموزش میکروبلیز از مبتدی تا پیشرفته

تعریف اصولی متغیر در زبان برنامه‌نویسی C | آموزش میکروبلیز قسمت سوم

بسم‌الله‌الرحمن‌الرحیم اگر قسمت دوم آموزش میکروبلیز قسمت دوم: آموزش زبان برنامه‌نویسی C را مطالعه کرده باشید به مسائلی همچون اصول اولیه و قواعد کلی برنامه‌نویسی زبان C اشاره کردیم که توصیه می‌کنیم قبل از خواندن این قسمت حتما قسمت...

ادامه مطلب

FPGA چیست؟

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

FPGA یا Field Programmable Gate Array یک مدار مجتمع است که می‌توان آن را بعد از پایان فرایند تولید، متناسب با نیاز طراح برنامه‌ریزی کرد و روابط منطقی بین پایه‌های ورودی و خروجی را تغییر داد. این تراشه‌ها نیمه‌رساناهایی هستند که از تعداد بسیار زیادی جزء کوچک الکترونیکی یا سلول به نام بلوک منطقی (Logic Block) تشکیل شده‌اند. این سلول چیزی بین یک مدار الکترونیکی و یک میکروکنترلر است.

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

  1. حالت اول

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

شاید برای شما مفید باشدآموزش الکترونیک از 0 تا 100 به همراه جزوه PDF

  1. حالت دوم

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

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

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

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

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

تراشه های FPGA

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

تولید کنندگان تراشه FPGA

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

زبان های توصیف سخت افزار FPGA

در آموزش برنامه نویسی FPGA با دو زبان توصیفی سخت افزار روبرو می شوید. این تراشه‌ها عموما با دو زبان توصیف سخت‌افزار به اسم‌های VHDL و Verilog برنامه‌ریزی می‌شوند (منظور از برنامه ریزی طراحی یک سخت‌افزار می‌باشد). VHDL مخفف Very High Speed Integrated Circuit Hardware Description Language نسبت به Verilog سطح بالاتری از طراحی ( سطح گیت) را پشتیبانی می کند. برای افراد متبدی که پیش زمینه ای از زبان های برنامه نویسی ندارد، پیشنهاد می شود که زبان Verilogرا ابتدا یاد بگیرد سپس به سراغ دوره های آموزش fpga با vhdl برود.

در سری آموزش FPGA تلاش بر این است تمامی مطالب به صورت جامع و رایگان در دسترس شما همراهان سیسوگ قرار بگیرد.

در سری آموزش FPGA تلاش بر این است تمامی مطالب به صورت جامع و رایگان در دسترس شما همراهان سیسوگ قرار بگیرد.