Description
دانشگاه صنعتی شریف
دانشکده مهندسی برق
درس ساختار کامپیوتر و ریزپردازنده و آزمایشگاه
)55-457(
آزمایش شماره 1 ضرب کننده ی سریال نیمسال دوم 47-49 تهیه کنندگان:
مهندس سید محمد جواد سید طالبی دکتر محمدرضا موحّّدین
بنــــام خـــــدا
پیاده سازی و شبیه سازی ضرب کننده ی سریال1
هدف از این آزمایش آشنایی با پیاده سازی سخت افزاری ضرب کننده ها و پیاده سازی سخت افزاری یک ضرب کننده ی سریال 8 بیتی و توصیف آن توسط زبان توصیف سخت افزار2 Verilog و سپس شبیه سازی آن کد برای اطمینان از صحت عملکرد سختافزار توصیف شده، می باشد.
پیش از آزمایشگاه:
الف( حتما پیش از حضور در آزمایشگاه نرم افزار ModelSim را بر روی لپ تاپ های خود نصب کنید.
ب( مطالب گفته شده در کلاس درس پیرامون ضرب کننده های سریال را مرور کنید.
1- ضرب دو عدد بدون علامت
شکل )1( نمودار بلوکی یک ضرب کننده ی ساده برای محاسبه ی حاصل ضرب دو عدد بدون علامت 8 بیتی را نشان می دهد.
شکل 1
21 Serial multiplierHardware Description Language
برای ساخت این ضرب کننده یک رجیستر 8 بیتی برای قرار دادن مضروب فیه۴ ، یک رجیستر 11 بیتی برای نگهداری مضروب )و شیفت یافته های آن( و یک رجیستر 11 بیتی برای نگهداری حاصل ضرب در نظر گرفته شده است. همچنین یک جمع کننده ی 11 بیتی برای انجام عملیات جمع بکار گرفته شده است. یعنی در مجموع ۴۴ بیت رجیستر و یک جمع کننده 11 بیتی برای پیاده سازی آن صرف شده است.
عملکرد طرح فوق به زبان ساده بدین صورت قابل بیان است:
1( با آغاز عملیات که توسط ورودی start کنترل می شود ،مضروب فیه را در رجیستر Multiplier و مضروب را در 8 بیت ابتدایی رجیستر Multiplicand بار گذاری می کنیم.
2( در هر سیکل کلاک Multiplier یک بیت به سمت راست و Multiplicand یک بیت به سمت چپ شیفت پیدا می کند.
3( با توجه به کم ارزش ترین بیت Multiplier تصمیم گرفته می شود که آیا نتیجه جدید در رجیستر Product نوشته شود یا همان مقدار قبلی را حفظ کند ) به معنی صفر بودن Partial Product در حال محاسبه(
۴( این کار به تعداد 8 پالس ساعت تکرار می شود.
توجه : در شکل) 1( مسیر کنترل1 با رنگ مشکی و مسیر داده با رنگ بنفش نشان داده شده است.
1-1- بررسی کد Verilog طراحی بخش 1
کد Verilog طراحی فوق به نام) multiplier1.v ( بر روی کامپیوتر های آزمایشگاه قرار داده شده است.
الف( بخش های مختلف بلوک دیاگرام و نحوه پیاده سازی آن را در کد بررسی کنید. و آن را به دستیار آزمایشگاه توضیح دهید.
ب( توضیح دهید قسمت کنترل نشان داده شده در شکل) 1( چگونه پیاده سازی شده است؟
1-5- بررسی صحت کد بخش 1-1 با انجام شبیه سازی
همواره برای بررسی صحت عملکرد یک سخت افزار توصیف شده با Verilog باید با کمک گرفتن از یک نرم افزار شبیه ساز، ورودی های مختلفی را به طراحی بدهیم و بررسی کنیم که آیا خروجی هایی که طراحی ما تولید می کند همان خروجی های مورد انتظار هستند یا خیر. برای این منظور امکانات اضافی در زبان Verilog پیش بینی شده است تا بتوانیم کد هایی برای تست کردن سخت افزار های تولید شده بنویسیم.به این کدهای تست )test-bench( گفته می شود .آنگاه با استفاده از یک نرم افزار شبیه ساز مانند ModelSim این test-bench را اجرا کرده و عملکرد مدار خود را شبیه سازی کنیم.
کد test-bench برای تست کد بخش 1-1 با نام) multiplier1__tb.v( بر روی کامپیوتر های آزمایشگاه قرار داده شده است.
الف ( به کمک دستیار آزمایشگاه بخش های مختلف این کد را بررسی کنید.
ب( به کمک دستیار آزمایشگاه این test bench را به وسیله نرم افزار ModelSim اجرا کرده و از صحت عملکرد ضرب کننده اطمینان حاصل کنید.
1-9- بهبود ضرب کننده بخش 1
در اختیار گرفتن ۴۴ بیت رجیستر و جمع کننده 11 بیتی برای ضرب اعداد بدون علامت 8 بیتی، اسراف منابع می باشد. طرح بهینه شده ضرب کننده در شکل) 2( نمایش داده شده است.
شکل 2 الف ( یک کد وریلاگ جدید به نام) multiplier2.v ( ایجاد کنید و کد قبلی را تغییر داده و ساختار شکل) 2( را پیاده سازی کنید.
ب( با تغییر کد test bench قسمت قبل کد) multiplier2__tb.v ( را برای بررسی صحت کد خود ایجاد کنید و آن را در نرم افزار ModelSim اجرا کنید.
5- ضرب اعداد علامت دار
الف ( طراحی شکل) 2( را به نحوی تغیر دهید که اگر Multiplier و Multiplicand اعداد علامت دار مکمل دو باشند، عملیات ضرب دو عدد به صورت علامت دار محاسبه گردد. کد وریلاگ آن را در فایل) multiplier3.v( قرار دهید.
ب( با تغییر کد test bench قسمت قبل کد) multiplier3__tb.v( را برای بررسی صحت کد خود ایجاد کنید و آن را در نرم افزار
.اجرا کنید ModelSim
9- عمومی سازی تعداد بیت های ضرب کننده علامت دار )در صورت عدم تکمیل در زمان آزمایشگاه، بعداً تحویل گردد(
ضرب کننده اعداد علامت دار قسمت پیش را به شکلی تغییر دهید که تعداد بیت ورودی های آن را بتوان با پارامتر nb مشخص نمود.
موفق باشیــــد
۴
Reviews
There are no reviews yet.