بخش مدار های ASIC/FPGA _ بلوک های منطقی قابل برنامه ریزی

آشنایی بیشتر با ساختار چیپ ها و مدارات مجتمع  FPGA و طبقه بندی بلوک های مداری آن ها

پژوهشگر و نویسنده:  دکتر  (  افشین رشید)


نکته : FPGA  مخفف FieldProgrammable Gate Arrays  یعنی آرایه های گیت قابل برنامه ریزی است. که با متصل کردن بلوک های داخلی آن به هم ، می توان هر مدار دیجیتالی دلخواه را به وجود آورد به عنوان مثال با یک FPGA  میتوان یک پردازنده یاMicroproccessor  طراحی کرد یا از آن میتوان  برای پردازش تصویر ، صوت و سیگنال های دیگر بهره برد. 

Fpga تراشه متشکل از آرایه هایی از Gate های منطقی برناپذیر است که با آن می توان مدارات منطقی پیچیده را پیاده سازی نمود.به طور کلی بلوک های داخلی FPGA  قابل برنامه ریزی هستند و با یک برنامه ریزی ساده می توان آن را به هر مدار دلخواه تغییر داد از این رو به این تراشه ها قابل برنامه ریزی می گویند. در FPGA  هیچ CPU  یی وجود ندارد و با نوشتن کد به یک FPGA  در واقع ما سخت افزار مدار را طراحی میکنیم.در FPGA  بر خلاف قابلیت اجرای پردازش های موازی وجود دارد و این امر باعث بالا رفتن سرعت عملیات در یک FPGA  می شود. همچنین یک FPGA  به دلیل استفاده مستقیم از گیت ها و بلوک های منطقی و عملیاتی دیگر خیلی سریع تر از میکروکنترلر هست. به همین دلیل از FPGA  ها برای ساخت سیستم های پرسرعت و حساس که دارای پیچیدگی های خاص هم می باشند استفاده می شود.برای طراحی یک مدار با یک FPGA  ما نیاز به یک زبان توصیف سخت افزار داریم که کد های نوشته شده ی ما را به مدار مد نظر ما تبدیل کند. در واقع ما در یک FPGA  با نوشتن برنامه مدار مورد نظرمان را طراحی می کنیم.  تعداد زبان های توصیف سخت افزار زیاد است.



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

پژوهشگر و نویسنده:  دکتر  (  افشین رشید)

دکترایِ  تخصصی نانو _ میکرو الکترونیک