پارس‌کدرز چگونه کار می‌کند؟

از پارس‌کدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.

پارس‌کدرز خریداران یا کارفرمایان را به مجری‌ها /فریلنسرهای خبره‌ای متصل می‌کند که برای انجام پروژه آماده هستند.

پیاده سازی ضرب دو عدد 16 بیتی با روش booth ( الگوریتم را شرح میدهم ) با پایتون ( پکیج myhdl ) و تبدیل آن به verilog

چهار سال پیش منتشر شده

تعداد بازدید: 1492

کد پروژه: 249070


شرح پروژه

دو عدد 16 بیتی را با استفاده از الگوریتم booth به هم ضرب میکنیم. پیاده سازی با پایتون و پکیج myhdl ( همان پکیجی که به پایتون امکان میده پایتون سخت افزار توصیف کنه و کد نهایی رو بتونیم به verilog تبدیل کنیم ) و در آخر با گذاشتن کانورتر کد پایتون را به verilog  تبدیل میکنیم .

توجه - بدون استفاده از پکیج myhdl سه سوته میشه کد نوشت. هدف پیاده سازی با پکیج myhdl است 

الگوریتم  booth:

دو عدد از ورودی دریافت میکنیم x و y به صورت int. حال x  و y  را به باینری 16 بیتی تبدیل میکنیم. عدد دوم ( y ) به اینگونه ویرایش میابد که یک 0 به سمت راست آن اضافه میشود و 2 عدد 0 به سمت چپ آن اضافه میشود و y تبدیل به یک عدد 19 بیتی میشود (      Y18Y17Y16Y15 ... Y2Y1Y0= Y        و Y0 = Y17 = Y18 = 0         ).  حال  بیت های y را به دسته های سه بیتی تقسیم میکنیم دسته اول از سمت  راست شامل بیت Y0 ( همان صفر که اضافه کردیم به سمت راست y ) و بیت Y1 و بیت Y2- دسته دوم شامل بیت Y2 و بیت Y3و بیت Y4 - دسته سوم شامل بیت Y4 و بیت Y5 و بیت Y6 و ... و دسته نهم شامل بیت های Y16 و Y17 و  Y18.  حال با الگوریتم booth   حال ضرب x و  y به 9 تا جمع تبدیل میشود: مرحله اول  : دسته اول را در نظر میگیریم به ترتیب از سمت چپ Y2Y1Y0 ، حال نگاه میکنیم که در جدولی که در پایین کشیده شده Y2Y1Y0 کدام حالت را تشکیل میدهد برای مثال اگر  فرض کنیم Y2Y1Y0 =100 با توجه به جدول میفهمیم که عدد  x  باید در 2- ضرب شود ( شیفت به چپ  و مکمل 2 شدن) حال حاصل دسته اول s1 بدست آمد. مرحله دوم: دسته دوم را در نظر میگیریم به ترتیب از سمت چپ Y4Y3Y2، حال نگاه میکنیم که در جدول Y4Y3Y2 چه حالتی را تشکیل میدهد اگر بر فرض مثال Y4Y3Y2 = 110 باشد آنگاه x  باید در 1- ضرب شود ( مکمل 2 عدد x ) و حاصل s2 بدست میاید چون دسته دوم بود پس 2  به توان 1-2 عدد صفر از سمت راست به عدد s2  اضافه میشود ( s2 عدد 18 بیتی میشود که دو s0 , s1 آن صفر است ). مرحله سوم: دسته سومرا در نظر میگیریم به ترتیب از سمت چپ Y6Y5Y4، حال نگاه میکنیم که در جدول Y6Y5Y4 چه حالتی را تشکیل میدهد اگر بر فرض مثال Y6Y5Y4 =  000 باشد آنگاه x  باید در 0 ضرب شود  و حاصل s3 بدست میاید چون دسته سوم بود پس 2  به توان 1-3 عدد صفر از سمت راست به عدد s3 اضافه میشود. و .... و مرحله نهم: .... حاصل s9  بدست میاید و چون دسته 9 است 2 به توان 1-9 عدد صفر از سمت راست به s9 اضافه میشود.

در آخر همه s1 , s2 , ... , s9 با هم جمع میشود

جدول:

000: x در 0 ضرب میشود

001:: x در 1 ضرب میشود

010: x در 1 ضرب میشود

011: x در 2 ضرب میشود

100: x در 2-ضرب میشود

101: x در 1- ضرب میشود

110: x در 1- ضرب میشود

111: x در 0 ضرب میشود

مهارت ها و تخصص های مورد نیاز


مهلت برای انجام

5روز

وضعیت مناقصه

بسته


درباره کارفرما

عضویت شش سال پیش

2 پروژه ثبت شده ،
0 پروژه در حال انجام ،
0 پروژه آماده دریافت پیشنهاد ،
نرخ پذیرش پیشنهاد 50%

برای پیدا کردن پروژه‌های مشابه ثبت نام کنید و پروفایل خود را بسازید.

ورود با گوگل
یا
نام نباید خالی باشد.
نام خانوادگی نباید خالی باشد.

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

قادر به انجام این پروژه هستید؟

ثبت نام کنید

متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصت‌های متعددی در سایت موجود می‌باشد.

سری به پروژه‌های مشابه بزنید

روش کار در پارس‌کدرز

به رایگان یک حساب کاربری بسازید

مهارت‌ها و تخصص‌های خود را ثبت کنید، رزومه و نمونه‌کارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.

به شیوه‌ای که دوست دارید کار کنید

برای پروژه‌های دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصت‌های شغلی منحصر به فرد دسترسی پیدا کنید.

با اطمینان دستمزد دریافت کنید

از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.

می‌خواهید شروع به کار کنید؟

یک حساب کاربری بسازید


بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارت‌های شما است.

پیدا کردن کار (پروژه)

تماشای دمو روش کار