آموزش جامع FPGA

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

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

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

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

 

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

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

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

آموزش FPGA

 

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

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

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

 

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

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

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

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

ادامه مطلب

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

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

ادامه مطلب

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

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

ادامه مطلب

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

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

ادامه مطلب

ساخت دستگاه ماینر در ایران

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته!در ضمن وقتی بحث بیت کوین مطرح میشه مطمئنا بحث ماینر نیز به عنوان یک سخت افزار خاص و ویژه جهت استخراج ارز دیجیتال نیز مطرح میشه و همون موقع هست که صحبت از مهندسین برق و الکترونیک میشه که :این سخت افزار دقیقا چی ه...

ادامه مطلب

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

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

ادامه مطلب

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

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

ادامه مطلب

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

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

ادامه مطلب

اهمیت تئوری و ریاضیات در برنامه‌نویسی

ریاضیاتِ سیستمِ متمم 2 !؟ آیا تئوری و ریاضیات در زندگی ما کاربردی دارد؟ تقریبا همه‌ی ما، یا بهتره که بگوییم همه‌ی ما، جامعه‌ی فارغ‌التحصیلان کمابیش سوار تاکسی، مهمانی و خلاصه اینور اونور شنیدیم که درس دیگه فایده نداره و الان همه‌ی درس خونده‌ها بیکار هستن و ...قسمت دوم سخن ا...

ادامه مطلب

آموزش FPGA قسمت چهارم: مدار های ترکیبی و ترتیبی

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

ادامه مطلب

FPGA_Part3

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

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

ادامه مطلب

آموزش FPGA

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

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

ادامه مطلب

PipeLine

با مفهوم Pipeline بهتر آشنا شوید

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

ادامه مطلب

آموزش FPGA

آموزش FPGA قسمت اول: FPGA چیست؟

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

ادامه مطلب

پروگرامر fpga و cpld با آی سی ft232

پروگرامر USB برای FPGA به همراه سورس و شماتیک

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

ادامه مطلب

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

 

برد آموزشی FPGA
بستن

برد ALINX با تراشه Spartan 6 XC6SLX9

تومان997٬500
برد ALINX یک برد بسیار با کیفیت می‌باشد که تراشه‌ی اصلی آن Spartan 6 XC6SLX9، شرکت Xilinx است. این برد امکانات بسیار زیادی دارد که در زیر به برخی از امکانات مهم آن اشاره شده است.

Memory 256Mbit SDRAM memory 16 Mbit QSPI FLASH EEPROM 24LC04

Communication JTAG Connector Camera Module Connector Micro SD Socket, support SD mode and SPI mode USB Power Supply/ Board USB to Serial Port

Display VGA Connector, Output 65536 Colors 6 LED Segment Displays