با توجه به پیشرفت دنیای دیجیتال و همچنین عدم پاسخ گویی مدارات مجتمع معمولی برای پیاده سازی توابع پیچیده ، به مرور تراشه های جدیدی طراحی شده اند که با توجه به نیاز طراح ، دارای تعداد زیادی گیت و بلوک منطقی هستند . از این میان PLD ، PLA ، CPLD ، SPLD و FPGA ها مشخص ترین نوع این تراشه ها هستند که تعداد گیت های به کار رفته در آنها تا چندین هزار گیت می باشد .
FPGA ها نسل جدید مدارهای مجتمع دیجیتال قابل برنامه ریزی هستند که عبارت FPGA از سر کلمه های Field Programmable Logic Gate Array گرفته شده است . سرعت اجرای توابع منطقی در FPGA ها بسیار بالا و در حد نانو ثانیه است . اگر بخواهیم FPGA ها را به طور ساده تشریح کنیم . . .
FPGA چیست ؟ FPGA ها نسل جدید مدارهای مجتمع دیجیتال
قابل برنامه ریزی هستند که عبارت FPGA از سر کلمه های Field Programmable
Logic Gate Array گرفته شده است . سرعت اجرای توابع منطقی در FPGA ها
بسیار بالا و در حد نانو ثانیه است . اگر بخواهیم FPGA ها را به طور ساده
تشریح کنیم ، عبارت است از یک تراشه که از تعداد بالایی بلوک منطقی - LB
(Logic Block) ، خطوط ارتباطی و پایه های ورودی / خروجی (IOB) تشکیل شده
است که به صورت آرایه ای در کنار یکدیگر قرار دارند . خطوط ارتباطی که
وظیفهء آنها ارتباط بین بلوک های منطقی است از سوئیچ های قابل برنامه ریزی
تشکیل شده اند . این سوئیچ ها بسته به نوعی که دارند ، برخی تنها یکبار
قابل برنامه ریزی هستند و برخی به تعداد دفعات زیادی برنامه ریزی می شوند
.
بلوک های منطقی نیز دارای انواع مختلفی هستند که عموما توسط المانی
پایه ، تمامی توابع منطقی را ایجاد می کنند . به عنوان مثال بلوک های
منطقی در خانواده ACT-1 از شرکت Actel ، با پایهء مالتی پلکسری عمل می
کنند . به این معنا که توسط مالتی پلکسر ، توانایی ایجاد توابع منطقی
مختلف را دارند .
البته تعداد ورودی های هر بلوک منطقی متفاوت است و
به نوع FPGA مربوط می شود . به عنوان مثال بلوک های منطقی در خانوادهء
ACT-1 ، از نوع 8 ورودی است . البته در برخی موارد به بلوک های منطقی ،
سلول های منطقی نیز گفته می شود (LC) .
بلوک دیاگرام یک FPGA به طور ساده در شکل زیر نشان داده شده است .