فی توو

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

فی توو

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

پروژه طراحی و پیاده سازی CPU با استفاده از زبان برنامه نویسی سخت افزاری ((Verilog)). doc

اختصاصی از فی توو پروژه طراحی و پیاده سازی CPU با استفاده از زبان برنامه نویسی سخت افزاری ((Verilog)). doc دانلود با لینک مستقیم و پر سرعت .

پروژه طراحی و پیاده سازی CPU با استفاده از زبان برنامه نویسی سخت افزاری ((Verilog)). doc


پروژه  طراحی و پیاده سازی CPU  با استفاده از زبان برنامه نویسی سخت افزاری ((Verilog)). doc

 

 

 

 

نوع فایل: word

قابل ویرایش 99 صفحه

 

چکیده:

در این تحقیق که به روش تئوریک از متون برگرفته از کتب و اینترنت جمع آوری شده است . ابتدا دستورات و قالب فرمان های زبان VHDL و Verilog مطرح شده سپس در مورد ساختار کلی CPU و مروری بر تاریخچه آن و انواع CPU های موجود در بازار بحث می شود . و در نهایت چگونگی طراحی و پیاده سازی یک CPU را با استفاده از Verilog بررسی می کنیم و یک CPU ساده را با Verilog شبیه سازی می کنیم .

 

مقدمه:

امروزه زبان توصیف سخت افزار VHDL برای توصیف شبیه سازی و طراح مدارهای دیجیتال از ساده ترین فرم آن تا سیستم های پیچیده دیجیتالی توسط متخصصین دنیه به کار برده می شود .

زبان توصیف سخت افزار VHDL برای توصیف و شبیه سازی مدارهای دیجیتال از ساده ترین نوع آن یعنی گیت ها ، تا سیستم های پیچیده تری مانند پروسسورها و ... و یا طراحی مدارهای کاربرد خاص ASIC به کار برده شود .

VHDL یک زبان استاندارد بین المللی برای توصیف مدارهای دیجیتال به صورت Behavior ، Dataflow و Structural است . که می توان با آن طراحی سیستم های دیجیتال را به صورت برنامه ای به فرم متن ، برای کامپیوتر مهیا نمود تا توسط مهندسین ، متخصصین و شرکت ها در تمام دنیا قابل استفاده باشد .

در گذشته زبان های توصیف سخت افزار مانند ABEL ، PALASM و ... توسط شرکت های مختلف ، برای برنامه ریزی مدارهای قابل برنامه ریزی PLA ( PLA شامل یک طبقه آرایه ای از گیت AND و یک طبقه آرایه از گیت OR می باشد ، به طوری که هر یک از ورودی های یا معکوس آن ها به گیت AND متصل می شود ، در نتیجه خروجی گیت AND حاصل ضرب ورودی یا معکوس آن هاست . به همین ترتیب خروجی هر گیت OR ، مجموع منطقی که به صورت مجموع حاصل ضرب (SOP) است ، بسیار مناسب می باشد ) ، PAL ( PLA چون دو طبقه گیت قابل برنامه ریزی دارد ، گران تمام می شود و تأخیر مدار نیز نسبتاً زیاد است ، در نتیجه سرعت آن کم می باشد ، برای حل این مسأله مدارهای قابل برنامه ریزی PAL ساخته شده . در PLA هر دو آرایه ‌AND و OR قابل برنامه ریزی هستند ولی در PAL فقط آرایه AND قابل برنامه ریزی است و خروجی گیت های AND به ورودی های OR به طور دائم متصل می باشند ) و PLD ( مدارهای منطقی برنامه پذیر PLA و PAL به مدارهای برنامه پذیر ساده SPLD معروف هستند و ظرفیت آن ها حدود 200 گیت می باشد . SPLD  ها برای محدوده وسیعی از کاربردها مناسب هستند و امروزه تقریباً در هر سیستم دیجیتالی وجود دارند . PAL ها ، IC های قابل برنامه ریزی خوبی هستند ، ولی برای طراحی سیستم های پیچیده دیجیتال ، ممکن است چندین PAL نیاز باشد . برای این منظور مدارهای منطقی قابل برنامه ریزی CPLD طراحی شده اند که از دو یا چندین بلوک منطقی و تعدادی ماکروسل ( ماکروسل مجموعه ای از فیلپ فلاپ و مالتی پلکسرها می باشد ) تشکیل شده اند که با سیستم های ارتباطی و سوییچ های قابل برنامه ریزی با هم ارتباط داده می شوند . CPLDهای تجاری با اندازه های مختلف از 2 تا 100 بلوک منطقی یا SPLD و با ظرفیتی حدود 1000 تا 15000 گیت ساخته شده اند . CPLD ها تأخیر کمی در حدود چند نانو ثانیه دارند ، لذا بسیار سریع و حدود فرکانس 100 MHz کار می کنند . CPLD ها با ابزارهای برنامه ریزی CAD که توسط سازندگان تهیه شده است قابل برنامه ریزی می باشند ) به بازار عرضه شده بود . ولی در سال 1980 وزارت دفاع آمریکا ، طراحی یک زبان جدید استاندارد برای توصیف مدارهای سخت افزاری و همچنین برای انتقال داده ی سیستم های دیجیتالی از شرکتی به شرکت و یا به کشور دیگر را ، به سه شرکت IBM ، تگزاس اینسترومنت و اینترمتریکس سفارش داد تا در سال 1985 ، زبان توصیف سخت افزار VHDL به دنیا عرضه شد و در سال 1986 م‍‍‍‍ؤسسه بین المللی IEEE آن را تصویب و استاندارد نمود و VHDL86 نامیده شد . بعد از آن چندین بار VHDL بازنگری شد تا بالاخره VHDL93 در سال 1994 توسط IEEE به تصویب نهایی رسید و به صورت استاندارد IEEE به دنیا معرفی شد که هر چند سال یک بار تغییرات جزیی برای بالا بردن کارآیی آن انجام می شود .

 

فهرست مطالب:

چکیده مقاله

فصل اول: آشنایی با VHDL

مقدمه

زبان توصیف سخت افزار  VHDL

بلوک پایه یک طرح دیجیتال یا مجموعه entity/architecture در VHDL

تعریف ورودی در VHDL

اجرای همزمان عبارات ( Concurency )

ضوابط یا نکات عمومی در VHDL

مقدار اولیه دادن به سیگنال

نوع های (Type) دیگر نمایش اطلاعات سیگنال ها

روش های توصیف یا مدل سازی مدارهای دیجیتال در VHDL

توصیف یا مدل سازی Dataflow یا VHDL همزمان

Selected Signal Assignment

توصیف یه مدل سازی رفتاری Behavioral Modelling

حلقه loop

عبارات wait until و wait on

کاربرد Constant

اعلام قطعه ها Components Declaration

مشخصات Configuration Specification

برنامه تست مدارهای دیجیتال به صورت ساختاری (Structural)

کاربرد عبارت assert در برنامه تست

مفاهیم طراحی سلسله مراتبی

روش های طراحی

شبیه سازی یک مدار

ماژول ها

پورت ها

task ها و توابع سیستم

راهنمای کامپایلر

مجموعه مقادیر در زبان Verilog

نوع متغیرهای زبان Verilog

پارامترها parameters

فصل دوم: تاریخچه CPU

مقدمه

سی پی یو CPU

ساختار CPU

انواع  CPU

فصل سوم : طراحی پردازنده (CPU) با استفاده از زبان Verilog

مقدمه

طراحی پردازنده (CPU)

مـراجــع

 

منابع و مأخذ:

ـ کتاب طراحی خودکار مدارهای دیجیتال با FPGA و زبان توصیف سخت افزار VHDL ، تألیف دکتر حسن سید رضی ، انتشارات ناقوس

ـ کتاب معماری کامپیوتر ، تألیف ام. موریس مانو ، انتشارات ناقوس

ـ اینترنت دانشنامه آزاد ویکی پدیا

ـ کتاب آشنایی با Verilog ، تألیف هادی پرندافشار ، انتشارات نص


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


پروژه طراحی و پیاده سازی CPU با استفاده از زبان برنامه نویسی سخت افزاری ((Verilog)). doc

دانلود تحقیق کامل درمورد برنامه نویسی شی گراء در دات نت

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

دانلود تحقیق کامل درمورد برنامه نویسی شی گراء در دات نت


دانلود تحقیق کامل درمورد برنامه نویسی شی گراء در دات نت

لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه: 29

 

مقدمه ای بر برنامه نویسی شی گراء در دات نت

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

بمنظور شناخت برنامه نویسی شی گراء ، کافی است به اطراف خود نگاهی داشته باشیم .جارو برقی ، قهوه جوش ، پنکه سقفی  و مجموعه بسیار گسترده ای  از سایر اشیاء را پیرامون زندگی خود مشاهده می نمائیم . اشیاء ما را محاصره و یا در محاصره اشیاء می باشیم . برخی از این اشیاء نظیر دوربین ، مستقل عمل نموه و برخی دیگر نظیر تلفن و ماشین های پاسخگو با سایر اشیاء ارتباط دارند . برخی از اشیاء دارای داده ها ئی می باشند که بین کاربران استفاده می گردد(یک دفترچه تلقن) . برخی از اشیاء شامل اشیاء دیگری می باشند، یک دستگاه بستنی ساز درون فریزر ، نمونه ای در این زمینه است .

بسیاری از اشیاء از لحاظ عملکرد با یکدیگر مشابه ولی از لحاظ اهداف با یکدیگر متفاوت می باشند . مثلا" وان حمام و سینک آشبزخانه هر دو امکان استفاده از آب را فراهم می نمایند ،ولی این کار بندرت اتفاق خواهد افتاد که شما در سینک آشبزخانه دوش گرفته و یا ظروف آشبزخانه خود را در وان حمام بشوئید! بهرحال وان حمام و سینک آشبزخانه موجود در منزل ، احتمالا" از یک لوله آب مشترک در ساختمان استفاده و اینترفیس آنها در موارد متعددی مشترک است ( پیچ آب گرم وسرد ، یک شیر آب ، یک فاضلاب ) .

در صورت تامل در ارتباط با اشیاء فوق ، با سوالات متعددی مواجه خواهیم شد . چه تفاوت هائی بین یک وان حمام و سینک آشبزحانه ، وجود دارد ؟ آیا اختلاف موجود به  محل آنها ، اندازه لگن و یا  گودی  آنها از سطح زمین برمی گردد. شباهت موجود بین اشیاء فوق چیست ؟
در برخی موارد انجام عملات یکسان در ارتباط با یک شی ، رفتارهای متفاوتی را بدنبال خواهد داشت . یک شی  قادر به انجام عملیات متفاوتی با توجه به ماهیت وضعیت بوجود آمده است . مثلا "  زمانیکه دکمه Play  یک دستگاه کنترل کننده DVD و یا VCD فعال می گردد ، دستگاه قوق ، یک فیلم را پخش و ما شاهد نمایش آن بر روی صفحه تلویزیون خواهیم بود. اما اگر یک CD در دستگاه Player باشد ، همزمان با فشردن دکمه Play ، دستگاه Player باعث پخش CD صوتی شده و ما شاهد نواختن موسیقی از بلندگوهای مربوطه خواهیم بود.  همانگونه که مشاهده می گردد در چنین وضعیتی ، فعال نمودن دکمه ها ی مشابه ، عملیات یکسان ولی با  نتایج متفاوت را بدنبال داشته است .

به بسیاری از اشیاء پیرامون خود، می توان بعنوان جعبه های سیاه  ( black box ) ، نگاه نمود.در چنین حالتی نسبت به اصول اولیه عملکرد شی مورد نظر و پردازش های اولیه آن شناخت لازم وجود خواهد داشت ولی بسیاری از جزئیات عملیاتی که یک شی انجام می دهد برای ما ناشناخته خواهد بود. اکثرا" در زمان استفاده از یک شی علاقه مند به رویکرد فوق می باشند ( آشنائی با پتانسیل های شی و نحوه بالفعل نمودن آنان و پرهیز از درگیر شدن و آگاهی از جزئیات مربوطه ) . در چنین مواردی برای استفاده از اشیاء موجود در منزل ، ضرورتی به آگاهی از مکانیزم داخلی بعنوان شرط لازم وجود نخواهد داشت و می توان بدون درگیر شدن در جزئیات از شی موجود استفاده نمود.

بمنظور بررسی موضوع اشاره شده ، می توانیم  نگاهی به عملکرد یک لامپ  100 وات ، داشته باشیم . سیم پیچ درون لامپ چیزی بیشتر از یک مقاومت ساده نیست . زمانیکه برق فعال ( سوئیج  فعال گردد) شده باشد ، حرارت سیم پیچ درون لامپ در حدود 2500 درجه سلسیوس ، خواهد بود.وضعیت فوق ، باعث تشعش گرما ئی متناسب با طول رشته سیم درون لامپ ( قطر خیر ) و حدود 1750 لومن ( واحد پخش نور) می گردد .بدین ترتیب نور مرئی با طول موجی حدود 555 نانومنر را شاهد خواهیم بود. رشته موجود در لامپ از تنگستن تشکیل شده است . آیا به این حجم ازاطلاعات بهمراه جزئیات مربوطه  در زمان استفاده از لامپ ، نیاز خواهیم داشت و یا  صرفا"  می خواهیم زمانیکه سوئیچ فعال می گردد، لامپ روشن و با سایر مسائل و نحوه انجام این کار ، کاری نداریم ؟ در این راستا ، استفاده کنندگان از لامپ آن را بمنزله یک جعبه سیاه در نظر گرفته و صرفا" تمایل به آگاهی از نحوه استفاده از اینترفیس مربوطه برای بخدمت گرفتن پتانسیل موجود را دارند .

هر شی دارای دو خصلت ذاتی است : وضعیت (  state ) و رفتار ( Behavior ) . مثلا" یک لامپ  دارای اطلاعاتی نظیر :  روشن/خاموش بودن  ، نام تجاری ، طول عمر و موارد دیگر است که جملگی وضعیت شی فوق را مشخص می نمایند. رفتار لامپ ، شامل ارائه نور و روشنائی است .
یک شی مسلما" نسبت به خود ، بمنزله  یک جزیره است . بسیاری از اشیاء بصورت دسته جمعی و با  تشریک مساعی در یک سیستم  قرار خواهند گرفت . مثلا"  تلویزیون و بلندگوهای آن بخشی از سیستمی می باشند که موسوم به تئاتر خانوادگی است . یخچال و اجاق گاز بخشی از سیستمی با نام آشپزخانه می باشند. این نوع سیستم ها خود متعلق به یک سیستم بزرگتر و با نام آپارتمان و یا خانه می باشند . مجموعه ای از آپارتمانها سیستم دیگری را با نام مجتمع ایجاد می نمایند.
یک نرم افزار را می توان  مشتمل بر مجموعه ای از اشیاء در نظر گرفت که هر یک پتانسیل های لازم را ارائه و با بخدمت گرفتن آنان و بهره گیری از پتانسیل های موجود زمینه نیل به اهداف  مورد نظر فراهم خواهد شد.   بمنظور طراحی و پیاده سازی یک برنامه شی گراء در اولین  مرحله می بایست ، اقدام به طراحی و ایجاد اشیاء مورد نظر با توجه به اهداف نرم افزار نمود.مرحله فوق ، اولین گام و بدون شک مهمترین مرحله در فرآیند ایجاد یک سیستم است . در مرحله دوم که ارزش آن شاید بمراتب بالاتر از مرحله قبل باشد ، می بایست نحوه ارتباط اشیاء با یکدیگر بدرستی مشخص گردد. در زمان ایجاد یک سیستم بزرگ که دارای پیچیدگی های خاص خود است ، می بایست نسبت به دو مرحله فوق ، شناخت لازم وجود داشته و بدون آگاهی لازم ، امکان ایچاد اینچنین سیستم های بزرگی با رویکرد شی گراء ، چالش های خاص خود را بدنبال خواهند داشت .  در چنین مواردی می توان فرآیند پیاده سازی یک سیستم را شامل دو مرحله مهم طراحی شی گراء و برنامه نویسی شی گراء در نظر گرفت . برنامه نویسی مبتنی بر عنصر ، پایه و اساس این نوع سیستم ها محسوب می گردد .  برنامه نویسی اشیاء در نرم افزار ، نیازمند یک زبان برنامه نویسی شی گراء نمی باشد و اگر از یک زبان برنامه نویسی شی گراء استفاده می گردد ، بدین مفهوم نخواهد بود که کد نوشته شده ، شی گراء خواهد بود. زبان ها صرفا" می توانند کمکی در فرآیند فوق را ارائه و هیچگونه تضمینی در این رابطه را ارائه نخواهند داد. با استفاده از ویژوال بیسیک ، امکان نوشتن نرم افزار شی گراء وجود خواهد داشت . البته لازم است به این موضوع اشاره گردد که نوشتن برنامه شی گراء در ویژوال بیسیک همواره بسادگی انجام نخواهد شد ، چراکه  ویژوال بیسیک همواره دارای رویکردی شی گراء نمی باشد. پیاده سازی عناصر باینری با قابلیت استفاده مجدد در ویژوال بیسک در حال حاضر میسر و امکان پذیراست ولی استفاده از اینگونه عناصر  بین زبان های متفاوت چالش های خود را بدنبال خواهد داشت . با عرضه دات نت که مطابق آخرین دستاوردهای علمی ایجاد شده است ، ویژوال بیسیک دات نت بعنوان یکی از زبانهای حمایت شده ،  دارای امکانات قدرتمند وغنی بمنظور استفاده ازمزایای آخرین دستاوردهای پیاده سازی در برنامه نویسی شی گراء است .

ویژوال بیسیک دات نت و برنامه نویسی شی گراء

ویژوال بیسیک دات نت یک زبان برنامه نویسی شی گراء کامل است . این بدان معنی است که زبان فوق از چهار اصل برنامه نویسی شی گراء یعنی : انتزاع (abstraction ) ، کپسوله سازی کد و داده  ( encapsulation  ) ، وراثت  ( inheritance) ، چند ریختی ( polymorphism ) حمایت می نماید. در ادامه با اصول چهار گانه فوق بیشتر آشنا شده و مشاهده خواهیم کرد که هر یک از اصول فوق، چه دستاوردی را  برای پیاده کنندگان نرم افزار شی گراء بدنبال خواهند داشت .

انتزاع  ( abstraction )

رادیو دارای یک تیونر ، یک آنتن ، یک پیچ صدا و یک سوئیچ روشن و خاموش است . بمنظور استفاده از رادیو، ضرورتی به به آگاهی از نحوه دریافت سیگنال هائی رادیوئی توسط آنتن مربوطه ، تبدیل آنان به سیگنال های الکتریکی ، تقویت قدرت آنان بر اساس یک مدار تقویت کننده فرکانس بالا ، نخواهد بود. در این راستا لازم نیست از نحوه فیلتر نمودن نتایج ، تقویت و تبدیل آنان به صوت ، آگاهی داشت .ما صرفا" رادیو را روشن و پس از تنظیم ایستگاه مورد علاقه خود ، از آن استفاده می نمائیم . بدین ترتیب استفاده کنندگان می توانند بدون آگاهی از جزئیات داخلی از رادیو استفاده نمایند. ویژگی فوق ،  بسیار مهم بوده و امکان استفاده از رادیو برای هر شخص فراهم می گردد ( نه فقط افرادیکه دارای اطلاعات فنی در رابطه با نحوه عملکرد آن می باشند). بنابراین می توان این استنباط را داشت که رادیو یک شی است که بگونه ای طراحی شده است که پیچیدگی ها ی مربوط نمایان نباشد ( مخفی شدن پیچیدگی ) .
در نرم افزار شی گراء ، پیچیدگی با استفاده از انتراع ، مدیریت می گردد . انتزاع ، فرآیندی است که بر اساس آن رفتار حیاتی و مهم یک شی مشخص و جزئیات نامرتبط  ، حذف می گردد. یک انتزاع خوش فکر ، عموما" ساده بوده و  سمت و سوی آن نگریستن به موضوع (شی ) از دیدگاه کاربر است . فرآیند انتزاع ، نسبت به ساختار و ماهیت شی مورد نظر متفاوت بوده و لازم است برای ایجاد یک انتزاع برتر و مناسب ، موضوع بدفعات و از زوایای متفاوت مورد بررسی قرار گیرد.مثلا" در صورتیکه  بخواهیم  از رادیو با دو هدف متفاوت : گوش دادن به موزیک و یا آمورش اصول الکترونیک ، استفاده نمائیم ، نگرش به انتزاع رادیو در هر یک از موارد فوق با یکدیگر متفاوت خواهد بود .
انتزاع ، یک باید غیر قابل اتتخاب و جزء لاینفک یک شی است . مثلا"  شی Button که در فرم های ویندوز و یا وب از آن بدفعات استفاده می گردد ، دارای متدی با نام  Click  است . متد فوق ، یک انتزاع است و چه بخواهیم و یا نخواهیم وجود خواهد داشت . ( تغییر شکل اولیه Button در زمانیکه بر روی آن کلیک می گردد ).  در این رابطه رویداد OnClick  یک انتخاب است که پیاده کنندگان می توانند با توجه به سیاست های موجود در نرم افزار نحوه برخورد با رویداد فوق را تبین و مشخص نمایند .

این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید


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


دانلود تحقیق کامل درمورد برنامه نویسی شی گراء در دات نت

برنامه کد نویسی المان نه گره

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

فایل برنامه نویسی در محیط متلب برای چهارضلعی نه گره همراه با توضیحات 


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


برنامه کد نویسی المان نه گره