تفاوت میکرو پروسِسور ها با میکروکنترلر های FPGA (مهندسی میکرو- نانو الکترونیک)

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


نکته: به طور کلی بلوک های داخلی FPGA  قابل برنامه ریزی هستند و با یک برنامه ریزی ساده می توان آن را به هر مدار دلخواه تغییر داد از این رو به این تراشه ها قابل برنامه ریزی می گویند. 


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

به طور کلی بلوک های داخلی FPGA  قابل برنامه ریزی هستند و با یک برنامه ریزی ساده می توان آن را به هر مدار دلخواه تغییر داد از این رو به این تراشه ها قابل برنامه ریزی می گویند. 

تفاوت FPGA  با میکروکنترلر ؟

یک میکروکنترلر از  CPU  ، تایمر ها ، پورت ها و حافظه های مختلفف مانند flash؛ Rom و EEPROM  تشکیل شده است که با پروگرام کردن آن CPU  شروع به اجرای خط به خط برنامه نوشته شده می کند. در حالی که در FPGA  هیچ CPU  یی وجود ندارد و با نوشتن کد به یک FPGA  در واقع ما سخت افزار مدار را طراحی میکنیم.

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

نکته : تفاوت میکرو پروسسورها  در عملکرد برعکس FPGA در سیستم است.

 برای طراحی یک مدار با یک FPGA  ما نیاز به یک زبان توصیف سخت افزار داریم که کدهای نوشته شده ی ما را به مدار مد نظر ما تبدیل کند. در واقع ما در یک FPGA  با نوشتن برنامه مدار مورد نظرمان را طراحی می کنیم.  تعداد زبان های توصیف سخت افزار زیاد است اما دو زبان VHDL  و Verilog  از همه مشهورتر هستند.

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