در این پروژه باید یک زیرسامانهی سختافزاری ساده طراحی شود که از سه ماژول اصلی تشکیل شده است: ALU (واحد حساب و منطق)، RAM (حافظه) و Controller (کنترلکننده). این سه بخش با یک سیگنال کلاک مشترک هماهنگ میشوند. ماژول RAM باید بتواند 16 خانه حافظهی 8 بیتی علامتدار (با نمایش مکمل دو) را نگهداری کند. در حالت «نوشتن»، زمانی که سیگنال ورودی Mode برابر با 1 است و در لبهی بالاروندهی کلاک سیگنال WR فعال میشود، دادهی ورودی Data_In در آدرس مشخصشده نوشته میشود. در حالت «محاسبه» که Mode برابر با 0 است، کنترلر باید در دو سیکل متوالی دو داده از RAM را بهعنوان عملوندهای اول و دوم (A و B) بخواند و آنها را به ALU بفرستد. سپس بر اساس مقدار سیگنال Opcode، عملیات مشخصشده (مثل ADD، SUB، AND، OR، XOR، NOT، SHL، یا Compare) انجام میشود و خروجی ALU تولید میگردد. همچنین یک ورودی Reset وجود دارد که با فعال شدن آن، محتوای RAM پاک و سیستم در وضعیت اولیه قرار میگیرد.
در پایان باید یک ماژول سطح بالا (Top module) طراحی شود که سه ماژول فوق را به هم متصل کند و همهی سیگنالهای کنترلی، آدرسها و دادهها را مدیریت نماید. سپس باید یک Testbench نوشته شود تا عملکرد کل سیستم شبیهسازی و صحت آن بررسی شود. در شبیهسازی، باید تمام دستورهای تعریفشده در جدول (با Opcodeهای 1 تا 8) تست شوند و نتایج آن با استفاده از دستورهای $display یا $monitor در کنسول چاپ شوند. همچنین لازم است از نرمافزار شبیهسازی (مثل ModelSim یا Vivado) خروجی موجها گرفته و اسکرینشات آنها در گزارش نهایی قرار گیرد. در نتیجه، خروجی نهایی پروژه شامل فایل کد Verilog/VHDL برای هر ماژول، یک Testbench برای ارزیابی عملکرد، و گزارش تصویری از نتایج و موجهای شبیهسازی است.
این آگهی از وبسایت کارلنسر پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت کارلنسر برین و از اونجا برای این شغل اقدام کنین.
هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک، با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.