از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
دو روز پیش منتشر شده
تعداد بازدید: 40
کد پروژه: 588945
شرح پروژه
اطلاعات مربوط به پروژه را خدمتتون ارسال میکنم:
عنوان پروژه:
پیادهسازی بخش سختافزاری مقاله شامل طراحی Function Unit اختصاصی، تولید Wrapper با OpenASIP و ادغام آن با پردازنده CVA6
نرمافزارها و ابزارهای مورد استفاده:
OpenASIP
LLVM
CVA6 (Core-V Ariane)
Verilator
Ubuntu 22.04
RISC-V Toolchain
Python & Makefile
(در صورت نیاز) ModelSim / GTKWave برای بررسی سیگنالها
توضیح کامل پروژه:
در این پروژه هدف اصلی، پیادهسازی بخش سختافزاری یک دستور سفارشی روی معماری RISC-V است.
مراحل کار شامل:
1. ساخت محیط OpenASIP و تولید Function Unit (FU) مخصوص مقاله
2. تولید Wrapper اتوماتیک با استفاده از اسکریپتهای OpenASIP
3. ادغام Wrapper و FU با پردازنده CVA6 از طریق رابط CVXIF
4. ساخت پردازنده جدید با Verilator و بررسی عملکرد آن
5. اجرای یک تست ساده جهت تأیید صحت عملکرد دستور سفارشی
خروجی نهایی شامل RTL سفارشیسازیشده، پردازنده ساختهشده با Verilator و گزارش کامل پیادهسازی خواهد بود.
مهلت پروژه:
یک ماه
رشته تحصیلی:
مهندسی کامپیوتر – گرایش معماری کامپیوتر، مقطع ارشد
اگر نیاز به توضیح بیشتر داشته باشید در خدمتم🌹
-
و اینکه در این مورد به نویسنده مقاله ایمیل کردم و ایشون جواب دادن👇🏻
Dear Dr. Pekka Jääskeläinen
I hope you are doing well.
My name is [Kosar Mahmoudi], and I am a Master’s student in Computer Engineering at [university of Tabriz-iran]. I am currently working on a research project inspired by your paper:
“Automatically Retargeting Hardware and Code Generation for RISC-V Custom Instructions,” IEEE TVLSI, 2025.
I carefully studied the paper, especially the hardware generation and integration flow shown in Figure 6. Since my project focuses on reproducing the hardware side (custom FU generation and integration through the RoCC/CV-X-IF interfaces), I wanted to ask whether the implementation files for the toolchain are publicly available.
After reviewing the paper and searching GitHub repositories related to OpenASIP, CVA6, and Rocket Chip, I could not find the custom hardware-generation scripts, wrapper templates, or integration examples specific to your work.
If possible, I would greatly appreciate access to:
the hardware generation scripts (even partial versions),
example RTL or wrapper code used in the paper,
or any internal documentation that could help in reproducing the hardware workflow.
Even limited material or guidance would be extremely helpful for my academic project.
Thank you very much for your time and support.
و ایشون جواب دادن 👇🏻
TUNI Luottamuksellinen - Confidential (3Y)
Hi Kosar,
Thank you for reaching out. You are correct, these features have not yet been merged to the main branch of the openasip repository. There is an open pull request about them but that still needs a final code review to be merged.
Here is the link to the pull request:
https://github.com/cpc/openasip/pull/280
To use the toolset, follow the instructions in the manual:
https://github.com/hfthra/openasip/blob/coprocessor-generator/openasip/doc/man/OpenASIP/OpenASIP.tex#L4153
You can find the scripts described in the tutorial here:
https://github.com/hfthra/openasip/tree/coprocessor-generator/testsuite/systemtest/scripts/coproGen_tour
There seems to be a typo in one of the file names (coproGen_tour.sh -> coproGen_tour.f), so you have to take that into account when following the manual's instructions. You should be able to generate the hardware (including the wrappers) with these instructions and even program the processor with the custom instructions using the compiler. If you have any issues or further questions, don't hesitate to reach out!
-
پروژهی مورد نظر یک پروژه نرمافزار محور نیست و ماهیت آن کاملاً سختافزاری است. به همین دلیل امکان پیادهسازی آن با Python وجود ندارد.
ابزارها و زبانهای مورد نیاز به شکل زیر هستند:
1. طراحی Function Unit و Wrapper با ابزار OpenASIP
– این بخش با زبانهای مخصوص OpenASIP (ADF/IDF) انجام میشود و برنامهنویسی Python در آن کاربرد ندارد.
2. اتصال Wrapper به پردازنده CVA6
– پردازنده CVA6 با SystemVerilog نوشته شده و بنابراین این مرحله با SystemVerilog (RTL Design) انجام میشود.
3. ساخت پردازنده و شبیهسازی با Verilator
– Verilator کد SystemVerilog را به C++ تبدیل میکند.
4. تست و تحلیل نتایج
– در صورت نیاز، Python فقط برای آنالیز خروجیها کاربرد دارد، نه برای پیادهسازی اصلی.
-
بله پروژه شبیهسازی است، اما نوع شبیهسازی این مقاله با ابزارهایی مثل Python انجام نمیشود.
در این مقاله شبیهسازی بهصورت سختافزاری (Hardware-Level Simulation) انجام میشود و کاملاً داخل لینوکس اجرا میگردد.
نرمافزارهای مورد استفاده:
OpenASIP → برای تولید Function Unit در لینوکس
SystemVerilog → برای توصیف سختافزار
Verilator → برای شبیهسازی پردازنده در محیط لینوکس
این ابزارها همگی مخصوص شبیهسازی سختافزار واقعی هستند، نه شبیهسازی نرمافزاری مثل پایتون.
پایتون فقط ممکن است برای تحلیل خروجی استفاده شود،
اما هسته اصلی شبیهسازی ۱۰۰٪ سختافزاریه و در لینوکس انجام میشه.
این پروژه شامل 1 فایل مهم است، لطفا قبل از ارسال پیشنهاد حتما نسبت به بررسی این فایل اقدام فرمایید.
مهارت ها و تخصص های مورد نیاز
بودجه
1,500,000 تومان تا 5,000,000 تومان
مهلت برای انجام
10روز
وضعیت مناقصه
باز (آماده دریافت پیشنهاد)
درباره کارفرما
عضویت هشت سال پیش
نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟
قادر به انجام این پروژه هستید؟
تا کنون 1 پیشنهاد قیمت از سمت فریلنسرها برای این پروژه ارسال شده
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار