بررسی FPGA وکاربردهای آن
مقدمه:
امروزه با پیشرفت در زمینه ساخت قطعات قابل برنامه ریزی در روشهای طراحی سخت افزار تکنولوژی V LSIجایگزین SSI شده است.رشد سریع الکترونیک سبب شده است تا امکان طراحی با مدارهای مجتمعی فراهم شود که درآنها استفاده از قابلیت مدار مجتمع با تراکم بالا و کاربرد خاص نسبت به سایر کاربردهای ان اهمیت بیشتری دارد. از اینرواخیرا مدارهای مجتمع با کاربرد خاص( Integrated Circuit (Application Specific به عنوان راه حل مناسبی مورد توجه قرار گرفته است(ASIC) وروشهای متنوعی در تولیداین تراشه ها پدیدآمده است.در یک جمع بندی کلی مزایای طراحی به روش A SIC عبارت است از :
اولین تراشه قابل برنامه ریزی که به بازار عرضه شد ، حافظه های فقط خواندنی برنامه پذیر PROM)) بود که خطوط آدرس به عنوان ورودی وخطوط داده به عنوان خروجی این تراشه ها تلقی می شد. PROM شامل دسته ای از گیتهای AND ثابت شده(غیر قابل برنامه ریزی ) که به صورت رمز گشا بسته شده اند و نیز یک ارایه O R قابل برنامه ریزی است.
از آنجایی که PROM دارای قابلیت های لازم برای پیاده سازی مدارهای منطقی نمی باشد، از این تراشه ها بیشتر به عنوان حافظه های قابل برنامه ریزی استفاده می شود.
این قطعات دارای دو آرایه قابل برنامه ریزی AND,OR هستند .در سال 1920 Philips, ساختار PLA را به بازار عرضه کرد که دواشکال ان هزینه گران ساخت ان وسرعت کم آن بود.
شرکت Memories Monolitic برای پوشش دادن اشکالات PLA ساختار آرایه قابل برنامه ریزی منطقی PAL را به بازار عرضه کرد. PAL شامل یک آرایه AND قابل برنامه ریزی و یک OR تثبیت شده است.
PALهای استاندارد،آرایشهای متفاوتی دارند که هر یک از آنها توسط عددی یکتا مشخص می شوند.این عدد همیشه با پیشوند PAL شروع می- شود .دو رقم بعدازPAL , تعداد ورودیها را نشان می دهد که شامل خروجیهایی است که به صورت ورودی به کار روند.حرف بعد از تعداد ورودیها نوع خروجی را نشان می دهد:
L یعنی فعال پایین, H یعنی فعال بالا و P یعنی قابل برنامه ریزی .
یک یا دو عد د بعدی که بعد از نوع خروجی قرار می گیرد،تعداد خروجیهاست. به عنوان مثال PAL10L8 دارای 10 ورودی و8 خروجی فعال پایین است.
علاوه بر این شماره PALمی تواند پسوند هایی برای تعیین سرعت ،نوع بسته بندی و حوزه حرارتی داشته باشد.
بعد از PAL، یکی از تراشه های منطقی قابل برنامه ریزی PLD(Programable Logic Device) که در بسیاری از کاربرد ها،جایگزین مدارهای MSI,LSI با عنوان آرایه عمومی منطقی GAL)) به بازار عرضه شد.
GAL(Generic Array Logic) شامل آرایه ای قابل برنامه ریزی از گیت های AND است که به گیتهای OR متصل شده است.
درGAL به جای فیوزاز سلولهایی از نوع CMOS که قابل پاک شدن به صورت الکتریکی هستند (E2CMOS) هستند استفاده شده است.
GAL آرایشهای متنوعی دارد که هر یک توسط شماره یکتایی مشخص می شود.این شماره ،همواره با پیشوند GAL آغاز میشود دو رقم اولیه که بعد از پیشوند GAL می آید تعداد ورودیها را نشان می دهند که خروجیها یی که میتوانند به عنوان ورودی نیز به کار روند را در بر دارد.حرف V که بعد از ورودیها می اید،خروجی متغیر و یک یا دو رقم بعد از آن، تعداد خروجیها را نشان می دهد.
به عنوان مثال GAL1 6V 8 دارای 16 ورودی و 8 خروجی متغیر است.
به همراه تراشه های قابل برنامه ریزی ASIC قابل ماسک MPGA(Masked Programmable Gate Array) نیز شروع به رشد کرد که به صورت ارایه أی از ترانزیستور های پیش ساخته هستند و برای پیاده سازی مدارهای منطقی ، در کارخانه های سازنده به یکدیگر متصل می شوند.ظرفیت آنها طی ده سال ، از حدود هزار گیت به مرز چند ده هزار گیت رسید.
پیشرفت در ابزار های طراحی و نیز تراشه های قابل برنا مه ریزی منجر به عرضه FPGA شد.
امروزه FPGA ها از نظر تکنولوژی در زمره بزرگترین مدارهای مجتمع موجود در بازار هستند.مثلا محصولات Altera از سری FLEX10K با تکنولوژی نیم میکرون ، حدود ده میلیون ترانزیستور را در گستره أی به ابعاد 1.8cmدر 1.5 cmجای داده اند.
گر چه این محصولات ظرفیتی بیش از 300000 گیت و300 پایه I/ /O را به کاربر عرضه می کند ولی با این همه هنوز از تراشه هایی چون 1 6V8 و نیز سری 74LS00استفاده فراوانی به عمل می اید. با وجود اینکه می توان 7000 نوع از تراشه اخیر در یک FPGA معمولی جای داد.
بیشتر FPGA ها ی مورد استفاده ظرفیتی حدود 8000 گیت دارند .از های بزرگتر برای ساخت نمونه های اولیه به منظور پیاده سازی نهایی با MPGA ها استفاده می گردد .
این امکان نتیجه پیشرفت در نرم افزار های طراحی است که میتوانند مستقل از تراشه نهایی طراحی را انجام دهند و در نهایت طراح می تواند تصمیم بگیرد که طرح با FPGA یا MPGA پیاده سازی گردد .
به نظر می رسد که در آینده ، ایدهFPGA همچنان قوام بیشتری به خود گرفته و با ایجاد ابزارهای طراحی قویتر که دستورات پیشرفته تری از VHDL(Very Hardware Description Languages) و AHDL (Altera Hardware Description Languages) را پشتیبانی می کنند، راه برای به کار گیری هر چه بیشتر این گونه تراشه ها هموار گردد.طلیعه این گونه پیشرفت ها را می توان درتراشه ها ی بسیار پیشرفته (FIPSOC (Fild ed Programmable System On Chip مشاهده کرد.
ساختار کلی F PGA :
FPGAما نند MPGAتشکیل شده است از یک سری عناصر منطقی که برای کار خاصی محدود شده اند و نیز مانند PAL دارای اتصالات قابل برنامه ریزی است. بنابر این هر دو جزء اصلی تشکیل دهنده یک مدار یعنی بلوکهای منطقی و همچنین اتصالات بین آنها، قابل برنامه ریزی است.شکل زیر ساختار اصلی یک F PGA را نشان میدهد.
فهرست مطالب
مقدمه
ساختار کلی FPGA
مقایسه FPGA با MPGA
مراحل پیاده سازی یک طرح بر روی F PGA
انواع متفاوت معماری های F PGA
معیارهای اساسی انتخاب واستفاده ازF PGA
تکنولوژی های مختلف برنامه ریزی
استفاده از S RAM
استفاده از Anti_Fuse
معماری بلوکهای منطقی
اثر معماری بلوکهای منطقی بر کارایی F PGA
تراشه های قابل بر نامه ریزیCPLD
مقایسه FPGA ها و CPLD ها
انواع PLD ها
مقایسه معماری CPLD ها و FPGA ها
مقایسه CPLD ها و FPGA از نظر اتصالات داخلی
بهره برداری از گیت های منطقی
تکنولوژی ساخت تراشه
زبان توصیف سخت افزاری AHDL
نمادها
اسامی در AHDL
گروهها
محدوده و زیر محدوده گروهها
عبارات بولی
عملگرهای منطقی
عملگرهای حسابی
مقایسه گرها
حق تقدم در عملگرهای بولی و مقایسه گرها
گیتهای استاندارد(ساده)
بافر TRI
ماکروفانکشن ها
پورتها
نگاهی گذرا به VHDL
ویژگیهای زبان VHDL
دستورات زبان VHDL
مراحل پیادهسازی برنامههای VHDL در FPGA