عنوان پایاننامه
توسعه یک بستر مناسب برای پیاده سازی سخت افزارهای تکامل پذیر
- رشته تحصیلی
- مهندسی کامپیوتر-معماری کامپیوتر
- مقطع تحصیلی
- کارشناسی ارشد
- محل دفاع
- کتابخانه مرکزی پردیس 2 فنی شماره ثبت: E 2735;کتابخانه مرکزی -تالار اطلاع رسانی شماره ثبت: 69423
- تاریخ دفاع
- ۱۸ شهریور ۱۳۹۳
- دانشجو
- امیر پیمان
- استاد راهنما
- مصطفی ارسالی صالحی نسب
- چکیده
- طراحی مدارها به روش سنتی با استفاده از مجموعه ی پیچیده ای از قوانین و مفاهیم توسط مهندسین انجام می شود. فرایند طراحی ذاتا از بالا به پایین است و با ویژگی ها و مشخصات دقیق آغاز می شود. اما در روند تولید موجودات زنده طرح ها با انتخاب ذاتی تکامل می یابند. ابتدا رونویسی از روی DNA در هسته سلول انجام می شود که محصول این رونویسی RNA خواهد بود، پس از آن فرایند ترجمه پروتئین ها از روی RNA در سیتوپلاسم انجام می شود. DNA با استفاده از دنباله ای از اسید های نوکلئیک دستوراتی را که برای ساخت مولکول ها لازم است حمل می کند. در نهایت بعد از چند واکنش شیمیایی حیاتی پیچیده یک موجود زنده تولید می شود. توانایی زنده ماندن این موجود زنده را می توان بیشتر به فرایند سر هم کردن یک سیستم بزرگ از تعدادی اجزاء و سپس تست کردن موجود زنده در محیطی که خود را یافته دانست. به این مفهوم، سرهم کردن و آزمایش گفته می شود، که همراه با الگوریتم تکاملی برای بهبود کیفیت یک طرح به عنوان عامل پیدایش زمینه¬ی سختافزار تکاملپذیر شناخته می¬شود. سختافزارهای تکاملپذیر به عنوان روشی برای مقابله با چالشهای طراحی مدارهای دیجیتالی ارائه شده است. در این تحقیق، در گام نخست، یک کاوش فضای حالت گسترده برروی مدل برنامهنویسی ژنتیکی دکارتی انجام دادیم. این مدل یکی از زیرشاخههای برنامهنویسی ژنتیکی است که در آن بجای استفاده ار درخت برای نمایش ژنوتیپ، از گراف دو بعدی جهتدار بدون دور استفاده میشود. این ابزار یکی از پرکاربردترین ابزار در طراحی و سنتز خودکار مدارهای دیجیتالی با استفاده از الگوریتمهای تکاملی است. با پیدا کردن بهترین معماری برای پارامترهای مؤثر در این مدل، راهکارهایی کلی ارائه کردیم و مدلی بهینه برای طراحی معرفی کردیم. در مرحلهی بعد به بررسی چند راهکار برای تسریع این سیستم پرداختیم. نتایج شبیهسازی نشان میدهد که استفاده از این روشها میتوانند تسریع چشمگیری (در حدود 30%) در زمان اجرای برنامه (تعداد نسل لازم برای رسیدن به جواب) ایجاد کنند. کلیدواژهها : سختافزارهای تکاملپذیر، الگوریتمهای تکاملی، برنامهنویسی ژنتیکی دکارتی، طراحی و سنتز خودکار مدارهای دیجیتالی
- Abstract
- Design of circuits in traditional methods is conducted using a complicated set of rules and engineering concepts. The process of design is essentially top-down and is initiated with precise features and specifications. However, during the process of creation of living things, the designs are evolved with intrinsic selection. At first, DNA gets duplicated in the core of the cell which results in creation of RNA. Then, the interpretation of proteins out of RNA is done in cytoplasm. DNA uses a stream of nucleic acids to carry the instructions needed in making molecules. Finally, after some complex and crucial actions and reactions, a being is created. The ability of survival of this living thing is mostly because of the process of assembling a big system from small parts and testing the entity in its environment. This concept is called Assemble and Test which along with an evolutionary algorithm for quality improvement of a design is the reason of emergence of Evolvable Hardware. Evolvable hardware is presented as means of facing the struggles of design of digital circuits. In this research, first we did a comprehensive design space exploration on Cartesian Genetic Programming model. This model is one of sub branches of genetic programming that uses bi-dimensional undirected acyclic graphs instead of trees to represent phenotypes. This method is one of the most used tools in automatic designing and synthesizing of digital circuits using evolutionary algorithms. Finding the best architecture for effective parameters of this model, we presented some general guidelines and introduced an optimal model for designing. Later, we worked on some procedures to speed-up this already well-architected system. The results of simulations show that these methods can create a considerable speed-up (approximately 30%) in runtime (generations needed to reach a result). Keywords: Evolvable Hardware, Evolutionary Algorithms, Cartesian Genetic Programming, Automatic Design and Synthesis of Digital Circuits