ساختار و معماری FPGA یا Gate Array یا در (ریز پردازنده ها و تراشه ها) مهندسی برق _ الکترونیک)

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


نکته : ساختار و معماری Gate Array یا FPGA Field Programableable Field یک مدار مجتمع است که می تواند میلیون ها دروازه منطقی را در خود داشته باشد که می توانند برای انجام یک کار خاص پیکربندی شوند.

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



ریزپردازنده ها و تراشه در مقابل ساختار FPGA

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


FPGA یا Field-Programmable Gate Array ( آرایه گیت های قابل برنامه ریزی ) یک مدار مجتمع است که می توان آن را پس از اتمام فرآیند تولید ، مطابق نیاز طراح برنامه ریزی نمود و روابط منطقی بین پایه های ورودی و خروجی را تغییر داد از این رو به این تراشه ها قابل برنامه ریزی می گویند. روابط منطقی درون این تراشه ها را اغلب با زبان توصیف سخت افزار ( HDL یا Hardware Description Language ) مشخص می کنند ( علاوه بر HDL از طراحی شماتیک ، State Diagram و برنامه نویسی به زبان های دیگر مانند C نیز می توان استفاده کرد که توسط برنامه ای که بواسطه آن طراحی را انجام می دهید به کد HDL تبدیل می گردد ) . به دلیل استفاده مستقیم از گیت ها در انجام عملیات ها ، این تراشه ها دارای سرعت و دقت بسیار بالا هستند.   

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