فهرست مطالبعنوان شماره صفحهفصل اول:تاريخچه محاسبات با قابلیت پيکربندی مجدد1-1- مقدمه3فصل دوم:مفهوم، معماريها و روشهاي طراحيسيستمهاي قابل پيكربندي مجدد2-1- محاسبات و سخت افزار با قابلیت پيکربندی مجدد82-2- پیکربندی مجدد جزئی پویا و ایستا در FPGA ها102-3- معرفی مرجع اول در پیکر بندی مجدد FPGA112-4- معرفی مرجع دوم در پیکر بندی مجدد FPGA122-5- معرفی مرجع سوم در پیکر بندی مجدد FPGA142-6- معرفی مرجع چهارم در پیکر بندی مجدد FPGA142-7- معرفی مرجع پنجم در پیکر بندی مجدد FPGA15فصل سوم:پیاده سازی نرم افزاری و سخت افزاریپیکربندی مجدد پیشنهادی3-1- مقدمه193-2- پیاده سازی جمع کننده Carry_Look_Ahead به صورت n بیتی203-3- پیاده سازی ضرب کننده به صورت n بیتی243-3-1 ضربکنندهبرايدوعددقدرمطلقعلامت243-3-2 ضربدوعددمتمم 2 یا 2’s253-4- پیاده سازی تقسیم کننده به صورت n بیتی263-5- طراحیسخت افزارو ALU برای پیاده سازی کدها با قابلیت پیکر بندی مجدد283-5-1 طراحیواحدکنترل283-5-2 به کارگیری کنترل های FPGAدر طراحی سخت افزاری با سرعت بالا31 فصل چهارم:نتایج شیبه سازی4-1- نتایج شیبه سازی در نرم افزار Modelsim374-2- نتایج شیبه سازی در نرم افزار ISE394-3- مقایسه با مراجع51فصل پنجم:نتیجه گیری5-1- نتیجه گیری54فصل ششم:کارهای آینده6-1- کارهای آینده56منابع و مآخذ57فهرست منابع انگلیسی57پیوست: کدهای نوشته شده VHDL59چکیده انگلیسی 68فهرست جداولعنوان شماره صفحهجدول 1-1. روند كلي تكامل سيستمهاي قابل پيكربندي مجدد6جدول 3-1. 4 حالت ممکن برای جمع کننده Adder_Carry_Look_Ahead21فهرست شکل ها عنوان شماره صفحهشکل 2-1. پیکر بندی مجدد جزئی پویا10شکل 2-2. پیکر بندی دوباره جزئی ایستا11شکل 2-3. سیستم پیشنهادی مرجع 1 در پیکر بندی مجدد FPGA11شکل 2-4. فلو چارت مربوط به مرجع ا12شکل 2-5. طراحی در سطح RTL در برد FPGA13شکل 2-6. نمونه هایی از پیاده سازی در نرم افزار Modelsim13شکل 2-7. جریان طراحی سنتی برای مفهوم سیستم پیکر بندی مجدد به صورت پویا14شکل 2-8. الگوریتم پیکر بندی مجدد جزئی پویا مرجع 415شکل 2-9. بلوک DCM16شکل 2-10. طراحی در سطح RTL بلوک DCM16شکل 2-11. طراحی سلسله مراتبی مرجع پنجم17شکل 2-12. نتایج شبیه سازی DRP بلوک های منطقی17شکل 3-1. جمعکنندهکامل یا Full Adder21شکل 3-2. شکل مداری الگوریتم جمع کننده Adder_Carry_Look_Ahead23شکل 3-3. مدارضربکنندهبرايضربدوعددقدر مطلقعلامت24شکل 3-4. مراحل ضرب دو عدد 3- و 4- را بیتیبهروش قدر مطلق علامت25شکل 3-5. عملتقسیمبهروشمقایسه اي26شکل 3-6. مثالی از مراحل تقسیم27شکل 3-7. واحدکنترل28شکل 3-8. نشان دهنده مفهوم روشریزبرنامه سازي29شکل 3-9. فعال شدن هر دستور بر اساس ورودی متناظر در روشسیمبنديشده30شکل 3-10. فعال شدن هر دستور بر اساس ورودی متناظر در روش ریزبرنامه سازي30شکل 3-11. دیاگرام یک بلوک عمومی برای یک سیستم کامل کنترل سرعت بالا31شکل 3-12. نمودار بلوکی واحد پردازشی کنترلر طراحی شده بر مبنای FPGA33شکل 3-13. نحوه پیاده سازی طرح پیشنهادی در FPGA34شکل 4-1. شبیه سازی جمع کننده در نرم افزار Modelsim37شکل 4-2. شبیه سازی ضرب کننده در نرم افزار Modelsim38شکل 4-3. شبیه سازی تقسیم کننده در نرم افزار Modelsim38شکل 4-4. شبیه سازی ALU در نرم افزار Modelsim39شکل 4-5. بلوگ دیاگرام یا شماتیک RTL جمع کننده41شکل 4-6. مدار داخلی یا پیکر بندی داخلی مربوط به جمع کننده41شکل 4-7. بلوگ دیاگرام یا شماتیک RTL ضرب کننده43شکل 4-8. مدار داخلی یا پیکر بندی داخلی مربوط به ضرب کننده44شکل 4-9. مدار داخلی یا پیکر بندی داخلی مربوط به ضرب کننده47شکل 4-10. بلوگ دیاگرام یا شماتیک RTL تقسیم کننده48شکل 4-11. بلوگ دیاگرام یا شماتیک RTL مربوط به ALU50شکل 4-12. نمای کلی مدار داخلی یا پیکر بندی داخلی مربوط به ALU50شکل 4-13. مدار داخلی یا پیکر بندی داخلی مربوط به ALU51شکل 4-14. فلوچارت سیستم پیشنهادی52دو روش کلی در محاسبات براي اجراي الگوريتمهای مختلف وجود دارد. روش اول، استفاده از ASIC ها ميباشد تا بتوانیم الگوريتم مورد نظر را در سختافزار اجرا و پيادهسازي کنیم. چون اين تجهیزات براي هر الگوريتم خاص ساخته ميشوند، سريع و كارا ميباشند. اما مدارات آنها پس از ساخته شدن، تغيير نميكنند. راه دوم، استفاده از ريزپردازندهها است که بسيار انعطاف پذیرتر میباشند. آنها مجموعهاي از دستورات را اجرا ميكنند و كارايي سيستم را بدون تغيير سختافزار، تغيير میدهند. اما، همانند يك ASIC به این دلیل که برای یک کاربرد خاص طراحی نشدهاند، داراي قابليت انعطاف نميباشد. سيستمهای با قابلیت پيكربندي مجدد به گونهای توسعه يافته است تا فاصله ميان سختافزار و نرمافزار را كم كند و همچنین، به يك كارايي بسيار بالاتر از نرمافزار و قابليت انعطاف بيشتر سختافزار برسد. به همین منظور، در اين پايان نامه ابتدا تاريخچهاي مختصر از توسعه سيستمهای با قابلیت پيكربندي مجدد بيان شده است. پس از آن، مفهوم قابليت پيكربندي مجدد و انواع طراحی آن ارائه شده است. روند طراحي سيستم با قابلیت پيكربندي مجدد بر روي تراشه FPGA آورده شده است. ويژگيهاي طراحي سيستم با يك زبان برنامه نويسي بر مبناي VHDL بيان شده است. در نهایت سیستمی به صورت سخت افزاری و نرم افزاری ارائه شده است که قابلیت پیکر بندی مجدد را دارد و با استفاده از پردازش موازی سرعت پیکر بندی مجدد سیستم را افزایش میدهد. در ضمن، ایده کار به این صورت است که باسهای حجیم از سیستم حذف شده و جای خود را به بلوکهای منطقی دهد. در نهایت، تمامی قسمتهای پویا و ایستا با هم به طور موازی کار میکنند که باعث افزایش سرعت مدار میشود.
طراحي و پياده سازي يک ريزپردازنده قابل پيکربندي مجدد word
فهرست مطالبعنوان شماره صفحهفصل اول:تاريخچه محاسبات با قابلیت پيکربندی مجدد1-1- مقدمه3فصل دوم:مفهوم، معماريها و روشهاي طراحيسيستمهاي قابل پيكربندي مجدد2-1- محاسبات و سخت افزار با قابلیت پيکربندی مجدد82-2- پیکربندی مجدد جزئی پویا و ایستا در FPGA ها102-3- معرفی مرجع اول در پیکر بندی مجدد FPGA112-4- معرفی مرجع دوم در پیکر بندی مجدد FPGA122-5- معرفی مرجع سوم در پیکر بندی مجدد FPGA142-6- معرفی مرجع چهارم در پیکر بندی مجدد FPGA142-7- معرفی مرجع پنجم در پیکر بندی مجدد FPGA15فصل سوم:پیاده سازی نرم افزاری و سخت افزاریپیکربندی مجدد پیشنهادی3-1- مقدمه193-2- پیاده سازی جمع کننده Carry_Look_Ahead به صورت n بیتی203-3- پیاده سازی ضرب کننده به صورت n بیتی243-3-1 ضربکنندهبرايدوعددقدرمطلقعلامت243-3-2 ضربدوعددمتمم 2 یا 2’s253-4- پیاده سازی تقسیم کننده به صورت n بیتی263-5- طراحیسخت افزارو ALU برای پیاده سازی کدها با قابلیت پیکر بندی مجدد283-5-1 طراحیواحدکنترل283-5-2 به کارگیری کنترل های FPGAدر طراحی سخت افزاری با سرعت بالا31 فصل چهارم:نتایج شیبه سازی4-1- نتایج شیبه سازی در نرم افزار Modelsim374-2- نتایج شیبه سازی در نرم افزار ISE394-3- مقایسه با مراجع51فصل پنجم:نتیجه گیری5-1- نتیجه گیری54فصل ششم:کارهای آینده6-1- کارهای آینده56منابع و مآخذ57فهرست منابع انگلیسی57پیوست: کدهای نوشته شده VHDL59چکیده انگلیسی 68فهرست جداولعنوان شماره صفحهجدول 1-1. روند كلي تكامل سيستمهاي قابل پيكربندي مجدد6جدول 3-1. 4 حالت ممکن برای جمع کننده Adder_Carry_Look_Ahead21فهرست شکل ها عنوان شماره صفحهشکل 2-1. پیکر بندی مجدد جزئی پویا10شکل 2-2. پیکر بندی دوباره جزئی ایستا11شکل 2-3. سیستم پیشنهادی مرجع 1 در پیکر بندی مجدد FPGA11شکل 2-4. فلو چارت مربوط به مرجع ا12شکل 2-5. طراحی در سطح RTL در برد FPGA13شکل 2-6. نمونه هایی از پیاده سازی در نرم افزار Modelsim13شکل 2-7. جریان طراحی سنتی برای مفهوم سیستم پیکر بندی مجدد به صورت پویا14شکل 2-8. الگوریتم پیکر بندی مجدد جزئی پویا مرجع 415شکل 2-9. بلوک DCM16شکل 2-10. طراحی در سطح RTL بلوک DCM16شکل 2-11. طراحی سلسله مراتبی مرجع پنجم17شکل 2-12. نتایج شبیه سازی DRP بلوک های منطقی17شکل 3-1. جمعکنندهکامل یا Full Adder21شکل 3-2. شکل مداری الگوریتم جمع کننده Adder_Carry_Look_Ahead23شکل 3-3. مدارضربکنندهبرايضربدوعددقدر مطلقعلامت24شکل 3-4. مراحل ضرب دو عدد 3- و 4- را بیتیبهروش قدر مطلق علامت25شکل 3-5. عملتقسیمبهروشمقایسه اي26شکل 3-6. مثالی از مراحل تقسیم27شکل 3-7. واحدکنترل28شکل 3-8. نشان دهنده مفهوم روشریزبرنامه سازي29شکل 3-9. فعال شدن هر دستور بر اساس ورودی متناظر در روشسیمبنديشده30شکل 3-10. فعال شدن هر دستور بر اساس ورودی متناظر در روش ریزبرنامه سازي30شکل 3-11. دیاگرام یک بلوک عمومی برای یک سیستم کامل کنترل سرعت بالا31شکل 3-12. نمودار بلوکی واحد پردازشی کنترلر طراحی شده بر مبنای FPGA33شکل 3-13. نحوه پیاده سازی طرح پیشنهادی در FPGA34شکل 4-1. شبیه سازی جمع کننده در نرم افزار Modelsim37شکل 4-2. شبیه سازی ضرب کننده در نرم افزار Modelsim38شکل 4-3. شبیه سازی تقسیم کننده در نرم افزار Modelsim38شکل 4-4. شبیه سازی ALU در نرم افزار Modelsim39شکل 4-5. بلوگ دیاگرام یا شماتیک RTL جمع کننده41شکل 4-6. مدار داخلی یا پیکر بندی داخلی مربوط به جمع کننده41شکل 4-7. بلوگ دیاگرام یا شماتیک RTL ضرب کننده43شکل 4-8. مدار داخلی یا پیکر بندی داخلی مربوط به ضرب کننده44شکل 4-9. مدار داخلی یا پیکر بندی داخلی مربوط به ضرب کننده47شکل 4-10. بلوگ دیاگرام یا شماتیک RTL تقسیم کننده48شکل 4-11. بلوگ دیاگرام یا شماتیک RTL مربوط به ALU50شکل 4-12. نمای کلی مدار داخلی یا پیکر بندی داخلی مربوط به ALU50شکل 4-13. مدار داخلی یا پیکر بندی داخلی مربوط به ALU51شکل 4-14. فلوچارت سیستم پیشنهادی52دو روش کلی در محاسبات براي اجراي الگوريتمهای مختلف وجود دارد. روش اول، استفاده از ASIC ها ميباشد تا بتوانیم الگوريتم مورد نظر را در سختافزار اجرا و پيادهسازي کنیم. چون اين تجهیزات براي هر الگوريتم خاص ساخته ميشوند، سريع و كارا ميباشند. اما مدارات آنها پس از ساخته شدن، تغيير نميكنند. راه دوم، استفاده از ريزپردازندهها است که بسيار انعطاف پذیرتر میباشند. آنها مجموعهاي از دستورات را اجرا ميكنند و كارايي سيستم را بدون تغيير سختافزار، تغيير میدهند. اما، همانند يك ASIC به این دلیل که برای یک کاربرد خاص طراحی نشدهاند، داراي قابليت انعطاف نميباشد. سيستمهای با قابلیت پيكربندي مجدد به گونهای توسعه يافته است تا فاصله ميان سختافزار و نرمافزار را كم كند و همچنین، به يك كارايي بسيار بالاتر از نرمافزار و قابليت انعطاف بيشتر سختافزار برسد. به همین منظور، در اين پايان نامه ابتدا تاريخچهاي مختصر از توسعه سيستمهای با قابلیت پيكربندي مجدد بيان شده است. پس از آن، مفهوم قابليت پيكربندي مجدد و انواع طراحی آن ارائه شده است. روند طراحي سيستم با قابلیت پيكربندي مجدد بر روي تراشه FPGA آورده شده است. ويژگيهاي طراحي سيستم با يك زبان برنامه نويسي بر مبناي VHDL بيان شده است. در نهایت سیستمی به صورت سخت افزاری و نرم افزاری ارائه شده است که قابلیت پیکر بندی مجدد را دارد و با استفاده از پردازش موازی سرعت پیکر بندی مجدد سیستم را افزایش میدهد. در ضمن، ایده کار به این صورت است که باسهای حجیم از سیستم حذف شده و جای خود را به بلوکهای منطقی دهد. در نهایت، تمامی قسمتهای پویا و ایستا با هم به طور موازی کار میکنند که باعث افزایش سرعت مدار میشود.