فی گوو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فی گوو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

شبیه سازی عملکرد حافظه ها در VHDL و بررسی اثرات ناشی از تزریق تصادفی خطا در آن ها

اختصاصی از فی گوو شبیه سازی عملکرد حافظه ها در VHDL و بررسی اثرات ناشی از تزریق تصادفی خطا در آن ها دانلود با لینک مستقیم و پر سرعت .

شبیه سازی عملکرد حافظه ها در VHDL و بررسی اثرات ناشی از تزریق تصادفی خطا در آن ها


شبیه سازی عملکرد حافظه ها در VHDL و بررسی اثرات ناشی از تزریق تصادفی خطا در آن ها

شبیه سازی عملکرد حافظه ها در VHDL و بررسی اثرات ناشی از تزریق تصادفی خطا در آن ها

62 صفحه در قالب word

 

 

 

چکیده

در سیستم های ماهواره ای همواره یکی از دغدغه های مهندسین، این است که از صحت اطلاعات دریافتی، به صورتی اطمینان داشته باشند. در همین راستا کد های تشخیص و تصحیح خطا ایجاد شده اند که دو نمونه از آن ها ارائه خواهند شد. پس از اطمینان از صحت اطلاعات دریافتی برنامه ی حافظه به صورت روندی که در ادامه توضیح داده خواهد شد شبیه سازی و اجرا می شود.

پس از شبیه سازی برنامه در نرم افزار Xilinx ISE باید به نوعی به آن خطا تزریق شود که این کار به کمک نرم افزار MATLAB انجام می پذیرد و برنامه ی تغییر یافته باز هم به شبیه ساز اعمال می شود تا نتیجه ی تغییر تصادفی ایجاد شده در برنامه مشاهده شود و اثر آن بررسی شود.

 

فهرست مطالب

مقدمه 

مقدمه ای بر زبان VHDL و تراشه های FPGA 

کدهای تشخیص و تصحیح خطا 

شرح عملکرد دیکودر 

انتخاب حافظه و عملکرد آن 

برنامه اصلی 

شبیه سازی برنامه در نرم افزار Xilinx ISE 

برنامه تزریق خطا در MATLAB 

لینک کردن Matlab و Modelsim

 

 

مقدمه

در فرایندهای مربوط به ارتباطات ماهواره ای از آنجائیکه یک سمت ارتباطات در فضا می باشد بنابراین در حین ارسال اطلاعات، امکان برخورد ذرات فضایی با اطلاعات ذخیره شده در حافظه های موجود در ماهواره وجود دارد و از همین رو احتمال بر هم خوردن اطلاعات و ایجاد خطا در آن ها دور از انتظار نیست. لذا باید مکانیسمی ترتیب داده شود تا بتوان خطاهای احتمالی ایجاد شده را در درجه ی اول تشخیص داده و سپس تصحیح نمود.

برای این منظور می توان از انواع کدهای تصحیح خطا که در عملیات منطقی مورد استفاده قرار می گیرند بهره جست. دو نمونه از رایج ترین این ابزارها کد Parity یا توازن و کد Hamming (همینگ) می باشند که کد توازن فقط قابلیت تشخیص خطا را دارد و نمی تواند خطاهای پیش آمده را رفع کند  امّا کد همینگ این قابلیت را داشته و علاوه بر تشخیص خطا توانایی تصحیح آن را هم دارد. البته مشکلی هم که کد همینگ دارد این است که فقط قادر به تصحیح یک خطا می باشد. بنابراین با این فرض پیش می رویم که عمل تصحیح فقط روی یک بیت خطا انجام می شود و در صورتی که تعداد خطاها از یکی بیشتر باشد فقط به نحوی اطلاع داده شود.

ابتدا نحوه ی عملکرد این دو نوع کد به طور کامل ارائه شده است سپس از روی برنامه های داخل نرم افزار (البته با اندکی تغییرات) و با توجه به حافظه ی انتخابی در کتاب خانه ی نرم افزار دستورات مربوط به مدار اصلی نوشته و نهایتاً شبیه سازی و رفع اشکال می شود، تا در گام های بعدی بتوان برای طراحی روی تراشه ی FPGA از آن بهره جست. پس از نوشتن برنامه در شبیه ساز Xilinx ISE برنامه جانبی با پسوند vhd آن را در نرم افزار ModelSim به کمک برنامه متلب به صورت تصادفی تغییر می دهیم و برنامه تغییر یافته را مجدداً به نرم افزار اعمال می کنیم تا اثر تزریق خطا را در آن مشاهده کنیم.

مقدمه ای بر زبان VHDL و تراشه های FPGA :

در سال های قبل از 1986 زبان های توصیف سخت افزار متنوعی مانند ABEL و PAL و  ASM و ... توسط شرکت های مختلف برنامه ریزی PAL و PLA و PLD وجود داشت که کاربران به شکل سلیقه ای با آن ها کار می کردند؛ یعنی این زبان های برنامه نویسی طرفداران مخصوص به خود را داشتند و یک قالب جامع و استانداردی برای آن ها در نظر گرفته نشده بود. امّا در سال 1980 وزارت دفاع امریکا با همکاری IEEE با هدف طراحی یک زبان جدید و استاندارد و فراگیر برای توصیف مدارهای دیجیتال و توسعه در مدارات مجتمع پرسرعت (FPGA وCPLD) و همچنین برای انتقال اطلاعات سیستم های دیجیتالی از شرکتی به شرکت یا کشور دیگر را به سه شرکت قدرتمند Intermetrics و Texas Instruments و IBM سپرد تا 6 سال بعد یعنی در سال 1986 اولین نسخه استاندارد و تأیید شده آن به بازار عرضه شود (یعنی همان VHDL86) و نسخه بعدی آن یعنی VHDL93 در سال 1994 به بازار آمد که از آن زمان تا به امروز، این نسخه مورد استفاده کاربران قرار گرفته است و این در حالیست که هر چند سال یک بار اصلاحاتی در آن انجام می گیرد.

زبان VHDL ابتدا به منظور شبیه سازی و مدل سازی و درک بیشتر مدارهای منطقی بوده است که توسط محققان عمل Synthesis یا سنتز هم به عنوان اتوماتیک کردن فرایند طراحی به آن اضافه شده است.

برای توصیف توسط زبان VHDL ، می توان در سطوح مختلفی رفتار تراشه را توصیف کرد. مثل سطح عملیاتی، RTL ، سطح منطقی و ... که قابل توصیف توسط این زبان هستند.

در مرحله اول، توصیف رفتاری (Behavioral) که شبیه سازی بر پایه آن می تواند صحت عملکرد تراشه را نشان دهد، ضروری است. عملکرد تراشه را می توان در سایر سطوح طراحی نیز بررسی و شبیه سازی نمود. مزیت چنین رویکردی در این است که می توانیم ارزیابی را مستقل از روش های پیاده سازی فیزیکی انجام دهیم. پس از بررسی عملکرد می توانیم طرح را به یک توصیف ساختاری (Structural) متشکل از واحد های اصلی تراشه مانند memory ، register و ALU تبدیل نمائیم. بار دیگر به کمک شبیه سازی می توان مطمئن شد که طرح ساخته شده عملیات دلخواه را به درستی انجام می دهد.

توصیف را می توان آن قدر تکمیل کرد تا به یک توصیف فیزیکی (Physical) دست پیدا کنیم که در نهایت مشخصات ساخت را از آن استخراج نمائیم.

 

 

ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است

متن کامل را می توانید در ادامه دانلود نمائید

چون فقط تکه هایی از متن برای نمونه در این صفحه درج شده است ولی در فایل دانلودی متن کامل همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند موجود است

 


دانلود با لینک مستقیم


شبیه سازی عملکرد حافظه ها در VHDL و بررسی اثرات ناشی از تزریق تصادفی خطا در آن ها

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

اختصاصی از فی گوو FPGA & CPLD زمان برنامه نویسی VHDL دانلود با لینک مستقیم و پر سرعت .

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


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

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

32 صفحه در قالب word

 

 

 

 

 

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


 

ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است

متن کامل را می توانید در ادامه دانلود نمائید

چون فقط تکه هایی از متن برای نمونه در این صفحه درج شده است ولی در فایل دانلودی متن کامل همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند موجود است

 


دانلود با لینک مستقیم


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