دانلود مقاله ترجمه شده طراحی پردازنده با استفاده از زبان توصیف سخت افزارِ تابعی


چطور این مقاله مهندسی کامپیوتر و IT را دانلود کنم؟

فایل انگلیسی این مقاله با شناسه 2001544 رایگان است. ترجمه چکیده این مقاله مهندسی کامپیوتر و IT در همین صفحه قابل مشاهده است. شما می توانید پس از بررسی این دو مورد نسبت به خرید و دانلود مقاله ترجمه شده اقدام نمایید

قیمت :
1,475,000 ریال
شناسه محصول :
2001544
سال انتشار:
2012
حجم فایل انگلیسی :
1 Mb
حجم فایل فارسی :
1 مگا بایت
نوع فایل های ضمیمه :
word+pdf
کلمه عبور همه فایلها :
www.daneshgahi.com

عنوان فارسي

طراحی پردازنده با استفاده از زبان توصیف سخت افزارِ تابعی

عنوان انگليسي

Processor design using a functional hardware description language

نویسنده/ناشر/نام مجله

Microprocessors and Microsystems

این مقاله چند صفحه است؟

این مقاله ترجمه شده مهندسی کامپیوتر و IT شامل 19 صفحه انگلیسی به صورت پی دی اف و 46 صفحه متن فارسی به صورت ورد تایپ شده است

چکیده فارسی


چکیده

این مقاله، اشتراک، توسعه، پیاده سازی، و تأیید یک ریزپردازنده RISC را بررسی می کند که این عمل با استفاده از زبان برنامه نویسی تابعی توصیف سخت افزار Lava انجام می شود. روش اساسی برای توصیف سخت افزار در Lava معرفی شده است و مطابق با مجموعه دستورالعملهای معماری و ساختار لوله ای(pipeline) و کنترلی پیاده سازی شده است. نتایج آزمایش FPGA گرد آمده اند و با یک جریان طراحی مبتنی بر VHDL سنتی مورد مقایسه قرار گرفته است. یک پیاده سازی رابط پردازنده برای سرعت بخشیدن به کد ویژه ی نرم افزار ایجاد شده که توسط حالت مطالعاتی تبدیل فوریه پشتیبانی شده است. برای نویسندگان، بهترین دانش این است که سعی کنند یک ماشین فون نویمان کامل را در Lava توصیف کنند، شبیه سازی کنند، بررسی کنند و آزمایش کنند و آزمون اجرایی را روی آن انجام دهند. تجارب پروژه ای با تبعیت از یک سری روشهای ممکن برای بهبود بیشتر Lava  و زبانهای تابعی توصیف سخت افزاری به طور خاص و به طور کلی خلاصه شده اند.

1.انگیزه و کارهای قبلی

اکثرِ سخت افزارهای دیجیتالی امروزه، با استفاده از زبانهای توصیف سخت افزاری (HDL)ها طراحی می شوند. برجسته ترین HDLها عبارتنداز VerilogوVHDL که حدود 25 سال پیش معرفی شدند. در طول سالهای قبل، زبانهایی مانند SystemCو SystemVerilog هدفشان دستیابی به سطح انتزاعی(خلاصه) بالاتر بود که به همین دلیل توجه دانشگاهها و صنعت را به خود جلب کردند. HDL  های سنتی قابلیت توصیف سخت افزار در گیت ها، رجیسترهای انتقالی، سطح سیستم ها و الگوریتمی بودن آن را دارند. بسیاری از ویژگی های جدیدی که اخیراً معرفی شده اند هدفشان رسیدن با لایه های انتزاعی(خلاصه تر) بالاتر است( به عنوان مثال با ترکیب چندین مفهوم زبانهای شی گرا) هنوز هم بسیاری از HDLهای سنتی در پارامتری بودن و قابلیت های تأییدی خود محدود باقی مانده اند در حالیکه دارای معانی کاملاً پیچیده ای هستند. برای پرداختن به بعضی از این نقص ها، پیش پردازنده های متعدد، ژنراتورهای کد خودکار  و دستیاران توسعه ی مبتنی بر GUI در طول دهه های گذشته ایجاد شده اند. محدوده ی زبان هایی که از این نقص ها رنج می برد به اصطلاح  HDLهای تابعی نامیده می شوند مانند  ]lFP [1], Ruby [2], Reflect [3 و دیگر روش ها. چندین روش وجود دارد که زبانهای تابعی را برای توصیف و مدلسازی سخت افزار به کار می برد، حتی زمانی که VHDLو Verilog پدیدار شدند، اما آنها هرگز در صنعت مقبولیت به دست نیاوردند.[4] به نظر می رسد که این وضعیت تغییر کند از آنجایی که هم صنعت و هم دانشگاه شروع به کار کاربردی HDLها در پروژه های دنیای واقعی کردند. یکی از روش های مورد قبول واقع شده از Bluespec می آید یک شرکت که محصولات طراحی نیمه هادی را بازاریابی می کند، و بر اساس زبان کاربردی خاص خود است..[5] این اصل اساساً طبق روش هاسکل توسعه داده شده است و در واقع روشی برای بهبود سروکار داشتن با مدارهای طراحی شده است. این روش با تطابق نحویِ SystemVerilog جایگزین شده است که سیستم Bluespec SystemVerilog(BSV) نامیده می شود. این روش، ادغامِ پروژه های موجود را ساده می کند و به طور کلی پذیرش عمومی مجموعه ی طراحی شده را افزایش می دهد. طراحی های نوشته شده در BSV می تواند با یک شبیه سازی اجرایی به یک Verilog HDL کامپایل شود. مشابه هاسکل، BSV کنترل نوع سخت و نوع استنباطی را ارائه می دهد و برای اندازه های نوع داده ها حمایت می شود. آن روش یک نحو اختصاصی برای مدلسازی همزمانی با نقش معنی محور است: هر عمل باید با یک عمل محصورسازی شود، بنابراین قوانین، مانند بلاک کردن کدجاری عمل می کند. اگر یک وضعیت نگه داشته شود، بلوک "اجرا شده است" و یا "اخراج شده است." اگر دو یا چند قانون شاملِ اقدامات متضاد باشند-مانند یک تکلیف به همان رجیستر- قوانین اولویت بندی خواهند شد، که این اولویت بندی یا از طریق کامپایلر و یا از طریق اظهارات صریح است. در BSV آنها یک ضرورت به حساب می آیند. این امکان وجود دارد که Bluespec خواهان افزایش مقبولیت در میان حرفه های صنعتی باشد زیرا او ادعا می کند که تکنولوژی برتر را ارائه می دهدکه قانع کننده هستند. اما هیچ آماری در زمان نوشتن در دسترس عموم نیست. Bluespec  قادر به پارامتری کردن همه ی جزئیات پیاده سازی است و استفاده ی مجدد آسانتر از ویژگی های ذهنی را ممکن می سازد که به دلیلِ رابط ماژول انتزاعی، تایپ کلی و نوع استنتاج است. توضیح همزمان اتمی بر اساس قانون وجود دارد که طراحی های مداری را باکمترین خطا، ایجاد می کند. با این حال دقیقاً مشخص نیست که آیا BSV با حوزه ی کاربردی زبانهای برنامه نویسی مقایسه پذیر است،  از انجایی که  به نظر می رسد قوانین آن ترکیبی از برنامه نویسی شی گرا چندشکلی و قوانین SystemVerilog سنتی است. با این حال، این روش از یک راه حل مبتنی بر هاسکل ناشی می شود و به احتمال زیاد هنوز هم در همان پایانه انتهایی کار می کند. ForSyDe یک روش دیگر مبتنی بر هاسکل است که برای مدلسازی سیستم های دیجیتالی در زبان توصیفی دامنه خاص است.[6]  این روش از سال 2003 در حال توسعه بوده است احتمالاً توسعه یافته ترین سیستم تابعی توصیف سخت افزار منبع باز بوده است، که از نظر طول عمر و استفاده در پروژه های غیر دانشگاهی مورد توجه است. VHDL یک پایانه ی انتهایی است که با Quartus II ادغام شده است و به عنوان  ModelSim ارائه شده است، بنابراین شبیه سازی ها و آزمایش ها با استفاده از ابزار خارجی می تواند در داخل هاسکل نتیجه گیری شود و نتایج به دامنه ی هاسکل بر می گردند. برای ایجاد کد boilerplate از توسعه دهنده، ForSyDe هاسکل، بسط هایی را فراهم می کند که الگوی هاسکل نامیده می شود.   Boilerplatیک عبارت برای توصیف کد است،  که می تواند بلافاصله از ساختارهای داده ای و یا در غیر این صورت از خود تصحیح ها مشتق شده باشد، اما مجبور است که قبل از اینکه قابلیت استفاده از ساختارهای داده را داشته باشد، به طور دستی اجرا شود. اگرچه هیچ چالش واقعی برای برنامه نویس وجود ندارد، او به زمان قابل توجهی برای پیاده سازی نیاز دارد. در حرکت نزولی، الگوی هاسکل همچنین یک سطح اضافی از پیچیدگی های نحوی را تعریف می کند،  و ترتیبی از خطاها را ارائه می دهد که توصیف سخت افزارهای کاربردی را ساده می کند. زبان مورد استفاده برای پروژه که در اینجا استفاده می شود مبتنی بر هاسکل است که آن را Lava HDL نیز می نامند. Lava به طور گسترده ای از طریق کارهای  Satnam Singh [9 شناخته شده است. او این زبان را در چندین طراحی اعمال کرد که هدفشان برنامه ریزی گیت های آرایه ای قابل برنامه ریزی Xilinx بود. (FPGAs) او از نسخه ای از Lava استفاده می کرد(بیشتر به عنوان  Xilinx Lava  نامیده می شود) که شاملِ مقدار زیادی از جزئیات خاص Xilinx بود مانند محدودیت محل، معماری بلوک های منطقی با قابلیت تنظیم (CLB). علاوه بر این، بسیاری از طراحی ها در Xilinx Lava الگوهای کاملاً منظم را نشان می دهد(تبدیل فوریه های سریع، مرتب کننده های ادغامی و غیره). نتایج به دست آمده کاملاً امیدوارکننده هستند اما در همان زمان یک سوال پیش می آید که آیا Lava می تواند برای رسیدن به هدف پلت فرم های سخت افزاری و دیگر طرح های نامنظم تر، موثر و کارا باشد…

زبان های تابعی Lava پردازنده با قابلیت تنظیم مجدد :کلمات کلیدی

چکیده انگلیسی


Abstract

This contribution documents the development, implementation, and verification of a RISC microprocessor using the functional hardware description language Lava. Basic methods to describe hardware in Lava are introduced and extended towards implementation of instruction set architecture and pipeline structure and control. FPGA synthesis results are presented and compared against a traditional VHDL-based design flow. An implementation of a coprocessor interface used to accelerate application-specific code is discussed supported by the case study of fast Fourier transform. To authors’ best knowledge it is the first attempt to describe, simulate, verify, synthesize and test-run a complete von Neumann machine in Lava. Project experiences are summarized followed by a sketch of possible directions for further improvement of Lava in particular and functional hardware description languages in general

Keywords: Functional languages Lava Reconfigurable processor
کتابخانه الکترونیک
دانلود مقالات ترجمه شده
جستجوی مقالات
با انتخاب رشته مورد نظر خود می توانید مقالات ترجمه شده آن رو به صورت موضوع بندی شده مشاهده نمایید