چکیده · web viewبعد از آن، splash 1 معرفی شد که میتوانست...

22
ل ن دا ل در م كا ن مت ودdownload-thesis.com ا

Upload: others

Post on 31-Jan-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

ود متن كامل دردانلdownload-thesis.com

دانشگاه آزاد اسالمیواحد علوم و تحقیقات کرمان

دانشکده فنی و مهندسی، گروه مهندسی برق

ا

پایان نامه برای دریافت درجه کارشناسی ارشد در رشته مهندسی(M.Sc)برق

گرایش: الکترونیک

عنوان:طراحي و پياده سازي يک ريزپردازنده قابل پيکربندي مجدد

استاد راهنما:دکتر مهدی جعفری

استاد مشاور:مهران ابدالی دکتر

نگارش:.......................

1393بهار

فهرست مطالب عنوان

شماره صفحه1........................................................................................چکیده

تاريخچه محاسبات با قابلیت پيکربندی مجددفصل اول:3.................................................................................- مقدمه1-1

سيستم هاي مفهوم، معماري ها و روش هاي طراحي فصل دوم:قابل پيكربندي مجدد

8..........................- محاسبات و سخت افزار با قابلیت پيکربندی مجدد2-110.............................. هاFPGA- پیکربندی مجدد جزئی پویا و ایستا در 2-2FPGA................................11- معرفی مرجع اول در پیکر بندی مجدد 2-3FPGA................................12- معرفی مرجع دوم در پیکر بندی مجدد 2-4FPGA..............................14- معرفی مرجع سوم در پیکر بندی مجدد 2-5FPGA.............................14- معرفی مرجع چهارم در پیکر بندی مجدد 2-6FPGA...............................15- معرفی مرجع پنجم در پیکر بندی مجدد 2-7

پیکربندی پیاده سازی نرم افزاری و سخت افزاری فصل سوم:مجدد پیشنهادی

19...............................................................................- مقدمه3-1

ب

20.......... بیتیN به صورت CARRY_LOOK_AHEAD- پیاده سازی جمع کننده 3-224.................................. بیتیN- پیاده سازی ضرب کننده به صورت 3-3

24.......................... ضرب کننده براي دو عدد قدر مطلق عالمت3-3-1S...............................................25’2 یا 2 ضرب دو عددمتمم 3-3-2

26................................. بیتیN- پیاده سازی تقسیم کننده به صورت 3-4 برای پیاده سازی کدها با قابلیت پیکر بندیALU- طراحی سخت افزار و 3-5

28.......................................................................................مجدد28......................................................... طراحی واحد کنترل3-5-1 در طراحی سخت افزاری با سرعتFPGAبه کارگیری کنترل های 3-5-2

31.......................................................................................باال

نتایج شیبه سازی فصل چهارم:MODELSIM..................................37- نتایج شیبه سازی در نرم افزار 4-1ISE............................................39- نتایج شیبه سازی در نرم افزار 4-251..................................................................- مقایسه با مراجع4-3

نتیجه گیری فصل پنجم:54.........................................................................- نتیجه گیری5-1

کارهای آینده فصل ششم:56.......................................................................- کارهای آینده6-1

57..............................................................................منابع و مآخذ57..............................................................فهرست منابع انگلیسی

VHDL...................................................59پیوست: کدهای نوشته شده 68.........................................................................چکیده انگلیسی

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

ج

فهرست جداول عنوان

شماره صفحه

6................... روند كلي تكامل سيستم هاي قابل پيكربندي مجدد1-1جدول حالت ممکن برای جمع کننده4. 1-3جدول

ADDER_CARRY_LOOK_AHEAD................................................21

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

د

فهرست شکل ها عنوان

شماره صفحه10............................................... پیکر بندی مجدد جزئی پویا1-2شکل 11............................................ پیکر بندی دوباره جزئی ایستا2-2شکل FPGA..............11 در پیکر بندی مجدد 1. سیستم پیشنهادی مرجع 3-2شکل 12............................................ فلو چارت مربوط به مرجع ا4-2شکل FPGA....................................13 در برد RTL. طراحی در سطح 5-2شکل MODELSIM...............13. نمونه هایی از پیاده سازی در نرم افزار 6-2شکل . جریان طراحی سنتی برای مفهوم سیستم پیکر بندی مجدد به7-2شکل

14................................................................................صورت پویا15.......................4. الگوریتم پیکر بندی مجدد جزئی پویا مرجع 8-2شکل DCM..................................................................16. بلوک 9-2شکل DCM....................................16 بلوک RTL. طراحی در سطح 10-2شکل 17.................................. طراحی سلسله مراتبی مرجع پنجم11-2شکل 17.......................... بلوک های منطقیDRP. نتایج شبیه سازی 12-2شکل FULL ADDER........................................21. جمع کننده کامل یا 1-3شکل .ADDER_CARRY_LOOK_AHEAD. شکل مداری الگوریتم جمع کننده 2-3شکل .2324......... مدار ضرب کننده براي ضرب دو عدد قدر مطلق عالمت3-3شکل 25- را بیتی به روش قدر مطلق عالمت4- و 3. مراحل ضرب دو عدد 4-3شکل 26....................................... عمل تقسیم به روش مقایسه اي5-3شکل 27................................................... مثالی از مراحل تقسیم6-3شکل 28.................................................................. واحد کنترل7-3شکل 29.......................... نشان دهنده مفهوم روش ریزبرنامه سازي8-3شکل . فعال شدن هر دستور بر اساس ورودی متناظر در روش سیم بندي9-3شکل 30........................................................................................شده

. فعال شدن هر دستور بر اساس ورودی متناظر در روش ریز10-3شکل 30..............................................................................برنامه سازي

. دیاگرام یک بلوک عمومی برای یک سیستم کامل کنترل سرعت باال11-3شکل ..............................................................................................31

FPGA. نمودار بلوکی واحد پردازشی کنترلر طراحی شده بر مبنای 12-3شکل 33

FPGA........................34. نحوه پیاده سازی طرح پیشنهادی در 13-3شکل MODELSIM...................37. شبیه سازی جمع کننده در نرم افزار 1-4شکل MODELSIM.................38. شبیه سازی ضرب کننده در نرم افزار 2-4شکل MODELSIM................38. شبیه سازی تقسیم کننده در نرم افزار 3-4شکل

ه

MODELSIM............................39 در نرم افزار ALU. شبیه سازی 4-4شکل 41............................. جمع کنندهRTL. بلوگ دیاگرام یا شماتیک 5-4شکل 41............. مدار داخلی یا پیکر بندی داخلی مربوط به جمع کننده6-4شکل 43........................... ضرب کنندهRTL. بلوگ دیاگرام یا شماتیک 7-4شکل 44........... مدار داخلی یا پیکر بندی داخلی مربوط به ضرب کننده8-4شکل 47........... مدار داخلی یا پیکر بندی داخلی مربوط به ضرب کننده9-4شکل 48........................ تقسیم کنندهRTL. بلوگ دیاگرام یا شماتیک 10-4شکل ALU......................50 مربوط به RTL. بلوگ دیاگرام یا شماتیک 11-4شکل ALU.....50. نمای کلی مدار داخلی یا پیکر بندی داخلی مربوط به 12-4شکل ALU...................51. مدار داخلی یا پیکر بندی داخلی مربوط به 13-4شکل 52............................................ فلوچارت سیستم پیشنهادی14-4شکل

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

و

چکیده های مختلف وجود دارد. روشدو روش کلی در محاسبات براي اجراي الگوريتم

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

تغيير نمي كنند. راه دوم، استفاده از ريزپردازنده ها است که بسيار انعطاف باشند. آنها مجموعه اي از دستورات را اجرا مي كنند و كارايي سيستمپذیرتر می

به این دلیل کهASICدهند. اما، همانند يك را بدون تغيير سخت افزار، تغيير می اند، داراي قابليت انعطاف نمي باشد.برای یک کاربرد خاص طراحی نشده

ای توسعه يافته است تا فاصلههای با قابلیت پيكربندي مجدد به گونهسيستم ميان سخت افزار و نرم افزار را كم كند و همچنین، به يك كارايي بسيار باالتر از نرم افزار و قابليت انعطاف بيشتر سخت افزار برسد. به همین منظور، در اين

های با قابلیت پيكربنديپايان نامه ابتدا تاريخچه اي مختصر از توسعه سيستم مجدد بيان شده است. پس از آن، مفهوم قابليت پيكربندي مجدد و انواع

طراحی آن ارائه شده است. روند طراحي سيستم با قابلیت پيكربندي مجدد بر آورده شده است. ويژگي هاي طراحي سيستم با يك زبانFPGAروي تراشه

بيان شده است. در نهایت سیستمی به صورتVHDLبرنامه نويسي بر مبناي سخت افزاری و نرم افزاری ارائه شده است که قابلیت پیکر بندی مجدد را دارد

-و با استفاده از پردازش موازی سرعت پیکر بندی مجدد سیستم را افزایش می های حجیم از سیستم حذفدهد. در ضمن، ایده کار به این صورت است که باس

های پویا وهای منطقی دهد. در نهایت، تمامی قسمتشده و جای خود را به بلوک شود.کنند که باعث افزایش سرعت مدار میایستا با هم به طور موازی کار می

پیاده سازی، پیکربندی مجدد جزئی پویا، پیکربندی مجدد جwwزئیکلمات کلیدی:ایستا

1

:فصل اول با قابلیتتاريخچه محاسبات

پيکربندی مجدد

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

2

- مقدمه1-1 میالدی پديدار شد.60مفهوم محاسبات با قابلیت پيکربندی مجدد از اوایل دهه

موقعی که مقاله جرالد استرين مفهوم يک کامپيوتر ساخته شده از يک پردازنده ای از سخت افزار قابل پيکربندی مجدد را پيشنهاد کرد.استاندارد و آرايه

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

توان کارهايی نظير پردازش تصوير، الگوریتم عصبی وخواهد بود. برای مثال می 1تطبيق الگو را با سرعت بااليی انجام داد. به محض اتمام یک کار، سخت افزار

شود. چنين خاصيتی با ترکيب2تواند برای انجام کار جديد پيکربندی مجددمی و سرعت يک سخت افزار، در يک ساختار ترکيبی3انعطاف پذيری يک نرم افزار

ای در زمان پيدايش، بسيار جلوتر ازامکان پذیر شده است. در ضمن، چنين ايدهتکنولوژی ساخت سخت افزار مورد نيازش بود.

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

گیرند: های زیر قرار میها در دستهمعماریMatrix Gorp Elixent XPPSilicon Hive Montium Pleiades Morphosys PiCOGA

علت عملی بودن چنين طرحهايی، پيشرفت مداوم فنwwآوری سwwيليکونی بwwوده کwwههای پيچيده را روی يک تراشه امکان پذیر ساخته است. طرح4پياده سازی

Algotronixاولين مدل تجاری کامپيوتر با قابلیت پيکربندی مجدد در جهان به نام CHS 2*4 ارائه شد. اين طرح به هیچ عنوان موفقيت تجاری1991 در سال

( تکنولوژی راFPGA )مخترع Xilinxنداشت، اما آنقدر اميدبخش بود که شرکت را به خدمت گرفت. Algotronixخريد و محققان

هم اکنون تعدادی شرکت فروشنده کامپيوترهای با قابلیت پيکربندی مجدد وجودهااند. مهمترین اين شرکتدارند که بازار کامپيوترهای با کارايی باال را در بر گرفته

SRC Computers ، SGL و Crayای باشند. شرکت ابر رايانه میCrayبستر بهXD1 را به دست آورد و آن را به عنوان SRCمحاسبات قابل پيکربندی مجدد

بهAltixهای را همراه با سری ابر رايانهRASC رايانه SGIرساند. فروش می های قابل يک خانواده از رايانهSRC Computersرساند. شرکتفروش می

پيکربندی مجدد را توسعه داده است. اين خانواده بر اساس معماری ضمنی وباشد. میMAPپردازنده

1 Hardware2 Reconfiguration3 Software4 Implementation

3

-ها با ريزپردازندههای هيبريدی هستند، که اين رايانهتمام آنچه که گفته شد رايانه- ها توسط کاربر برنامهFPGAشوند. اند و با آن ساخته می همراه شدهFPGAهای

هایی با سرعت باال باتوانند به عنوان ابر رايانهها میشوند. اين سيستمريزی می وXD1 ها گزينه ای در FPGA ها به کاربرده شوند. )در حقيقت FPGAاستفاده از

SGIRASC هستند(. پيکربندی XD1 و SGIFPGAاز طريق زبانهای توصيف سخت گیرد. با به کارگيری زبانهای سطح بااليی نظير ابزار( صورت میHDLافزار )

Lmpulse-C و Celoxica از Handel-C مثل C يا زبانهايی مانند Star Bridge Vivaگرافيکی وVHDL و همچنین Mitrionics از Mitrpn-C ياImpulse Accelerated technologiesاز

Verilogتوان پيکربندی را انجام داد. توسعه کد نویسی منطقی يک نیز میFPGA خام، يک فرآيند پيچيده است که نيازمند دانش و ابزار تخصصی است.

SRC کامپايلری را ساخته است که زبان سطح بااليی مثل C يا Fortranرا به 1Fسازی روی گیرد و با تغييراتی اندک، آنها را برای اجرا و پیادهعنوان ورودی می

PGAهای کاربردی با زبانهایکند. بعضی از الگوريتم در ريزپردازنده، کامپايل می (، حداکثر موازیCarteشوند. کامپايلر ) نوشته میFortran و Cسطح باال همانند

کندای را توليد میدهد و منطق سخت افزار خط لولهسازی را در کد انجام می اند. همچنين اين کامپايلر تمام کدهای واسطی که ها مقداردهی شدهMAPکه در

کنند. اين نياز است را توليد میMAPبرای مديريت انتقال داده در داخل و خارج MAPکدهای واسط، وظيفه هماهنگ سازی ريزپردازنده با منطق در حال اجرا در

را دارند. XD1 بين ريزپردازنده و FPGA به وسيله شبکه اتصال داخلی Rapid Arrayاش

و يا سويچSNAP از طريق حافظه واسط SRCهای کند. سيستمارتباط برقرار می های با قابلیت پيکربندیبندی معماریکنند. دسته ارتباط برقرار میHi-Bearاختياری

هایيابند. اين به دليل عرضه شدن معماریمجدد روز به روز بیشتر توسعه می(.Azambuja 2011, 161-166باشد )جديد و به روز می

FPGAتواند به راحتی، به شکلهايی هستند که شکل سخت افزاری آنها میسی ها آی جدیدی تعريف شود. يعنی با بارگذاری يک پيکربندی جديد درست همانند

بارگذاری شود،DSPتواند بر روی يک ريزپردازنده يا نرم افزار جديدی که می تواند ها میFPGAهای فشرده شود. پردازش و الگوريتمنگاشت داده می

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

ريزی مجدد برای هر کاربردهستند، که از اجزا سخت افزاری قابل برنامه هايی که با طولشوند. در نتيجه، چندین برابر، کارآيی را در پردازندهتشکیل می

(.Boyer and strother moore 2012, 181-189دهد )کنند، افزايش میدستور ثابت کار می در سالSpalsh ساخته شدند. مدار اصلی SRC در Spalshدو نسخه آرايه انقباضی

توانست از ابر رايانه موجود در آن دالر ساخته شد که می13000 با قيمت 1989 برای کاربردهای تطبيق الگوی بيتی پيشی بگيرد. اين سيستمCray 2زمان به نام

بود که به صورت يک آرايهXilinx شرکت 3090 از سری FPGA عدد 32حاوی ای اشتراکی های مجاور از يک بافر حافظهFPGAخطی متصل شده بودند.

کردند. استفاده می

1 Field Progrrammable Gate Array

4

45 را DNAتوانست مقايسه يک رشته ی معرفی شد که میSplash 1بعد از آن، انجام دهد. سه1990برابر سرعت يک ايستگاه کاری با کارآيی باال را در دهه

عدد کاهش داده16 های خود را به FPGA ساخته شد که تعداد Splash 2سال بعد FPGA عدد 16 با FPGA، Splash 2بود. با اين وجود به خاطر رشد سريع تراکم در

داشت.Splash 1، دو برابر عملیات منطقی بيشتر از Xilinx از شرکت 4010مدل ، ارتباط داخلی خطی را به وسيلهSplash 2برای بهبود انعطاف ارتباطات داخلی

ديگریFPGA با FPGAداد که هر يک ميله عرضی تقويت کردند که اجازه میارتباط برقرار کند.

توسط مرکزSplash رايانه قابل پيکربندی مجدد 1990 تا 1987های بين در سال- توسعه يافت. اين رايانه در طرح شماتيکی برنامهSRCای تحقيقات ابر رايانه

العاده و سرعت باالیی داشت. اما با وجودنويسی شده بود. سخت افزار فوق هایتمام اين مزايا برنامه نويسی آن بسیار مشکل بود. در نتيجه، تعداد برنامه

کاربردی آن محدود بود. Splash 2 دارای زبان شبيه سازی VHDLبود و همانند مدل پيشين دارای سخت

ريزی آن غير استاندارد بود اما دارای قابليتافزار بسيار خوبی بود، برنامه حافظه های فعال قابل برنامه ريزی1995 تا 1986برنامه نويسی خوبی بود. از

(PAMETTe , PAM توسط شرکت فرانسوی )DEC Parisمعرفی شدند. برنامه را داشتندSplash++ بود اما همان عيب Cنويسي اين نوع حافظه ها در زبان

های کاربردی پشتيبانی شده توسطيعنی سخت افزار خوبی داشتند اما برنامه روند كلي تكامل سيستم هاي قابل پيكربندي1-1آنان محدود بود. در شکل

کنید.مجدد را مشاهده می. روند كلي تكامل سيستم هاي قابل پيكربندي مجدد1-1جدول

PAM و X30xx1989 1991 تاSPLASH و X40xx1991 1993 تاPRISM و DISC1993 1995 تاMATRIX و X62001995 1997 تا

CVH، RAW و FPGA1997 2014 تا

5

:فصل دوم مفهوم، معماري ها وروش هاي طراحي

سيستم هاي قابل پيكربنديمجدد

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

6

- محاسبات و سخت افزار با قابلیت پيکربندی مجدد2-1 پردازیم و چندین مرجع مهمدر این فصل، به بررسی مفهوم پیکر بندی مجدد می

دهیم. در این زمینه را مورد بررسی قرار می

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

دانلود متن كامل درdownload-thesis.com

7

منابع و مآخذ فهرست منابع انگلیسی

1. A.Wang Lie, Wu Feng-yan “Dynamic partial reconfiguration in FPGAs,” 2009 Third International Symposium on Intelligent Information Technology Application.

2. A.Trailokya Nath Sasamal, Anand Mohan, 2011 . “a specially designed transient faults injection technique at the vhdl level and modeling , ” ijrras 9 (2) ● November.

3. B. Maamar Touiza , Gilberto Ochoa-Ruiz, 2012. “A novel methodology for accelerating bitstream relocation in partially reconfigurable systems,” Microprocessors and Microsystems journal .

4. B. Krill, A.Ahmad, 2010. “An efficient FPGA-based dynamic partial reconfiguration design flow and environment for image and signal processing IP cores , ” Signal Processing: Image Communication 25.

5. C.Abhishek Tiwari, 2012. “A Partial Reconfiguration based Approach for Frequency Synthesis using FPGA , ” International Conference on Communication Technology and System Design 2011, Procedia Engineering 30 .

6. D. Christopher T. Rathgeb, 2009. “Secure processing using dynamic partial reconfiguration,” CSIIRW '09, April 13-15, Oak Ridge, Tennessee, USA Copyright ACM.

7. K. KE˛PA, F. MORGAN, and K. Ko´Sciuszkiewicz. “Design Assurance Strategy and Toolset for Partially Reconfigurable FPGA Systems , ” National University of Ireland, Universit’ at Karlsruhe Institute of Technology (KIT).

8. L.Dirk Koch, Christian Beckhoff, and Jim Torresen, 2010. “Zero logic overhead integration of partially reconfigurable modules , ” SBCCI’10, São Paulo, Brazil. Copyright 2010 ACM.

9. L.Seema Verma. 2011. “Improvement in RSA Cryptosystem, journal of advances in information technology, VOL. 2, NO. 3.

10. M.Kyprianos Papadimitriou And Apostolos Dollas, 2011. “Performance of partial reconfiguration in FPGA systems A survey and a cost model,” ACM Transactions on Reconfigurable Technology and Systems, Vol. 4, No. 4, Article 36, Publication date: December.

11. .José Rodrigo Azambuja August, 30–September 2, 2011. “Using Dynamic Partial Reconfiguration to Detect SEEs in SBCCI'11 , João Pessoa, Brazil. Copyright 2011 ACM.

12. O.Robert S. Boyer And J Strother Moore, 2012. “Proof Checking The Rsa Public Key Encryption Algorithm1 , ” Mathematical Association of America is collaborating with JSTOR to digitize.

13. P.Lubos Gaspar, October 2012. “Secure Extension of FPGA General Purpose Processors for Symmetric Key Cryptography with Partial Reconfiguration Capabilities,” ACM

8

Transactions on Reconfigurable Technology and Systems, Vol. 5, No. 3, Article 16, Publication date.

14. P.Ivan Gonzalez, 2012. “Virtualization of reconfigurable coprocessors in HPRC systems with multicore architecture , ” Journal of Systems Architecture 58.

15. R.Daniel Llamocca, Member, IEEE, and Marios Pattichis, Senior Member, IEEE, MARCH 2013. “A Dynamically Reconfigurable Pixel Processor System Based on PowerEnergy-Performance-Accuracy Optimization,” Ieee Transactions On Circuits And Systems For Video Technology, Vol. 23, No. 3.

16. Z.Qianming Yang, 2013. “Accelerating thread-intensive and explicit memory management programs with dynamic partial reconfiguration,” J Supercomput.

9

Design and implementation of a reconfiguration micro processor

Abstract

Two general methods exist for computation the algorithms. First method is ASIC which can implement the desired algorithms to hardware. These equipments are made for each specific algorithm, so they are fast and efficient. But after building the circuit, they do not change. The second way is using microprocessors that are much more flexible. They run a series of commands and system software can be changed without changing the hardware. But, as an ASIC they are not designed for a particular application, so they are not flexible. Reconfigurable systems have been developed in such a way to help reduce the gap between hardware and software and also, achieve to a much higher performance and flexibility for software and hardware. Therefore, in this thesis, first a brief history of the development of reconfigurable system is presented. After that, the concept of reconfigurable and all related designs are presented. The design of on-chip reconfigurable FPGA is presented. Design features of a programming language based on VHDL is presented. Finally, we present the hardware and software system that has the capability of reconfigurable method, and the system use reconfigurable parallel processing which increases performance.

Keywords: implementation, dynamic reconfiguration, static reconfiguration

10