بایگانی برچسب: s

مقاله بررسی FPGA & CPLD زمان برنامه نویسی VHDL

مقاله بررسی FPGA CPLD زمان برنامه نویسی VHDL در 30 صفحه ورد قابل ویرایش
دسته بندی کامپیوتر و IT
بازدید ها 0
فرمت فایل doc
حجم فایل 47 کیلو بایت
تعداد صفحات فایل 30

مقاله بررسی FPGA & CPLD  زمان برنامه نویسی VHDL

فروشنده فایل

کد کاربری 6017

کاربر

مقاله بررسی 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 می‌باشد.

ترجمه مقاله بررسی تكنولوژی F.P.G.A

ترجمه مقاله بررسی تكنولوژی FPGA در 16 صفحه ورد قابل ویرایش
دسته بندی علوم انسانی
بازدید ها 0
فرمت فایل doc
حجم فایل 15 کیلو بایت
تعداد صفحات فایل 16

ترجمه مقاله بررسی تكنولوژی F.P.G.A

فروشنده فایل

کد کاربری 6017

کاربر

ترجمه مقاله بررسی تكنولوژی F.P.G.A در 16 صفحه ورد قابل ویرایش

since the beginning of the FPGA technology, Xilinx has pushed the boundaries of reconfiguration . In earlier FPGA families, it was only possible to reconfigure the whole FPGA. With the introduction of the Virtex FPGA families, it became possible to partially configure an FPGA. It is also now possible to reconfigure a remote FPGA via the internet using Xilinx internet Reconfigurable Logic (IRL) technology. However, only a few companies a few of all FPGA designs make use of IRL technology, because of the perception it is expensive, complicated, and mostly a proprietary solution.

What if we could securely reconfigure FPGAs in the field simply by sending an – email message? In this article. We will show you just how easu and cost- effective that can be.

Protocol stack

Xilinx IRL reconfiguration technology uses the same transmission protocols as everyday Internet e-mail:

CP/IP Transmission controls Protocol over Internet Protocol transports the e-mail. Over the Internet to its destination. SMTP Simple mail Transfer Protocol is used to deliver the message. POP 3 post office Protocol3 retrieves the messages. Each layer of the protocol stack is an abstraction level hiding details from other layers on top or below. For example, the network access layer does not need to know what kind of data it is carrying.

Figure 2- Basic design setup Fail- safe setup You can make the download more reliable by storing the downloaded bitstream into semipermanent memory (flash RAM) . The FPGA can then be reconfigure form the flash memory.

Figure3- safe download An even more secure solution is to work with two memories. A basic configuration can be loaded into the FPGA when it is shipped from the manufacture. During operation in the field, the microcontroller can connect to the Internet and download a new configuration into the second memory. The new configuration bitsrream would be downloaded into the FPGA at next boot.

When the download works, the new configuration will be used. If the new programming bistream fails, the microcontroller will l boots again from original memory.

Internet Microcontrollers Internet microcontrollers for FPGAs come in the MicroBlaze software and the hardware-embedded Power pc405 processor in Virtex- II pro device. (As a point of interest, the Virtex-II pro platform FPGA can be configured with both the MicroBlaze software and the Power PC 405 processor, but the is beyond the scope of this article).

While there are significant advantages of having microcontrollers onboard Virtex platform FPGAs, there are also factors, in this design case, that require special consideration.

In both cases of soft and hard microcontrolles, the Internet protocol stack must be programmed (ported) onto the FPGA. The FPGA must get a basic (possible partial) bitstream to download the microBlaze controlles, its memory and peripherals. The Power PC Virtex- II pro platform FPGA must have memory and peripherals downloaded before it s able to boot. The small control algorithm that was done in the previous description within the external microcontrollers must now be impleemented in a small CoolRunner CPLD.

Figure 4- Internal processor In either case, the first bitstream must contain the basic application of the FPGA. This way the system can operate as a standalone unit with out problems. However, during operation, the FPGA microcontroller can contact the internet and download new bitsreams as they became available.

The basic setup for external microcontrollers described above cannot be applied to internal microcontrollers, because the downloaded bitstream must be stored by the FPGA in some semipermanent (flash) memory. The final design of embedded microcontrollers can have different levels of fail-safe operation, depending on the system requirements.

از ابتدای تكنولوژی F.P.G.A شركت xilinx مرزهای این تكنولوژی جدید را پیمود. در خانواده های قبلی F.P.G.A امكان تغییر ساختار فقط بطور كمی امكان پذیر بود. با معرفی خانواده virtex F.P.G.A امكان تغییر پیكربندی (ساختار) برای یك F.P.G.A بوجود آمد. هم كانون امكان برنامه ریزی (تغییر ساختار) یك F.P.G.A در مكان دور بوسیله اینترنت با بكارگیری تكنولوژی xilinx با نام منطق قابل بارگزاری اینترنتی (IRL) امكان پذیر است به هر ترتیب تكنولوژی IRL برای استفاده در بخش كمی از طراحی های F.P.G.A و شركتها به طور محدود استفاده می‎شود زیرا این تكنولوژی قیمت بالایی دارد و تا حدود زیادی پیچیده و بیشتر یك راه حل اختصاصی است. چه می‎شود اگر می توانستیم بوسیله ارسال یك Email ساده یك F.P.G.A را به طور ایمنی تغییر دهیم. در این مقاله ما می خواهیم به شما نشان دهیم كه این كار چقدر آسان است و از لحاظ هزینه نیز چه مقدار می‎تواند مؤثر باشد.

Protocol stack – پشته پروتكل

تكنولوژوی IRL شركت xilinx همان پروتوكلی را استفاده می‎كند كه همه روزه در Email های اینترنتی استفاده می‎شود.

CP/IP : پشته CP/IP یك پشته كنترل پروتكل (CP) بر روی پروتكل اینترنت (IP) است كه Email ها در اینترنت به مقصد می رساند. SMTP پروتكل انتقال Email در اینترنت برای ارسال پیامها استفاده می‎شود. Pop3 یا پروتكل پشته اداری پیامها را دریافت می‎كند، هر لایه پشته پروتكل جزئیات را از لایه های دیگر زیرین یا بالایی خود پنهان می‎كند، بعنوان مثال لایه دسترسی به شبكه (Network Pilcess) نیاز ندارد كه بداند چه نوع داده ای در حال جریان است داده ها تصویر است یا صدا ویا چیز دیگر است این مساله برای لایه دسترسی به شبكه بی اهمیت است.

– تنظیم طرح پایه – تنظیم ایمنی از خط – شما می توانید عمل پیاده سازی و بارگذاری را با ذخیره سازی جریان داده، در یك حافظه موقت مثل حافظه Flash مطمئن تر كنید. به این ترتیب FPGA می‎تواند بوسیله حافظه Flash دوباره تنظیم شده، یك پیاده سازی مطمئن از بكارگیری دو حافظه راه حل مطمئن تری می‎باشد. تنظیمات اصل در یك FPGA می‎تواند توسط سازنده صورت پذیرد یك فضای كاری جدید میكروكنترلر می‎تواند در راه اندازی مجدد دوباره FPGA بارگذاری و پیاده سازی شود وقتی كه تنظیمات دریافتی كار می‎كند تنظیمات جدید می‎تواند به كار رود اگر برنامه جدید ناقص انجام شود میكروكنترلرهای داخلی – میكروكنترلرهای داخل برای FPGA ها می‎تواند به شكل نرم افزار microBlazse و سخت افزارهای جانبی power pc405 در دستگاه های uitex-Iiprc تبین شوند. (بعنوان یك موضوع جالب می تواند مساله تنظیم یك uitex-Iiprc در FPGA بوسیله نرم افزار microBlaze و پردازنده power PC405 باشد كه این مساله از موضوع مقاله خارج است) .

تا زمانیكه مزایای عمده ای از داشتن میكروكنترلرهای داخلی در virtex platform FPGA وجود دارد در آغاز مرحله طراحی و عمل وجود دارند لازم است مسائل زیر مدنظر قرار گیرند: در هر دو حالت میكروكنترلرهای سخت و فرم بخش اصلی اطلاعات (بخش ممكن) تا برای بارگذاری در microBlaze و حافظه و سایر تجهیزات جانبی دریافت كند pow erpl-virtexII در FPGA می بایست حافظه و ابزار پیاده سازی ناقص راه اندازی مجدد داشته باشد. یك الگوریتم كنترل كوچك كه دربخش قبل كنترلرهای بیرونی پیاده سازی شده می بایست در بخش codRunner دوباره پیاده سازی شود.

پردازنده دائمی – در هر حال اولین جریان اطلاعات می بایست شامل بخش اصلی برنامه FPGA باشد در این حالت سیستم می‎تواند همچون یك واحد مجزا و بدون مساله باشد. در هر حال در فصل انجام عمل میكروكنترلر FPGA می‎تواند به اینترنت متصل شود و اطلاعات جدید را در صورتی كه آماده باشد دریافت كند.

روش بارگذاری پایه كه در مورد میكروكنترلرهای بیرونی گفته شد نمی تواند در مورد میكروكنترلرهای داخلی به كار رود به این دلیل كه بارگذاری داده ها می بایست بوسیله یك FPGA و در حافظه موقت آن (flash) ذخیره شود. طرح نهایی از اتصال میكروكنترلرها می‎تواند طرح متفاوت اطمینان و عمل را داشته باشد و وابستگی زیادی به نیازمندی های سیستم دارد.