توضیحات

توجه : به همراه فایل word این محصول فایل پاورپوینت (PowerPoint) و اسلاید های آن به صورت هدیه ارائه خواهد شد

  دانشجویی بررسی و شناخت FPGA و كاربرد های آن تحت pdf دارای 59 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد دانشجویی بررسی و شناخت FPGA و كاربرد های آن تحت pdf  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

 

بخشی از فهرست مطالب پروژه دانشجویی بررسی و شناخت FPGA و كاربرد های آن تحت pdf
مقدمه
ساختار كلی   FPGA
مقایسه FPGA با MPGA
مراحل پیاده سازی یك طرح بر روی F PGA
جایگزینی و سیم كشی اتصالات داخلی
انواع متفاوت معماری های F PGA
معیارهای اساسی انتخاب واستفاده ازF PGA
تكنولوژی های مختلف برنامه ریزی
استفاده از S RAM
استفاده از Anti_Fuse
استفاده از تكنولوژی های گیت شناور( E EPROM, EPROM  )
معماری بلوكهای منطقی
اثر معماری بلوكهای منطقی بر كارایی F PGA
معماری اتصالات قابل برنامه ریزی
تراشه های قابل بر نامه ریزیCPLD
مقایسه FPGA ها و CPLD ها
انواع PLD ها
مقایسه معماری CPLD ها و FPGA ها
مقایسه CPLD ها و FPGA از نظر اتصالات داخلی
بهره برداری از گیت های منطقی
تكنولوژی ساخت تراشه
زبان توصیف سخت افزاری AHDL
نمادها
اسامی در AHDL
گروهها
محدوده و زیر محدوده گروهها
عبارات بولی
عملگرهای منطقی
عملگرهای حسابی
مقایسه گرها
حق تقدم در عملگرهای بولی و مقایسه گرها
گیتهای استاندارد(ساده)
بافر TRI
ماكروفانكشن ها
پورتها
نگاهی گذرا به VHDL
ویژگیهای زبان VHDL
دستورات زبان VHDL
مراحل پیاده‌سازی برنامه‌های  VHDL در 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 را نشان میدهد.

همانطور كه در شكل مشخص است  سه جزء اصلی آن عبارتند از بلوكهای منطقی ، عناصری كه برای اتصالات به كار می روند وبلوكهای ورودی ـ خروجی.
ساختار و محتویات بلوكهای منطقی میتواند خیلی ساده (در حد گیت NAND) و یا خیلی پیچیده(نظیر چند  MUXیاLook-UpTable  به همراه یك فلیپ فلاپ) باشد.
بلوكهای منطقی در حقیقت جایی هستند كه قسمتهای اصلی مدار قرار می گیرند . البته ابتدا باید مداری كه قرار است روی F PGA قرار بگیرد به اجزای یكسانی كه همان محتویات بلوكهای منطقی هستند تقسیم شود و بعد از این عمل است كه می توان با بلوكهای پایه به هم مدار واقعی را به دست اورد.
عناصری كه برای اتصالات به كار می روند ، همانطور كه در شكل مشخص است،معمولا بین بلوكهای منطقی قرار می گیرند واز قطعات فلزی كه می توانند به هم یا به بلوك های منطقی متصل شوند تشكیل شده اند. برای متصل كردن این قطعات از سوئیچهای قابل برنامه ریزی استفاده  می شود. این قطعات می توانند طولهای متفاوتی داشته باشند.
بلوكهای ورودی - خروجی برای اینكه پین ها ی FPGA را بتوان در مد های مختلف 3/3 یا 5 ولت و..برنامه ریزی كرد به كار می روند. طراحی بلوكهای منطقی و عناصر اتصالی مهمترین قسمت طراحی یك F PGA می باشد.زیرا طراحی این دو با هم باید به گونه أی باشد كه پیاده سازی مدارات منطقی مختلف را روی F PGA ممكن سازد.معمولا بین پیچیدگی و انعطاف پذیری هر دوی بلوكهای منطقی و منابع اتصالی یك نسبت معكوس وجود دارد .یعنی با زیاد شدن یكی  دیگری كم می شود و بر عكس.در ضمن، معماری یك بلوك منطقی و همچنین منابع اتصالی بر كل مساحت تراشه و سرعت تراشه اثر دارد.

مقایسه FPGA با MPGA:
پیشرفت  تكنولوژی CMOS همواره باعث ایجاد مدارهای مجتمع پیچیده تر و پیشرفته تر شده است .به گونه أی كه روز به روز بر بهبود وضعیت F PGA  ها در برابر MPGA ها افزوده می شود. قبل از هر چیز توجه به این نكته ضروری است كه به طور كلی نام اختصاری FPGA هم به FPGA هاو هم به CPLD ها اتلاق می گردد.
تا پیش از این تنها از MPGA ها برای تولید سریع نمونه های اولیه در طرح های ASIC استفاده میشد اما به موازات پیشرفت در تكنولوژی C MOS و امكان جای دادن مدارهای بسیار پیچیده بر روی یك تراشه , را برای جایگزین شدن F PGA ها به جای MPGA  ها در كاربردهایی همچون سیستمهای كنترل صنعتی و مخابرات , هموار شد.
پس از اینكه ظرفیت FPGA به چند هزار گیت رسید,صحبت از جایگزینی F PGA ها جنبه عملی تر یافت .به علت تنوع  تكنولوژی های به كار رفته در ساخت FPGA و نیز وجود ابزار های مختلف و پیشرفته  حامی هر یك از انها یك تكنولوژی به خصوص از FPGA ها را نمی توان به ساد گی انتخاب  كرد.
گر چه هم اكنون فركانس كار برای  F PGA ها نوعا حدود 120MHZ  تا800MHZ می باشد ,اما محدوده واقعی كاملا به نوع طرح پیاده شده بستگی داشته و همچنین بسته به نوع مكان یابی و مسیر یابی ابزارهای طراحی می باشد.
FPGA ها معمولا به اندازه كافی پینI/O فراهم میكنند به طوریكه FPGA هایی با بیش از 300 پین نیز در دسترس می باشند .در طرح هایی كه برای پیاده سازی به چند FPGA نیاز می باشد ,از كل این پایه ها استفاده می شود.به خصوص اگر در در طرح,باس های ادرس و داده نیز وجود داشته باشد.
FPGA در مقایسه با MPGA دارای دو مزیت عمده می باشد :
هزینه پایین برای تولید كم : اماده سازی MPGA نیاز به استفاده از خط تولید كارخانه دارد  ودر نتیجه برای تولید كم مقرون به صرفه نیست.
سر عت بالای اماده سازی :به دلیل بالا بودن مدت زمان اماده سازی در كار خانه و همچنین صرف زمان برای رفع عیبهای احتمالی ,اماده شدن چیپ M PGA خیلی طولا نیتر از FPGA  است كه به راحتی ظرف چند دقیقه در محل كار  برنامه ریزی میشود.
در عوض سه عیب عمده ای كه   FPGA ها نسبت به MPGA ها دارند عبارتند از :
سرعت كم ( تا حد سه برابر ):به دلیل تاخیر زیاد سوئیچهای برنامه پذیر در مسیرهای اتصالات .(زیرا ظرفیت خازنی و مقاومتی بالایی دارند.)
چگالی پایین تر منطقی :به دلیل  سطح اشغال شده توسط سوئیچهایومداراتی كه برای برنامه پذیر كردن چیپ استفاده می شوند.
قیمت بالا برای تولیدات با تعداد زیاد .
مراحل پیاده سازی یك طرح بر روی F PGA:
اصولا روش طرا حی مدارات منطقی مستقل از تراشه نهایی است كه برای پیاده سازی انتخاب می گردد .معمولا در این گونه طراحی ها ,یك كتابخانه از بلوكهای  پیش  ساخته در اختیار طراح قرار دارد كه اعضای كتابخانه از قبل طراحی شده اند.البته در این كتابخانه بر خلاف Data Bookها به pin-out نیازی نمی باشد.اعضای پیچیده تر نظیر شمارنده ها و یا ساختار هایی شبیه تراشه های استانداردT T L وCMOS را ماكرو می نامند .هر ماكرو معمولا یك یا چند سلول از تراشه ها را اشغال می كند كه با سیم بندی مناسب تابع مورد نظر را ایجاد می كند .در پروسه طراحی مهمترین بخش را مرحله شبیه سازی تشكیل می دهد. از انجا كه طرح به صورت بخش بخش می باشد كلیه این بخش ها را می توان جداگانه و با اعمال ورودی و دریافت های  خروجی های مورد نظر تست كرده و در نهایت كل طرح را به طور یك جا تست نمود .
بر خلاف تراشه های استاندارد,در ماكرو ها می توان تنها بخشهای مورد استفاده در طرح را استفاده كردو بقیه ماكرو را بدون هدر دادن هیچ بخشی از سلول قابل برنامه ریزی ,از طرح زدود.اما با  این همه  این مشكل به گونه أی د یگر می تواند ظهور كند.از انجا كه هر تراشه با تعداد ثابتی سلول ساخته می شود. بنا براین پیاده سازی طرح با اولین تراشه ای صورت می گیرد كه بتواند تعداد سلولهای مورد نیاز برای طرح را بر اورده كند.از این رو در صورتی كه كوچكترین تراشه دارای 1000 سلول و تراشه بعدی دارای 1500 سلول باشد برای طرحی كه نیاز به 1010 سلول دارد, 30% از تراشه اخیر بدون استفاده رها خواهد شد .  شكل صفحه بعد فلو چارت مراحلی را كه برای پیاده سازی یك طرح بر روی F PGA باید طی شود نشان می دهد.
ورودی  سیستم
در یك نرم افزار طراحی  مدار را به روشهای مختلف می توا ن وارد نمود .و از جمله این روشها ویرایشگر های شماتیكی مدار , زبانهای ساده توصیف سخت افزار ( AHDLوDBEL و…) ویرایشگر های موج(كه شكل موج ورودی /خروجی را به عنوان ورودی به سیستم قبول می كنند) و زبانهای توصیف سخت افزار در سطوح مختلف(مانند  VHDLوVerilog) می باشند.
تركیب و ترجمه
در ادامه طراحی می توان هر قسمت از طراحی را به هر یك از روشهای بالا كه وارد شود با قسمت های دیگر تركیب كرد و كل مدار را به صورت معادلات منطقی در اورد كه خروجی طبقه كامپایل و تركیب است.
بهینه سازی
در این قسمت به وسیله یك سری از الگوریتم ها و با توجه به معادلات جبر بولی و الگوریتم های بهینه سازی در ان و همچنین با توجه به ساختار خاص بلوكهای برنامه ریزی در FPGA ,معادلات بهینه به دست می اید.
یك نقطه ضعف در خلاصه سازی ان است كه تغییر ساختار مدار باعث دشواری رفع خطاها یی كه در مرحله شبیه سازی اشكار می شوند,می گردد.
نگاشت تكنولوژی
ترجمه یك مدار از گیت های پایه به مدارهایی با المانهای مداری دیگر (مانند سلولهای منطقی FPGAیا سلولهای پایه CPLD)را نگاشت تكنولوژی گویند.از انجایی كه اطلاعات كامل در رابطه با ساختار FPGA  باید در اختیار نرم افزار نگاشت قرار گیرد,معمولا این نرم افزارتوسط شركت فروشنده تراشه قابل برنامه ریزی  تولید می شود.
معمولا در برنامه نگاشت تكنولوژی یك فاز بهینه سازی منطقی با توجه به ساختار بلوكهای برنامه پذیر ,برای مینیمم كردن مساحت مصرفی یا بالا بردن سرعت موجود می باشد.
جایگزینی و سیم كشی اتصالات داخلی
بعد از انجام عمل  نگاشت برنامه جایگزینی برای محل قرار گیری هر بلوك منطقی مدار تصمیم می گیرد كه هر سلول منطقی در كدام سلول فیزیكی F PGA قرار گیرد.این مساله دارای پیچیدگی زیادی است.از انجایی كه اطلاعات كامل در رابطه با ساختار اتصالات داخلی FPGA و نحوه قرار گیری سلولها درون FPGA باید در اختیار نرم افزار جایگزینی و سیم كشی قرار گیرد ,معمولا این نرم افزار ها توسط شركت فروشنده تراشه تولید می شود. بعد از این عمل جایگزینی نرم افزار سیم كش در مورد واگذاری منابع  برای اتصالات مورد نیاز تصمیم می گیرد.در این تراشه ها ,استفاده از 95% سلولها و حتی بیشتر امكان پذیر است .
شبیه سازی
دو نوع شبیه سازی توسط نرم افزار انجام می شود:
شبیه سازی منطقی
این شبیه ساز از نظر منطقی عملكرد مدار را تست می كند.در این عمل , اطلاعاتی از زمان بندی و همچنین عملیات بهینه سازمنطقی در اختیار نیست.اگر خطایی در طراحی باشد در این مرحله مشخص می شود.
شبیه ساز زمانی
در این مرحله كه پیش از مسیر یابی و رفع سایر مشكلات صورت می گیرد. پارامتر های تاخیر ,توان و خازنهای مدار و..نیز به محیط شبیه سازی منتقل شده و تصویر واقعی از عملكرد تراشه را به دست می دهد . تاخیر های فوق در واقع از كتابخانه ای كه نرم افزار در  دسترس دارد ,استخراج می شود و معمولا بدتر از حالت واقعی تراشه  در نظرگرفته شده است .به گونه أی كه پس از برنامه ریزی تراشه ,عملكرد تراشه معمولا سریعتر از مقدار پیش بینی شده توسط نرم افزار شبیه سازی است.
از مرحله شروع تا جا دادن طرح در داخل یك یا چند FPGA (با توجه به اندازه مدار ) و همچنین متصل كردن بلوكهای منطقی به هم اصطلاحا سنتز مدار روی FPGA گفته می شود.
انواع متفاوت معماری های F PGA
چهارنوع مختلف معماریهای FPGA را  كه كارخانجات متفاوت استفاده می كنند, عبارتند از :
•    ارایه دو بعدی متقارن
•    سطری
•    دریایی از گیت ها
•    مدارات سلسله مراتبی
نوع اول از یك ارایه دو بعدی از یك بلوكهای منطقی كه منابع اتصالات به صورت سطری و ستونی بین این بلوكها واقع شده اند,تشكیل یافته است.
این نوع معماری توسط شركت Xili دانشجویی بررسی و شناخت FPGA و كاربرد های آن تحت pdf استفاده می شود.
نوع دوم شبیه به نسلهای اولیه MPGA ها می باشد و در حال حاضر ,توسط شركت Actel پیاده سازی می شود.
نوع سوم متشكل از بلوكهای كوچك منطقی است كه با لایه هایی برای برقراری اتصال بین این بلوكها پوشیده شده است .در این گونه ساختار سلولهای منطقی تنها قادرند كه به نزدیكترین سلول همسایه أی متصل شوند كه در مختصات افقی یا عمودی مشابهی  قرار دارد .در این ساختار از سلولهای منطقی نیز می توان در جهت برقراری ارتباط استفاده كرد.كه البته چنین كاری باعث افزایش تاخیر در مسیر سیگنال و نیز كاهش ظرفیت گیتی در دسترس می گردد .این نوع معماری  شبیه به نسلهای بعدی MPGA ها می باشد كه ان هم توسط شركت  Actel در معماریهای جدیدش استفاده می شود.
نوع چهارم معماری FPGA بر گرفته شده ازمعماری PLD ها وCPLD ها میباشد وتوسط شركت    Atera در سری MAX ساخت این كارخانه استفاده شده است.
معیارهای اساسی انتخاب واستفاده ازF PGA
به هنگام طراحی یك سیستم طراح با توجه به مشخصات سیستم ابتدا بلوكهای كلی از بخشهای اساسی سیستم را روی كاغذ پیاده می كند.نوعا این بلوكها شامل بلوك پردازنده , بلوكهای حافظه و برخی ورودی ها –خروجی ها و مدار های واسطه لازم می باشند.
برخی از این بلوكها را می توان با یك تراشه طراحی كرد حال انكه برخی قسمت ها به تعداد تراشه های بیشتری نیاز دارند .
به موازات پیشرفت تكنولوژی امروزه بسیاری از بلوكها را می توان در یك تراشه جای داد. از این رو طراح باید دست به انتخاب چنین تراشه أی بزند و طراحی سایر قسمتها رابر این اساس پیش ببرد.
با ظهور مدارهای LSI قابل برنامه ریزی وFPGAها,طراحان با گستره أی از انتخاب ها مواجه شدند.از این روطراح قبل از انتخاب یك F  PGA نیازبه اطلاعات اساسی در این زمینه دارد.در این رابطه لازم است كه طراح بتواند میزان گیت مورد نیازو نیز تعداد  پایه های I/O و مشخصه مورد نیاز برای طراحی را تخمین بزند.
با توجه به اینكه امروزه خانواده های مختلفی از F PGA ها در دسترس می باشند,مسئله أی پیش روی طراح وجود داردو ان اینست كه كدام تراشه برای یك كاربرد خاص مفید تر است؟
با در نظر گرفتن سه فاكتور مهم در هر خانواده می توان به انتخاب نهایی نزدیك شد.انتخاب نهایی نیز می تواند با توجه به فاكتور مهم قیمت صورت گیرد.
مقایسه مشخصه ها
از نظر مشخصه ها هنگامی می توان FPGA ها را با یكدیگر مقایسه كرد كه این موضوع روشن شده باشد كه اندازه گیری مشخصه در خانواده های مختلف از راه های مشابهی صورت گرفته است . از فركانس كار می توان به عنوان نمونه أی در این زمینه نام برد.
چنین فركانسی می تواند ماگزیمم فركانسی باشد كه فلیپ فلاپها قادر به تقسیم ان دو باشند و یا مینیمم پهنای پالس H ighوLowباشد كه یك شمارنده قادر است با ان درست عمل كند و یا اصولا ماكزیمم فركانس كار یك ماشین حالت باشد.برخی نیز مبنای اندازه گیری را میزان تاخیر انتشار در نظر می گیرند.گر چه تعاریف اخیر ساده است ولی با این همه مشكلاتی را پیش می اورد .
بر این اساس FPGA را به صورت یك گیت ساده  برنامه ریزی كرده و تاخیر بین ورودی و دریافت خروجی را اندازه گیری می نمایند.برای مثال فرض كنید كه یك گیت پیچیده مثلا یك  AND با 20 ورودی لازم باشد, در این حال تراشه های خانواده های PAL تاخیری به اندازه یك گیت ساده دو ورودی را ایجاد می كنند.در حالیكه در ساختارهای FPGA به دلیل به كارگیری چند لایه برای تحقق چنین گیتی , میزان تاخیر افزایش می یابد.
بنابر این انچه كه باید مشخص شود,ان است كه برای اندازه گیری مشخصه هادر F PGA های مختلف چه اندازه گیریهایی صورت گیرد؟در این رابطه می توان به ازمایشهای پیچیده أی كه از سوی موسسات ناظر بر این تولیدات صورت می گیرد ,مراجعه كرد.اما برای انجام یك مقایسه ساده بر اساس داده های تولید كنندگان ,چهار ازمایش انجام می شود.نتایج این ازمایشها در كنار نتایج حاصل از ان دسته خانواده هایی كه با ازمایشهای   PREPتست شده اند نشان می دهد كه تا چه اندازه می توان بر این تخمین ها تكیه كرد.چهار ازمایش مذكور عبارتند از :
•    تاخیر ورودی-خروجی یك AND چهار ورودی
•    تاخیر ورودی-خروجی یك مقایسه كننده هشت ورودی
•    ماكزیمم فركانس CLOCK مربوط به یك شیفت رجیستر
•    ماكزیمم فركانس كار یك شمارنده 16 بیتی(این قسمت از ازمایشهای P REPاست)
تعداد گیت و پایه های I/O
پس از انكه مشخص شد كدام یك از خانواده ها قادرند تا مشخصه لازم را براورده كنند, انتخاب تراشه بستگی به تعداد گیت ,تعدادI/O و فاكتور قیمت دارد.تعداد گیتهای MPGA ها استاندارد خاصی ندارد اما برای ارایه های گیتی,اغلب بر اساس گیتهای دو ورودی محاسبه می شود.در این روش یك گیت چهار ورودی معادل سه گیت دو ورودی و یك فلیپ فلاپ D معادل 6 گیت محاسبه می گردد.
با این همه تخمین گیت در FPGA عموما ساده نیست.برای مثال MACH110 دارای 32 سلول بزرگ(Macrocell) می باشد كه هر یك دارای چهار AND_22 ورودی كه از تركیب 21 گیت دو ورودی ساخته شده و یك گیت O R چهار ورودی كه از تركیب سه گیت دو ورودی ساخته شده و یك فلیپ فلاپ  D كه از تركیب 6 گیت دو ورودی ساخته شده , تشكیل شده است.از این رو برای ساخت هر Macrocell به 93 گیت نیاز می باشد.
به عبارتی مجموعا می توان ظرفیت تراشه را با 2967 گیت تخمین زد .تعداد درست گیت موجود در تراشه بستگی كامل به طرح در دست پیاده سازی دارد .برای مثال اگر با هر Microcell یك گیت چهار ورودی را پیاده سازی كنیم,در این صورت ظرفیتMACH110 برابر 96 گیت خواهد بود. ظرفیت یك أی سی با استفاده از نتایج چند ازمایش مختلف و گرفتن متوسط ان به دست می اید,معمولا این ازمونها بر اساس پیاده سازی چهار مدار زیر صورت می گیرد:
•    گیت های چهار ورودی
•    مقایسه كننده های هشت ورودی
•    شیفت رجیستر های هشت بیتی
•    شمارنده UP/DOWN
داده های PREP
PREPموسسه مستقلی است كه توسط مجموعه تولید كنندگان تراشه های قابل برنامه ریزی حمایت می شود.این موسسه با استفاده ازیك سری ازمایشهای به خصوص ,مشخصه و ظرفیت تولیدات مختلف را مقایسه می كند.
پیاده سازی مدارهای زیر مبنای این مقایسه ها می باشد :
•    یك مدار مسیر داده (شامل یك مالتی پلكسر 4 به 1و یك رجیستر و یك شیفت رجیستر)
•    یك شمارنده (شامل دو رجیستر و یك مالتی پلكسر 4به1)
•    یك ماشین حالت كوچك( شامل 8 حالت و 8 ورودی و خروجی)
•    یك ماشین حالت بزرگ(شامل 16 حالت و 8 ورودی و خروجی)
•    یك مدار محاسبه ریاضی(شامل یك ضرب كننده 4 در 4 به همراه یك جمع كننده 8 بیتی و یك رجیستر 8 بیتی)
•    یك اكومولاتور 16 بیتی
•    یك شمارنده 16 بیتی با قابلیت بار شدن و فعال كننده هم زمان
•    یك شمارنده 16 بیتی با قابلیت بار شدن و امكان اغاز شمارش با مقدار جدید بار شده
•    یك دیكدر ادرس 16 بیتی
جزییات این مدار ها را با مراجعه به Data Book هر یك از تولید كنندگان تحت حمایت PREP می توان بررسی كرد.تراشه تحت حمایت برای اجرای چندین مدار از نمونه های فوق به كارگرفته می شود.
به عنوان نتیجه گیری باید گفت از انجا كه P REP از سوی بسیاری از تولید كنندگان حمایت می شود,می توان به داده های ان برای برای انتخاب تراشه مناسب تا اندازه زیادی اعتماد كرد.
تكنولوژی های مختلف برنامه ریزی
قابلیت برنامه ریزی شدن مدارات مختلف و اتصالات متفاوت رویF  PGA به دلیل وجود سوئیچهای الكتریكی قابل برنامه ریزی است كه روی این تراشه وجود دارد .این سوئیچها باید دارای مشخصاتی باید دارای مشخصاتی باشند تا اثر منفی بر روی عملكرد FPGA نداشته باشند .مهمترین این مشخصات ان است كه باید تا حد امكان جای كمی را اشغال كنند و مقاومت و ظرفیت خازنی كمی داشته باشند تا تاخیر زیادی ایجاد نكنند. از جمله سایر مشخصاتی كه بعضی از این سوئیچها دارند قابلیت حفظ اطلاعات نوشته شده بر روی انها با از دست دادن برق(Non_Volatile), قابلیت برنامه ریزی مجدد  روی انها (Reprogrammable), قابلیت برنامه ریزی داخل مداری(Programmable in system) و… می باشندكه سه مورد اخر هر كدام مزایا و معایبی دارند.به عنوان مثال سوئیچهای مبتنی بر حافظه های موقت با قطع برق اطلاعات خود را از دست می دهند. در نتیجه با هر بار روشن و خاموش شدن سیستم ,مجددا باید FPGAبرنامه ریزی شود.
سه تكنولوژی اصلی كه برای برنامه ریزی كردن ساختار F PGA استفاده می شود عبارتند از:
•    استفاده از سلولهای حافظه موقت(S RAM)
•    استفاده از Anti_Fuse
•    استفاده از گیت شناور (EEPROM,EPROM)
استفاده از S RAM
از سلول حافظه به دو گونه استفاده می شود.در روش اول از از یك سلول حافظه موقت برای كنترل روشن یا خاموش بودن یك ترانزیستور CMOS(PASS GATE) استفتده می شود.یعنی خروجی سلول حافظه را به گیت این ترانزیستور متصل می كنند.
در روش دوم با اتصال خروجیهای سلولهای حافظه به ورودیهای انتخاب یك مالتی پلكست مشخص می كنند كه كدامیك از خطهای ورودی مالتی پلكسربه خروجی متصل می شود.همانطور كه اشاره شد این روش دارای این ضعف است كه باید هر بار كه برق  سیستم  قطع می شود مجددا محتوای سلولهای حافظه نوشته شود كه این كار نیاز به این دارد كه یك حافظه دائمی PROM  یا  EPROM یا یك دیسك مغناطیسی در كنار FPGA گذاشته شود تا هر بار موقع روشن شدن اطلاعات خودش را از روی ان بخواند(عمل B OOT شدن  (FPGA.مشكل دیگر این روش حجم زیادی است كه سلول حافظه به خود اختصاص می دهد.زیرا یك سلول حافظه به 5 یا 6 ترانزیستور نیاز دارد .ولی در عین حال مزیت استفاده از حافظه های موقت ,قابلیت برنامه ریزی مجدد ان حتی در داخل مدار می باشد.شركت Xili دانشجویی بررسی و شناخت FPGA و كاربرد های آن تحت pdf برای برنامه ریزی FPGA های ساخت خود استفاده می كند.
استفاده از Anti_Fuse
Anti_Fuseنوعی فیوز است كه بر عكس فیوز معمولی در حالت عادی اتصال كوتاه است.لذا در حالت عادی قطع است و هنگامی وصل می باشد كه یك جریان نسبتا زیادی از دو سر ترمینال ان عبور داده شود.
دو نوع انتی فیوز در FPGA مورد استفاده است .یك نوع انها كه تحت عنوان PLICE شناخته شده توسط شركت Actel استفاده می شود و نوع دیگر كه تحت عنوان Vialink شناخته می شود ,توسط شركت Quicklogic استفاده می شود.
FPGA هایی كه از قابلیت انتی فیوز استفاده می كنند  چگالی گیتی بیشتری را نسبت به انواع دیگر كه از المانهای حافظه استفاده می كنند, در اختیار طراح قرار می دهند.مزیت عمده استفاده از انتی فیوزها بالا بودن فركانس كاری انها می باشد چرا كه ظرفیت خازنی و اثر مقاومتی كمی دارند.
عیب اصلی این روش انست كه قابلیت برنامه ریزی مجدد ندارند و وقتی كه یك انتی فیوز برنامه ریزی شد دیگر به حالت قطع  بر نمی گردد.
استفاده از تكنولوژی های گیت شناور( E EPROM, EPROM  )
در تكنولوژی MOS ترانزیستور ها خود به عنوان سوئیچی عمل می كنند كه با اعمال سطح  High یاLow به گیتشان می توان باعث قطع و وصل شدن این سوئیچها شد.در این روش از ترانزیستوری استفاده می شود كه دارای گیت شناور است.با استفاده از این گیت شناور می توان سطح استانه ترانزیستور را با شارژ و دشارژ كردن گیت دوم تغییر داد و ترانزیستور را به صورت دائم خاموش كرد . به این ترتیب كه با گذراندن یك جریان زیادبین گیت اصلی و درین ترانزیستور مقداری بار روی گیت شناور قرار می گیرد كه باعث بابلا رفتن ولتاژ استانه ترانزیستور از حد معمول می شود و در نتیجه در ولتاژهای كاری ترانزیستور همیشه خاموش است.برای از بین بردن این بار در EPROM از اشعه ماورائ بنفش ودر EEPROM از جریان الكتریكی استفاده می شود.
شركت  Altera از این روش در سری های اولیه تولید خود استفاده می كرد . مزیت این روش مانند روش استفاده از حافظه موقت قابلیت برنامه ریزی مجدد انست.لازم به ذكر است كه EPROM در خارج مدار وEEPROM در داخل مدار,برنامه ریزی مجدد را دارا می باشند.
معماری بلوكهای منطقی
بلوكهای منطقی شركتهای سازنده FPGA از نظر اندازه و منطق به كار رفته در انها با هم تفا وتهای زیادی دارند .به عنوان مثال شركت Plessey از دو عدد ترانزیستور برای ساخت بلوكهای منطقی خود استفاده كرده كه تنها قابلیت ساخت یك گیت NOT ا دارد و در عین حال شركت Xili دانشجویی بررسی و شناخت FPGA و كاربرد های آن تحت pdf از یك (LUT)Look_Up Table  5 ورودی كه قابلیت ساخت هر تابع تا 5 ورودی را دارد استفاده كرده است. لازم به توضیح است كه n_LUT چیزی جز یك حافظه با 2 محل ذخیره سازی و در نتیجه n ورودی نیست.یك روش برای دسته بندی بلوكهای منطقی مختلف می توان تعریف معیار Granularity  است این معیار را به گونه های مختلف می توان تعریف كرد كه از ان جمله می توان به موارد زیر اشاره كرد:
•    تعداد توابع منطقی كه یك بلوك منطقی می تواند پیاده سازی كند
•    تعداد گیت های NAND دو ورودی معادل با ان
•    تعداد ترانزیستورهای ان
•    تعداد ورودی ها و خروجی های ان
در هر حال به نظر می رسد كه دو تعریف اول پر كاربرد ترین تعریف بین سازندگان مختلف FPGA باشند.
برای بررسی بلوكهای منطقی مختلف به كار رفته شده توسط سازندگان مختلف ,انها به دو دسته اصلی بلوكهای بزرگ و كوچك (حجیم و ساده )معادل با واژه های Course Grain و Fine Grain تقسیم می نمایند.در هر كدام از این دسته ها به تعدادی از بلوكهای منطقی استفاده شده در FPGA های مشهور بازار اشاره  خواهد شد.
بلوكهای منطقی كوچك
این بلوكهای منطقی از نظر اندازه تا حد چند ترانزیستور هستند و بسیار شبیه به MPGA ها هستند .ولی در این بلوكها ترانزیستور ها می توانند به صورت برنامه ریزی شده به هم متصل شوند .
مهمترین مزیت استفاده از بلوكهای منطقی كوچك این است كه استفاده كامل از این بلوكها به سادگی میسر است . همچنین سنتز كردن مدار انها اسان است.ساختار این FPGA ها بسیار شبیه به MPGA  هااست و بنابر این ار الگوریتم های سنتز موجود می توان استفاده كرد.ولی عیب اصلی این گونه بلوكها این است كه حجم اتصالات در این گونه FPGA ها بسیار بالا می رود و چون اتصالات قابل برنامه ریزی هم از لحاظ جایی كه  اشغال می كنند و هم از نظر سرعت كار به صرفه نیستند ,بنابراین این نوع FPGA ها اصولا از چگالی و سرعت كمتری نسبت به FPGA هایی كه از بلوكهای منطقی بزرگ استفاده می كنند ,برخوردار می باشند.
بلوكهای منطقی بزرگ
این بلوكها قابلیت پیاده سازی توابع بزرگتری را نسبت به حالت قبلی ,دارا می باشند,همچنین تعداد توابعی كه می توانند پیاده سازی كنند ,زیاد است این نوع بلوكها معمولا دارای یك فلیپ فلاپ داخلی برای ساخت مدارات ترتیبی هستند كه در بعضی از این  نوع بلوكها ,قابلیت نوع فلیپ فلاپ نیز وجود دارد .معمولا نرم افزار های سنتز ,توانایی استفاده كامل از همه قابلیت های این گونه بلوكهای منطقی  پیچیده را ندارند و در نتیجه این یك ضعف برای این نوع بلوكها می باشد. در عوض به علت این كه حجم زیادی از مدار را بر روی این بلوكها می توان پیاده سازی كرد, حجم اتصالات موجود بین بلوكها  كمتر می شود و همین یكی از مزایای عمده این نوع بلوكها نسبت به بلوكهای كوچكتر  می باشد.در حال حاضر بیشتر شركتهای عمده سازنده FPGA نظیر Xili دانشجویی بررسی و شناخت FPGA و كاربرد های آن تحت pdf و Actel  و  Altera  از این نوع بلوكها استفاده می كنند .
اثر معماری بلوكهای منطقی بر كارایی F PGA
منظور از كارایی FPGA همان سرعت ان است.معماری بلوكهای منطقی به دو گونه خلاف هم برسرعت اثر می گذارد.با افزایش یچیدگی بلوك منطقی همانطور كه گفته شد,هم تعداد بلوكهای منطقی مورد نیاز كم می شود و هم تعداد سطوح مورد نیاز برای پیاده سازی مدار .در نتیجه با افزایش تعداد ورودیهای بلوكهای منطقی ,سرعت FPGA ها بالا می رود.
مساله دیگری كه بر سرعت FPGA تاثیر دارد این است كه تاخیر اتصالات با افزایش پیچیدگی بلوكهای منطقی افزایش می یابد.از دلایل این امر می توان به موارد زیر اشاره كرد:
•    تعداد سوئیچهای متصل به هر سیم در حال افزایش است.
•    طول سیم ها با بزرگ شدن بلوكهای منطقی افزایش می یابد.
معماری اتصالات قابل برنامه ریزی
بعد از اینكه مدار مورد نظر طراح توسط نرم افزار سنتز به بلوكهای منطقی موجود روی FPGA  سنتز  شد, باید به مسیله أی این بلوكهای منطقی را به یكدیگر متصل كرد. اتصال بلوكهای منطقی به یكدیگر توسط منابع اتصال قابل برنامه ریزی انجام می شود.
این منابع معمولا حجم زیادی را روی FPGA  اشغال می كنند.دلیل این مساله  بزرگ بودن سوئیچهای است كه برای برنامه ریزی كردن انها استفاده می شود.در ضمن به علت بزرگ بودن تاخیر RC انها ,سوئیچها معمولا باعث پایین اوردن سرعت FPGA می شوند.هر چه تعداد منابع اتصالات بیشتر باشد امكان برقراری اتصالات بین بلوكهای منطقی بیشتر و برقراری ارتباط اسانتر است. قبل از وارد شدن  به بحث ابتدا دو اصطلاح Segment وTrack  كه در این مبحث از انها نام برده می شود ,تعریف می شوند.
Segment:قطعه أی از سیم است كه در وسط ان سوئیچ استفاده نشده باشد.
Track: عبارت است از چند segment كه در یك خط راست كه به وسیله یك یا چند سوئیچ از هم جدا شده اند.
در هر یك از مدلهای FPGA به گونه های مختلف عمل برقراری اتصالات انجام می شود كه در بخش زیر به ان پر داخته می شود.
روشهای مختلف ارتباط
با توجه به نوع مداری كه برای FPGA در نظر گرفته می شود طریقه برقراری اتصالات در انها فرق می كند.این روشها عبارتند از :
•    FPGAهای متقارن دو بعدی
•    FPGA های سطری
•    FPGA های سلسله مرا تبی

تراشه های قابل بر نامه ریزیCPLD
بازار تراشه های قابل بر نامه نویسی منطقی  ظرفیت بالا در سالهای اخیر گسترش زیادی یافته است .دلیل ان هم اشنایی طراحان با تراشه های تازه ومعماری جدید آنها می باشد. با توجه به اینكه این تراشه ها دامنه بزرگی از طراحی ها را برایمان ممكن می سازد یك مهندس طراح می بایست بسته به نوع طراحی خود از میان تمام قطعات موجود بهترین و در عین حال به صرفه ترین تراشه را برای طراحی خود انتخاب كند.انتخاب تراشه مناسب می تواند به بازار فروش منجر شود.در حالی كه انتخاب غلط سبب شكست اقتصادی پروژه خواهد شد.برای یك تصمیم صحیح به صرفه شما باید با تواناییها و همچنین محدودیت های تراشه های مختلف آشنا شوید.
PLD ها شامل قطعات كم ظرفیت تا پر ظرفیت می باشند.ظرفیت های كم PLD ها كه اصطلاحا PLD های ساده نامیده می شوند معمولا كمتر از 600 گیت قابل استفاده دارند و شامل محصو لاتی چون PLD-GAL می شوند.
PLD های ساده توسط تكنو لوژی CMOS طراحی شده اند كه شامل EPROM و EEPROM و حافظه FLASH می باشند.HCPLD ها بیش از 600 گیت قابل استفاده دارند و شامل CPLD و FPGA ها می   شوند. در در این نوع تراشه ها تكنولوژی بسیار بالایی به كار رفته است.  HCPLD را بسته به ساختمان اتصالات داخلی آنها می توان به دو دسته CPLD ها و FPGA ها تقسیم كرد.
CPLD ها از چندین تكنو لوژی مختلف CMOS استفاده می كنند كه دامنه گسترده یی از طراحیهای   دیجیتال را در اختیار قرار می دهند. ترتشه های  EPROM -EEPROM - FLASH قابلیت دوباره بر نامه ریزی شدن را دارند. در CPLD هایی كه بر مبنای SRAM ساخته شده اند معماری LUT به كار رفته است كه رجیستر های متمركز را در اختیار طراح قرار می دهد. این قطعات قابلیت تغییر شكل درون مداری را دارند.امروزه شبیه سازی كامپیوتری میتوانند جلوی برخی اشكالات و اشتباهات طراحی را بگیرد. اما به هر حال یك طرح قاعدتا نیاز به تست سخت افزاری طرح خود را دارد تا تغییرات نا محسوس خصو صیات سیستم را مشاهده و خطایابی كند. با قطعه ای كه قابلیت فقط یك بار بر نامه ریزی داشته باشد و مثلا ساخته شده باشد طراحی چیزی جز به هدر دادن سرمایه نیست.
مقایسه FPGA ها و CPLD ها
بازار تراشه های قابل برنامه نویسی منطقی ظرفیت بالا HCLPD(Programmable Logic Device High Capacity) در سالهای اخیر گسترش زیادی یافته است. دلیل آن هم آشنایی طراحان با تراشه های تازه و معماری جدید آنها می باشد. با توجه به اینكه این تراشه ها دامنه بزرگی از طراحی ها را برایمان ممكن می سازند ، یك مهندس طراح می بایست بسته به نوع طراحی خود از میان تمام قطعات موجود ، بهترین و درعین حال به صرفه ترین تراشه را برای طراحی انتخاب كند.
انتخاب تراشه مناسب می تواند به بازار فروش موفق منجر شود ، در حالیكه انتخاب غلط سبب شكست اقتصادی پروژه خواهد شد.
برای یك تصمیم صحیح و به صرفه ، باید با توانایی ها و همچنین محدودیت های تراشه های مختلف آشنا شویم. در این قسمت با خصوصیات دو دسته مهم HCPLD ها یعنی CPLD و FPGA آشنا می شویم.
انواع PLD ها
PLD ها شامل قطعات كم ظرفیت تا پر ظرفیت می باشند. ظرفیت های كم PLD كه اصطلاحاً PLD های ساده نامیده می شوند معمولاً كمتر از 600 گیت قابل استفاده دارند و شامل محصولاتی چون PLA ها ، GAL ها و 22V10 ها می شوند.
PLD های ساده توسط تكنولوژی CMOS طراحی شده اند كه شامل EPROM و EEPROM و حافظه FLASH می باشند.
HCPLD ها بیش از 600 گیت قابل استفاده دارند و شامل CPLD ها و FPGA ها می شود. در HCPLD ها تكنولوژی CMOS با SRAM EPROM, , EEPROM,Anti fuseOption FLASH,, به كار رفته است.
HCPLD ها را بسته به ساختمان اتصالات داخلی آنها می توان به دو دسته CPLD ها و FPGA ها تقسیم كرد.
CPLD ها ساختمان اتصالات داخلی پیوسته (Continous) دارند در حالیكه FPGA ها دارای اتصالات قطعه قطعه می باشند.

مقایسه معماری CPLD ها و FPGA ها
CPLD ها از چندین تكنولوژی مختلف CMOS استفاده می كنند كه دامنه گسترده ای از طراحی های دیجیتال را در اختیار قرار می دهند.
EPROM و EEPROM و تراشه هایی كه اساس آنها FLASH است (شامل قطعات كلاسیك,MAX 7000 MAX 5000 ,MAX 9000 ,Altera خانواده های منطقی FLASH ) برای تولید قطعات تركیبی در عین حال متمركز به كار می روند و برای همین كار نیز بهینه سازی شده اند.تراشه های EPROM ,  EEPROM وFLASH قابلیت دوباره برنامه نویسی شدن را دارند. در CPLD هایی كه برمبنای SRAM ساخته شده اند. (مانند خانواده FLEX 8000 از Altera ) معماری (Look-Up Table) LUT به كار رفته است كه رجیسترهای متمركز در اختیار طراح قرار می دهد. این قطعات قابلیت ، تغییر شكل درون مداری را دارند.
در مقابل FPGA ها اكثراً از SRAM و المانهای حافظه  Anti fuse با یك بار قابلیت نوشتن استفاده می كنند.
معماری قطعه- قطعه و بخش بخش F PGA ها ، ابراز قدرتمندی را در دامنه وسیعی از كاربردها در اختیار طراح قرار می دهد. اما نسبت به CPLD ها كارآیی كمتری را در به كارگیری طراحی های تركیبی-متمركز دارا می باشند.
یك تراشه كه بر اساس Anti fuse ساخته شده (برخلاف یك FPGA كه بر اساس SRAM ساخته شده است).
قابلیت پاك شدن و بازتركیب را ندارد. در صورتی كه PLD های ساده و ارزان قیمت (مانند 22V10) شاید اصولاً قابلیتهای بالا را لازم نداشته باشند. اصولاً دانستن این خصوصیات HCPLD ها ضروری است. زیرا یك طرح كه شامل هزار ها گیت می باشد سبب می شود تا چندین بار عمل طراحی تكرار گردد.
شبیه سازی كامپیوتری می تواند جلوی برخی اشكالات و اشتباهات طراحی را بگیرد. اما به هر حال یك طراح قاعدتاً نیاز به تست سخت افزاری طرح خود دارد تا تغییرات نامحسوس خصوصیات سیستم را مشاهده و خطا یابی كند. با قطعه ای كه قابلیت فقط یك بار برنامه ریزی داشته باشد و مثلاً برپایه Anti fuse  ساخته شده باشد، طراحی، چیزی جز به هدر دادن سرمایه نیست.
مقایسه CPLD ها و FPGA از نظر اتصالات داخلی
CPLD ها و FPGA ها از ساختمان اتصالات داخلی متفاوتی بهره می برند. درCPLD ها ساختمان به صورت پیوسته وجود دارد در حالیكه در FPGA ها این ساختمان به صورت قطعه-قطغه و مجزا می باشد.
ساختمان اتصالات پیوسته در CPLD ها خطوطی از فلز می باشند كه به صورت متحدالشكل در طول و عرض تراشه و به صورت متقاطع قرار گرفته اند. مدامی كه مقاومت و ظرفیت خازنی تمام اتصالات داخلی مقدار ثابتی باشد، تأخیر بین هر دو سلول منطقی در داخل تراشه قابل پیش بینی و محاسبه است. این متحالشكل بودن خطوط در تراشه سبب به حداقل رسیدن انحراف سیگنال خروجی می شود...

برای دریافت اینجا کلیک کنید

سوالات و نظرات شما

تمامي كالاها و خدمات اين فروشگاه، حسب مورد داراي مجوزهاي لازم از مراجع مربوطه مي‌باشند و فعاليت‌هاي اين سايت تابع قوانين و مقررات جمهوري اسلامي ايران است.
قیمتی که در هنگام سفارش مشتري در پیش‌­فاکتور منظور گرديده است، معتبر مي‌باشد
Copyright © 2014 cporoje.ir