مقاله بررسی FPGA CPLD زمان برنامه نویسی VHDL در 30 صفحه ورد قابل ویرایش
قیمت فایل فقط 5,000 تومان
بررسی FPGA & CPLD زمان برنامه نویسی VHDL در 30 صفحه ورد قابل ویرایش
مقدمه ای درباره FPGA & CPLD
برای آنكه بتوان بخش بزرگی از یك طرح را داخل یك تراشه منتقل نمود و از زمان و هزینه مونتاژ و راهاندازی و نگهداری طرح كاست، ساخت تراشههای قابل برنامه ریزی مطرح شد از جمله مزایای استفاده از تراشههای قابل برنامه ریزی در طراحی پروژهها عبارتند از :
- كاهش ابعاد و حجم
- كاهش زمان و هزینه طرح
- افزایش اطمینان از سیستم
- حفاظت از طرح
- حفاظت در برابر نویز و اغتشاش
FPGA ها ابزار سخت افزاری قابل برنامه ریزی ارزان قیمت را جایگزین كاربردهای فعلی كنترلرهای داخلی (Embedded Controllers) نمودهاند. به همین دلیل بازار آنها رشد گستردهای داشته است. علاوه بر این به جهت ارائه راه حلهای مناسب برای IC های سفارشی با عملكرد بالا موفقیت زیادی به دست آوردهاند. در واقع به نظر میرسد كه FPGAها با توجه به ارزان بودن، نسل فعلی تراشههای ASIC را از رده خارج كنند. همین مزیت هزینه و عملكرد توجه زیادی را درحوزه تحقیقات به خود معطوف كرده است.
ویژگی استفاده از قطعات منطقی قابل برنامه ریزی (PLD) و FPGA، ارزان بودن قیمت و سرعت ورود آنها به بازار است.
قطعات ASIC، هزینههای توسعه مهندسی غیر قابل برگشت بالاتری دارند و در نتیجه اغلب، قیمت این محصولات بالاتر است، اما اساساً كارایی بالاتری دارند. این شیوههای مختلف طراحی محیطهایی را با مجموعهای از متدولوژی و ابزاهای مختلف CAD پدید میآورند.
در طول یك دهه گذشته، انواع مختلفی از سخت افزارهای قابل برنامه ریزی به سرعت پیشرفت كردهاند. این قطعات نامهای مختلفی دارند مثل سخت افزار قابل آرایش مجدد، سخت افزار قابل آرایش، سخت افزار قابل برنامه ریزی مجدد.
ایده اصلی و زیر بنایی معماری FPGA و CPLD بسیار ساده است. به طوری كلی میتوان مدارهای تركیبی و ترتیبی را مستقیماً روی بستر سیلیكون ایجاد كرد. تراشههای ASIC با اینكه كارایی بالایی دارند اما تنها میتوانند یك نوع عملیات را انجام دهند.
از آنجایی كه امكان توزیع هزینه توسعه بین چند كاربر وجود ندارد، قیمت ASIC ها معمولاً بیش از سیستمهای مبتنی بر ریز پردازنده معمولی میشود.
تكنولوژی تراشههای قابل برنامهریزی
قابلیت برنامه ریزی شدن مدارات مختلف و اتصالات متفاوت بر روی PLD به دلیل سوئیچهای قابل برنامه ریزی است كه در این تراشه وجود دارد، این سوئیچها میبایست علاوه بر اشغال فضای بسیار كم دارای كمترین تأخیر زمانی باشند بطور كلی سوئیچهای قابل برنامه ریزی در PLD با استفاده از سه نوع تكنولوژی قابل پیاده سازی است.
1-استفاده از Anti – Fuse
2-استفاده از سلولهای حافظه موقت Sram
3-استفاده از گیتهای شناور EEPROM یا EPROM
Anti – Fuse
خصوصیت اصلی Anti – Fuseها تنها یك بار قابلیت برنامهریزی بودن، اشغال فضای كم و بالا بودن فركانس كاری، به دلیل پایین بودن اثر مقاومتی و ظرفیت خازنی آنها است.
عیب اصلی این روش نداشتن قابلیت برنامه ریزی مجدد است و زمانی كه یك بار برنامهریزی گردد دیگر به حالت اولیه برنمیگردد و مزیت اصلی آن فركانس كاری بالا و اشغال فضای كم آن است این نوع PLDها نسبت به انواع دیگر PLDها نسبتاً گرانتر هستند.
SRAM
در روش SRAM از سلولهای حافظه به دو طریق استفاده میشود، در روش اول از یك سلول حافظه برای كنترل روشن یا خاموش شدن یك ترانزیستور استفاده میگردد كه در این حالت خروجی سلول حافظه به بیس ترانزیستور یا گیت فت متصل می شود، با روشن یا خاموش شدن ترانزیستور یك مسیر وصل یا قطع میشود. در روش دوم سلول حافظه به ورودیهای انتخاب مالتی پلكسر وصل میشود. در این حالت با صفر یا یك شدن سلول حافظه مسیر خطوط عوض میشود، مهمترین عیب این روش پاك شدن برنامه ریزی با قطع تغذیه میباشد، تراشههایی كه با این روش برنامه ریزی میگردند، میبایست با استفاده از یك سیستم جانبی با هر بار وصل شدن تغذیه تراشه برنامه ریزی گردد، این روش نسبت به روش Anti – Fuse فضای بیشتری اشغال میكند و تأخیر زمانی نیز بیشتر است.
روش برنامه ریزی EEPROM یا EPROM
مهمترین مزیت این روش پاك نشدن برنامه ریزی با قطع برق مهمترین عیب آن اشغال فضای زیاد این نوع ساختار سوئیچ میباشد.
تقسیم بندی PLDها
PLDها شامل قطعات كم ظرفیت و پرظرفیت میباشند. PLDهای كم ظرفیت (ساده ) معمولاً كمتر از 600 گیت قابل استفاده دارند و شامل محصولاتی چون PALها و GALها میشوند.
PLDهای ساده شامل سوئیچهای EEPROM یا EPROM و Anti – Fuse میباشند.
(High – Capacity – PLD) HCPLD بیشتر از 600 گیت قابل استفاده دارند و شامل CPLD و FPGA میشوند.
FPGAها ساختمان اتصالات داخلی گسسته دارند، در حالیكه CPLDها دارای اتصالات داخلی پیوسته میباشند.
در ساخت HCPLD ها از تكنولوژی EEPROM , EPROM , Sram و Anti – Fuse استفاده شده است.
انواع تراشه های برنامه ریزی
(Programable read only memoey) PRom
اولین تراشههای قابل برنامهریزی كه به بازار عرضه شد حافظه فقط خواندنی PRom بود، در این تراشه خطوط آدرس بعنوان ورودی و خطوط دیتا به عنوان خروجی تلقی میشوند.
PRom شامل دستهای از گیتهای and غیر قابل برنامه ریزی و یك آرایه OR قابل برنامه ریزی است. PRom در حد یك حافظه است و قابلیت برنامهریزی یك مدار منطقی را ندارد.
(Programable logic array) PLA
اولین تراشه قابل برنامه ریزی كه برای پیاده سازی مدار منطقی آرایه برنامه پذیر and و یك آرایه برنامه پذیر OR میباشد. دو اشكال عمده، هزینه گران ساخت و سرعت پایین آن است .
(Programable array logic) PAL
تراشه Pal دارای یك آرایه and قابل برنامه ریزی و یك آرایه OR تثبیت شده است.
GAL
تراشه GAL دارای یك آرایه and قابل برنامه ریزی و یك آرایه OR تثبیت شده است. تراشه GAL دارای سرعت بیشتر نسبت به تراشه PAL میباشد.
بعد از تراشههای فوق MPGAها و FPGAها به بازار آمدند.
MPGA: Mask programable gate array
FPGA: Field programable gate array
ساختار FPGA
بطور كلی تا كنون سه نوع معماری برای FPGA ها توسط كارخانههای مختلف سازنده ارائه شده است كه عبارتند از:
1-آرایه دو بعدی متقارن Symetric matrix
2-آرایههای سطری row based
3-دریایی از گیتها sea of gates
بلوكهای FPGA
1-بلوكهای منطقی (Logic array Block) LAB
2-بلوكهای كنترل كننده I/o
3-اتصالات قابل برنامهریزی PIA
(Programable Interconnect array)
بلوكهای منطقی
بلوكهای منطقی شركتهای سازنده FPGA از نظر اندازه ومنطق به كار رفته در آنها با هم تفاوتهای بسیاری دارند.
این بلوكها در FPGAها و CPLDهای Altera به نام LAB شناخته میشوند.
هر LAB میتواند شامل سه زیر بلوك Macrocell و Interconnect local و term logic باشد.
-تأخیر انتقالی (transport)
سیگنالها از سیمها همانند ادوات سوئیچینگ با یك آهنگ معین عبور میكنند و با تأخیری متناسب با طول مسیر مواجه میشوند. اما سیمها بر خلاف ادوات سوئیچینگ نسبتاً اینرسی كمتری دارند. در نتیجه سیمها، سیگنالهای با عرض پالس بسیار كوچك را انتشار میدهند و ما میتوانیم سیمها را به عنوان محیط انتشار تغییرات در مقدار سیگنال مستقل از عرض پالس مدل كنیم. در فنآوریهای جدید با رشد كاهش ابعاد، تأخیرهای سیم نیز مطرح میشوند، از این رو باید در پی راههایی برای كاهش طول سیمها بود، زیرا در این مدارات تأخیر سیمها قابل اغماض نخواهد بود.
اپراتورهای VHDL
1-شیءهای داده 2- نوعهای داده 3-عملگرها
- شیءهای داده در VHDL:
در VHDL سه كلاس برای شیءها وجود دارد: سیگنال، متغیر، ثابت
سیگنالها:
سیگنال شیای است كه مقدار فعلی و آتی یك شیء را نگه میدارد. از این منظر كه VHDL یك زبان توصیف سخت افزار است، سیگنالها نقش سیم را ایفا میكنند. سیگنالها در توصیف درگاه به عنوان ورودی و خروجی، در توصیف ساختاری به عنوان سیگنال و در معماری به عنوان سیگنال ظاهر میشوند. معرفی سیگنال بصورت زیر انجام میشود:
Signal signal_ name : signal_ type: = initial_ value ;
متغیرها:
تفاوت سیگنالها با متغیرها در این است كه سیگنالها را در شبیه سازی میتوان طوری زمان بندی كرد كه در یك زمان معین،مقداری را بپذیرند، در حالیكه به متغیرها در هنگام اجرای عبارت نسبت دهی مقدار داده میشود. در هر زمان میتوان چندین مقدار را برای زمانهای آتی سیگنال زمان بندی كرد. در مقابل در هر زمان تنها میتوان یك مقدار به متغیر نسبت داد. به همین جهت پیاده سازی شیء سیگنال با سابقهای از مقادیر آن همراه است ودر نتیجه نسبت به متغیرها به حافظه بیشتری نیاز دارد و زمان اجرای بالاتری دارد.
متغیرها به طور كامل با آنچه در زبانهای برنامه نویسی متداول به كار میروند معادل هستند و برای محاسبات درون روالها، توابع، پروسسها بكار می روند. معرفی متغیر به صورت زیر انجام میشود:
variable variable_ name : signal_ type: = initial_ value ;
ثابتها:
ثابتها باید در ابتدای شبیه سازی معرفی شوند و مقدارشان مشخص شود و نمیتوانند در طول شبیهسازی تغییر كنند. ثابتها میتوانند از هر نوع مجاز VHDL باشند. معرفی ثابتها بصورت زیر انجام میشود:
Constant Constant_ name : Constant_ type: = initial_ value ;
نوعهای داده در VHDL
1-نوعهای داده استاندارد:
تعریف نوعهای استاندارد در بسته standard قرار دارند. بسته استاندارد را كلیه عرضه كنندگان ارا ئه میكنند. این بسته حاوی تعاریف نوعها و توابع از پیش تعریف شده زبان VHDL میباشد.
قیمت فایل فقط 5,000 تومان
برچسب ها : تحقیق بررسی FPGA CPLD زمان برنامه نویسی VHDL , پروژه بررسی FPGA CPLD زمان برنامه نویسی VHDL , مقاله بررسی FPGA CPLD زمان برنامه نویسی VHDL , دانلود تحقیق بررسی FPGA CPLD زمان برنامه نویسی VHDL , بررسی FPGA CPLD زمان برنامه نویسی VHDL , FPGA , CPLD , زمان , برنامه نویسی , VHDL