تلفن : 02177221223 - 02177223107
ایمیل : info@revsa.ir
ساعت کاری : شنبه الی چهارشنبه (8 تا 17)

FPGA و کاربردهای آن

fpga
  • admin
  • یکشنبه, 03/30/1400 - 10:37
  • نظر

فن آوري آرايه سوئيچ فيوزهاي قابل برنامه­ريزي چند باره،  انقلابي نوين را در عرصه طراحي ديجيتال به وجود آورد كه مفهوم طراحي ديجيتال را دچار تحولي عظيم در عرصه­هاي ديدگاه معماري، حجم طراحي، سرعت و نوع نگرش به طراحي ديجيتال نموده است. طوري كه امروزه FPGAها (آرايه­ هاي گيتي قابل برنامه ­ريزي ميداني) يك بوم نقاشي سفيد را در اختيار طراح قرار مي­دهند كه به او اجازه مي­دهد تا طراحي ديجيتال خود را آنچنان كه مي­خواهد و با هر حجم و پيچيدگي لازم، طراحي و سپس به جاي انتخاب IC هاي استاندارد و جدا از هم و كنار هم قراردادن آنها در روي يك مدار و وصل كردن آنها از طريق يك بورد مدار چاپي، با استفاده از یکی از زبان­های توصیف سخت­افزاری نظیر VHDL ، هر یک از قطعات دیجیتالی مورد نیاز را نوشته و با وصل کردن نرم­افزاری آنها، سرانجام فایل کامپایل شده نهایی را از طریق یک رابط سخت­افزاری بر روی یک بسته سخت­افزاری خام با تعداد پایه­های مورد نیاز برنامه­ریزی کرده و از این IC جدید "خود ساخته" استفاده کند. FPGAها نسل جدید مدارهای مجتمع دیجیتال قابل برنامه ریزی هستند که عبارت FPGA از سر کلمه­های Field Programmable Logic Gate Array گرفته شده است. سرعت اجرای توابع منطقی در FPGA ها بسیار بالا و در حد نانو ثانیه است. اگر بخواهیم FPGA ها را به طور ساده تشریح کنیم، عبارت است از یک تراشه که از تعداد بالایی بلوک­های منطقی ، خطوط ارتباطی و پایه های ورودی/ خروجی تشکیل شده است که به صورت آرایه ای در کنار یکدیگر قرار دارند. خطوط ارتباطی که وظیفهء آنها ارتباط بین بلوک های منطقی است از سوئیچ­های قابل برنامه­ریزی تشکیل شده­اند. این سوئیچ­ها بسته به نوعی که دارند، برخی تنها یکبار برنامه­ریزی هستند و برخی به تعداد دفعات زیادی برنامه­ریزی می­شوند.

بلوک­های منطقی نیز دارای انواع مختلفی هستند که عموما توسط المانی پایه، تمامی توابع منطقی را ایجاد می کنند. به عنوان مثال بلوک­های منطقی در خانواده ACT-1 از شرکت Actel ، با پایهء مالتی پلکسری عمل می­کنند. به این معنا که توسط مالتی پلکسر، توانایی ایجاد توابع منطقی مختلف را دارند .

البته تعداد ورودی­های هر بلوک منطقی متفاوت است و به نوع FPGA مربوط می شود. به عنوان مثال بلوک های منطقی در خانوادهء ACT-1، از نوع 8 ورودی است. البته در برخی موارد به بلوک­های منطقی  سلول­های منطقی نیز گفته می شود. بلوک دیاگرام یک FPGA به طور ساده در شکل زیر نشان داده شده است. 

         Image removed.

                                شکل بلوک دیاگرام یک FPGA   

 

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

پیاده­سازی توابع مختلف نیز به وسیله در کنار هم قرار گرفتن بلوک­های منطقی و همچنین تنظیم ارتباط بین هر بلوک و به عهده گرفتن پردازش اطلاعات توسط هر بخش انجام می­شود.

در شکل زیر ساختار داخلی یک FPGA نشان داده شده است. که در آن بلوک­های منطقی، سلول­های ورودی و خروجی، ارتباط بین سگمنت­ها و در شکل­های کوچک­تر جزییات بلوک­های C و S نشان داده شده است.


     Image removed.                  
                          شکل ساختار داخلی FPGA         
 

محاسن استفاده از FPGA

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

1         کاربرد اصلی FPGA در ایجاد هسته های پردازشی می باشد. 

2         مدارهای دیجیتال پیچیده به آسانی در آنها پیاده سازی می شوند.

3        تست مدار سریع است.

4         برای تولیدات با تیراژ پایین ارزان تمام می شود .

5         متناسب با نیاز، تغییرات لازم را در طراحی می توان انجام داد و مجدا FPGA را با ساختار جدید برنامه ریزی نمود.

6         قابل برنامه ریزی توسط کاربر است. 

7         می توان چند تا هسته پردازشی داخل یک FPGA تعریف کرد تا در یک زمان واحد چندتا کار را باهم انجام بدهد مثلا شما می توانید با یک FPGA معمولی حدود 200 تا هسته atmega32 تعریف کنید و 200 تا کار را همزمان انجام بدهید. 

8         میکروکنترلرها و DSP ها و میکروپروسسورها به صورت سریال دستورالعمل اجرا می­کنند و قابلیت پردازش بصورت موازی در آنها وجود ندارد، اما در FPGA   قابلیت پردازش موازی وجود دارد و قابلیت انجام عملیات بصورت همزمان را دارد.

9         كاربردهای FPGA خیلی تخصصی می­باشد ودر اكثر موارد به عنوان پردازشگر در مدارات پردازشی استفاده می­شود. سرعت بالای FPGAها آنها را مساعد کارهای پردازشی سنگین مثل پردازش تصویر و پردازش صدا می کند و سرعت این پردازش نسبت به سیستم­های دیگر خیلی بالاتراست.

10         FPGA ها در پیاده سازی توابع پیچیده­ی دیجیتالی به کار می­روند که نیاز به سرعت پردازش بالایی دارد.

11         کاهش سخت­افزار مورد نیاز و همچنین برنامه­نویسی ساده و استاندارد نیز از دیگر مزیت­های استفاده از FPGA است.

12         سرعت اجرای توابع منطقی در FPGA ها بسیار بالا و در حد نانو ثانیه است.

13         امکان تعریف هر یک از پایه های IC به صورت ورودی یاخروجی یا هر دو

14         امکان تعریف وضعیت عملکرد هر پایه در هنگام استفاده یا عدم استفاده.به عنوان مثال عملکرد HIGH امپدانس (Z) در هنگام عدم استفاده و یا قرار گرفتن در یک وضعیت منطقی صفر یا یک در هنگام عدم استفاده.

15         امکان تشخیص تغیبیرات سطوح یا لبه های پایین رونده یا بالا رونده منطقی اعمال شده به هر پایه.

16         امکان تغییر متناوب معمار ی داخلی با استفاده از سری های Bootable که نقشه معماری آنها در یک حافظه خارجی نگهداری شده و با تغییر آدرس برنامه ریزی می توان IC را بامعماری جدید Boot کرده و از آن استفاده کرد.

17         امکان برنامه ریزی در مدار (ISP) که این قابلیت را به وجود می آورد تا بدون اعمال تغییراتی که سخت­افزاری هستند و تنها از طریق پورت برنامه ریزی jTAG، معماری داخلی IC را تغییر داد .

18         کاهش حیرت انگیز حجم مدار و مجتمع سازی در ابعادی تنها به مساحت چند سانتی متر مربع.

19         کاهش یکسان سازی عناصر طراحی و از میان بردن تمامی مشکلات ناشی از عدم تطابق استاندارد های مختلف (LS,HC,s,AS,...).

20         از میان بردن تمامی نویز های ناشی از وجود قطعات مختلف و مجزا در مدار.

21         کاهش چشمگیر توان مصرفی و اتلاف توان.

22         افزایش سرعت پردازش و خطاهای انتشار به دلیل استفاده از فناوری پیشرفته و دستیابی به خطاهای انتشار تا 4ns و فرکانس کلاک فرارتر از 178 مگاهرتز.

23         کار با دو سطح ولتاژ 5v و 3.3v جهت استفاده از آنها در دستگاه های قابل حمل مانند گوشی­های موبایل

24          ضریب ایمنی صد در صد به دلیل عدم امکان دستیابی به محتوای داخلی و عدم توان توصیف محتوای داخلی به دلیل انجام ساده­سازی و فشرده­سازی بسیار پیچیده.

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

سازندگان FPGA شامل شرکت­های بزرگی همچون Xilinx و Altera وActel  می­باشند که سری­های مختلفی، از جمله Xilinx شامل: Spartan و Virtex و Altra  شامل: Cyclone  وFlex10k و Stratix  و .... را به بازار عرضه کرده­اند. در کشور ما معمولا با CPLD ها و FPGA هاي شركت­های مذکور كار مي­شود كه از نظر محبوبيت به صورت زير هستند
1- XILINX
2- Altera
3- Actel