FPGA چیست؟
در رابطه با FPGA ها منابع کمی در دسترس است و تاحدی درباره این مدار مجتمع های دیجیتال قدرتمند کوتاهی شده است. (FPGA (Field Programmable logic Gate Array ها که بعبارتی «آرایه دریچه ای برنامه پذیر منطقی» و به تعبیری ساده تر «آرایه گیت برنامه پذیر در محل» خوانده می شوند، تراشه هایی هستند با معماری داخلی از پیش تعیین شده توسط شرکت سازنده که قابلیت پیکربندی به منظورهای مختلف را توسط طراحان فراهم می آورند. انواع دیگری از این نوع تراشه نیز موجود است؛ معروف ترین آنها، ASIC میباشد که هنوز هم در برخی پروژه های بزرگ و پیچیده مورد استفاده قرار می گیرد. مهمترین اشکال ASIC ها فرایند طراحی و ساخت زمان بر و پرهزینه میباشد که در نتیجه ی ثابت بودن طرح نهایی در سیلیکون ایجاد میشود. بدین معنی که فقط با تولید نسخه ی جدید میتوان مدار را ویرایش کرد، که همین مطلب طول مدت رسیدن به بازار قطعه را طولانی تر می کند. در FPGA ها این اشکالات برطرف شده است، که در ادامه به توضیح بیشتر می پردازیم.
این قطعات دارای بلاک های منطقی برنامه پذیر و اتصالات بین بلاکی قابل پیکربندی هستند. برخی از آنها تنها یک بار قابلیت برنامه پذیری دارند که به (OTP(One-Time-Programmable مشهورند و برخی دیگر چندین بار قابلیت برنامه پذیری را دارا هستند.
برای برنامه نویسی و طراحی FPGA ها از دو روش زبان های توصیف سخت افزار (HDL-AHDL-VHDL) و یا طراحی مدار استفاده می شود.
این تراشه ها می توانند چندصد میلیون گیت منطقی(قابل پیکربندی) داشته باشند که همین ویژگی آنها را برای پیاده سازی توابع پیچیده و بسیار بزرگ دلپذیرتر می کند.
تعریفی دیگر که در FPGA به آن اشاره شد، «آرایه گیت برنامه پذیر در محل» بود، بعبارت دیگر میتوان گفت FPGA ها (ISP(IN-System Programmable هستند، یعنی برنامه پذیر درون سیستمی. ISP به قطعاتی گفته می شود که توان برنامه پذیری هنگام استقرار در سیستمی سطح بالاتر را داشته باشند. همین ویژگی، امکان تغییر طرح پیاده سازی شده را بصورت ساده برای ما فراهم می آورد؛ بدون آنکه نیاز به تولید نسخه ی جدید باشد! در نتیجه زمان عرضه به بازار طرح بسیار کوتاه تر می سود.
FPGA ها برای پیشرفت شرکت های startup ( شرکت های نوپا و تازه تأسیس) بسیار مناسبند، چرا که حتی گروه های کوچک مهندسی در محیط های آزمایشگاهی کوچک مبتنی بر FPGA، موفق به اجرای طرح های خود می شوند. و همچنین هزینه های توسعه بسیار پایین تر از نمونه های مشابه است.
در ابتدای ظهور FPGA ها (اواسط دهه 1990) از آنها برای پیاده سازی منطق اتصالی (glue logic) و ماشین هایی با پیچیدگی متوسط و پردازش داده های نسبتاً کم استفاده میشد. در اوایل دهه 1990 و با پیشرفت FPGA ها، از آنها برای ارتباط و شبکه، یعنی پردازش بلاک های بزرگ داده و فرستادن آنها به اطراف استفاده میشد؛ و در اواخر دهه 1990، بازار شاهد ورود آنها به کاربردهای صنعتی، لوازم خانگی و خودروسازی بود.
اما امروزه از FPGA ها تقریبا برای پیاده سازی هرچیزی مانند دستگاه های مخابراتی، رادیوهای نرم افزاری، رادارها، پردازش تصویر و دیگر کاربردهای پردازش سیگنال(DSP) وحتی قطعات (Soc (System-On-Chip حاوی عناصر نرم افزاری و سخت افزاری استفاده می شود.
FPGA واقعاً عالیه و به اندازه کافی قدرت اعمال خلاقیت رو به طراح میده. ولی برای استفاده از اون به سواد و معلومات و تسلط زیادی به الکترونیک دیجیتال نیاز هست. باهاش میشه حتی یک CPU دلخواه طراحی کرد!
بله واقعا قدرت منده و بی نظیره! ولی متاسفانه خیلی شناخته شده نیست و اطلاعات زیادی هم در موردش وجود نداره.
یکی از دلایل ناشناخته موندنش با توجه به تجربه شخصیم اینه که معمولاً دانشجوها دنبال پروژه های آماده با میکروکنترولر میگردند و حاضر نیستند واسه انجام یک پروژه –حتی خیلی ساده– بیان بشینن FPGA یاد بگیرند!
چند تا کتاب خوب در موردش ترجمه شده که متاسفانه حضور ذهن ندارم ولی مطمئنم که منابع اینچنینی ازش در دسترس هست. در ضمن فک میکنم تو ویرایش های اخیر کتاب مدار منطقی “موریس مانو” یک CD که شامل تعدادی sample از FPGA همراه با نرم افزار دیزاینر و پروگرامرش هست رو دیده بودم…
متاسفانه تنبلی خیلی کار دستمون میده، یکی از مراجع خوب و تخصصی در این زمینه هم «مرجع کامل طراحی با FPGA» تألیف آقای فرزاد شکاری زاده هست.
فرقش با AVR چیه؟
AVR یک میکرو کنترولر می باشد
در میکرو کنترولرها برنامه ها خط به خط اجرا می شوند و سرعت پایینی دارند
در FPGA خط های برنامه همزمان اجرا می شود زیرا توسط سخت افزارها (گیت ها) پیاده سازی می شوند
من کارشناسی الکترونیکم میخوام fpga یاد بگیرم …راهنمایی کنید. مرسی
ایا از fpgaمیشه به جای plc s7استفاده کرد از نظر قیمت به صرفه تره؟