فرمت فایل : WORD (قابل ویرایش)
تعداد صفحات:30
فهرست مطالب:
عنوان صفحه
مقدمه ای درباره FPGA & CPLD 1
تکنولوژی تراشههای قابل برنامه ریزی 2
تقسیم بندی PLDها 4
انواع تراشههای قابل برنامه ریزی 5
ساختار FPGA 6
بلوکهای FPGA 6
شرکتهای سازنده FPGA 7
روش برنامه ریزی JTAG 8
تراشه های قابل برنامه ریزی Altera 10
VHDL 11
انواع تأخیر در VHDL 13
اپراتورهای VHDL 14
مفاهیم بنیادی در زبان VHDL 19
ضمائم 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 استفاده شده است.
فرمت فایل : word(قابل ویرایش)
تعداد صفحات:46
فهرست مطالب:
روش های پیاده سازی مدارات دیجیتال
· تراشه های استاندارد 1
· تراشه های قابل برنامه ریزی دیجیتال 1
· آرایه های قابل برنامه ریزی PLA) ها) 2
· PAL ها 3
· برنامه ریزی PLA ها و PAL ها 4
· قطعات قابل برنامه ریزی پیچیده CPLD) ها) 6
· FPGA ها 10
قطعات تجارتی
· PLD های ساده (SPLD)
· PLD های پیچیده (CPLD)
· FPGA ها 21
طراحی مدارات دیجیتال بوسیله تراشه های FPGA, CPLD
· نرم افزار MAX + PLUS II 24
· روش های برنامه ریزی تراشه های FPGA, CPLD
· استاندارد IEEESTD 1149.1
چکیده:
روش های پیاده سازی مدارات دیجیتال
تراشه های استاندارد
یک روش کاملا معمولی که تا اواسط دهه 1980 جهت تحقق مدارات دیجیتالی و توابع منطقی رایج بود استفاده از تراشه های استانداردی بود که در داخل هر کدام از این تراشه ها تعداد محدودی گیت دیجیتال قرار داشت این تراشه ها اکنون نیز رایج هستند و به تراشههای سری 7400 مشهور هستند. تعداد انواع این گروه از تراشه ها زیاد است می توان مدار داخلی هر کدام از آنها را از کتب و کاتالوگ های مرجع این تراشه ها بدست آورد.
یک تراشه استاندارد از سری 7400
تراشه های قابل برنامه ریزی دیجیتال
بعلت اینکه تعداد گیتهای داخل یک تراشه استاندارد کم ومحدود است در نتیجه تعداد توابعی که می توان با یک تراشه از سری 7400 ایجاد نمود خیلی محدود است. و در نتیجه این تراشه ها را جهت ساخت مدارات بزرگ دیجیتالی نامناسب می سازد.
اما با پیشرفت صنعت میکروالکترونیک و با استفاده از تکنولوژی VLSI می توان تعداد خیلی زیادی از گیت ها را در داخل یک تراشه با همان ابعداد تراشه های استاندارد ایجاد نمود. چنین تراشه هایی در دهه 1970 و با نام قطعات قابل برنامه ریزی (PLD) مطرح شدند.
یک قطعه PLD تراشه ای با کاربرد عمومی است و میتوان در داخل آن یک مداردیجیتال را پیاده سازی نمود در داخل این قطعه مجموعه ای از مدارات دیجیتال هستند که توسط شخص برنامه ریز به دلخواه در مدار قرار می گیرند. بعبارت دیگر PLD را میتوان بصورت یک جعبه سیاه black–box دید که از یک طرف ورودی ها به آن وارد شده و با استفاده از گیتها و مدارات دیجیتالی که در خود جای داده توابعی از ورودی ها را در خروجی خود ایجاد میکند این کار توسط کلیدهای قابل برنامه ریزی جهت انتخاب گیتها قابل انجام است.
یک قطعه قابل برنامه ریزی به صورت یک جعبة سیاه
آرایه های قابل برنامه ریزی (PLA) ها
قطعات قابل برنامه ریزی (PLA) ها شامل دسته ها و انواع مختلفی هستند. نخستین وابتدائی ترین انواع این تراشه ها (PLA) ها می باشند در شکل زیر ساختار کلی یک (PLA) به نمایش درآمده است:
ساختار کلی یک PLA
ایده اساسی این طرح بر مبنای پیاده سازی توابع منطقی به صورت حاصل جمع حاصل ضرب ها (sop) پایه گذاری شده است در این طرح PLA شامل یک مجموعه گیت های AND است که به ورودی تعدادی گیت OR متصل شده اند. همانطور که در شکل هم دیده می شود ورودی های PLA شامل Xn,………………X1 از مجموعه یک سری بافرها عبور می کنند که بعد از این طبقه مقادیر اصلی و معکوس شده ورودیها را جهت استفاده در طبقه بعدی خواهیم داشت و این سیگنالها وارد قسمتی بنام AND PLANE یا آرایه ای از AND ها می شوند وجملات حاصظرب (P1(PRODUCT TERMS الی PK را ایجاد میکنند هر کدام از این جملات حاصلضرب نیز به ورودی تعدادی OR متصل شده و با ایجاد حاصلجمع حاصلضرب ها می توان به تابع مورد نظر دسترسی پیدا کرد.
(PLA) ها :
همانطور که در قسمت قبل مشاهده شد در قطعات PLA هم آرایه های AND و هم آرایه های OR قابل برنامه ریزی بودند. از لحاظ عملی وجود کلیدهای قابل برنامه ریزی دو شکل عمده برای سازندگان PLD ایجاد میکند.
اولا: که ایجاد این سوئیچها در داخل یک تراشه عملیات ساخت تراشه را سخت میکند و ثانیا: مشخصات سرعتی تراشه تاثیر منفی می گذارد.
این عوامل سبب شده اند که قطعات قابل برنامه ریزی به گونه جدیدی طراحی شوند که تعداد کلیدهای قابل برنامه ریزی درداخل تراشه کاهش یابد و بدین ترتیب تراشه های PAL بوجود آمدند که در داخل آنها تعدادی AND موجود است که ورودی های قابل برنامه ریزی جهت ایجاد جملات حاصلضرب دارند. اما ورودی گیت های OR در طبقه بعد قابل برنامه ریزی نیستند. این تراشه ها از عمومیت بیشتری نسبت به PLA ها برخوردار هستند چون هم مشخصات دینامیکی بهتری نسبت به آنها دارند و هم قیمت پایین تری دارند.
مثالی از یک تراشه PAL در شکل زیر آمده است . در مقایسه با PLA ها ، PAL ها دارای قابلیت انعطاف کمتری هستند. برای جبران این امر تراشه های PAL در رنجی از ندازه های مختلف ساخته میشوند.